diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml index 0d321fc5cb..a9fe98297b 100644 --- a/.github/workflows/check-licenses.yml +++ b/.github/workflows/check-licenses.yml @@ -17,7 +17,7 @@ jobs: - name: Setup Go uses: actions/setup-go@main with: - go-version: 1.20.2 + go-version: 1.20.3 id: go - name: Code checkout uses: actions/checkout@master diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 7e4ba6b338..41a1a5db90 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -57,7 +57,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: 1.20.2 + go-version: 1.20.3 check-latest: true cache: true if: ${{ matrix.language == 'go' }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 779b1b7292..cc8e9f75ac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -32,7 +32,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: 1.20.2 + go-version: 1.20.3 check-latest: true cache: true @@ -56,7 +56,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: 1.20.2 + go-version: 1.20.3 check-latest: true cache: true @@ -81,7 +81,7 @@ jobs: id: go uses: actions/setup-go@v4 with: - go-version: 1.20.2 + go-version: 1.20.3 check-latest: true cache: true diff --git a/app/vmalert/README.md b/app/vmalert/README.md index 047e9eebe9..16b9450d00 100644 --- a/app/vmalert/README.md +++ b/app/vmalert/README.md @@ -916,7 +916,7 @@ The shortlist of configuration flags is the following: -evaluationInterval duration How often to evaluate the rules (default 1m0s) -external.alert.source string - External Alert Source allows to override the Source link for alerts sent to AlertManager for cases where you want to build a custom link to Grafana, Prometheus or any other service. Supports templating - see https://docs.victoriametrics.com/vmalert.html#templating . For example, link to Grafana: -external.alert.source='explore?orgId=1&left=["now-1h","now","VictoriaMetrics",{"expr":{{$expr|jsonEscape|queryEscape}} },{"mode":"Metrics"},{"ui":[true,true,true,"none"]}]'. Link to VMUI: -external.alert.source='vmui/#/?g0.expr={{.Expr|queryEscape}}'. If empty 'vmalert/alert?group_id={{.GroupID}}&alert_id={{.AlertID}}' is used. + External Alert Source allows to override the Source link for alerts sent to AlertManager for cases where you want to build a custom link to Grafana, Prometheus or any other service. Supports templating - see https://docs.victoriametrics.com/vmalert.html#templating . For example, link to Grafana: -external.alert.source='explore?orgId=1&left={"datasource":"VictoriaMetrics","queries":[{"expr":{{$expr|jsonEscape|queryEscape}},"refId":"A"}],"range":{"from":"now-1h","to":"now"}}'. Link to VMUI: -external.alert.source='vmui/#/?g0.expr={{.Expr|queryEscape}}'. If empty 'vmalert/alert?group_id={{.GroupID}}&alert_id={{.AlertID}}' is used. -external.label array Optional label in the form 'Name=value' to add to all generated recording rules and alerts. Pass multiple -label flags in order to add multiple label sets. Supports an array of values separated by comma or specified via multiple flags. diff --git a/app/vmalert/main.go b/app/vmalert/main.go index 0e1ff26c12..7c3580b632 100644 --- a/app/vmalert/main.go +++ b/app/vmalert/main.go @@ -73,7 +73,7 @@ absolute path to all .tpl files in root.`) externalAlertSource = flag.String("external.alert.source", "", `External Alert Source allows to override the Source link for alerts sent to AlertManager `+ `for cases where you want to build a custom link to Grafana, Prometheus or any other service. `+ `Supports templating - see https://docs.victoriametrics.com/vmalert.html#templating . `+ - `For example, link to Grafana: -external.alert.source='explore?orgId=1&left=["now-1h","now","VictoriaMetrics",{"expr":{{$expr|jsonEscape|queryEscape}} },{"mode":"Metrics"},{"ui":[true,true,true,"none"]}]'. `+ + `For example, link to Grafana: -external.alert.source='explore?orgId=1&left={"datasource":"VictoriaMetrics","queries":[{"expr":{{$expr|jsonEscape|queryEscape}},"refId":"A"}],"range":{"from":"now-1h","to":"now"}}'. `+ `Link to VMUI: -external.alert.source='vmui/#/?g0.expr={{.Expr|queryEscape}}'. `+ `If empty 'vmalert/alert?group_id={{.GroupID}}&alert_id={{.AlertID}}' is used.`) externalLabels = flagutil.NewArrayString("external.label", "Optional label in the form 'Name=value' to add to all generated recording rules and alerts. "+ diff --git a/app/vmctl/vm_native.go b/app/vmctl/vm_native.go index 999fd3b636..da76d4a052 100644 --- a/app/vmctl/vm_native.go +++ b/app/vmctl/vm_native.go @@ -14,6 +14,7 @@ import ( "github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/stepper" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/vm" "github.com/VictoriaMetrics/VictoriaMetrics/lib/logger" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils" "github.com/cheggaaa/pb/v3" ) @@ -232,6 +233,13 @@ func (p *vmNativeProcessor) runBackfilling(ctx context.Context, tenantID string, // any error breaks the import for s := range metrics { + + match, err := buildMatchWithFilter(p.filter.Match, s) + if err != nil { + logger.Errorf("failed to build export filters: %s", err) + continue + } + for _, times := range ranges { select { case <-ctx.Done(): @@ -239,7 +247,7 @@ func (p *vmNativeProcessor) runBackfilling(ctx context.Context, tenantID string, case infErr := <-errCh: return fmt.Errorf("native error: %s", infErr) case filterCh <- native.Filter{ - Match: fmt.Sprintf("{%s=%q}", nameLabel, s), + Match: match, TimeStart: times[0].Format(time.RFC3339), TimeEnd: times[1].Format(time.RFC3339), }: @@ -303,3 +311,13 @@ func byteCountSI(b int64) string { return fmt.Sprintf("%.1f %cB", float64(b)/float64(div), "kMGTPE"[exp]) } + +func buildMatchWithFilter(filter string, metricName string) (string, error) { + labels, err := promutils.NewLabelsFromString(filter) + if err != nil { + return "", err + } + labels.Set("__name__", metricName) + + return labels.String(), nil +} diff --git a/app/vmctl/vm_native_test.go b/app/vmctl/vm_native_test.go index 82038e352a..173972c0fc 100644 --- a/app/vmctl/vm_native_test.go +++ b/app/vmctl/vm_native_test.go @@ -294,3 +294,68 @@ func deleteSeries(name, value string) (int, error) { } return vmstorage.DeleteSeries(nil, []*storage.TagFilters{tfs}) } + +func Test_buildMatchWithFilter(t *testing.T) { + tests := []struct { + name string + filter string + metricName string + want string + wantErr bool + }{ + { + name: "parsed metric with label", + filter: `{__name__="http_request_count_total",cluster="kube1"}`, + metricName: "http_request_count_total", + want: `{__name__="http_request_count_total",cluster="kube1"}`, + wantErr: false, + }, + { + name: "metric name with label", + filter: `http_request_count_total{cluster="kube1"}`, + metricName: "http_request_count_total", + want: `{__name__="http_request_count_total",cluster="kube1"}`, + wantErr: false, + }, + { + name: "parsed metric with regexp value", + filter: `{__name__="http_request_count_total",cluster~="kube.*"}`, + metricName: "http_request_count_total", + want: `{__name__="http_request_count_total",cluster~="kube.*"}`, + wantErr: false, + }, + { + name: "only label with regexp", + filter: `{cluster~=".*"}`, + metricName: "http_request_count_total", + want: `{cluster~=".*",__name__="http_request_count_total"}`, + wantErr: false, + }, + { + name: "many labels in filter with regexp", + filter: `{cluster~=".*",job!=""}`, + metricName: "http_request_count_total", + want: `{cluster~=".*",job!="",__name__="http_request_count_total"}`, + wantErr: false, + }, + { + name: "match with error", + filter: `{cluster=~".*"}`, + metricName: "http_request_count_total", + want: ``, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := buildMatchWithFilter(tt.filter, tt.metricName) + if (err != nil) != tt.wantErr { + t.Errorf("buildMatchWithFilter() error = %v, wantErr %v", err, tt.wantErr) + return + } + if got != tt.want { + t.Errorf("buildMatchWithFilter() got = %v, want %v", got, tt.want) + } + }) + } +} diff --git a/app/vmselect/vmui/asset-manifest.json b/app/vmselect/vmui/asset-manifest.json index d1df4bfc17..5347fd3a7e 100644 --- a/app/vmselect/vmui/asset-manifest.json +++ b/app/vmselect/vmui/asset-manifest.json @@ -1,14 +1,14 @@ { "files": { - "main.css": "./static/css/main.ebde9e58.css", - "main.js": "./static/js/main.ee50e2ce.js", + "main.css": "./static/css/main.0d9f8101.css", + "main.js": "./static/js/main.ba695a31.js", "static/js/27.c1ccfd29.chunk.js": "./static/js/27.c1ccfd29.chunk.js", "static/media/Lato-Regular.ttf": "./static/media/Lato-Regular.d714fec1633b69a9c2e9.ttf", "static/media/Lato-Bold.ttf": "./static/media/Lato-Bold.32360ba4b57802daa4d6.ttf", "index.html": "./index.html" }, "entrypoints": [ - "static/css/main.ebde9e58.css", - "static/js/main.ee50e2ce.js" + "static/css/main.0d9f8101.css", + "static/js/main.ba695a31.js" ] } \ No newline at end of file diff --git a/app/vmselect/vmui/index.html b/app/vmselect/vmui/index.html index a73ae2b6d8..25fe1b00d8 100644 --- a/app/vmselect/vmui/index.html +++ b/app/vmselect/vmui/index.html @@ -1 +1 @@ -VM UI
\ No newline at end of file +VM UI
\ No newline at end of file diff --git a/app/vmselect/vmui/static/css/main.0d9f8101.css b/app/vmselect/vmui/static/css/main.0d9f8101.css new file mode 100644 index 0000000000..263a6991e9 --- /dev/null +++ b/app/vmselect/vmui/static/css/main.0d9f8101.css @@ -0,0 +1 @@ +.vm-tabs{gap:16px;height:100%;position:relative;-webkit-user-select:none;user-select:none}.vm-tabs,.vm-tabs-item{align-items:center;display:flex;justify-content:center}.vm-tabs-item{color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;opacity:.6;padding:16px 8px;text-decoration:none;text-transform:uppercase;transition:opacity .2s}.vm-tabs-item_active{opacity:1}.vm-tabs-item:hover{opacity:.8}.vm-tabs-item__icon{display:grid;margin-right:8px;width:15px}.vm-tabs-item__icon_single{margin-right:0}.vm-tabs__indicator{border-bottom:2px solid;position:absolute;transition:width .2s ease,left .3s cubic-bezier(.28,.84,.42,1)}.vm-alert{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text);display:grid;font-size:14px;font-weight:400;gap:8px;grid-template-columns:20px 1fr;line-height:20px;padding:16px;position:relative}.vm-alert_mobile{align-items:flex-start;border-radius:0}.vm-alert:after{border-radius:8px;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%;z-index:1}.vm-alert_mobile:after{border-radius:0}.vm-alert__content,.vm-alert__icon{position:relative;z-index:2}.vm-alert__icon{align-items:center;display:flex;justify-content:center}.vm-alert__content{-webkit-filter:brightness(.6);filter:brightness(.6);white-space:pre-line}.vm-alert_success{color:var(--color-success)}.vm-alert_success:after{background-color:var(--color-success)}.vm-alert_error{color:var(--color-error)}.vm-alert_error:after{background-color:var(--color-error)}.vm-alert_info{color:var(--color-info)}.vm-alert_info:after{background-color:var(--color-info)}.vm-alert_warning{color:var(--color-warning)}.vm-alert_warning:after{background-color:var(--color-warning)}.vm-alert_dark:after{opacity:.1}.vm-alert_dark .vm-alert__content{-webkit-filter:none;filter:none}.vm-header{align-items:center;display:flex;flex-wrap:wrap;gap:0 48px;justify-content:flex-start;min-height:51px;padding:8px 24px;z-index:99}.vm-header_app{padding:8px 0}@media(max-width:1000px){.vm-header{gap:8px;padding:8px;position:-webkit-sticky;position:sticky;top:0}}.vm-header_mobile{display:grid;grid-template-columns:33px 1fr 33px;justify-content:space-between}.vm-header_dark .vm-header-button,.vm-header_dark button,.vm-header_dark button:before{background-color:var(--color-background-block)}.vm-header-logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;margin-bottom:2px;max-width:65px;min-width:65px;overflow:hidden;position:relative;width:100%}@media(max-width:1200px){.vm-header-logo{max-width:14px;min-width:14px}}.vm-header-logo svg,.vm-header-logo_mobile{max-width:65px;min-width:65px}.vm-header-logo_mobile{margin:0 auto}.vm-header-nav{align-items:center;display:flex;font-size:10px;font-weight:700;gap:16px;justify-content:flex-start}.vm-header-nav_column{align-items:stretch;flex-direction:column;gap:8px}.vm-header-nav_column .vm-header-nav-item{padding:16px 0}.vm-header-nav_column .vm-header-nav-item_sub{justify-content:stretch}.vm-header-nav-item{cursor:pointer;opacity:.5;padding:16px 8px;position:relative;text-transform:uppercase;transition:opacity .2s ease-in}.vm-header-nav-item_sub{grid-gap:4px;align-items:center;cursor:default;display:grid;gap:4px;grid-template-columns:auto 14px;justify-content:center}.vm-header-nav-item:hover,.vm-header-nav-item_active{opacity:1}.vm-header-nav-item svg{-webkit-transform:rotate(0deg);transform:rotate(0deg);transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-header-nav-item_open svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-header-nav-item-submenu{border-radius:2px;color:#fff;display:grid;font-size:10px;font-weight:700;opacity:1;padding:8px;-webkit-transform-origin:top center;transform-origin:top center;white-space:nowrap}.vm-header-nav-item-submenu-item{cursor:pointer}.vm-popper{background-color:var(--color-background-block);border-radius:4px;box-shadow:var(--box-shadow-popper);opacity:0;pointer-events:none;position:fixed;transition:opacity .1s ease-in-out;z-index:-99}.vm-popper_open{-webkit-animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);opacity:1;pointer-events:auto;-webkit-transform-origin:top center;transform-origin:top center;z-index:101}.vm-popper_mobile{-webkit-animation:none;animation:none;border-radius:0;bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;width:100%}.vm-popper-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:16px;min-height:51px;padding:8px 8px 8px 16px}.vm-popper-header__title{font-weight:700;-webkit-user-select:none;user-select:none}@-webkit-keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}.vm-modal{align-items:center;background:hsla(0,6%,6%,.55);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.vm-modal_mobile{align-items:flex-start;max-height:calc(var(--vh)*100);min-height:calc(var(--vh)*100);overflow:auto}.vm-modal_mobile .vm-modal-content{border-radius:0;grid-template-rows:70px -webkit-max-content;grid-template-rows:70px max-content;max-height:-webkit-max-content;max-height:max-content;min-height:100%;overflow:visible;width:100vw}.vm-modal_mobile .vm-modal-content-header{margin-bottom:16px;padding:8px 8px 8px 16px}.vm-modal_mobile .vm-modal-content-body{align-items:flex-start;display:grid;min-height:100%;padding:0 16px 22px}.vm-modal-content{align-items:flex-start;background:var(--color-background-block);border-radius:4px;box-shadow:0 0 24px hsla(0,6%,6%,.07);display:grid;grid-template-rows:auto 1fr;max-height:calc(var(--vh)*90);overflow:auto}.vm-modal-content-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:22px;min-height:51px;padding:16px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.vm-modal-content-header__title{font-weight:700;-webkit-user-select:none;user-select:none}.vm-modal-content-header__close{align-items:center;box-sizing:initial;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px;width:24px}.vm-modal-content-body{padding:0 22px 22px}.vm-shortcuts{min-width:400px}@media(max-width:500px){.vm-shortcuts{min-width:100%}}.vm-shortcuts-section{border-bottom:var(--border-divider);margin-bottom:16px;padding-bottom:16px;position:relative}.vm-shortcuts-section__title{font-weight:700;margin-bottom:16px}.vm-shortcuts-section__read-more{position:absolute;right:0;top:-8px}.vm-shortcuts-section-list{grid-gap:16px;display:grid;gap:16px}@media(max-width:500px){.vm-shortcuts-section-list{gap:24px}}.vm-shortcuts-section-list-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:210px 1fr}@media(max-width:500px){.vm-shortcuts-section-list-item{grid-template-columns:1fr}}.vm-shortcuts-section-list-item__key{align-items:center;display:flex;gap:4px}.vm-shortcuts-section-list-item__key code,.vm-shortcuts-section-list-item__key svg{background-color:var(--color-background-body);background-repeat:repeat-x;border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-block;font-size:10px;line-height:2;padding:2px 8px 0;text-align:center}.vm-shortcuts-section-list-item__key svg{padding:4px;width:24px}.vm-shortcuts-section-list-item__description{font-size:12px}.vm-tooltip{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);background-color:var(--color-background-tooltip);border-radius:4px;box-shadow:var(--box-shadow-popper);color:#fff;font-size:10px;line-height:150%;opacity:1;padding:3px 8px;pointer-events:auto;position:fixed;transition:opacity .1s ease-in-out;white-space:nowrap;z-index:101}@-webkit-keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}.fc-graph-tips{grid-gap:16px;display:grid;gap:16px;max-width:520px}.fc-graph-tips-item{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;line-height:1.3;padding-bottom:16px}.fc-graph-tips-item__action{color:var(--color-text-secondary);font-weight:700}.fc-graph-tips-item__description{display:inline-block;line-height:20px}.fc-graph-tips-item__description code,.fc-graph-tips-item__description svg{align-items:center;background-color:var(--color-background-body);border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-flex;font-size:10px;justify-content:center;margin:0 2px 2px;min-height:20px;min-width:20px;padding:0 4px}.fc-graph-tips-item svg{color:var(--color-primary);margin-top:-8px;padding:2px;-webkit-transform:translateY(8px);transform:translateY(8px);width:18px}.vm-menu-burger{background:none;border:none;cursor:pointer;height:18px;outline:none;padding:0;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;width:18px}.vm-menu-burger:after{background-color:hsla(0,6%,6%,.1);border-radius:50%;content:"";height:calc(100% + 12px);left:-6px;position:absolute;top:-6px;-webkit-transform:scale(0) translateZ(-2px);transform:scale(0) translateZ(-2px);transition:-webkit-transform .14s ease-in-out;transition:transform .14s ease-in-out;transition:transform .14s ease-in-out,-webkit-transform .14s ease-in-out;width:calc(100% + 12px)}.vm-menu-burger:hover:after{-webkit-transform:scale(1) translateZ(-2px);transform:scale(1) translateZ(-2px)}.vm-menu-burger span{border-top:2px solid #fff;display:block;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:border-color .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,border-color .3s ease;transition:transform .3s ease,border-color .3s ease,-webkit-transform .3s ease}.vm-menu-burger span,.vm-menu-burger span:after,.vm-menu-burger span:before{border-radius:6px;height:2px;left:0;position:absolute;width:100%}.vm-menu-burger span:after,.vm-menu-burger span:before{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.645,.045,.355,1);animation-timing-function:cubic-bezier(.645,.045,.355,1);background:#fff;content:"";top:0}.vm-menu-burger span:before{-webkit-animation-name:topLineBurger;animation-name:topLineBurger}.vm-menu-burger span:after{-webkit-animation-name:bottomLineBurger;animation-name:bottomLineBurger}.vm-menu-burger_opened span{border-color:transparent}.vm-menu-burger_opened span:before{-webkit-animation-name:topLineCross;animation-name:topLineCross}.vm-menu-burger_opened span:after{-webkit-animation-name:bottomLineCross;animation-name:bottomLineCross}@-webkit-keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@-webkit-keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@-webkit-keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@-webkit-keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}@keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}.vm-header-sidebar{background-color:inherit;color:inherit;height:24px;width:24px}.vm-header-sidebar-button{align-items:center;display:flex;height:51px;justify-content:center;left:0;position:absolute;top:0;transition:left .35s cubic-bezier(.28,.84,.42,1);width:51px}.vm-header-sidebar-button_open{left:149px;position:fixed;z-index:102}.vm-header-sidebar-menu{grid-gap:16px;background-color:inherit;box-shadow:var(--box-shadow-popper);display:grid;gap:16px;grid-template-rows:1fr auto;height:100%;left:0;padding:16px;position:fixed;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1),-webkit-transform .3s cubic-bezier(.28,.84,.42,1);width:200px;z-index:101}.vm-header-sidebar-menu_open{-webkit-transform:translateX(0);transform:translateX(0)}.vm-header-sidebar-menu__logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;position:relative;width:65px}.vm-header-sidebar-menu-settings{grid-gap:8px;align-items:center;display:grid;gap:8px}.vm-tenant-input{position:relative}.vm-tenant-input-list{border-radius:8px;max-height:300px;overflow:auto;overscroll-behavior:none}.vm-tenant-input-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-tenant-input-list_mobile .vm-tenant-input-list__search{padding:0 16px 8px}.vm-tenant-input-list__search{background-color:var(--color-background-block);padding:8px 16px;position:-webkit-sticky;position:sticky;top:0}.vm-text-field{display:grid;margin:6px 0;position:relative;width:100%}.vm-text-field_textarea:after{content:attr(data-replicated-value) " ";visibility:hidden;white-space:pre-wrap}.vm-text-field:after,.vm-text-field__input{background-color:transparent;border:var(--border-divider);font-size:12px;grid-area:1/1/2/2;line-height:18px;overflow:hidden;padding:8px 16px;width:100%}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;background-color:var(--color-background-block);display:-webkit-box;font-size:10px;left:8px;line-height:12px;max-width:calc(100% - 16px);overflow:hidden;padding:0 3px;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;z-index:2}@media(max-width:500px){.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label{-webkit-line-clamp:1;line-clamp:1}}.vm-text-field__label{color:var(--color-text-secondary);top:-7px}.vm-text-field__error{color:var(--color-error);pointer-events:auto;top:calc(100% - 7px);-webkit-user-select:text;user-select:text}.vm-text-field__helper-text{bottom:-5px;color:var(--color-text-secondary)}.vm-text-field__input{background-color:transparent;border-radius:4px;color:var(--color-text);display:block;min-height:34px;overflow:hidden;resize:none;transition:border .2s ease}.vm-text-field__input:focus,.vm-text-field__input:hover{border:1px solid var(--color-primary)}.vm-text-field__input_error,.vm-text-field__input_error:focus,.vm-text-field__input_error:hover{border:1px solid var(--color-error)}.vm-text-field__input_icon-start{padding-left:31px}.vm-text-field__input:disabled{background-color:inherit;color:inherit}.vm-text-field__input:disabled:hover{border-color:var(--color-text-disabled)}.vm-text-field__icon-end,.vm-text-field__icon-start{align-items:center;color:var(--color-text-secondary);display:flex;height:100%;justify-content:center;left:8px;max-width:15px;position:absolute;top:auto}.vm-text-field__icon-end{left:auto;right:8px}.vm-step-control{display:inline-flex}.vm-step-control button{text-transform:none}.vm-step-control__value{display:inline;margin-left:3px}.vm-step-control-popper{grid-gap:8px;display:grid;font-size:12px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:16px}.vm-step-control-popper_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 16px 8px}.vm-step-control-popper_mobile .vm-step-control-popper-info{font-size:12px}.vm-step-control-popper-info{font-size:10px;line-height:1.6}.vm-step-control-popper-info a{margin:0 .2em}.vm-step-control-popper-info code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;margin:0 .2em;padding:.2em .4em}.vm-time-duration{font-size:12px;max-height:227px;overflow:auto}.vm-time-duration_mobile{max-height:100%}.vm-time-selector{display:grid;grid-template-columns:repeat(2,230px);padding:16px 0}.vm-time-selector_mobile{grid-template-columns:1fr;max-height:calc(var(--vh)*100 - 70px);min-width:250px;overflow:auto;width:100%}.vm-time-selector_mobile .vm-time-selector-left{border-bottom:var(--border-divider);border-right:none;padding-bottom:16px}.vm-time-selector-left{border-right:var(--border-divider);display:flex;flex-direction:column;gap:8px;padding:0 16px}.vm-time-selector-left-inputs{align-items:flex-start;display:grid;flex-grow:1;justify-content:stretch}.vm-time-selector-left-timezone{align-items:center;display:flex;font-size:10px;gap:8px;justify-content:space-between;margin-bottom:8px}.vm-time-selector-left-timezone__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-time-selector-left__controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.vm-calendar{background-color:var(--color-background-block);border-radius:8px;display:grid;font-size:12px;grid-template-rows:auto 1fr auto;padding:16px;-webkit-user-select:none;user-select:none}.vm-calendar_mobile{padding:0 16px}.vm-calendar-header{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:center;min-height:36px;padding-bottom:16px}.vm-calendar-header-left{grid-gap:8px;align-items:center;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto auto;justify-content:flex-start;transition:opacity .2s ease-in-out}.vm-calendar-header-left:hover{opacity:.8}.vm-calendar-header-left__date{color:var(--color-text);font-size:12px;font-weight:700}.vm-calendar-header-left__select-year{align-items:center;display:grid;height:14px;justify-content:center;width:14px}.vm-calendar-header-right{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:18px 18px;justify-content:center}.vm-calendar-header-right__next,.vm-calendar-header-right__prev{cursor:pointer;margin:-8px;padding:8px;transition:opacity .2s ease-in-out}.vm-calendar-header-right__next:hover,.vm-calendar-header-right__prev:hover{opacity:.8}.vm-calendar-header-right__prev{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.vm-calendar-header-right__next{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.vm-calendar-body{grid-gap:2px;align-items:center;display:grid;gap:2px;grid-template-columns:repeat(7,32px);grid-template-rows:repeat(7,32px);justify-content:center}@media(max-width:500px){.vm-calendar-body{grid-template-columns:repeat(7,calc(14.28571vw - 6.28571px));grid-template-rows:repeat(7,calc(14.28571vw - 6.28571px))}}.vm-calendar-body-cell{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;text-align:center}.vm-calendar-body-cell_weekday{color:var(--color-text-secondary)}.vm-calendar-body-cell_day{cursor:pointer;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-body-cell_day:hover{background-color:var(--color-hover-black)}.vm-calendar-body-cell_day_empty{pointer-events:none}.vm-calendar-body-cell_day_active{color:#fff}.vm-calendar-body-cell_day_active,.vm-calendar-body-cell_day_active:hover{background-color:var(--color-primary)}.vm-calendar-body-cell_day_today{border:1px solid var(--color-primary)}.vm-calendar-years{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:400px;overflow:auto}.vm-calendar-years__year{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px 16px;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-years__year:hover{background-color:var(--color-hover-black)}.vm-calendar-years__year_selected{color:#fff}.vm-calendar-years__year_selected,.vm-calendar-years__year_selected:hover{background-color:var(--color-primary)}.vm-calendar-years__year_today{border:1px solid var(--color-primary)}.vm-date-time-input{grid-gap:8px 0;align-items:center;cursor:pointer;display:grid;gap:8px 0;grid-template-columns:1fr;justify-content:center;margin-bottom:16px;position:relative;transition:color .2s ease-in-out,border-bottom-color .3s ease}.vm-date-time-input:hover input{border-bottom-color:var(--color-primary)}.vm-date-time-input label{color:var(--color-text-secondary);font-size:10px;grid-column:1/3;-webkit-user-select:none;user-select:none;width:100%}.vm-date-time-input__icon{bottom:2px;position:absolute;right:0}.vm-date-time-input input{background:transparent;border:none;border-bottom:var(--border-divider);color:var(--color-text);padding:0 0 8px}.vm-date-time-input input:focus{border-bottom-color:var(--color-primary)}.vm-date-time-input_error input{border-color:var(--color-error)}.vm-date-time-input_error input:focus{border-bottom-color:var(--color-error)}.vm-date-time-input__error-text{bottom:-10px;color:var(--color-error);font-size:10px;left:0;position:absolute}.vm-button{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:400;justify-content:center;line-height:15px;min-height:31px;padding:6px 14px;position:relative;text-transform:uppercase;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-button:hover:after{background-color:var(--color-hover-black)}.vm-button:after,.vm-button:before{border-radius:6px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .2s ease;width:100%}.vm-button:before{-webkit-transform:translateZ(-2px);transform:translateZ(-2px)}.vm-button:after{background-color:transparent;-webkit-transform:translateZ(-1px);transform:translateZ(-1px)}.vm-button span{align-items:center;display:grid;justify-content:center}.vm-button span svg{width:15px}.vm-button__start-icon{margin-right:6px}.vm-button__end-icon{margin-left:6px}.vm-button_disabled{cursor:not-allowed;opacity:.3}.vm-button_icon{padding:6px 8px}.vm-button_icon .vm-button__end-icon,.vm-button_icon .vm-button__start-icon{margin:0}.vm-button_small{min-height:25px;padding:4px 6px}.vm-button_small span svg{width:13px}.vm-button_contained_primary{color:var(--color-primary-text)}.vm-button_contained_primary,.vm-button_contained_primary:before{background-color:var(--color-primary)}.vm-button_contained_primary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_secondary{color:var(--color-secondary-text)}.vm-button_contained_secondary:before{background-color:var(--color-secondary)}.vm-button_contained_secondary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_success{color:var(--color-success-text)}.vm-button_contained_success:before{background-color:var(--color-success)}.vm-button_contained_success:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_error{color:var(--color-error-text)}.vm-button_contained_error:before{background-color:var(--color-error)}.vm-button_contained_gray{color:var(--color-text-secondary)}.vm-button_contained_gray:before{background-color:var(--color-text-secondary)}.vm-button_contained_warning{color:var(--color-warning)}.vm-button_contained_warning:before{background-color:var(--color-warning);opacity:.2}.vm-button_text_primary{color:var(--color-primary)}.vm-button_text_secondary{color:var(--color-secondary)}.vm-button_text_success{color:var(--color-success)}.vm-button_text_error{color:var(--color-error)}.vm-button_text_gray{color:var(--color-text-secondary)}.vm-button_text_warning{color:var(--color-warning)}.vm-button_outlined_primary{border:1px solid var(--color-primary);color:var(--color-primary)}.vm-button_outlined_error{border:1px solid var(--color-error);color:var(--color-error)}.vm-button_outlined_secondary{border:1px solid var(--color-secondary);color:var(--color-secondary)}.vm-button_outlined_success{border:1px solid var(--color-success);color:var(--color-success)}.vm-button_outlined_gray{border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.vm-button_outlined_warning{border:1px solid var(--color-warning);color:var(--color-warning)}.vm-execution-controls-buttons{border-radius:7px;display:flex;justify-content:space-between;min-width:107px}.vm-execution-controls-buttons_mobile{flex-direction:column;gap:24px}.vm-execution-controls-buttons__arrow{align-items:center;display:flex;justify-content:center;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-execution-controls-buttons__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-execution-controls-list{font-size:12px;max-height:208px;overflow:auto;padding:8px 0;width:124px}.vm-execution-controls-list_mobile{max-height:calc(var(--vh)*100 - 70px);padding:0;width:100%}.vm-server-configurator{align-items:center;display:flex;flex-direction:column;gap:24px;padding-bottom:24px;width:600px}.vm-server-configurator_mobile{align-items:flex-start;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;height:100%;width:100%}@media(max-width:768px){.vm-server-configurator{width:100%}}.vm-server-configurator__input{width:100%}.vm-server-configurator__title{align-items:center;display:flex;font-size:12px;font-weight:700;grid-column:auto/span 2;justify-content:flex-start;margin-bottom:16px}.vm-server-configurator-footer{align-items:center;display:flex;gap:8px;justify-content:flex-end;width:100%}.vm-server-configurator_mobile .vm-server-configurator-footer{display:grid;grid-template-columns:1fr 1fr}.vm-limits-configurator-title__reset{align-items:center;display:flex;flex-grow:1;justify-content:flex-end}.vm-limits-configurator__inputs{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.vm-limits-configurator__inputs_mobile{gap:8px}.vm-limits-configurator__inputs div{flex-grow:1}.vm-accordion-header{align-items:center;cursor:pointer;display:grid;font-size:inherit;position:relative}.vm-accordion-header__arrow{align-items:center;display:flex;justify-content:center;position:absolute;right:14px;top:auto;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-accordion-header__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-accordion-header__arrow svg{height:auto;width:14px}.accordion-section{overflow:hidden}.vm-timezones-item{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between}.vm-timezones-item_selected{border:var(--border-divider);border-radius:4px;padding:8px 16px}.vm-timezones-item__title{text-transform:capitalize}.vm-timezones-item__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-timezones-item__icon{align-items:center;display:inline-flex;justify-content:flex-end;margin:0 0 0 auto;transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-timezones-item__icon svg{width:14px}.vm-timezones-item__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-timezones-list{background-color:var(--color-background-block);border-radius:8px;max-height:300px;overflow:auto}.vm-timezones-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-timezones-list_mobile .vm-timezones-list-header__search{padding:0 16px}.vm-timezones-list-header{background-color:var(--color-background-block);border-bottom:var(--border-divider);position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-timezones-list-header__search{padding:8px}.vm-timezones-list-group{border-bottom:var(--border-divider);padding:8px 0}.vm-timezones-list-group:last-child{border-bottom:none}.vm-timezones-list-group__title{color:var(--color-text-secondary);font-weight:700;padding:8px 16px}.vm-timezones-list-group-options{align-items:flex-start;display:grid}.vm-timezones-list-group-options__item{padding:8px 16px;transition:background-color .2s ease}.vm-timezones-list-group-options__item:hover{background-color:hsla(0,6%,6%,.1)}.vm-theme-control__toggle{display:inline-flex;min-width:300px;text-transform:capitalize}.vm-theme-control_mobile .vm-theme-control__toggle{display:flex;min-width:100%}.vm-toggles{grid-gap:3px;display:grid;gap:3px;position:relative;width:100%}.vm-toggles__label{color:var(--color-text-secondary);font-size:10px;line-height:1;padding:0 16px}.vm-toggles-group{overflow:hidden;width:100%}.vm-toggles-group,.vm-toggles-group-item{align-items:center;display:grid;justify-content:center;position:relative}.vm-toggles-group-item{border-bottom:var(--border-divider);border-right:var(--border-divider);border-top:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;font-size:10px;font-weight:700;padding:8px;text-align:center;transition:color .15s ease-in;-webkit-user-select:none;user-select:none;z-index:2}.vm-toggles-group-item_first{border-left:var(--border-divider);border-radius:16px 0 0 16px}.vm-toggles-group-item:last-child{border-left:none;border-radius:0 16px 16px 0}.vm-toggles-group-item_icon{gap:4px;grid-template-columns:14px auto}.vm-toggles-group-item:hover{color:var(--color-primary)}.vm-toggles-group-item_active{border-color:transparent;color:var(--color-primary)}.vm-toggles-group-item_active:hover{background-color:transparent}.vm-toggles-group__highlight{background-color:rgba(var(--color-primary),.08);border:1px solid var(--color-primary);height:100%;position:absolute;top:0;transition:left .2s cubic-bezier(.28,.84,.42,1),border-radius .2s linear;z-index:1}.vm-header-controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-end}.vm-header-controls_mobile{display:grid;grid-template-columns:1fr;padding:0}.vm-header-controls_mobile .vm-header-button{border:none}.vm-header-controls-modal{-webkit-transform:scale(0);transform:scale(0)}.vm-header-controls-modal_open{-webkit-transform:scale(1);transform:scale(1)}.vm-container{display:flex;flex-direction:column;min-height:calc(var(--vh)*100 - var(--scrollbar-height))}.vm-container-body{background-color:var(--color-background-body);flex-grow:1;min-height:100%;padding:24px}.vm-container-body_mobile{padding:8px 0 0}@media(max-width:768px){.vm-container-body{padding:8px 0 0}}.vm-container-body_app{background-color:transparent;padding:8px 0}.vm-footer{align-items:center;background:var(--color-background-body);border-top:var(--border-divider);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:24px}@media(max-width:768px){.vm-footer{gap:16px;padding:16px}}.vm-footer__link,.vm-footer__website{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:12px auto;justify-content:center}.vm-footer__website{margin-right:16px}@media(max-width:768px){.vm-footer__website{margin-right:0}}.vm-footer__link{grid-template-columns:14px auto}.vm-footer__copyright{flex-grow:1;text-align:right}@media(max-width:768px){.vm-footer__copyright{font-size:10px;text-align:center;width:100%}}.uplot,.uplot *,.uplot :after,.uplot :before{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;width:-webkit-min-content;width:min-content}.u-title{font-size:18px;font-weight:700;text-align:center}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;height:100%;position:relative;width:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{display:inline-block;vertical-align:middle}.u-legend .u-marker{background-clip:padding-box!important;height:1em;margin-right:4px;width:1em}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:rgba(0,0,0,.07)}.u-cursor-x,.u-cursor-y,.u-select{pointer-events:none;position:absolute}.u-cursor-x,.u-cursor-y{left:0;top:0;will-change:transform;z-index:100}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{background-clip:padding-box!important;border:0 solid;border-radius:50%;left:0;pointer-events:none;position:absolute;top:0;will-change:transform;z-index:100}.u-axis.u-off,.u-cursor-pt.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-select.u-off{display:none}.vm-line-chart{pointer-events:auto}.vm-line-chart_panning{pointer-events:none}.vm-line-chart__u-plot{position:relative}.vm-chart-tooltip{grid-gap:16px;word-wrap:break-word;background:var(--color-background-tooltip);border-radius:8px;color:#fff;display:grid;font-family:monospace;font-size:10px;font-weight:400;gap:16px;line-height:150%;padding:8px;pointer-events:none;position:absolute;-webkit-user-select:text;user-select:text;width:325px;z-index:98}.vm-chart-tooltip_sticky{pointer-events:auto;z-index:99}.vm-chart-tooltip_moved{margin-left:-271.5px;margin-top:-20.5px;position:fixed}.vm-chart-tooltip-header{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 25px 25px;justify-content:center;min-height:25px}.vm-chart-tooltip-header__close{color:#fff}.vm-chart-tooltip-header__drag{color:#fff;cursor:move}.vm-chart-tooltip-header__date_range{grid-gap:2px;display:grid;gap:2px}.vm-chart-tooltip-data{grid-gap:8px;align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto 1fr;line-height:12px;word-break:break-all}.vm-chart-tooltip-data__marker{height:12px;width:12px}.vm-chart-tooltip-info{grid-gap:4px;display:grid;white-space:pre-wrap;word-break:break-all}.vm-legend-item{grid-gap:8px;align-items:start;background-color:var(--color-background-block);cursor:pointer;display:grid;grid-template-columns:auto auto;justify-content:start;margin-bottom:8px;padding:8px;transition:.2s ease}.vm-legend-item:hover{background-color:rgba(0,0,0,.1)}.vm-legend-item_hide{opacity:.5;text-decoration:line-through}.vm-legend-item_static{cursor:default;grid-template-columns:1fr;margin:0;padding:0}.vm-legend-item_static:hover{background-color:var(--color-background-block)}.vm-legend-item__marker{border-radius:2px;box-sizing:border-box;height:14px;transition:.2s ease;width:14px}.vm-legend-item-info{font-weight:400;word-break:break-all}.vm-legend-item-info__label{margin-right:2px}.vm-legend-item-info__free-fields{cursor:pointer;padding:2px}.vm-legend-item-info__free-fields:hover{text-decoration:underline}.vm-legend-item-values{align-items:center;display:flex;gap:8px;grid-column:2}.vm-legend{cursor:default;display:flex;flex-wrap:wrap;position:relative}.vm-legend-group{margin:0 16px 16px 0;min-width:23%;width:100%}.vm-legend-group-title{align-items:center;border-bottom:var(--border-divider);display:flex;margin-bottom:1px;padding:8px}.vm-legend-group-title__count{font-weight:700;margin-right:8px}.vm-legend-heatmap{align-items:center;display:inline-grid;gap:4px;grid-template-columns:auto auto;justify-content:space-between}.vm-legend-heatmap__wrapper{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.vm-legend-heatmap__value{color:var(--color-text);font-size:10px}.vm-legend-heatmap__value:last-child{text-align:right}.vm-legend-heatmap-gradient{align-items:center;display:flex;grid-column:1/-1;height:10px;justify-content:center;position:relative;width:200px}.vm-legend-heatmap-gradient__value{align-items:center;border:2px solid var(--color-text);border-radius:50%;display:flex;height:14px;justify-content:center;position:absolute;top:-2px;-webkit-transform:translateX(-7px);transform:translateX(-7px);transition:left .1s ease;width:14px}.vm-legend-heatmap-gradient__value span{background-color:var(--color-background-block);box-shadow:var(--box-shadow);color:var(--color-text);font-size:10px;left:auto;padding:4px 8px;position:absolute;top:16px}.vm-legend-heatmap__labels{word-break:break-all}.vm-graph-view{width:100%}.vm-graph-view_full-width{width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-graph-view_full-width{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-graph-view_full-width_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-autocomplete{max-height:300px;overflow:auto;overscroll-behavior:none}.vm-autocomplete_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-autocomplete__no-options{color:var(--color-text-disabled);padding:16px;text-align:center}.vm-query-editor-autocomplete{max-height:300px;overflow:auto}.vm-additional-settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:16px;justify-content:flex-start}.vm-additional-settings__input{flex-basis:160px;margin-bottom:-6px}.vm-additional-settings_mobile{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:1fr;padding:0 16px;width:100%}.vm-switch{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-switch_full-width{flex-direction:row-reverse;justify-content:space-between}.vm-switch_full-width .vm-switch__label{margin-left:0}.vm-switch_disabled{cursor:default;opacity:.6}.vm-switch_secondary_active .vm-switch-track{background-color:var(--color-secondary)}.vm-switch_primary_active .vm-switch-track{background-color:var(--color-primary)}.vm-switch_active .vm-switch-track__thumb{left:20px}.vm-switch:hover .vm-switch-track{opacity:.8}.vm-switch-track{align-items:center;background-color:hsla(0,6%,6%,.4);border-radius:17px;display:flex;height:17px;justify-content:flex-start;padding:3px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:34px}.vm-switch-track__thumb{background-color:var(--color-background-block);border-radius:50%;left:3px;min-height:11px;min-width:11px;position:absolute;top:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:right .2s ease-out,left .2s ease-out}.vm-switch__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-query-configurator{grid-gap:16px;display:grid;gap:16px}.vm-query-configurator-list{display:grid}.vm-query-configurator-list-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto auto}.vm-query-configurator-list-row_mobile{gap:4px}.vm-query-configurator-list-row_disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:.5}.vm-query-configurator-list-row__button{display:grid;min-height:36px;width:36px}.vm-query-configurator-settings{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.vm-query-configurator-settings__buttons{grid-gap:8px;display:grid;flex-grow:1;gap:8px;grid-template-columns:repeat(2,auto);justify-content:flex-end}.vm-json-view__copy{display:flex;justify-content:flex-end;position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-json-view__code{font-size:12px;line-height:1.4;-webkit-transform:translateY(-32px);transform:translateY(-32px);white-space:pre-wrap}.vm-axes-limits{grid-gap:16px;align-items:center;display:grid;gap:16px;max-width:300px}.vm-axes-limits_mobile{gap:24px;max-width:100%;width:100%}.vm-axes-limits_mobile .vm-axes-limits-list__inputs{grid-template-columns:repeat(2,1fr)}.vm-axes-limits-list{grid-gap:16px;align-items:center;display:grid;gap:16px}.vm-axes-limits-list__inputs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,120px)}.vm-graph-settings-popper{grid-gap:16px;display:grid;gap:16px;padding:0 0 16px}.vm-graph-settings-popper__body{grid-gap:8px;display:grid;gap:8px;padding:0 16px}.vm-spinner{align-items:center;-webkit-animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);background-color:hsla(0,0%,100%,.5);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:99}.vm-spinner_dark{background-color:hsla(0,6%,6%,.2)}.vm-spinner__message{color:rgba(var(--color-text),.9);font-size:14px;line-height:1.3;margin-top:24px;text-align:center;white-space:pre-line}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;height:60px;position:relative;width:60px}.half-circle-spinner .circle{border:6px solid transparent;border-radius:100%;content:"";height:100%;position:absolute;width:100%}.half-circle-spinner .circle.circle-1{-webkit-animation:half-circle-spinner-animation 1s infinite;animation:half-circle-spinner-animation 1s infinite;border-top-color:var(--color-primary)}.half-circle-spinner .circle.circle-2{-webkit-animation:half-circle-spinner-animation 1s infinite alternate;animation:half-circle-spinner-animation 1s infinite alternate;border-bottom-color:var(--color-primary)}@-webkit-keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes vm-fade{0%{opacity:0}to{opacity:1}}@keyframes vm-fade{0%{opacity:0}to{opacity:1}}.vm-tracings-view{grid-gap:24px;display:grid;gap:24px}.vm-tracings-view-trace-header{align-items:center;border-bottom:var(--border-divider);display:flex;justify-content:space-between;padding:8px 8px 8px 24px}.vm-tracings-view-trace-header-title{flex-grow:1;font-size:14px;margin-right:8px}.vm-tracings-view-trace-header-title__query{font-weight:700}.vm-tracings-view-trace__nav{padding:24px 24px 24px 0}.vm-tracings-view-trace__nav_mobile{padding:8px 8px 8px 0}.vm-line-progress{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:center}.vm-line-progress-track{background-color:var(--color-hover-black);border-radius:4px;height:20px;width:100%}.vm-line-progress-track__thumb{background-color:#1a90ff;border-radius:4px;height:100%}.vm-nested-nav{background-color:rgba(201,227,246,.4);border-radius:4px;margin-left:24px}.vm-nested-nav_mobile{margin-left:8px}.vm-nested-nav_dark{background-color:hsla(0,6%,6%,.1)}.vm-nested-nav-header{grid-gap:8px;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr;padding:8px;transition:background-color .2s ease-in-out}.vm-nested-nav-header:hover{background-color:var(--color-hover-black)}.vm-nested-nav-header__icon{align-items:center;display:flex;justify-content:center;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px}.vm-nested-nav-header__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-nested-nav-header__progress{grid-column:2}.vm-nested-nav-header__message{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;display:-moz-box;display:-webkit-box;grid-column:2;line-height:130%;overflow:hidden;position:relative;text-overflow:ellipsis}.vm-nested-nav-header__message_show-full{display:block;overflow:visible}.vm-nested-nav-header-bottom{align-items:center;display:grid;grid-column:2;grid-template-columns:1fr auto}.vm-nested-nav-header-bottom__duration{color:var(--color-text-secondary)}.vm-json-form{grid-gap:16px;display:grid;gap:16px;grid-template-rows:auto calc(var(--vh)*70 - 150px) auto;max-height:900px;max-width:1000px;overflow:hidden;width:70vw}.vm-json-form_mobile{grid-template-rows:auto calc(var(--vh)*100 - 248px) auto;min-height:100%;width:100%}.vm-json-form_one-field{grid-template-rows:calc(var(--vh)*70 - 150px) auto}.vm-json-form_one-field_mobile{grid-template-rows:calc(var(--vh)*100 - 192px) auto}.vm-json-form textarea{height:100%;max-height:900px;overflow:auto;width:100%}.vm-json-form-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}@media(max-width:500px){.vm-json-form-footer{flex-direction:column}.vm-json-form-footer button{flex-grow:1}}.vm-json-form-footer__controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-start}@media(max-width:500px){.vm-json-form-footer__controls{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-json-form-footer__controls_right{display:grid;grid-template-columns:repeat(2,90px);justify-content:flex-end}@media(max-width:500px){.vm-json-form-footer__controls_right{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-table-settings-popper{display:grid;min-width:250px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list{gap:16px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list:first-child{padding-top:0}.vm-table-settings-popper-list{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;max-height:350px;overflow:auto;padding:16px}.vm-table-settings-popper-list_first{padding-top:0}.vm-table-settings-popper-list-header{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between;min-height:25px}.vm-table-settings-popper-list-header__title{font-weight:700}.vm-table-settings-popper-list__item{font-size:12px;text-transform:capitalize}.vm-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-checkbox_disabled{cursor:default;opacity:.6}.vm-checkbox_secondary_active .vm-checkbox-track{background-color:var(--color-secondary)}.vm-checkbox_secondary .vm-checkbox-track{border:1px solid var(--color-secondary)}.vm-checkbox_primary_active .vm-checkbox-track{background-color:var(--color-primary)}.vm-checkbox_primary .vm-checkbox-track{border:1px solid var(--color-primary)}.vm-checkbox_active .vm-checkbox-track__thumb{-webkit-transform:scale(1);transform:scale(1)}.vm-checkbox:hover .vm-checkbox-track{opacity:.8}.vm-checkbox-track{align-items:center;background-color:transparent;border-radius:4px;display:flex;height:16px;justify-content:center;padding:2px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:16px}.vm-checkbox-track__thumb{align-items:center;color:#fff;display:grid;height:12px;justify-content:center;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;width:12px}.vm-checkbox__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-custom-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:100%;height:100%}.vm-custom-panel_mobile{gap:8px}.vm-custom-panel__warning{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between}.vm-custom-panel__warning_mobile{grid-template-columns:1fr}.vm-custom-panel-body{position:relative}.vm-custom-panel-body-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:10px;justify-content:space-between;margin:-24px -24px 24px;padding:0 24px;position:relative;z-index:1}.vm-custom-panel-body-header__left{align-items:center;display:flex;gap:8px}.vm-custom-panel-body_mobile .vm-custom-panel-body-header{margin:-16px -16px 16px;padding:0 16px}.vm-table-view{margin-top:-24px;max-width:100%;overflow:auto}.vm-table-view_mobile{margin-top:-16px}.vm-table-view table{margin-top:0}.vm-predefined-panel-header{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:auto 1fr auto;justify-content:flex-start;padding:8px 16px}.vm-predefined-panel-header__description{line-height:1.3;white-space:pre-wrap}.vm-predefined-panel-header__description ol,.vm-predefined-panel-header__description ul{list-style-position:inside}.vm-predefined-panel-header__description a{color:#c9e3f6;text-decoration:underline}.vm-predefined-panel-header__info{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:18px}.vm-predefined-panel-body{min-height:500px;padding:8px 16px}@media(max-width:500px){.vm-predefined-panel-body{padding:0}}.vm-predefined-dashboard{background-color:transparent}.vm-predefined-dashboard-header{align-items:center;border-radius:4px;box-shadow:var(--box-shadow);display:grid;font-weight:700;grid-template-columns:1fr auto;justify-content:space-between;line-height:14px;overflow:hidden;padding:16px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:box-shadow .2s ease-in-out}.vm-predefined-dashboard-header_open{border-radius:4px 4px 0 0;box-shadow:none}.vm-predefined-dashboard-header__title{font-size:12px}.vm-predefined-dashboard-header__count{font-size:10px;grid-column:2;margin-right:30px}.vm-predefined-dashboard-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr);padding:0}@media(max-width:1000px){.vm-predefined-dashboard-panels{grid-template-columns:1fr}}.vm-predefined-dashboard-panels-panel{border-radius:8px;overflow:hidden;position:relative}.vm-predefined-dashboard-panels-panel:hover .vm-predefined-dashboard-panels-panel__resizer{-webkit-transform:scale(1);transform:scale(1)}.vm-predefined-dashboard-panels-panel__resizer{bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px;z-index:1}.vm-predefined-dashboard-panels-panel__resizer:after{border-bottom:2px solid hsla(0,6%,6%,.2);border-right:2px solid hsla(0,6%,6%,.2);bottom:5px;content:"";height:5px;position:absolute;right:5px;width:5px}.vm-predefined-dashboard-panels-panel__alert{grid-column:span 12}.vm-predefined-panels{grid-gap:16px;align-items:flex-start;display:grid;gap:16px}@media(max-width:768px){.vm-predefined-panels{padding:24px 0}}@media(max-width:500px){.vm-predefined-panels{padding:8px 0}}.vm-predefined-panels-tabs{align-items:center;display:flex;flex-wrap:wrap;font-size:10px;gap:8px;justify-content:flex-start;overflow:hidden}@media(max-width:768px){.vm-predefined-panels-tabs{padding:0 16px}}.vm-predefined-panels-tabs__tab{background:var(--color-background-block);border:1px solid hsla(0,6%,6%,.2);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;padding:8px 16px;text-align:center;text-transform:uppercase;transition:background .2s ease-in-out,color .15s ease-in}@media(max-width:500px){.vm-predefined-panels-tabs__tab{flex-grow:1}}.vm-predefined-panels-tabs__tab:hover{color:var(--color-primary)}.vm-predefined-panels-tabs__tab_active{border-color:var(--color-primary);color:var(--color-primary)}.vm-predefined-panels__dashboards{grid-gap:16px;display:grid;gap:16px}.vm-cardinality-configurator{grid-gap:8px;display:grid;gap:8px}.vm-cardinality-configurator-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:flex-start}.vm-cardinality-configurator-controls__query{flex-grow:10}.vm-cardinality-configurator-controls__item{flex-grow:2}.vm-cardinality-configurator-controls__item_limit{flex-grow:1}.vm-cardinality-configurator-controls__item svg{color:var(--color-text-disabled)}.vm-cardinality-configurator-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end;width:100%}.vm-cardinality-configurator-bottom-helpful{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:flex-end}.vm-cardinality-configurator-bottom-helpful a{color:var(--color-text-secondary)}.vm-cardinality-configurator-bottom__execute{align-items:center;display:flex;gap:8px}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom{justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom-helpful{flex-grow:1;justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute,.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute button:nth-child(3){width:100%}.vm-cardinality-totals{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:16px;justify-content:flex-start}.vm-cardinality-totals_mobile{gap:8px;justify-content:center}.vm-cardinality-totals-card,.vm-cardinality-totals-card-header{align-items:center;display:flex;gap:4px;justify-content:center}.vm-cardinality-totals-card-header__info-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:12px}.vm-cardinality-totals-card-header__title{color:var(--color-text);font-weight:700}.vm-cardinality-totals-card-header__title:after{content:":"}.vm-cardinality-totals-card-header__tooltip{font-size:12px;line-height:130%;max-width:280px;padding:8px;white-space:normal}.vm-cardinality-totals-card__value{color:var(--color-primary);font-size:14px;font-weight:700}.vm-metrics-content-header{margin:-24px -24px 0}.vm-metrics-content-header__title{align-items:center;display:flex;justify-content:flex-start}.vm-metrics-content-header__tip{font-size:12px;line-height:130%;max-width:300px;padding:8px;white-space:normal}.vm-metrics-content-header__tip p{margin-bottom:8px}.vm-metrics-content-header__tip-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;margin-right:4px;width:12px}.vm-metrics-content_mobile .vm-metrics-content-header{margin:-16px -16px 0}.vm-metrics-content__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-metrics-content__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-metrics-content__table_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-metrics-content__table .vm-table-cell_header{white-space:nowrap}.vm-metrics-content_mobile .vm-metrics-content__table{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-metrics-content__chart{padding-top:24px}.vm-simple-bar-chart{display:grid;grid-template-columns:auto 1fr;height:100%;overflow:hidden;padding-bottom:5px}.vm-simple-bar-chart-y-axis{display:grid;position:relative;-webkit-transform:translateY(10px);transform:translateY(10px)}.vm-simple-bar-chart-y-axis__tick{align-items:center;display:flex;font-size:10px;justify-content:flex-end;line-height:2;padding-right:8px;position:relative;text-align:right;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;z-index:1}.vm-simple-bar-chart-y-axis__tick:after{border-bottom:var(--border-divider);content:"";height:0;left:100%;position:absolute;top:auto;-webkit-transform:translateY(-1px) translateZ(-1);transform:translateY(-1px) translateZ(-1);width:100vw}.vm-simple-bar-chart-data{align-items:flex-end;display:flex;gap:1%;justify-content:space-between;position:relative}.vm-simple-bar-chart-data-item{align-items:flex-start;background-color:#3b5;display:flex;flex-grow:1;height:calc(100% - 40px);justify-content:center;min-width:1px;transition:background-color .2s ease-in;width:100%}.vm-simple-bar-chart-data-item:hover{background-color:#51d071}.vm-simple-bar-chart-data-item:first-child{background-color:#f79420}.vm-simple-bar-chart-data-item:first-child:hover{background-color:#f9ac51}.vm-cardinality-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-cardinality-panel_mobile,.vm-cardinality-panel_mobile .vm-cardinality-panel-tips{gap:8px}.vm-cardinality-panel-tips{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:24px;justify-content:flex-start;width:100%}.vm-cardinality-tip{background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text-secondary);display:grid;flex-grow:1;grid-template-rows:auto 1fr;overflow:hidden;width:300px}.vm-cardinality-tip-header{align-items:center;border-bottom:var(--border-divider);display:flex;gap:4px;justify-content:center;padding:8px 16px;position:relative}.vm-cardinality-tip-header:after{background:var(--color-warning);content:"";height:100%;left:0;opacity:.1;pointer-events:none;position:absolute;top:0;width:100%}.vm-cardinality-tip-header__tip-icon{align-items:center;color:var(--color-warning);display:flex;justify-content:center;width:12px}.vm-cardinality-tip-header__title{color:var(--color-text);font-weight:700;text-align:center}.vm-cardinality-tip-header__tooltip{font-size:12px;line-height:130%;max-width:280px;padding:8px;white-space:normal}.vm-cardinality-tip__description{line-height:130%;padding:8px 16px}.vm-cardinality-tip__description p{margin-bottom:8px}.vm-cardinality-tip__description p:last-child{margin-bottom:0}.vm-cardinality-tip__description h5{font-size:14px;margin-bottom:8px}.vm-cardinality-tip__description h6{margin-bottom:8px}.vm-cardinality-tip__description ol,.vm-cardinality-tip__description ul{list-style-position:inside}.vm-cardinality-tip__description ol li,.vm-cardinality-tip__description ul li{margin-bottom:4px}.vm-top-queries-panel-header{margin:-24px -24px 0}.vm-top-queries-panel-header_mobile{margin:-16px -16px 0}.vm-top-queries-panel__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-top-queries-panel__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-top-queries-panel__table_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-top-queries-panel__table .vm-table-cell_header{white-space:nowrap}.vm-top-queries{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-top-queries_mobile{gap:8px}.vm-top-queries-controls{grid-gap:8px;display:grid;gap:8px}.vm-top-queries-controls-fields{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.vm-top-queries-controls-fields__item{flex-grow:1;min-width:200px}.vm-top-queries-controls-bottom{grid-gap:24px;align-items:flex-end;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:space-between}.vm-top-queries-controls-bottom_mobile{gap:8px;grid-template-columns:1fr}.vm-top-queries-controls-bottom__button{align-items:center;display:flex;justify-content:flex-end}.vm-top-queries-panels{grid-gap:24px;display:grid;gap:24px}.vm-trace-page{display:flex;flex-direction:column;min-height:100%}@media(max-width:768px){.vm-trace-page{padding:24px 0}}.vm-trace-page-controls{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr 1fr;justify-content:center}.vm-trace-page-header{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr auto;margin-bottom:24px}@media(max-width:768px){.vm-trace-page-header{grid-template-columns:1fr;padding:0 24px}}.vm-trace-page-header-errors{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:1fr;justify-content:stretch}@media(max-width:768px){.vm-trace-page-header-errors{grid-row:2}}.vm-trace-page-header-errors-item{align-items:center;display:grid;justify-content:stretch;position:relative}.vm-trace-page-header-errors-item__filename{min-height:20px}.vm-trace-page-header-errors-item__close{position:absolute;right:8px;top:auto;z-index:2}.vm-trace-page-preview{align-items:center;display:flex;flex-direction:column;flex-grow:1;justify-content:center}.vm-trace-page-preview__text{font-size:14px;line-height:1.8;margin-bottom:16px;text-align:center;white-space:pre-line}.vm-trace-page__dropzone{align-items:center;box-shadow:inset var(--color-primary) 0 0 10px;display:flex;height:100%;justify-content:center;left:0;opacity:.5;pointer-events:none;position:fixed;top:0;width:100%;z-index:100}.vm-explore-metrics{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}@media(max-width:500px){.vm-explore-metrics{gap:8px}}.vm-explore-metrics-body{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}@media(max-width:500px){.vm-explore-metrics-body{gap:8px}}.vm-explore-metrics-graph,.vm-explore-metrics-graph_mobile{padding:0 16px 16px}.vm-explore-metrics-graph__warning{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between}.vm-explore-metrics-item-header{grid-gap:16px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:16px;grid-template-columns:auto 1fr auto auto;justify-content:flex-start;padding:16px}.vm-explore-metrics-item-header_mobile{grid-template-columns:1fr auto;padding:8px 16px}.vm-explore-metrics-item-header__index{color:var(--color-text-secondary);font-size:10px}.vm-explore-metrics-item-header__name{flex-grow:1;font-weight:700;line-height:130%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.vm-explore-metrics-item-header-order{align-items:center;display:grid;grid-column:1;grid-template-columns:auto 20px auto;justify-content:flex-start;text-align:center}.vm-explore-metrics-item-header-order__up{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-explore-metrics-item-header__rate{grid-column:3}.vm-explore-metrics-item-header__close{align-items:center;display:grid;grid-column:4;grid-row:1}.vm-explore-metrics-item-header code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;padding:.2em .4em}.vm-explore-metrics-item-header-modal{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-explore-metrics-item-header-modal-order{align-items:center;display:flex;gap:24px;justify-content:space-between}.vm-explore-metrics-item-header-modal-order p{align-items:center;display:flex}.vm-explore-metrics-item-header-modal-order__index{margin-left:4px}.vm-explore-metrics-item-header-modal__rate{grid-gap:8px;display:grid;gap:8px}.vm-explore-metrics-item-header-modal__rate p{color:var(--color-text-secondary)}.vm-explore-metrics-item{position:relative}.vm-select-input{align-items:center;border:var(--border-divider);border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;min-height:36px;padding:5px 0 5px 16px;position:relative}.vm-select-input-content{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;max-width:calc(100% - 77px);width:100%}.vm-select-input-content_mobile{flex-wrap:nowrap}.vm-select-input-content__counter{font-size:12px;line-height:12px}.vm-select-input-content__selected{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;font-size:12px;justify-content:center;line-height:12px;max-width:100%;padding:2px 2px 2px 6px}.vm-select-input-content__selected span{overflow:hidden;text-overflow:ellipsis;width:100%}.vm-select-input-content__selected svg{align-items:center;background-color:transparent;border-radius:4px;display:flex;justify-content:center;margin-left:10px;padding:4px;transition:background-color .2s ease-in-out;width:20px}.vm-select-input-content__selected svg:hover{background-color:hsla(0,6%,6%,.1)}.vm-select-input input{background-color:transparent;border:none;border-radius:4px;color:var(--color-text);display:inline-block;flex-grow:1;font-size:12px;height:18px;line-height:18px;min-width:100px;padding:0;position:relative;z-index:2}.vm-select-input input:placeholder-shown{width:auto}.vm-select-input__icon{align-items:center;border-right:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:flex-end;padding:0 8px;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in,-webkit-transform .2s ease-in}.vm-select-input__icon:last-child{border:none}.vm-select-input__icon svg{width:14px}.vm-select-input__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-select-input__icon:hover{opacity:.7}.vm-select-options{grid-gap:8px;display:grid;font-size:12px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:16px}.vm-select-options_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 16px 8px}.vm-explore-metrics-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px 18px;justify-content:flex-start;max-width:calc(100vw - var(--scrollbar-width))}.vm-explore-metrics-header_mobile{align-items:stretch;flex-direction:column}.vm-explore-metrics-header__job{flex-grow:1;min-width:150px}.vm-explore-metrics-header__instance{flex-grow:2;min-width:150px}.vm-explore-metrics-header__size{flex-grow:1;min-width:150px}.vm-explore-metrics-header-metrics{flex-grow:1;width:100%}.vm-explore-metrics-header__clear-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:2px}.vm-explore-metrics-header__clear-icon:hover{opacity:.7}.vm-preview-icons{grid-gap:16px;align-items:flex-start;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,100px);justify-content:center}.vm-preview-icons-item{grid-gap:8px;align-items:stretch;border:1px solid transparent;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-rows:1fr auto;height:100px;justify-content:center;padding:16px 8px;transition:box-shadow .2s ease-in-out}.vm-preview-icons-item:hover{box-shadow:0 1px 4px rgba(0,0,0,.16)}.vm-preview-icons-item:active .vm-preview-icons-item__svg{-webkit-transform:scale(.9);transform:scale(.9)}.vm-preview-icons-item__name{font-size:10px;line-height:2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vm-preview-icons-item__svg{align-items:center;display:flex;height:100%;justify-content:center;transition:-webkit-transform .1s ease-out;transition:transform .1s ease-out;transition:transform .1s ease-out,-webkit-transform .1s ease-out}.vm-preview-icons-item__svg svg{height:24px;width:auto}#root,body,html{background-attachment:fixed;background-color:#fefeff;background-color:var(--color-background-body);background-repeat:no-repeat;color:#110f0f;color:var(--color-text);cursor:default;font-family:Lato,sans-serif;font-size:12px;margin:0;min-height:100%}body{overflow:auto}*{-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:inherit;font:inherit;touch-action:pan-x pan-y}code{font-family:monospace}b{font-weight:700}input,textarea{cursor:text}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{-webkit-user-select:none;user-select:none}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vm-snackbar{bottom:16px;left:16px;position:fixed;z-index:999}.vm-snackbar-content{align-items:center;display:grid;grid-template-columns:1fr auto}.vm-snackbar-content__close{color:inherit;height:24px;opacity:.8;padding:4px;width:24px}.vm-snackbar_mobile{-webkit-animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);bottom:0;left:0;right:0}@-webkit-keyframes vm-slide-snackbar{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes vm-slide-snackbar{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}svg{width:100%}*{scrollbar-color:#a09f9f #fff;scrollbar-color:var(--color-text-disabled) var(--color-background-block);scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#fff;background:var(--color-background-block)}::-webkit-scrollbar-thumb{background-color:#a09f9f;background-color:var(--color-text-disabled);border:3px solid #fff;border:3px solid var(--color-background-block);border-radius:20px}a,abbr,acronym,address,applet,article,aside,audio,big,body,canvas,caption,center,cite,code,del,details,dfn,div,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:initial}h1,h2,h3,h4,h5,h6{font-weight:400}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}q:after,q:before{content:""}table{border-collapse:collapse;border-spacing:0}input::-webkit-input-placeholder{opacity:1;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input::placeholder{opacity:1;transition:opacity .3s ease}input:focus::-webkit-input-placeholder{opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input:focus::placeholder{opacity:0;transition:opacity .3s ease}*{box-sizing:border-box;outline:none}button{background:none;border:none;border-radius:0;padding:0}strong{letter-spacing:1px}input[type=file]{cursor:pointer;font-size:0;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}input[type=file]:disabled{cursor:not-allowed}a{color:inherit;text-decoration:inherit}input,textarea{-webkit-text-fill-color:inherit;appearance:none;-webkit-appearance:none}input:disabled,textarea:disabled{opacity:1!important}input:placeholder-shown,textarea:placeholder-shown{width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 0 #fff!important;width:100%;z-index:2}@font-face{font-family:Lato;font-style:normal;font-weight:400;src:url(../../static/media/Lato-Regular.d714fec1633b69a9c2e9.ttf)}@font-face{font-family:Lato;font-style:normal;font-weight:700;src:url(../../static/media/Lato-Bold.32360ba4b57802daa4d6.ttf)}.vm-header-button{border:1px solid hsla(0,6%,6%,.2)}.vm-list-item{background-color:transparent;cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.vm-list-item_mobile{padding:16px}.vm-list-item:hover,.vm-list-item_active{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-list-item_multiselect{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:10px 1fr;justify-content:flex-start}.vm-list-item_multiselect svg{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1)}.vm-list-item_multiselect span{grid-column:2}.vm-list-item_multiselect_selected{color:#3f51b5;color:var(--color-primary)}.vm-mobile-option{align-items:center;display:flex;gap:8px;justify-content:flex-start;padding:12px 0;-webkit-user-select:none;user-select:none;width:100%}.vm-mobile-option__arrow,.vm-mobile-option__icon{align-items:center;display:flex;justify-content:center}.vm-mobile-option__icon{color:#3f51b5;color:var(--color-primary);height:22px;width:22px}.vm-mobile-option__arrow{color:#3f51b5;color:var(--color-primary);height:14px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);width:14px}.vm-mobile-option-text{grid-gap:2px;align-items:center;display:grid;flex-grow:1;gap:2px}.vm-mobile-option-text__label{font-weight:700}.vm-mobile-option-text__value{color:#706f6f;color:var(--color-text-secondary);font-size:10px}.vm-block{background-color:#fff;background-color:var(--color-background-block);border-radius:8px;box-shadow:1px 2px 6px rgba(0,0,0,.08);box-shadow:var(--box-shadow);padding:24px}.vm-block_mobile{border-radius:0;padding:16px}.vm-block_empty-padding{padding:0}.vm-section-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);border-radius:8px 8px 0 0;display:grid;grid-template-columns:1fr auto;justify-content:center;padding:0 24px}.vm-section-header__title{font-size:12px;font-weight:700}.vm-section-header__title_mobile{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.vm-section-header__tabs{align-items:center;display:flex;font-size:10px;justify-content:flex-start}.vm-table{border-collapse:initial;border-spacing:0;margin-top:-24px;width:100%}.vm-table,.vm-table__row{background-color:#fff;background-color:var(--color-background-block)}.vm-table__row{transition:background-color .2s ease}.vm-table__row:hover:not(.vm-table__row_header){background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table__row_header{position:relative;z-index:2}.vm-table__row_selected{background-color:rgba(26,144,255,.05)}.vm-table-cell{border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);height:40px;line-height:25px;padding:8px;vertical-align:top}.vm-table-cell__content{align-items:center;display:flex;justify-content:flex-start}.vm-table-cell_sort{cursor:pointer}.vm-table-cell_sort:hover{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table-cell_header{font-weight:700;text-align:left;text-transform:capitalize}.vm-table-cell_gray{color:#110f0f;color:var(--color-text);opacity:.4}.vm-table-cell_right{text-align:right}.vm-table-cell_right .vm-table-cell__content{justify-content:flex-end}.vm-table-cell_no-wrap{white-space:nowrap}.vm-table__sort-icon{align-items:center;display:flex;justify-content:center;margin:0 8px;opacity:.4;transition:opacity .2s ease,-webkit-transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:15px}.vm-table__sort-icon_active{opacity:1}.vm-table__sort-icon_desc{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-link{cursor:pointer;transition:color .2s ease}.vm-link_colored{color:#3f51b5;color:var(--color-primary)}.vm-link_underlined{text-decoration:underline}.vm-link_with-icon{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:14px auto;justify-content:center}.vm-link:hover{color:#3f51b5;color:var(--color-primary);text-decoration:underline}:root{--color-primary:#3f51b5;--color-secondary:#e91e63;--color-error:#fd080e;--color-warning:#ff8308;--color-info:#03a9f4;--color-success:#4caf50;--color-primary-text:#fff;--color-secondary-text:#fff;--color-error-text:#fff;--color-warning-text:#fff;--color-info-text:#fff;--color-success-text:#fff;--color-background-body:#fefeff;--color-background-block:#fff;--color-background-tooltip:rgba(97,97,97,.92);--color-text:#110f0f;--color-text-secondary:#706f6f;--color-text-disabled:#a09f9f;--box-shadow:rgba(0,0,0,.08) 1px 2px 6px;--box-shadow-popper:rgba(0,0,0,.1) 0px 2px 8px 0px;--border-divider:1px solid rgba(0,0,0,.15);--color-hover-black:rgba(0,0,0,.06)} \ No newline at end of file diff --git a/app/vmselect/vmui/static/css/main.ebde9e58.css b/app/vmselect/vmui/static/css/main.ebde9e58.css deleted file mode 100644 index c2ff72b4cc..0000000000 --- a/app/vmselect/vmui/static/css/main.ebde9e58.css +++ /dev/null @@ -1 +0,0 @@ -.vm-tabs{gap:16px;height:100%;position:relative;-webkit-user-select:none;user-select:none}.vm-tabs,.vm-tabs-item{align-items:center;display:flex;justify-content:center}.vm-tabs-item{color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;opacity:.6;padding:16px 8px;text-decoration:none;text-transform:uppercase;transition:opacity .2s}.vm-tabs-item_active{opacity:1}.vm-tabs-item:hover{opacity:.8}.vm-tabs-item__icon{display:grid;margin-right:8px;width:15px}.vm-tabs-item__icon_single{margin-right:0}.vm-tabs__indicator{border-bottom:2px solid;position:absolute;transition:width .2s ease,left .3s cubic-bezier(.28,.84,.42,1)}.vm-alert{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text);display:grid;font-size:14px;font-weight:400;gap:8px;grid-template-columns:20px 1fr;line-height:20px;padding:16px;position:relative}.vm-alert_mobile{align-items:flex-start;border-radius:0}.vm-alert:after{border-radius:8px;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%;z-index:1}.vm-alert_mobile:after{border-radius:0}.vm-alert__content,.vm-alert__icon{position:relative;z-index:2}.vm-alert__icon{align-items:center;display:flex;justify-content:center}.vm-alert__content{-webkit-filter:brightness(.6);filter:brightness(.6);white-space:pre-line}.vm-alert_success{color:var(--color-success)}.vm-alert_success:after{background-color:var(--color-success)}.vm-alert_error{color:var(--color-error)}.vm-alert_error:after{background-color:var(--color-error)}.vm-alert_info{color:var(--color-info)}.vm-alert_info:after{background-color:var(--color-info)}.vm-alert_warning{color:var(--color-warning)}.vm-alert_warning:after{background-color:var(--color-warning)}.vm-alert_dark:after{opacity:.1}.vm-alert_dark .vm-alert__content{-webkit-filter:none;filter:none}.vm-header{align-items:center;display:flex;flex-wrap:wrap;gap:0 48px;justify-content:flex-start;min-height:51px;padding:8px 24px;z-index:99}.vm-header_app{padding:8px 0}@media(max-width:1000px){.vm-header{gap:8px;padding:8px;position:-webkit-sticky;position:sticky;top:0}}.vm-header_mobile{display:grid;grid-template-columns:33px 1fr 33px;justify-content:space-between}.vm-header_dark .vm-header-button,.vm-header_dark button,.vm-header_dark button:before{background-color:var(--color-background-block)}.vm-header-logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;margin-bottom:2px;max-width:65px;min-width:65px;overflow:hidden;position:relative;width:100%}@media(max-width:1200px){.vm-header-logo{max-width:14px;min-width:14px}}.vm-header-logo svg,.vm-header-logo_mobile{max-width:65px;min-width:65px}.vm-header-logo_mobile{margin:0 auto}.vm-header-nav{align-items:center;display:flex;font-size:10px;font-weight:700;gap:16px;justify-content:flex-start}.vm-header-nav_column{align-items:stretch;flex-direction:column;gap:8px}.vm-header-nav_column .vm-header-nav-item{padding:16px 0}.vm-header-nav_column .vm-header-nav-item_sub{justify-content:stretch}.vm-header-nav-item{cursor:pointer;opacity:.5;padding:16px 8px;position:relative;text-transform:uppercase;transition:opacity .2s ease-in}.vm-header-nav-item_sub{grid-gap:4px;align-items:center;cursor:default;display:grid;gap:4px;grid-template-columns:auto 14px;justify-content:center}.vm-header-nav-item:hover,.vm-header-nav-item_active{opacity:1}.vm-header-nav-item svg{-webkit-transform:rotate(0deg);transform:rotate(0deg);transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-header-nav-item_open svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-header-nav-item-submenu{border-radius:2px;color:#fff;display:grid;font-size:10px;font-weight:700;opacity:1;padding:8px;-webkit-transform-origin:top center;transform-origin:top center;white-space:nowrap}.vm-header-nav-item-submenu-item{cursor:pointer}.vm-popper{background-color:var(--color-background-block);border-radius:4px;box-shadow:var(--box-shadow-popper);opacity:0;pointer-events:none;position:fixed;transition:opacity .1s ease-in-out;z-index:-99}.vm-popper_open{-webkit-animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);opacity:1;pointer-events:auto;-webkit-transform-origin:top center;transform-origin:top center;z-index:101}.vm-popper_mobile{-webkit-animation:none;animation:none;border-radius:0;bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;width:100%}.vm-popper-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:16px;min-height:51px;padding:8px 8px 8px 16px}.vm-popper-header__title{font-weight:700;-webkit-user-select:none;user-select:none}@-webkit-keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}.vm-modal{align-items:center;background:hsla(0,6%,6%,.55);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.vm-modal_mobile{align-items:flex-start;max-height:calc(var(--vh)*100);min-height:calc(var(--vh)*100);overflow:auto}.vm-modal_mobile .vm-modal-content{border-radius:0;grid-template-rows:70px -webkit-max-content;grid-template-rows:70px max-content;max-height:-webkit-max-content;max-height:max-content;min-height:100%;overflow:visible;width:100vw}.vm-modal_mobile .vm-modal-content-header{margin-bottom:16px;padding:8px 8px 8px 16px}.vm-modal_mobile .vm-modal-content-body{align-items:flex-start;display:grid;min-height:100%;padding:0 16px 22px}.vm-modal-content{align-items:flex-start;background:var(--color-background-block);border-radius:4px;box-shadow:0 0 24px hsla(0,6%,6%,.07);display:grid;grid-template-rows:auto 1fr;max-height:calc(var(--vh)*90);overflow:auto}.vm-modal-content-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:22px;min-height:51px;padding:16px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.vm-modal-content-header__title{font-weight:700;-webkit-user-select:none;user-select:none}.vm-modal-content-header__close{align-items:center;box-sizing:initial;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px;width:24px}.vm-modal-content-body{padding:0 22px 22px}.vm-shortcuts{min-width:400px}@media(max-width:500px){.vm-shortcuts{min-width:100%}}.vm-shortcuts-section{margin-bottom:24px}.vm-shortcuts-section__title{border-bottom:var(--border-divider);font-weight:700;margin-bottom:16px;padding:8px 0}.vm-shortcuts-section-list{grid-gap:16px;display:grid;gap:16px}@media(max-width:500px){.vm-shortcuts-section-list{gap:24px}}.vm-shortcuts-section-list-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:210px 1fr}@media(max-width:500px){.vm-shortcuts-section-list-item{grid-template-columns:1fr}}.vm-shortcuts-section-list-item__key{align-items:center;display:flex;gap:4px}.vm-shortcuts-section-list-item__key code{background-color:var(--color-background-body);background-repeat:repeat-x;border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-block;font-size:10px;line-height:2;padding:2px 8px 0;text-align:center}.vm-shortcuts-section-list-item__description{font-size:12px}.vm-tooltip{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);background-color:var(--color-background-tooltip);border-radius:4px;box-shadow:var(--box-shadow-popper);color:#fff;font-size:10px;line-height:150%;opacity:1;padding:3px 8px;pointer-events:auto;position:fixed;transition:opacity .1s ease-in-out;white-space:nowrap;z-index:101}@-webkit-keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}.vm-menu-burger{background:none;border:none;cursor:pointer;height:18px;outline:none;padding:0;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;width:18px}.vm-menu-burger:after{background-color:hsla(0,6%,6%,.1);border-radius:50%;content:"";height:calc(100% + 12px);left:-6px;position:absolute;top:-6px;-webkit-transform:scale(0) translateZ(-2px);transform:scale(0) translateZ(-2px);transition:-webkit-transform .14s ease-in-out;transition:transform .14s ease-in-out;transition:transform .14s ease-in-out,-webkit-transform .14s ease-in-out;width:calc(100% + 12px)}.vm-menu-burger:hover:after{-webkit-transform:scale(1) translateZ(-2px);transform:scale(1) translateZ(-2px)}.vm-menu-burger span{border-top:2px solid #fff;display:block;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:border-color .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,border-color .3s ease;transition:transform .3s ease,border-color .3s ease,-webkit-transform .3s ease}.vm-menu-burger span,.vm-menu-burger span:after,.vm-menu-burger span:before{border-radius:6px;height:2px;left:0;position:absolute;width:100%}.vm-menu-burger span:after,.vm-menu-burger span:before{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.645,.045,.355,1);animation-timing-function:cubic-bezier(.645,.045,.355,1);background:#fff;content:"";top:0}.vm-menu-burger span:before{-webkit-animation-name:topLineBurger;animation-name:topLineBurger}.vm-menu-burger span:after{-webkit-animation-name:bottomLineBurger;animation-name:bottomLineBurger}.vm-menu-burger_opened span{border-color:transparent}.vm-menu-burger_opened span:before{-webkit-animation-name:topLineCross;animation-name:topLineCross}.vm-menu-burger_opened span:after{-webkit-animation-name:bottomLineCross;animation-name:bottomLineCross}@-webkit-keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@-webkit-keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@-webkit-keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@-webkit-keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}@keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}.vm-header-sidebar{background-color:inherit;color:inherit;height:24px;width:24px}.vm-header-sidebar-button{align-items:center;display:flex;height:51px;justify-content:center;left:0;position:absolute;top:0;transition:left .35s cubic-bezier(.28,.84,.42,1);width:51px}.vm-header-sidebar-button_open{left:149px;position:fixed;z-index:102}.vm-header-sidebar-menu{grid-gap:16px;background-color:inherit;box-shadow:var(--box-shadow-popper);display:grid;gap:16px;grid-template-rows:1fr auto;height:100%;left:0;padding:16px;position:fixed;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1),-webkit-transform .3s cubic-bezier(.28,.84,.42,1);width:200px;z-index:101}.vm-header-sidebar-menu_open{-webkit-transform:translateX(0);transform:translateX(0)}.vm-header-sidebar-menu__logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;position:relative;width:65px}.vm-header-sidebar-menu-settings{grid-gap:8px;align-items:center;display:grid;gap:8px}.vm-tenant-input{position:relative}.vm-tenant-input-list{border-radius:8px;max-height:300px;overflow:auto;overscroll-behavior:none}.vm-tenant-input-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-tenant-input-list_mobile .vm-tenant-input-list__search{padding:0 16px 8px}.vm-tenant-input-list__search{background-color:var(--color-background-block);padding:8px 16px;position:-webkit-sticky;position:sticky;top:0}.vm-text-field{display:grid;margin:6px 0;position:relative;width:100%}.vm-text-field_textarea:after{content:attr(data-replicated-value) " ";visibility:hidden;white-space:pre-wrap}.vm-text-field:after,.vm-text-field__input{background-color:transparent;border:var(--border-divider);font-size:12px;grid-area:1/1/2/2;line-height:18px;overflow:hidden;padding:8px 16px;width:100%}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;background-color:var(--color-background-block);display:-webkit-box;font-size:10px;left:8px;line-height:12px;max-width:calc(100% - 16px);overflow:hidden;padding:0 3px;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;z-index:2}@media(max-width:500px){.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label{-webkit-line-clamp:1;line-clamp:1}}.vm-text-field__label{color:var(--color-text-secondary);top:-7px}.vm-text-field__error{color:var(--color-error);pointer-events:auto;top:calc(100% - 7px);-webkit-user-select:text;user-select:text}.vm-text-field__helper-text{bottom:-5px;color:var(--color-text-secondary)}.vm-text-field__input{background-color:transparent;border-radius:4px;color:var(--color-text);display:block;min-height:34px;overflow:hidden;resize:none;transition:border .2s ease}.vm-text-field__input:focus,.vm-text-field__input:hover{border:1px solid var(--color-primary)}.vm-text-field__input_error,.vm-text-field__input_error:focus,.vm-text-field__input_error:hover{border:1px solid var(--color-error)}.vm-text-field__input_icon-start{padding-left:31px}.vm-text-field__input:disabled{background-color:inherit;color:inherit}.vm-text-field__input:disabled:hover{border-color:var(--color-text-disabled)}.vm-text-field__icon-end,.vm-text-field__icon-start{align-items:center;color:var(--color-text-secondary);display:flex;height:100%;justify-content:center;left:8px;max-width:15px;position:absolute;top:auto}.vm-text-field__icon-end{left:auto;right:8px}.vm-step-control{display:inline-flex}.vm-step-control button{text-transform:none}.vm-step-control__value{display:inline;margin-left:3px}.vm-step-control-popper{grid-gap:8px;display:grid;font-size:12px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:16px}.vm-step-control-popper_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 16px 8px}.vm-step-control-popper_mobile .vm-step-control-popper-info{font-size:12px}.vm-step-control-popper-info{font-size:10px;line-height:1.6}.vm-step-control-popper-info a{margin:0 .2em}.vm-step-control-popper-info code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;margin:0 .2em;padding:.2em .4em}.vm-time-duration{font-size:12px;max-height:227px;overflow:auto}.vm-time-duration_mobile{max-height:100%}.vm-time-selector{display:grid;grid-template-columns:repeat(2,230px);padding:16px 0}.vm-time-selector_mobile{grid-template-columns:1fr;max-height:calc(var(--vh)*100 - 70px);min-width:250px;overflow:auto;width:100%}.vm-time-selector_mobile .vm-time-selector-left{border-bottom:var(--border-divider);border-right:none;padding-bottom:16px}.vm-time-selector-left{border-right:var(--border-divider);display:flex;flex-direction:column;gap:8px;padding:0 16px}.vm-time-selector-left-inputs{align-items:flex-start;display:grid;flex-grow:1;justify-content:stretch}.vm-time-selector-left-timezone{align-items:center;display:flex;font-size:10px;gap:8px;justify-content:space-between;margin-bottom:8px}.vm-time-selector-left-timezone__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-time-selector-left__controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.vm-calendar{background-color:var(--color-background-block);border-radius:8px;display:grid;font-size:12px;grid-template-rows:auto 1fr auto;padding:16px;-webkit-user-select:none;user-select:none}.vm-calendar_mobile{padding:0 16px}.vm-calendar-header{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:center;min-height:36px;padding-bottom:16px}.vm-calendar-header-left{grid-gap:8px;align-items:center;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto auto;justify-content:flex-start;transition:opacity .2s ease-in-out}.vm-calendar-header-left:hover{opacity:.8}.vm-calendar-header-left__date{color:var(--color-text);font-size:12px;font-weight:700}.vm-calendar-header-left__select-year{align-items:center;display:grid;height:14px;justify-content:center;width:14px}.vm-calendar-header-right{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:18px 18px;justify-content:center}.vm-calendar-header-right__next,.vm-calendar-header-right__prev{cursor:pointer;margin:-8px;padding:8px;transition:opacity .2s ease-in-out}.vm-calendar-header-right__next:hover,.vm-calendar-header-right__prev:hover{opacity:.8}.vm-calendar-header-right__prev{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.vm-calendar-header-right__next{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.vm-calendar-body{grid-gap:2px;align-items:center;display:grid;gap:2px;grid-template-columns:repeat(7,32px);grid-template-rows:repeat(7,32px);justify-content:center}@media(max-width:500px){.vm-calendar-body{grid-template-columns:repeat(7,calc(14.28571vw - 6.28571px));grid-template-rows:repeat(7,calc(14.28571vw - 6.28571px))}}.vm-calendar-body-cell{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;text-align:center}.vm-calendar-body-cell_weekday{color:var(--color-text-secondary)}.vm-calendar-body-cell_day{cursor:pointer;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-body-cell_day:hover{background-color:var(--color-hover-black)}.vm-calendar-body-cell_day_empty{pointer-events:none}.vm-calendar-body-cell_day_active{color:#fff}.vm-calendar-body-cell_day_active,.vm-calendar-body-cell_day_active:hover{background-color:var(--color-primary)}.vm-calendar-body-cell_day_today{border:1px solid var(--color-primary)}.vm-calendar-years{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:400px;overflow:auto}.vm-calendar-years__year{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px 16px;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-years__year:hover{background-color:var(--color-hover-black)}.vm-calendar-years__year_selected{color:#fff}.vm-calendar-years__year_selected,.vm-calendar-years__year_selected:hover{background-color:var(--color-primary)}.vm-calendar-years__year_today{border:1px solid var(--color-primary)}.vm-date-time-input{grid-gap:8px 0;align-items:center;cursor:pointer;display:grid;gap:8px 0;grid-template-columns:1fr;justify-content:center;margin-bottom:16px;position:relative;transition:color .2s ease-in-out,border-bottom-color .3s ease}.vm-date-time-input:hover input{border-bottom-color:var(--color-primary)}.vm-date-time-input label{color:var(--color-text-secondary);font-size:10px;grid-column:1/3;-webkit-user-select:none;user-select:none;width:100%}.vm-date-time-input__icon{bottom:2px;position:absolute;right:0}.vm-date-time-input input{background:transparent;border:none;border-bottom:var(--border-divider);color:var(--color-text);padding:0 0 8px}.vm-date-time-input input:focus{border-bottom-color:var(--color-primary)}.vm-date-time-input_error input{border-color:var(--color-error)}.vm-date-time-input_error input:focus{border-bottom-color:var(--color-error)}.vm-date-time-input__error-text{bottom:-10px;color:var(--color-error);font-size:10px;left:0;position:absolute}.vm-button{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:400;justify-content:center;line-height:15px;min-height:31px;padding:6px 14px;position:relative;text-transform:uppercase;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-button:hover:after{background-color:var(--color-hover-black)}.vm-button:after,.vm-button:before{border-radius:6px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .2s ease;width:100%}.vm-button:before{-webkit-transform:translateZ(-2px);transform:translateZ(-2px)}.vm-button:after{background-color:transparent;-webkit-transform:translateZ(-1px);transform:translateZ(-1px)}.vm-button span{align-items:center;display:grid;justify-content:center}.vm-button span svg{width:15px}.vm-button__start-icon{margin-right:6px}.vm-button__end-icon{margin-left:6px}.vm-button_disabled{cursor:not-allowed;opacity:.3}.vm-button_icon{padding:6px 8px}.vm-button_icon .vm-button__end-icon,.vm-button_icon .vm-button__start-icon{margin:0}.vm-button_small{min-height:25px;padding:4px 6px}.vm-button_small span svg{width:13px}.vm-button_contained_primary{color:var(--color-primary-text)}.vm-button_contained_primary,.vm-button_contained_primary:before{background-color:var(--color-primary)}.vm-button_contained_primary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_secondary{color:var(--color-secondary-text)}.vm-button_contained_secondary:before{background-color:var(--color-secondary)}.vm-button_contained_secondary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_success{color:var(--color-success-text)}.vm-button_contained_success:before{background-color:var(--color-success)}.vm-button_contained_success:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_error{color:var(--color-error-text)}.vm-button_contained_error:before{background-color:var(--color-error)}.vm-button_contained_gray{color:var(--color-text-secondary)}.vm-button_contained_gray:before{background-color:var(--color-text-secondary)}.vm-button_contained_warning{color:var(--color-warning)}.vm-button_contained_warning:before{background-color:var(--color-warning);opacity:.2}.vm-button_text_primary{color:var(--color-primary)}.vm-button_text_secondary{color:var(--color-secondary)}.vm-button_text_success{color:var(--color-success)}.vm-button_text_error{color:var(--color-error)}.vm-button_text_gray{color:var(--color-text-secondary)}.vm-button_text_warning{color:var(--color-warning)}.vm-button_outlined_primary{border:1px solid var(--color-primary);color:var(--color-primary)}.vm-button_outlined_error{border:1px solid var(--color-error);color:var(--color-error)}.vm-button_outlined_secondary{border:1px solid var(--color-secondary);color:var(--color-secondary)}.vm-button_outlined_success{border:1px solid var(--color-success);color:var(--color-success)}.vm-button_outlined_gray{border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.vm-button_outlined_warning{border:1px solid var(--color-warning);color:var(--color-warning)}.vm-execution-controls-buttons{border-radius:7px;display:flex;justify-content:space-between;min-width:107px}.vm-execution-controls-buttons_mobile{flex-direction:column;gap:24px}.vm-execution-controls-buttons__arrow{align-items:center;display:flex;justify-content:center;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-execution-controls-buttons__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-execution-controls-list{font-size:12px;max-height:208px;overflow:auto;padding:8px 0;width:124px}.vm-execution-controls-list_mobile{max-height:calc(var(--vh)*100 - 70px);padding:0;width:100%}.vm-server-configurator{align-items:center;display:flex;flex-direction:column;gap:24px;padding-bottom:24px;width:600px}.vm-server-configurator_mobile{align-items:flex-start;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;height:100%;width:100%}@media(max-width:768px){.vm-server-configurator{width:100%}}.vm-server-configurator__input{width:100%}.vm-server-configurator__title{align-items:center;display:flex;font-size:12px;font-weight:700;grid-column:auto/span 2;justify-content:flex-start;margin-bottom:16px}.vm-server-configurator-footer{align-items:center;display:flex;gap:8px;justify-content:flex-end;width:100%}.vm-server-configurator_mobile .vm-server-configurator-footer{display:grid;grid-template-columns:1fr 1fr}.vm-limits-configurator-title__reset{align-items:center;display:flex;flex-grow:1;justify-content:flex-end}.vm-limits-configurator__inputs{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.vm-limits-configurator__inputs_mobile{gap:8px}.vm-limits-configurator__inputs div{flex-grow:1}.vm-accordion-header{align-items:center;cursor:pointer;display:grid;font-size:inherit;position:relative}.vm-accordion-header__arrow{align-items:center;display:flex;justify-content:center;position:absolute;right:14px;top:auto;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-accordion-header__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-accordion-header__arrow svg{height:auto;width:14px}.accordion-section{overflow:hidden}.vm-timezones-item{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between}.vm-timezones-item_selected{border:var(--border-divider);border-radius:4px;padding:8px 16px}.vm-timezones-item__title{text-transform:capitalize}.vm-timezones-item__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-timezones-item__icon{align-items:center;display:inline-flex;justify-content:flex-end;margin:0 0 0 auto;transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-timezones-item__icon svg{width:14px}.vm-timezones-item__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-timezones-list{background-color:var(--color-background-block);border-radius:8px;max-height:300px;overflow:auto}.vm-timezones-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-timezones-list_mobile .vm-timezones-list-header__search{padding:0 16px}.vm-timezones-list-header{background-color:var(--color-background-block);border-bottom:var(--border-divider);position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-timezones-list-header__search{padding:8px}.vm-timezones-list-group{border-bottom:var(--border-divider);padding:8px 0}.vm-timezones-list-group:last-child{border-bottom:none}.vm-timezones-list-group__title{color:var(--color-text-secondary);font-weight:700;padding:8px 16px}.vm-timezones-list-group-options{align-items:flex-start;display:grid}.vm-timezones-list-group-options__item{padding:8px 16px;transition:background-color .2s ease}.vm-timezones-list-group-options__item:hover{background-color:hsla(0,6%,6%,.1)}.vm-theme-control__toggle{display:inline-flex;min-width:300px;text-transform:capitalize}.vm-theme-control_mobile .vm-theme-control__toggle{display:flex;min-width:100%}.vm-toggles{grid-gap:3px;display:grid;gap:3px;position:relative;width:100%}.vm-toggles__label{color:var(--color-text-secondary);font-size:10px;line-height:1;padding:0 16px}.vm-toggles-group{overflow:hidden;width:100%}.vm-toggles-group,.vm-toggles-group-item{align-items:center;display:grid;justify-content:center;position:relative}.vm-toggles-group-item{border-bottom:var(--border-divider);border-right:var(--border-divider);border-top:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;font-size:10px;font-weight:700;padding:8px;text-align:center;transition:color .15s ease-in;-webkit-user-select:none;user-select:none;z-index:2}.vm-toggles-group-item_first{border-left:var(--border-divider);border-radius:16px 0 0 16px}.vm-toggles-group-item:last-child{border-left:none;border-radius:0 16px 16px 0}.vm-toggles-group-item_icon{gap:4px;grid-template-columns:14px auto}.vm-toggles-group-item:hover{color:var(--color-primary)}.vm-toggles-group-item_active{border-color:transparent;color:var(--color-primary)}.vm-toggles-group-item_active:hover{background-color:transparent}.vm-toggles-group__highlight{background-color:rgba(var(--color-primary),.08);border:1px solid var(--color-primary);height:100%;position:absolute;top:0;transition:left .2s cubic-bezier(.28,.84,.42,1),border-radius .2s linear;z-index:1}.vm-header-controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-end}.vm-header-controls_mobile{display:grid;grid-template-columns:1fr;padding:0}.vm-header-controls_mobile .vm-header-button{border:none}.vm-header-controls-modal{-webkit-transform:scale(0);transform:scale(0)}.vm-header-controls-modal_open{-webkit-transform:scale(1);transform:scale(1)}.vm-container{display:flex;flex-direction:column;min-height:calc(var(--vh)*100 - var(--scrollbar-height))}.vm-container-body{background-color:var(--color-background-body);flex-grow:1;min-height:100%;padding:24px}.vm-container-body_mobile{padding:8px 0 0}@media(max-width:768px){.vm-container-body{padding:8px 0 0}}.vm-container-body_app{background-color:transparent;padding:8px 0}.vm-footer{align-items:center;background:var(--color-background-body);border-top:var(--border-divider);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:24px}@media(max-width:768px){.vm-footer{gap:16px;padding:16px}}.vm-footer__link,.vm-footer__website{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:12px auto;justify-content:center}.vm-footer__website{margin-right:16px}@media(max-width:768px){.vm-footer__website{margin-right:0}}.vm-footer__link{grid-template-columns:14px auto}.vm-footer__copyright{flex-grow:1;text-align:right}@media(max-width:768px){.vm-footer__copyright{font-size:10px;text-align:center;width:100%}}.uplot,.uplot *,.uplot :after,.uplot :before{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;width:-webkit-min-content;width:min-content}.u-title{font-size:18px;font-weight:700;text-align:center}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;height:100%;position:relative;width:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{display:inline-block;vertical-align:middle}.u-legend .u-marker{background-clip:padding-box!important;height:1em;margin-right:4px;width:1em}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:rgba(0,0,0,.07)}.u-cursor-x,.u-cursor-y,.u-select{pointer-events:none;position:absolute}.u-cursor-x,.u-cursor-y{left:0;top:0;will-change:transform;z-index:100}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{background-clip:padding-box!important;border:0 solid;border-radius:50%;left:0;pointer-events:none;position:absolute;top:0;will-change:transform;z-index:100}.u-axis.u-off,.u-cursor-pt.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-select.u-off{display:none}.vm-line-chart{pointer-events:auto}.vm-line-chart_panning{pointer-events:none}.vm-line-chart__u-plot{position:relative}.vm-chart-tooltip{grid-gap:16px;word-wrap:break-word;background:var(--color-background-tooltip);border-radius:8px;color:#fff;display:grid;font-family:monospace;font-size:10px;font-weight:400;gap:16px;line-height:150%;padding:8px;pointer-events:none;position:absolute;-webkit-user-select:text;user-select:text;width:325px;z-index:98}.vm-chart-tooltip_sticky{pointer-events:auto;z-index:99}.vm-chart-tooltip_moved{margin-left:-271.5px;margin-top:-20.5px;position:fixed}.vm-chart-tooltip-header{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 25px 25px;justify-content:center;min-height:25px}.vm-chart-tooltip-header__close{color:#fff}.vm-chart-tooltip-header__drag{color:#fff;cursor:move}.vm-chart-tooltip-header__date_range{grid-gap:2px;display:grid;gap:2px}.vm-chart-tooltip-data{grid-gap:8px;align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto 1fr;line-height:12px;word-break:break-all}.vm-chart-tooltip-data__marker{height:12px;width:12px}.vm-chart-tooltip-info{grid-gap:4px;display:grid;word-break:break-all}.vm-legend-item{grid-gap:8px;align-items:start;background-color:var(--color-background-block);cursor:pointer;display:grid;grid-template-columns:auto auto;justify-content:start;margin-bottom:8px;padding:8px;transition:.2s ease}.vm-legend-item:hover{background-color:rgba(0,0,0,.1)}.vm-legend-item_hide{opacity:.5;text-decoration:line-through}.vm-legend-item__marker{border-radius:2px;box-sizing:border-box;height:14px;transition:.2s ease;width:14px}.vm-legend-item-info{font-weight:400;word-break:break-all}.vm-legend-item-info__label{margin-right:2px}.vm-legend-item-info__free-fields{cursor:pointer;padding:2px}.vm-legend-item-info__free-fields:hover{text-decoration:underline}.vm-legend-item-values{align-items:center;display:flex;gap:8px;grid-column:2}.vm-legend{cursor:default;display:flex;flex-wrap:wrap;position:relative}.vm-legend-group{margin:0 16px 16px 0;min-width:23%;width:100%}.vm-legend-group-title{align-items:center;border-bottom:var(--border-divider);display:flex;margin-bottom:1px;padding:8px}.vm-legend-group-title__count{font-weight:700;margin-right:8px}.vm-legend-heatmap{align-items:center;display:inline-grid;gap:4px;grid-template-columns:auto auto;justify-content:space-between}.vm-legend-heatmap__value{color:var(--color-text);font-size:10px}.vm-legend-heatmap__value:last-child{text-align:right}.vm-legend-heatmap-gradient{align-items:center;display:flex;grid-column:1/-1;height:10px;justify-content:center;position:relative;width:200px}.vm-legend-heatmap-gradient__value{align-items:center;border:2px solid var(--color-text);border-radius:50%;display:flex;height:14px;justify-content:center;position:absolute;top:-2px;-webkit-transform:translateX(-7px);transform:translateX(-7px);transition:left .1s ease;width:14px}.vm-legend-heatmap-gradient__value span{background-color:var(--color-background-block);box-shadow:var(--box-shadow);color:var(--color-text);font-size:10px;left:auto;padding:4px 8px;position:absolute;top:16px}.vm-graph-view{width:100%}.vm-graph-view_full-width{width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-graph-view_full-width{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-graph-view_full-width_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-autocomplete{max-height:300px;overflow:auto;overscroll-behavior:none}.vm-autocomplete_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-autocomplete__no-options{color:var(--color-text-disabled);padding:16px;text-align:center}.vm-query-editor-autocomplete{max-height:300px;overflow:auto}.vm-additional-settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:16px;justify-content:flex-start}.vm-additional-settings__input{flex-basis:160px;margin-bottom:-6px}.vm-additional-settings_mobile{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:1fr;padding:0 16px;width:100%}.vm-switch{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-switch_full-width{flex-direction:row-reverse;justify-content:space-between}.vm-switch_full-width .vm-switch__label{margin-left:0}.vm-switch_disabled{cursor:default;opacity:.6}.vm-switch_secondary_active .vm-switch-track{background-color:var(--color-secondary)}.vm-switch_primary_active .vm-switch-track{background-color:var(--color-primary)}.vm-switch_active .vm-switch-track__thumb{left:20px}.vm-switch:hover .vm-switch-track{opacity:.8}.vm-switch-track{align-items:center;background-color:hsla(0,6%,6%,.4);border-radius:17px;display:flex;height:17px;justify-content:flex-start;padding:3px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:34px}.vm-switch-track__thumb{background-color:var(--color-background-block);border-radius:50%;left:3px;min-height:11px;min-width:11px;position:absolute;top:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:right .2s ease-out,left .2s ease-out}.vm-switch__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-query-configurator{grid-gap:16px;display:grid;gap:16px}.vm-query-configurator-list{display:grid}.vm-query-configurator-list-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto auto}.vm-query-configurator-list-row_mobile{gap:4px}.vm-query-configurator-list-row_disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:.5}.vm-query-configurator-list-row__button{display:grid;min-height:36px;width:36px}.vm-query-configurator-settings{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.vm-query-configurator-settings__buttons{grid-gap:8px;display:grid;flex-grow:1;gap:8px;grid-template-columns:repeat(2,auto);justify-content:flex-end}.vm-json-view__copy{display:flex;justify-content:flex-end;position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-json-view__code{font-size:12px;line-height:1.4;-webkit-transform:translateY(-32px);transform:translateY(-32px);white-space:pre-wrap}.vm-axes-limits{grid-gap:16px;align-items:center;display:grid;gap:16px;max-width:300px}.vm-axes-limits_mobile{gap:24px;max-width:100%;width:100%}.vm-axes-limits_mobile .vm-axes-limits-list__inputs{grid-template-columns:repeat(2,1fr)}.vm-axes-limits-list{grid-gap:16px;align-items:center;display:grid;gap:16px}.vm-axes-limits-list__inputs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,120px)}.vm-graph-settings-popper{grid-gap:16px;display:grid;gap:16px;padding:0 0 16px}.vm-graph-settings-popper__body{grid-gap:8px;display:grid;gap:8px;padding:0 16px}.vm-spinner{align-items:center;-webkit-animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);background-color:hsla(0,0%,100%,.5);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:99}.vm-spinner_dark{background-color:hsla(0,6%,6%,.2)}.vm-spinner__message{color:rgba(var(--color-text),.9);font-size:14px;line-height:1.3;margin-top:24px;text-align:center;white-space:pre-line}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;height:60px;position:relative;width:60px}.half-circle-spinner .circle{border:6px solid transparent;border-radius:100%;content:"";height:100%;position:absolute;width:100%}.half-circle-spinner .circle.circle-1{-webkit-animation:half-circle-spinner-animation 1s infinite;animation:half-circle-spinner-animation 1s infinite;border-top-color:var(--color-primary)}.half-circle-spinner .circle.circle-2{-webkit-animation:half-circle-spinner-animation 1s infinite alternate;animation:half-circle-spinner-animation 1s infinite alternate;border-bottom-color:var(--color-primary)}@-webkit-keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes vm-fade{0%{opacity:0}to{opacity:1}}@keyframes vm-fade{0%{opacity:0}to{opacity:1}}.vm-tracings-view{grid-gap:24px;display:grid;gap:24px}.vm-tracings-view-trace-header{align-items:center;border-bottom:var(--border-divider);display:flex;justify-content:space-between;padding:8px 8px 8px 24px}.vm-tracings-view-trace-header-title{flex-grow:1;font-size:14px;margin-right:8px}.vm-tracings-view-trace-header-title__query{font-weight:700}.vm-tracings-view-trace__nav{padding:24px 24px 24px 0}.vm-tracings-view-trace__nav_mobile{padding:8px 8px 8px 0}.vm-line-progress{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:center}.vm-line-progress-track{background-color:var(--color-hover-black);border-radius:4px;height:20px;width:100%}.vm-line-progress-track__thumb{background-color:#1a90ff;border-radius:4px;height:100%}.vm-nested-nav{background-color:rgba(201,227,246,.4);border-radius:4px;margin-left:24px}.vm-nested-nav_mobile{margin-left:8px}.vm-nested-nav_dark{background-color:hsla(0,6%,6%,.1)}.vm-nested-nav-header{grid-gap:8px;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr;padding:8px;transition:background-color .2s ease-in-out}.vm-nested-nav-header:hover{background-color:var(--color-hover-black)}.vm-nested-nav-header__icon{align-items:center;display:flex;justify-content:center;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px}.vm-nested-nav-header__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-nested-nav-header__progress{grid-column:2}.vm-nested-nav-header__message{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;display:-moz-box;display:-webkit-box;grid-column:2;line-height:130%;overflow:hidden;position:relative;text-overflow:ellipsis}.vm-nested-nav-header__message_show-full{display:block;overflow:visible}.vm-nested-nav-header-bottom{align-items:center;display:grid;grid-column:2;grid-template-columns:1fr auto}.vm-nested-nav-header-bottom__duration{color:var(--color-text-secondary)}.vm-json-form{grid-gap:16px;display:grid;gap:16px;grid-template-rows:auto calc(var(--vh)*70 - 150px) auto;max-height:900px;max-width:1000px;overflow:hidden;width:70vw}.vm-json-form_mobile{grid-template-rows:auto calc(var(--vh)*100 - 248px) auto;min-height:100%;width:100%}.vm-json-form_one-field{grid-template-rows:calc(var(--vh)*70 - 150px) auto}.vm-json-form_one-field_mobile{grid-template-rows:calc(var(--vh)*100 - 192px) auto}.vm-json-form textarea{height:100%;max-height:900px;overflow:auto;width:100%}.vm-json-form-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}@media(max-width:500px){.vm-json-form-footer{flex-direction:column}.vm-json-form-footer button{flex-grow:1}}.vm-json-form-footer__controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-start}@media(max-width:500px){.vm-json-form-footer__controls{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-json-form-footer__controls_right{display:grid;grid-template-columns:repeat(2,90px);justify-content:flex-end}@media(max-width:500px){.vm-json-form-footer__controls_right{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-table-settings-popper{display:grid;min-width:250px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list{gap:16px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list:first-child{padding-top:0}.vm-table-settings-popper-list{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;max-height:350px;overflow:auto;padding:16px}.vm-table-settings-popper-list_first{padding-top:0}.vm-table-settings-popper-list-header{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between;min-height:25px}.vm-table-settings-popper-list-header__title{font-weight:700}.vm-table-settings-popper-list__item{font-size:12px;text-transform:capitalize}.vm-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-checkbox_disabled{cursor:default;opacity:.6}.vm-checkbox_secondary_active .vm-checkbox-track{background-color:var(--color-secondary)}.vm-checkbox_secondary .vm-checkbox-track{border:1px solid var(--color-secondary)}.vm-checkbox_primary_active .vm-checkbox-track{background-color:var(--color-primary)}.vm-checkbox_primary .vm-checkbox-track{border:1px solid var(--color-primary)}.vm-checkbox_active .vm-checkbox-track__thumb{-webkit-transform:scale(1);transform:scale(1)}.vm-checkbox:hover .vm-checkbox-track{opacity:.8}.vm-checkbox-track{align-items:center;background-color:transparent;border-radius:4px;display:flex;height:16px;justify-content:center;padding:2px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:16px}.vm-checkbox-track__thumb{align-items:center;color:#fff;display:grid;height:12px;justify-content:center;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;width:12px}.vm-checkbox__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-custom-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:100%;height:100%}.vm-custom-panel_mobile{gap:8px}.vm-custom-panel__warning{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between}.vm-custom-panel__warning_mobile{grid-template-columns:1fr}.vm-custom-panel-body{position:relative}.vm-custom-panel-body-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:10px;justify-content:space-between;margin:-24px -24px 24px;padding:0 24px;position:relative;z-index:1}.vm-custom-panel-body-header__left{align-items:center;display:flex;gap:8px}.vm-custom-panel-body_mobile .vm-custom-panel-body-header{margin:-16px -16px 16px;padding:0 16px}.vm-table-view{margin-top:-24px;max-width:100%;overflow:auto}.vm-table-view_mobile{margin-top:-16px}.vm-table-view table{margin-top:0}.fc-graph-tips{grid-gap:16px;display:grid;gap:16px;max-width:520px}.fc-graph-tips-item{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;line-height:1.3;padding-bottom:16px}.fc-graph-tips-item__action{color:var(--color-text-secondary);font-weight:700}.fc-graph-tips-item__description{display:inline-block;line-height:20px}.fc-graph-tips-item__description code,.fc-graph-tips-item__description svg{align-items:center;background-color:var(--color-background-body);border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-flex;font-size:10px;justify-content:center;margin:0 2px 2px;min-height:20px;min-width:20px;padding:0 4px}.fc-graph-tips-item svg{color:var(--color-primary);margin-top:-8px;padding:2px;-webkit-transform:translateY(8px);transform:translateY(8px);width:18px}.vm-predefined-panel-header{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:auto 1fr auto;justify-content:flex-start;padding:8px 16px}.vm-predefined-panel-header__description{line-height:1.3;white-space:pre-wrap}.vm-predefined-panel-header__description ol,.vm-predefined-panel-header__description ul{list-style-position:inside}.vm-predefined-panel-header__description a{color:#c9e3f6;text-decoration:underline}.vm-predefined-panel-header__info{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:18px}.vm-predefined-panel-body{min-height:500px;padding:8px 16px}@media(max-width:500px){.vm-predefined-panel-body{padding:0}}.vm-predefined-dashboard{background-color:transparent}.vm-predefined-dashboard-header{align-items:center;border-radius:4px;box-shadow:var(--box-shadow);display:grid;font-weight:700;grid-template-columns:1fr auto;justify-content:space-between;line-height:14px;overflow:hidden;padding:16px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:box-shadow .2s ease-in-out}.vm-predefined-dashboard-header_open{border-radius:4px 4px 0 0;box-shadow:none}.vm-predefined-dashboard-header__title{font-size:12px}.vm-predefined-dashboard-header__count{font-size:10px;grid-column:2;margin-right:30px}.vm-predefined-dashboard-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr);padding:0}@media(max-width:1000px){.vm-predefined-dashboard-panels{grid-template-columns:1fr}}.vm-predefined-dashboard-panels-panel{border-radius:8px;overflow:hidden;position:relative}.vm-predefined-dashboard-panels-panel:hover .vm-predefined-dashboard-panels-panel__resizer{-webkit-transform:scale(1);transform:scale(1)}.vm-predefined-dashboard-panels-panel__resizer{bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px;z-index:1}.vm-predefined-dashboard-panels-panel__resizer:after{border-bottom:2px solid hsla(0,6%,6%,.2);border-right:2px solid hsla(0,6%,6%,.2);bottom:5px;content:"";height:5px;position:absolute;right:5px;width:5px}.vm-predefined-dashboard-panels-panel__alert{grid-column:span 12}.vm-predefined-panels{grid-gap:16px;align-items:flex-start;display:grid;gap:16px}@media(max-width:768px){.vm-predefined-panels{padding:24px 0}}@media(max-width:500px){.vm-predefined-panels{padding:8px 0}}.vm-predefined-panels-tabs{align-items:center;display:flex;flex-wrap:wrap;font-size:10px;gap:8px;justify-content:flex-start;overflow:hidden}@media(max-width:768px){.vm-predefined-panels-tabs{padding:0 16px}}.vm-predefined-panels-tabs__tab{background:var(--color-background-block);border:1px solid hsla(0,6%,6%,.2);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;padding:8px 16px;text-align:center;text-transform:uppercase;transition:background .2s ease-in-out,color .15s ease-in}@media(max-width:500px){.vm-predefined-panels-tabs__tab{flex-grow:1}}.vm-predefined-panels-tabs__tab:hover{color:var(--color-primary)}.vm-predefined-panels-tabs__tab_active{border-color:var(--color-primary);color:var(--color-primary)}.vm-predefined-panels__dashboards{grid-gap:16px;display:grid;gap:16px}.vm-cardinality-configurator{grid-gap:8px;display:grid;gap:8px}.vm-cardinality-configurator-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:flex-start}.vm-cardinality-configurator-controls__query{flex-grow:10}.vm-cardinality-configurator-controls__item{flex-grow:2}.vm-cardinality-configurator-controls__item_limit{flex-grow:1}.vm-cardinality-configurator-controls__item svg{color:var(--color-text-disabled)}.vm-cardinality-configurator-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end;width:100%}.vm-cardinality-configurator-bottom-helpful{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:flex-end}.vm-cardinality-configurator-bottom-helpful a{color:var(--color-text-secondary)}.vm-cardinality-configurator-bottom__execute{align-items:center;display:flex;gap:8px}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom{justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom-helpful{flex-grow:1;justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute,.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute button:nth-child(3){width:100%}.vm-cardinality-totals{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:16px;justify-content:flex-start}.vm-cardinality-totals_mobile{gap:8px;justify-content:center}.vm-cardinality-totals-card,.vm-cardinality-totals-card-header{align-items:center;display:flex;gap:4px;justify-content:center}.vm-cardinality-totals-card-header__info-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:12px}.vm-cardinality-totals-card-header__title{color:var(--color-text);font-weight:700}.vm-cardinality-totals-card-header__title:after{content:":"}.vm-cardinality-totals-card-header__tooltip{font-size:12px;line-height:130%;max-width:280px;padding:8px;white-space:normal}.vm-cardinality-totals-card__value{color:var(--color-primary);font-size:14px;font-weight:700}.vm-metrics-content-header{margin:-24px -24px 0}.vm-metrics-content-header__title{align-items:center;display:flex;justify-content:flex-start}.vm-metrics-content-header__tip{font-size:12px;line-height:130%;max-width:300px;padding:8px;white-space:normal}.vm-metrics-content-header__tip p{margin-bottom:8px}.vm-metrics-content-header__tip-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;margin-right:4px;width:12px}.vm-metrics-content_mobile .vm-metrics-content-header{margin:-16px -16px 0}.vm-metrics-content__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-metrics-content__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-metrics-content__table_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-metrics-content__table .vm-table-cell_header{white-space:nowrap}.vm-metrics-content_mobile .vm-metrics-content__table{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-metrics-content__chart{padding-top:24px}.vm-simple-bar-chart{display:grid;grid-template-columns:auto 1fr;height:100%;overflow:hidden;padding-bottom:5px}.vm-simple-bar-chart-y-axis{display:grid;position:relative;-webkit-transform:translateY(10px);transform:translateY(10px)}.vm-simple-bar-chart-y-axis__tick{align-items:center;display:flex;font-size:10px;justify-content:flex-end;line-height:2;padding-right:8px;position:relative;text-align:right;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;z-index:1}.vm-simple-bar-chart-y-axis__tick:after{border-bottom:var(--border-divider);content:"";height:0;left:100%;position:absolute;top:auto;-webkit-transform:translateY(-1px) translateZ(-1);transform:translateY(-1px) translateZ(-1);width:100vw}.vm-simple-bar-chart-data{align-items:flex-end;display:flex;gap:1%;justify-content:space-between;position:relative}.vm-simple-bar-chart-data-item{align-items:flex-start;background-color:#3b5;display:flex;flex-grow:1;height:calc(100% - 40px);justify-content:center;min-width:1px;transition:background-color .2s ease-in;width:100%}.vm-simple-bar-chart-data-item:hover{background-color:#51d071}.vm-simple-bar-chart-data-item:first-child{background-color:#f79420}.vm-simple-bar-chart-data-item:first-child:hover{background-color:#f9ac51}.vm-cardinality-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-cardinality-panel_mobile,.vm-cardinality-panel_mobile .vm-cardinality-panel-tips{gap:8px}.vm-cardinality-panel-tips{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:24px;justify-content:flex-start;width:100%}.vm-cardinality-tip{background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text-secondary);display:grid;flex-grow:1;grid-template-rows:auto 1fr;overflow:hidden;width:300px}.vm-cardinality-tip-header{align-items:center;border-bottom:var(--border-divider);display:flex;gap:4px;justify-content:center;padding:8px 16px;position:relative}.vm-cardinality-tip-header:after{background:var(--color-warning);content:"";height:100%;left:0;opacity:.1;pointer-events:none;position:absolute;top:0;width:100%}.vm-cardinality-tip-header__tip-icon{align-items:center;color:var(--color-warning);display:flex;justify-content:center;width:12px}.vm-cardinality-tip-header__title{color:var(--color-text);font-weight:700;text-align:center}.vm-cardinality-tip-header__tooltip{font-size:12px;line-height:130%;max-width:280px;padding:8px;white-space:normal}.vm-cardinality-tip__description{line-height:130%;padding:8px 16px}.vm-cardinality-tip__description p{margin-bottom:8px}.vm-cardinality-tip__description p:last-child{margin-bottom:0}.vm-cardinality-tip__description h5{font-size:14px;margin-bottom:8px}.vm-cardinality-tip__description h6{margin-bottom:8px}.vm-cardinality-tip__description ol,.vm-cardinality-tip__description ul{list-style-position:inside}.vm-cardinality-tip__description ol li,.vm-cardinality-tip__description ul li{margin-bottom:4px}.vm-top-queries-panel-header{margin:-24px -24px 0}.vm-top-queries-panel-header_mobile{margin:-16px -16px 0}.vm-top-queries-panel__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-top-queries-panel__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-top-queries-panel__table_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-top-queries-panel__table .vm-table-cell_header{white-space:nowrap}.vm-top-queries{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-top-queries_mobile{gap:8px}.vm-top-queries-controls{grid-gap:8px;display:grid;gap:8px}.vm-top-queries-controls-fields{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.vm-top-queries-controls-fields__item{flex-grow:1;min-width:200px}.vm-top-queries-controls-bottom{grid-gap:24px;align-items:flex-end;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:space-between}.vm-top-queries-controls-bottom_mobile{gap:8px;grid-template-columns:1fr}.vm-top-queries-controls-bottom__button{align-items:center;display:flex;justify-content:flex-end}.vm-top-queries-panels{grid-gap:24px;display:grid;gap:24px}.vm-trace-page{display:flex;flex-direction:column;min-height:100%}@media(max-width:768px){.vm-trace-page{padding:24px 0}}.vm-trace-page-controls{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr 1fr;justify-content:center}.vm-trace-page-header{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr auto;margin-bottom:24px}@media(max-width:768px){.vm-trace-page-header{grid-template-columns:1fr;padding:0 24px}}.vm-trace-page-header-errors{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:1fr;justify-content:stretch}@media(max-width:768px){.vm-trace-page-header-errors{grid-row:2}}.vm-trace-page-header-errors-item{align-items:center;display:grid;justify-content:stretch;position:relative}.vm-trace-page-header-errors-item__filename{min-height:20px}.vm-trace-page-header-errors-item__close{position:absolute;right:8px;top:auto;z-index:2}.vm-trace-page-preview{align-items:center;display:flex;flex-direction:column;flex-grow:1;justify-content:center}.vm-trace-page-preview__text{font-size:14px;line-height:1.8;margin-bottom:16px;text-align:center;white-space:pre-line}.vm-trace-page__dropzone{align-items:center;box-shadow:inset var(--color-primary) 0 0 10px;display:flex;height:100%;justify-content:center;left:0;opacity:.5;pointer-events:none;position:fixed;top:0;width:100%;z-index:100}.vm-explore-metrics{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}@media(max-width:500px){.vm-explore-metrics{gap:8px}}.vm-explore-metrics-body{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}@media(max-width:500px){.vm-explore-metrics-body{gap:8px}}.vm-explore-metrics-graph,.vm-explore-metrics-graph_mobile{padding:0 16px 16px}.vm-explore-metrics-graph__warning{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between}.vm-explore-metrics-item-header{grid-gap:16px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:16px;grid-template-columns:auto 1fr auto auto;justify-content:flex-start;padding:16px}.vm-explore-metrics-item-header_mobile{grid-template-columns:1fr auto;padding:8px 16px}.vm-explore-metrics-item-header__index{color:var(--color-text-secondary);font-size:10px}.vm-explore-metrics-item-header__name{flex-grow:1;font-weight:700;line-height:130%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.vm-explore-metrics-item-header-order{align-items:center;display:grid;grid-column:1;grid-template-columns:auto 20px auto;justify-content:flex-start;text-align:center}.vm-explore-metrics-item-header-order__up{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-explore-metrics-item-header__rate{grid-column:3}.vm-explore-metrics-item-header__close{align-items:center;display:grid;grid-column:4;grid-row:1}.vm-explore-metrics-item-header code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;padding:.2em .4em}.vm-explore-metrics-item-header-modal{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-explore-metrics-item-header-modal-order{align-items:center;display:flex;gap:24px;justify-content:space-between}.vm-explore-metrics-item-header-modal-order p{align-items:center;display:flex}.vm-explore-metrics-item-header-modal-order__index{margin-left:4px}.vm-explore-metrics-item-header-modal__rate{grid-gap:8px;display:grid;gap:8px}.vm-explore-metrics-item-header-modal__rate p{color:var(--color-text-secondary)}.vm-explore-metrics-item{position:relative}.vm-select-input{align-items:center;border:var(--border-divider);border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;min-height:36px;padding:5px 0 5px 16px;position:relative}.vm-select-input-content{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;max-width:calc(100% - 77px);width:100%}.vm-select-input-content_mobile{flex-wrap:nowrap}.vm-select-input-content__counter{font-size:12px;line-height:12px}.vm-select-input-content__selected{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;font-size:12px;justify-content:center;line-height:12px;max-width:100%;padding:2px 2px 2px 6px}.vm-select-input-content__selected span{overflow:hidden;text-overflow:ellipsis;width:100%}.vm-select-input-content__selected svg{align-items:center;background-color:transparent;border-radius:4px;display:flex;justify-content:center;margin-left:10px;padding:4px;transition:background-color .2s ease-in-out;width:20px}.vm-select-input-content__selected svg:hover{background-color:hsla(0,6%,6%,.1)}.vm-select-input input{background-color:transparent;border:none;border-radius:4px;color:var(--color-text);display:inline-block;flex-grow:1;font-size:12px;height:18px;line-height:18px;min-width:100px;padding:0;position:relative;z-index:2}.vm-select-input input:placeholder-shown{width:auto}.vm-select-input__icon{align-items:center;border-right:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:flex-end;padding:0 8px;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in,-webkit-transform .2s ease-in}.vm-select-input__icon:last-child{border:none}.vm-select-input__icon svg{width:14px}.vm-select-input__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-select-input__icon:hover{opacity:.7}.vm-select-options{grid-gap:8px;display:grid;font-size:12px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:16px}.vm-select-options_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 16px 8px}.vm-explore-metrics-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px 18px;justify-content:flex-start;max-width:calc(100vw - var(--scrollbar-width))}.vm-explore-metrics-header_mobile{align-items:stretch;flex-direction:column}.vm-explore-metrics-header__job{flex-grow:1;min-width:150px}.vm-explore-metrics-header__instance{flex-grow:2;min-width:150px}.vm-explore-metrics-header__size{flex-grow:1;min-width:150px}.vm-explore-metrics-header-metrics{flex-grow:1;width:100%}.vm-explore-metrics-header__clear-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:2px}.vm-explore-metrics-header__clear-icon:hover{opacity:.7}.vm-preview-icons{grid-gap:16px;align-items:flex-start;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,100px);justify-content:center}.vm-preview-icons-item{grid-gap:8px;align-items:stretch;border:1px solid transparent;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-rows:1fr auto;height:100px;justify-content:center;padding:16px 8px;transition:box-shadow .2s ease-in-out}.vm-preview-icons-item:hover{box-shadow:0 1px 4px rgba(0,0,0,.16)}.vm-preview-icons-item:active .vm-preview-icons-item__svg{-webkit-transform:scale(.9);transform:scale(.9)}.vm-preview-icons-item__name{font-size:10px;line-height:2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vm-preview-icons-item__svg{align-items:center;display:flex;height:100%;justify-content:center;transition:-webkit-transform .1s ease-out;transition:transform .1s ease-out;transition:transform .1s ease-out,-webkit-transform .1s ease-out}.vm-preview-icons-item__svg svg{height:24px;width:auto}#root,body,html{background-attachment:fixed;background-color:#fefeff;background-color:var(--color-background-body);background-repeat:no-repeat;color:#110f0f;color:var(--color-text);cursor:default;font-family:Lato,sans-serif;font-size:12px;margin:0;min-height:100%}body{overflow:auto}*{-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:inherit;font:inherit;touch-action:pan-x pan-y}code{font-family:monospace}b{font-weight:700}input,textarea{cursor:text}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{-webkit-user-select:none;user-select:none}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vm-snackbar{bottom:16px;left:16px;position:fixed;z-index:999}.vm-snackbar-content{align-items:center;display:grid;grid-template-columns:1fr auto}.vm-snackbar-content__close{color:inherit;height:24px;opacity:.8;padding:4px;width:24px}.vm-snackbar_mobile{-webkit-animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);bottom:0;left:0;right:0}@-webkit-keyframes vm-slide-snackbar{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes vm-slide-snackbar{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}svg{width:100%}*{scrollbar-color:#a09f9f #fff;scrollbar-color:var(--color-text-disabled) var(--color-background-block);scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#fff;background:var(--color-background-block)}::-webkit-scrollbar-thumb{background-color:#a09f9f;background-color:var(--color-text-disabled);border:3px solid #fff;border:3px solid var(--color-background-block);border-radius:20px}a,abbr,acronym,address,applet,article,aside,audio,big,body,canvas,caption,center,cite,code,del,details,dfn,div,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:initial}h1,h2,h3,h4,h5,h6{font-weight:400}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}q:after,q:before{content:""}table{border-collapse:collapse;border-spacing:0}input::-webkit-input-placeholder{opacity:1;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input::placeholder{opacity:1;transition:opacity .3s ease}input:focus::-webkit-input-placeholder{opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input:focus::placeholder{opacity:0;transition:opacity .3s ease}*{box-sizing:border-box;outline:none}button{background:none;border:none;border-radius:0;padding:0}strong{letter-spacing:1px}input[type=file]{cursor:pointer;font-size:0;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}input[type=file]:disabled{cursor:not-allowed}a{color:inherit;text-decoration:inherit}input,textarea{-webkit-text-fill-color:inherit;appearance:none;-webkit-appearance:none}input:disabled,textarea:disabled{opacity:1!important}input:placeholder-shown,textarea:placeholder-shown{width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 0 #fff!important;width:100%;z-index:2}@font-face{font-family:Lato;font-style:normal;font-weight:400;src:url(../../static/media/Lato-Regular.d714fec1633b69a9c2e9.ttf)}@font-face{font-family:Lato;font-style:normal;font-weight:700;src:url(../../static/media/Lato-Bold.32360ba4b57802daa4d6.ttf)}.vm-header-button{border:1px solid hsla(0,6%,6%,.2)}.vm-list-item{background-color:transparent;cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.vm-list-item_mobile{padding:16px}.vm-list-item:hover,.vm-list-item_active{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-list-item_multiselect{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:10px 1fr;justify-content:flex-start}.vm-list-item_multiselect svg{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1)}.vm-list-item_multiselect span{grid-column:2}.vm-list-item_multiselect_selected{color:#3f51b5;color:var(--color-primary)}.vm-mobile-option{align-items:center;display:flex;gap:8px;justify-content:flex-start;padding:12px 0;-webkit-user-select:none;user-select:none;width:100%}.vm-mobile-option__arrow,.vm-mobile-option__icon{align-items:center;display:flex;justify-content:center}.vm-mobile-option__icon{color:#3f51b5;color:var(--color-primary);height:22px;width:22px}.vm-mobile-option__arrow{color:#3f51b5;color:var(--color-primary);height:14px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);width:14px}.vm-mobile-option-text{grid-gap:2px;align-items:center;display:grid;flex-grow:1;gap:2px}.vm-mobile-option-text__label{font-weight:700}.vm-mobile-option-text__value{color:#706f6f;color:var(--color-text-secondary);font-size:10px}.vm-block{background-color:#fff;background-color:var(--color-background-block);border-radius:8px;box-shadow:1px 2px 6px rgba(0,0,0,.08);box-shadow:var(--box-shadow);padding:24px}.vm-block_mobile{border-radius:0;padding:16px}.vm-block_empty-padding{padding:0}.vm-section-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);border-radius:8px 8px 0 0;display:grid;grid-template-columns:1fr auto;justify-content:center;padding:0 24px}.vm-section-header__title{font-size:12px;font-weight:700}.vm-section-header__title_mobile{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.vm-section-header__tabs{align-items:center;display:flex;font-size:10px;justify-content:flex-start}.vm-table{border-collapse:initial;border-spacing:0;margin-top:-24px;width:100%}.vm-table,.vm-table__row{background-color:#fff;background-color:var(--color-background-block)}.vm-table__row{transition:background-color .2s ease}.vm-table__row:hover:not(.vm-table__row_header){background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table__row_header{position:relative;z-index:2}.vm-table__row_selected{background-color:rgba(26,144,255,.05)}.vm-table-cell{border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);height:40px;line-height:25px;padding:8px;vertical-align:top}.vm-table-cell__content{align-items:center;display:flex;justify-content:flex-start}.vm-table-cell_sort{cursor:pointer}.vm-table-cell_sort:hover{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table-cell_header{font-weight:700;text-align:left;text-transform:capitalize}.vm-table-cell_gray{color:#110f0f;color:var(--color-text);opacity:.4}.vm-table-cell_right{text-align:right}.vm-table-cell_right .vm-table-cell__content{justify-content:flex-end}.vm-table-cell_no-wrap{white-space:nowrap}.vm-table__sort-icon{align-items:center;display:flex;justify-content:center;margin:0 8px;opacity:.4;transition:opacity .2s ease,-webkit-transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:15px}.vm-table__sort-icon_active{opacity:1}.vm-table__sort-icon_desc{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-link{cursor:pointer;transition:color .2s ease}.vm-link_colored{color:#3f51b5;color:var(--color-primary)}.vm-link_underlined{text-decoration:underline}.vm-link_with-icon{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:14px auto;justify-content:center}.vm-link:hover{color:#3f51b5;color:var(--color-primary);text-decoration:underline}:root{--color-primary:#3f51b5;--color-secondary:#e91e63;--color-error:#fd080e;--color-warning:#ff8308;--color-info:#03a9f4;--color-success:#4caf50;--color-primary-text:#fff;--color-secondary-text:#fff;--color-error-text:#fff;--color-warning-text:#fff;--color-info-text:#fff;--color-success-text:#fff;--color-background-body:#fefeff;--color-background-block:#fff;--color-background-tooltip:rgba(97,97,97,.92);--color-text:#110f0f;--color-text-secondary:#706f6f;--color-text-disabled:#a09f9f;--box-shadow:rgba(0,0,0,.08) 1px 2px 6px;--box-shadow-popper:rgba(0,0,0,.1) 0px 2px 8px 0px;--border-divider:1px solid rgba(0,0,0,.15);--color-hover-black:rgba(0,0,0,.06)} \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.ba695a31.js b/app/vmselect/vmui/static/js/main.ba695a31.js new file mode 100644 index 0000000000..095917d398 --- /dev/null +++ b/app/vmselect/vmui/static/js/main.ba695a31.js @@ -0,0 +1,2 @@ +/*! For license information please see main.ba695a31.js.LICENSE.txt */ +!function(){var e={680:function(e,t,n){"use strict";var r=n(476),i=n(962),a=i(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&a(e,".prototype.")>-1?i(n):n}},962:function(e,t,n){"use strict";var r=n(199),i=n(476),a=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||r.call(o,a),l=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),s=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(d){c=null}e.exports=function(e){var t=u(r,o,arguments);if(l&&c){var n=l(t,"length");n.configurable&&c(t,"length",{value:1+s(0,e.length-(arguments.length-1))})}return t};var f=function(){return u(r,a,arguments)};c?c(e.exports,"apply",{value:f}):e.exports.apply=f},123:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;t=t?e:""+Array(t+1-r.length).join(n)+e},y={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(i,2,"0")},m:function e(t,n){if(t.date()1)return e(o[0])}else{var u=t.name;b[u]=t,i=u}return!r&&i&&(_=i),i||!r&&_},k=function(e,t){if(D(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new C(n)},x=y;x.l=w,x.i=D,x.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var C=function(){function v(e){this.$L=w(e.locale,null,!0),this.parse(e)}var g=v.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(x.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(p);if(r){var i=r[2]-1||0,a=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return x},g.isValid=function(){return!(this.$d.toString()===h)},g.isSame=function(e,t){var n=k(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return k(e)=0&&(a[f]=parseInt(s,10))}var d=a[3],h=24===d?0:d,p=a[0]+"-"+a[1]+"-"+a[2]+" "+h+":"+a[4]+":"+a[5]+":000",m=+t;return(i.utc(p).valueOf()-(m-=m%1e3))/6e4},l=r.prototype;l.tz=function(e,t){void 0===e&&(e=a);var n=this.utcOffset(),r=this.toDate(),o=r.toLocaleString("en-US",{timeZone:e}),u=Math.round((r-new Date(o))/1e3/60),l=i(o).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-u,!0);if(t){var c=l.utcOffset();l=l.add(n-c,"minute")}return l.$x.$timezone=e,l},l.offsetName=function(e){var t=this.$x.$timezone||i.tz.guess(),n=o(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=l.startOf;l.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,e,t).tz(this.$x.$timezone,!0)},i.tz=function(e,t,n){var r=n&&t,o=n||t||a,l=u(+i(),o);if("string"!=typeof e)return i(e).tz(o);var c=function(e,t,n){var r=e-60*t*1e3,i=u(r,n);if(t===i)return[r,t];var a=u(r-=60*(i-t)*1e3,n);return i===a?[r,i]:[e-60*Math.min(i,a)*1e3,Math.max(i,a)]}(i.utc(e,r).valueOf(),l,o),s=c[0],f=c[1],d=i(s).utcOffset(f);return d.$x.$timezone=o,d},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(e){a=e}}}()},635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,i,a){var o=i.prototype;a.utc=function(e){return new i({date:e,utc:!0,args:arguments})},o.utc=function(t){var n=a(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},o.local=function(){return a(this.toDate(),{locale:this.$L,utc:!1})};var u=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),u.call(this,e)};var l=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var c=o.utcOffset;o.utcOffset=function(r,i){var a=this.$utils().u;if(a(r))return this.$u?0:a(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var i=(""+r[0]).match(n)||["-",0,0],a=i[0],o=60*+i[1]+ +i[2];return 0===o?0:"+"===a?o:-o}(r),null===r))return this;var o=Math.abs(r)<=16?60*r:r,u=this;if(i)return u.$offset=o,u.$u=0===r,u;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(u=this.local().add(o+l,e)).$offset=o,u.$x.$localOffset=l}else u=this.utc();return u};var s=o.format;o.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return s.call(this,t)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var f=o.toDate;o.toDate=function(e){return"s"===e&&this.$offset?a(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var d=o.diff;o.diff=function(e,t,n){if(e&&this.$u===e.$u)return d.call(this,e,t,n);var r=this.local(),i=a(e).local();return d.call(r,i,t,n)}}}()},781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,i="[object Function]";e.exports=function(e){var a=this;if("function"!==typeof a||r.call(a)!==i)throw new TypeError(t+a);for(var o,u=n.call(arguments,1),l=function(){if(this instanceof o){var t=a.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return a.apply(e,u.concat(n.call(arguments)))},c=Math.max(0,a.length-u.length),s=[],f=0;f1&&"boolean"!==typeof t)throw new o('"allowMissing" argument must be a boolean');if(null===x(/^%?[^%]*%?$/,e))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=S(e),r=n.length>0?n[0]:"",a=A("%"+r+"%",t),u=a.name,c=a.value,s=!1,f=a.alias;f&&(r=f[0],D(n,b([0,1],f)));for(var d=1,h=!0;d=n.length){var y=l(c,p);c=(h=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:c[p]}else h=_(c,p),c=c[p];h&&!s&&(m[u]=c)}}return c}},520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,i=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&i())))}},541:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},838:function(e,t,n){"use strict";var r=n(199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},936:function(e,t,n){var r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,s=l||c||Function("return this")(),f=Object.prototype.toString,d=Math.max,h=Math.min,p=function(){return s.Date.now()};function m(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function v(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(m(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=m(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=a.test(e);return n||o.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,a,o,u,l,c=0,s=!1,f=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=r,a=i;return r=i=void 0,c=t,o=e.apply(a,n)}function _(e){return c=e,u=setTimeout(D,t),s?y(e):o}function b(e){var n=e-l;return void 0===l||n>=t||n<0||f&&e-c>=a}function D(){var e=p();if(b(e))return w(e);u=setTimeout(D,function(e){var n=t-(e-l);return f?h(n,a-(e-c)):n}(e))}function w(e){return u=void 0,g&&r?y(e):(r=i=void 0,o)}function k(){var e=p(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return _(l);if(f)return u=setTimeout(D,t),y(l)}return void 0===u&&(u=setTimeout(D,t)),o}return t=v(t)||0,m(n)&&(s=!!n.leading,a=(f="maxWait"in n)?d(v(n.maxWait)||0,t):a,g="trailing"in n?!!n.trailing:g),k.cancel=function(){void 0!==u&&clearTimeout(u),c=0,r=l=i=u=void 0},k.flush=function(){return void 0===u?o:w(p())},k}},7:function(e,t,n){var r="__lodash_hash_undefined__",i="[object Function]",a="[object GeneratorFunction]",o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,d="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,h="object"==typeof self&&self&&self.Object===Object&&self,p=d||h||Function("return this")();var m=Array.prototype,v=Function.prototype,g=Object.prototype,y=p["__core-js_shared__"],_=function(){var e=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),b=v.toString,D=g.hasOwnProperty,w=g.toString,k=RegExp("^"+b.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),x=p.Symbol,C=m.splice,E=P(p,"Map"),S=P(Object,"create"),A=x?x.prototype:void 0,N=A?A.toString:void 0;function M(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},F.prototype.set=function(e,t){var n=this.__data__,r=T(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},O.prototype.clear=function(){this.__data__={hash:new M,map:new(E||F),string:new M}},O.prototype.delete=function(e){return B(this,e).delete(e)},O.prototype.get=function(e){return B(this,e).get(e)},O.prototype.has=function(e){return B(this,e).has(e)},O.prototype.set=function(e,t){return B(this,e).set(e,t),this};var R=j((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(Y(e))return N?N.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return l.test(e)&&n.push(""),e.replace(c,(function(e,t,r,i){n.push(r?i.replace(s,"$1"):t||e)})),n}));function z(e){if("string"==typeof e||Y(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function j(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new(j.Cache||O),n}j.Cache=O;var $=Array.isArray;function H(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Y(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==w.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:L(e,t);return void 0===r?n:r}},61:function(e,t,n){var r="Expected a function",i=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,s="object"==typeof self&&self&&self.Object===Object&&self,f=c||s||Function("return this")(),d=Object.prototype.toString,h=Math.max,p=Math.min,m=function(){return f.Date.now()};function v(e,t,n){var i,a,o,u,l,c,s=0,f=!1,d=!1,v=!0;if("function"!=typeof e)throw new TypeError(r);function _(t){var n=i,r=a;return i=a=void 0,s=t,u=e.apply(r,n)}function b(e){return s=e,l=setTimeout(w,t),f?_(e):u}function D(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=o}function w(){var e=m();if(D(e))return k(e);l=setTimeout(w,function(e){var n=t-(e-c);return d?p(n,o-(e-s)):n}(e))}function k(e){return l=void 0,v&&i?_(e):(i=a=void 0,u)}function x(){var e=m(),n=D(e);if(i=arguments,a=this,c=e,n){if(void 0===l)return b(c);if(d)return l=setTimeout(w,t),_(c)}return void 0===l&&(l=setTimeout(w,t)),u}return t=y(t)||0,g(n)&&(f=!!n.leading,o=(d="maxWait"in n)?h(y(n.maxWait)||0,t):o,v="trailing"in n?!!n.trailing:v),x.cancel=function(){void 0!==l&&clearTimeout(l),s=0,i=c=a=l=void 0},x.flush=function(){return void 0===l?u:k(m())},x}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return NaN;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=o.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):a.test(e)?NaN:+e}e.exports=function(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),v(e,t,{leading:i,maxWait:t,trailing:a})}},154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,a=r&&i&&"function"===typeof i.get?i.get:null,o=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=u&&l&&"function"===typeof l.get?l.get:null,s=u&&Set.prototype.forEach,f="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,m=Object.prototype.toString,v=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,D=String.prototype.toLowerCase,w=RegExp.prototype.test,k=Array.prototype.concat,x=Array.prototype.join,C=Array.prototype.slice,E=Math.floor,S="function"===typeof BigInt?BigInt.prototype.valueOf:null,A=Object.getOwnPropertySymbols,N="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,M="function"===typeof Symbol&&"object"===typeof Symbol.iterator,F="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===M||"symbol")?Symbol.toStringTag:null,O=Object.prototype.propertyIsEnumerable,T=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function L(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||w.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-E(-e):E(e);if(r!==e){var i=String(r),a=y.call(t,i.length+1);return _.call(i,n,"$&_")+"."+_.call(_.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var I=n(654),B=I.custom,P=H(B)?B:null;function R(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function z(e){return _.call(String(e),/"/g,""")}function j(e){return"[object Array]"===U(e)&&(!F||!("object"===typeof e&&F in e))}function $(e){return"[object RegExp]"===U(e)&&(!F||!("object"===typeof e&&F in e))}function H(e){if(M)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,i){var u=n||{};if(V(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(V(u,"maxStringLength")&&("number"===typeof u.maxStringLength?u.maxStringLength<0&&u.maxStringLength!==1/0:null!==u.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=!V(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(V(u,"indent")&&null!==u.indent&&"\t"!==u.indent&&!(parseInt(u.indent,10)===u.indent&&u.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(V(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=u.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return W(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return m?L(t,b):b}if("bigint"===typeof t){var w=String(t)+"n";return m?L(t,w):w}var E="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=E&&E>0&&"object"===typeof t)return j(t)?"[Array]":"[Object]";var A=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=x.call(Array(e.indent+1)," ")}return{base:n,prev:x.call(Array(t+1),n)}}(u,r);if("undefined"===typeof i)i=[];else if(q(i,t)>=0)return"[Circular]";function B(t,n,a){if(n&&(i=C.call(i)).push(n),a){var o={depth:u.depth};return V(u,"quoteStyle")&&(o.quoteStyle=u.quoteStyle),e(t,o,r+1,i)}return e(t,u,r+1,i)}if("function"===typeof t&&!$(t)){var Y=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),Q=X(t,B);return"[Function"+(Y?": "+Y:" (anonymous)")+"]"+(Q.length>0?" { "+x.call(Q,", ")+" }":"")}if(H(t)){var ee=M?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(t);return"object"!==typeof t||M?ee:G(ee)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var te="<"+D.call(String(t.nodeName)),ne=t.attributes||[],re=0;re"}if(j(t)){if(0===t.length)return"[]";var ie=X(t,B);return A&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+K(ie,A)+"]":"[ "+x.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t)){var ae=X(t,B);return"cause"in Error.prototype||!("cause"in t)||O.call(t,"cause")?0===ae.length?"["+String(t)+"]":"{ ["+String(t)+"] "+x.call(ae,", ")+" }":"{ ["+String(t)+"] "+x.call(k.call("[cause]: "+B(t.cause),ae),", ")+" }"}if("object"===typeof t&&l){if(P&&"function"===typeof t[P]&&I)return I(t,{depth:E-r});if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!a||!e||"object"!==typeof e)return!1;try{a.call(e);try{c.call(e)}catch(te){return!0}return e instanceof Map}catch(t){}return!1}(t)){var oe=[];return o&&o.call(t,(function(e,n){oe.push(B(n,t,!0)+" => "+B(e,t))})),Z("Map",a.call(t),oe,A)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{a.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ue=[];return s&&s.call(t,(function(e){ue.push(B(e,t))})),Z("Set",c.call(t),ue,A)}if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(te){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return J("WeakMap");if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(te){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return J("WeakSet");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{return h.call(e),!0}catch(t){}return!1}(t))return J("WeakRef");if(function(e){return"[object Number]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t))return G(B(Number(t)));if(function(e){if(!e||"object"!==typeof e||!S)return!1;try{return S.call(e),!0}catch(t){}return!1}(t))return G(B(S.call(t)));if(function(e){return"[object Boolean]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t))return G(p.call(t));if(function(e){return"[object String]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t))return G(B(String(t)));if(!function(e){return"[object Date]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t)&&!$(t)){var le=X(t,B),ce=T?T(t)===Object.prototype:t instanceof Object||t.constructor===Object,se=t instanceof Object?"":"null prototype",fe=!ce&&F&&Object(t)===t&&F in t?y.call(U(t),8,-1):se?"Object":"",de=(ce||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(fe||se?"["+x.call(k.call([],fe||[],se||[]),": ")+"] ":"");return 0===le.length?de+"{}":A?de+"{"+K(le,A)+"}":de+"{ "+x.call(le,", ")+" }"}return String(t)};var Y=Object.prototype.hasOwnProperty||function(e){return e in this};function V(e,t){return Y.call(e,t)}function U(e){return m.call(e)}function q(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return W(y.call(e,0,t.maxStringLength),t)+r}return R(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Q),"single",t)}function Q(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function G(e){return"Object("+e+")"}function J(e){return e+" { ? }"}function Z(e,t,n,r){return e+" ("+t+") {"+(r?K(n,r):x.call(n,", "))+"}"}function K(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+x.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=j(e),r=[];if(n){r.length=e.length;for(var i=0;i=n.__.length&&n.__.push({__V:s}),n.__[e]}function g(e){return l=1,y(I,e)}function y(e,t,n){var a=v(r++,2);if(a.t=e,!a.__c&&(a.__=[n?n(t):I(void 0,t),function(e){var t=a.__N?a.__N[0]:a.__[0],n=a.t(t,e);t!==n&&(a.__N=[n,a.__[1]],a.__c.setState({}))}],a.__c=i,!i.u)){i.u=!0;var o=i.shouldComponentUpdate;i.shouldComponentUpdate=function(e,t,n){if(!a.__c.__H)return!0;var r=a.__c.__H.__.filter((function(e){return e.__c}));if(r.every((function(e){return!e.__N})))return!o||o.call(this,e,t,n);var i=!1;return r.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(i=!0)}})),!(!i&&a.__c.props===e)&&(!o||o.call(this,e,t,n))}}return a.__N||a.__}function _(e,t){var n=v(r++,3);!u.YM.__s&&L(n.__H,t)&&(n.__=e,n.i=t,i.__H.__h.push(n))}function b(e,t){var n=v(r++,4);!u.YM.__s&&L(n.__H,t)&&(n.__=e,n.i=t,i.__h.push(n))}function D(e){return l=5,k((function(){return{current:e}}),[])}function w(e,t,n){l=6,b((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function k(e,t){var n=v(r++,7);return L(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function x(e,t){return l=8,k((function(){return e}),t)}function C(e){var t=i.context[e.__c],n=v(r++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(i)),t.props.value):e.__}function E(e,t){u.YM.useDebugValue&&u.YM.useDebugValue(t?t(e):e)}function S(e){var t=v(r++,10),n=g();return t.__=e,i.componentDidCatch||(i.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function A(){var e=v(r++,11);if(!e.__){for(var t=i.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function N(){for(var e;e=c.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(O),e.__H.__h.forEach(T),e.__H.__h=[]}catch(i){e.__H.__h=[],u.YM.__e(i,e.__v)}}u.YM.__b=function(e){i=null,f&&f(e)},u.YM.__r=function(e){d&&d(e),r=0;var t=(i=e.__c).__H;t&&(a===i?(t.__h=[],i.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=s,e.__N=e.i=void 0}))):(t.__h.forEach(O),t.__h.forEach(T),t.__h=[])),a=i},u.YM.diffed=function(e){h&&h(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==c.push(t)&&o===u.YM.requestAnimationFrame||((o=u.YM.requestAnimationFrame)||F)(N)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==s&&(e.__=e.__V),e.i=void 0,e.__V=s}))),a=i=null},u.YM.__c=function(e,t){t.some((function(e){try{e.__h.forEach(O),e.__h=e.__h.filter((function(e){return!e.__||T(e)}))}catch(a){t.some((function(e){e.__h&&(e.__h=[])})),t=[],u.YM.__e(a,e.__v)}})),p&&p(e,t)},u.YM.unmount=function(e){m&&m(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{O(e)}catch(e){t=e}})),n.__H=void 0,t&&u.YM.__e(t,n.__v))};var M="function"==typeof requestAnimationFrame;function F(e){var t,n=function(){clearTimeout(r),M&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);M&&(t=requestAnimationFrame(n))}function O(e){var t=i,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),i=t}function T(e){var t=i;e.__c=e.__(),i=t}function L(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function I(e,t){return"function"==typeof t?t(e):t}function B(e,t){for(var n in t)e[n]=t[n];return e}function P(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function R(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}function z(e){this.props=e}function j(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:P(this.props,e)}function r(t){return this.shouldComponentUpdate=n,(0,u.az)(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(z.prototype=new u.wA).isPureReactComponent=!0,z.prototype.shouldComponentUpdate=function(e,t){return P(this.props,e)||P(this.state,t)};var $=u.YM.__b;u.YM.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),$&&$(e)};var H="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Y(e){function t(t){var n=B({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=H,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var V=function(e,t){return null==e?null:(0,u.bR)((0,u.bR)(e).map(t))},U={map:V,forEach:V,count:function(e){return e?(0,u.bR)(e).length:0},only:function(e){var t=(0,u.bR)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:u.bR},q=u.YM.__e;u.YM.__e=function(e,t,n,r){if(e.then)for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);q(e,t,n,r)};var W=u.YM.unmount;function Q(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=B({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Q(e,t,n)}))),e}function G(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return G(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function J(){this.__u=0,this.t=null,this.__b=null}function Z(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function K(e){var t,n,r;function i(i){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return(0,u.az)(n,i)}return i.displayName="Lazy",i.__f=!0,i}function X(){this.u=null,this.o=null}u.YM.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),W&&W(e)},(J.prototype=new u.wA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var i=Z(r.__v),a=!1,o=function(){a||(a=!0,n.__R=null,i?i(u):u())};n.__R=o;var u=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=G(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},J.prototype.componentWillUnmount=function(){this.t=[]},J.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Q(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&(0,u.az)(u.HY,null,e.fallback);return i&&(i.__h=null),[(0,u.az)(u.HY,null,t.__a?null:e.children),i]};var ee=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),(0,u.sY)((0,u.az)(te,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function re(e,t){var n=(0,u.az)(ne,{__v:e,i:t});return n.containerInfo=t,n}(X.prototype=new u.wA).__a=function(e){var t=this,n=Z(t.__v),r=t.o.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),ee(t,e,r)):i()};n?n(a):a()}},X.prototype.render=function(e){this.u=null,this.o=new Map;var t=(0,u.bR)(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},X.prototype.componentDidUpdate=X.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){ee(e,n,t)}))};var ie="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,ae=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,oe="undefined"!=typeof document,ue=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function le(e,t,n){return null==t.__k&&(t.textContent=""),(0,u.sY)(e,t),"function"==typeof n&&n(),e?e.__c:null}function ce(e,t,n){return(0,u.ZB)(e,t),"function"==typeof n&&n(),e?e.__c:null}u.wA.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(u.wA.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var se=u.YM.event;function fe(){}function de(){return this.cancelBubble}function he(){return this.defaultPrevented}u.YM.event=function(e){return se&&(e=se(e)),e.persist=fe,e.isPropagationStopped=de,e.isDefaultPrevented=he,e.nativeEvent=e};var pe,me={configurable:!0,get:function(){return this.class}},ve=u.YM.vnode;u.YM.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var i=-1===t.indexOf("-");for(var a in r={},n){var o=n[a];oe&&"children"===a&&"noscript"===t||"value"===a&&"defaultValue"in n&&null==o||("defaultValue"===a&&"value"in n&&null==n.value?a="value":"download"===a&&!0===o?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+t)&&!ue(n.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&ae.test(a)?a=a.replace(/[A-Z0-9]/g,"-$&").toLowerCase():null===o&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),r[a]&&(a="oninputCapture")),r[a]=o)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=(0,u.bR)(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=(0,u.bR)(n.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),e.props=r,n.class!=n.className&&(me.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",me))}e.$$typeof=ie,ve&&ve(e)};var ge=u.YM.__r;u.YM.__r=function(e){ge&&ge(e),pe=e.__c};var ye={ReactCurrentDispatcher:{current:{readContext:function(e){return pe.__n[e.__c].props.value}}}},_e="17.0.2";function be(e){return u.az.bind(null,e)}function De(e){return!!e&&e.$$typeof===ie}function we(e){return De(e)?u.Tm.apply(null,arguments):e}function ke(e){return!!e.__k&&((0,u.sY)(null,e),!0)}function xe(e){return e&&(e.base||1===e.nodeType&&e)||null}var Ce=function(e,t){return e(t)},Ee=function(e,t){return e(t)},Se=u.HY;function Ae(e){e()}function Ne(e){return e}function Me(){return[!1,Ae]}var Fe=b;function Oe(e,t){var n=t(),r=g({h:{__:n,v:t}}),i=r[0].h,a=r[1];return b((function(){i.__=n,i.v=t,R(i.__,t())||a({h:i})}),[e,n,t]),_((function(){return R(i.__,i.v())||a({h:i}),e((function(){R(i.__,i.v())||a({h:i})}))}),[e]),n}var Te={useState:g,useId:A,useReducer:y,useEffect:_,useLayoutEffect:b,useInsertionEffect:Fe,useTransition:Me,useDeferredValue:Ne,useSyncExternalStore:Oe,startTransition:Ae,useRef:D,useImperativeHandle:w,useMemo:k,useCallback:x,useContext:C,useDebugValue:E,version:"17.0.2",Children:U,render:le,hydrate:ce,unmountComponentAtNode:ke,createPortal:re,createElement:u.az,createContext:u.kr,createFactory:be,cloneElement:we,createRef:u.Vf,Fragment:u.HY,isValidElement:De,findDOMNode:xe,Component:u.wA,PureComponent:z,memo:j,forwardRef:Y,flushSync:Ee,unstable_batchedUpdates:Ce,StrictMode:Se,Suspense:J,SuspenseList:X,lazy:K,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ye}},856:function(e,t,n){"use strict";n.d(t,{HY:function(){return g},Tm:function(){return z},Vf:function(){return v},YM:function(){return i},ZB:function(){return R},az:function(){return p},bR:function(){return C},kr:function(){return j},sY:function(){return P},wA:function(){return y}});var r,i,a,o,u,l,c={},s=[],f=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function d(e,t){for(var n in t)e[n]=t[n];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function p(e,t,n){var i,a,o,u={};for(o in t)"key"==o?i=t[o]:"ref"==o?a=t[o]:u[o]=t[o];if(arguments.length>2&&(u.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===u[o]&&(u[o]=e.defaultProps[o]);return m(e,u,i,a,null)}function m(e,t,n,r,o){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++a:o};return null==o&&null!=i.vnode&&i.vnode(u),u}function v(){return{current:null}}function g(e){return e.children}function y(e,t){this.props=e,this.context=t}function _(e,t){if(null==t)return e.__?_(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?m(v.type,v.props,v.key,v.ref?v.ref:null,v.__v):v)){if(v.__=n,v.__b=n.__b+1,null===(p=w[d])||p&&v.key==p.key&&v.type===p.type)w[d]=void 0;else for(h=0;h2&&(u.children=arguments.length>3?r.call(arguments,2):n),m(e.type,u,i||e.key,a||e.ref,null)}function j(e,t){var n={__c:t="__cC"+l++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(D)},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=s.slice,i={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&null!=a.getDerivedStateFromError&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},a=0,y.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},n),this.props)),e&&d(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),D(this))},y.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},y.prototype.render=g,o=[],w.__r=0,l=0},609:function(e){"use strict";var t=String.prototype.replace,n=/%20/g,r="RFC1738",i="RFC3986";e.exports={default:i,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:r,RFC3986:i}},776:function(e,t,n){"use strict";var r=n(816),i=n(668),a=n(609);e.exports={formats:a,parse:i,stringify:r}},668:function(e,t,n){"use strict";var r=n(837),i=Object.prototype.hasOwnProperty,a=Array.isArray,o={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},u=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},l=function(e,t){return e&&"string"===typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},c=function(e,t,n,r){if(e){var a=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(a),c=u?a.slice(0,u.index):a,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var f=0;n.depth>0&&null!==(u=o.exec(a))&&f=0;--a){var o,u=e[a];if("[]"===u&&n.parseArrays)o=[].concat(i);else{o=n.plainObjects?Object.create(null):{};var c="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,s=parseInt(c,10);n.parseArrays||""!==c?!isNaN(s)&&u!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(o=[])[s]=i:"__proto__"!==c&&(o[c]=i):o={0:i}}i=o}return i}(s,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return o;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?o.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?o.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:o.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:o.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:o.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:o.comma,decoder:"function"===typeof e.decoder?e.decoder:o.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:o.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:o.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:o.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:o.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:o.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var s="string"===typeof e?function(e,t){var n,c={},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,f=t.parameterLimit===1/0?void 0:t.parameterLimit,d=s.split(t.delimiter,f),h=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(v=a(v)?[v]:v),i.call(c,m)?c[m]=r.combine(c[m],v):c[m]=v}return c}(e,n):e,f=n.plainObjects?Object.create(null):{},d=Object.keys(s),h=0;h0?C.join(",")||null:void 0}];else if(l(h))L=h;else{var B=Object.keys(C);L=v?B.sort(v):B}for(var P=o&&l(C)&&1===C.length?n+"[]":n,R=0;R0?D+b:""}},837:function(e,t,n){"use strict";var r=n(609),i=Object.prototype.hasOwnProperty,a=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),u=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(a(n)){for(var r=[],i=0;i=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||a===r.RFC1738&&(40===s||41===s)?l+=u.charAt(c):s<128?l+=o[s]:s<2048?l+=o[192|s>>6]+o[128|63&s]:s<55296||s>=57344?l+=o[224|s>>12]+o[128|s>>6&63]+o[128|63&s]:(c+=1,s=65536+((1023&s)<<10|1023&u.charCodeAt(c)),l+=o[240|s>>18]+o[128|s>>12&63]+o[128|s>>6&63]+o[128|63&s])}return l},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(a(e)){for(var n=[],r=0;rr.length&&h(e,t.length-1);)t=t.slice(0,t.length-1);return t.length}for(var i=r.length,a=t.length;a>=r.length;a--){var o=t[a];if(!h(e,a)&&p(e,a,o)){i=a+1;break}}return i}function g(e,t){return v(e,t)===e.mask.length}function y(e,t){var n=e.maskChar,r=e.mask,i=e.prefix;if(!n){for((t=_(e,"",t,0)).lengtht.length&&(t+=i.slice(t.length,r)),u.every((function(n){for(;s=n,h(e,c=r)&&s!==i[c];){if(r>=t.length&&(t+=i[r]),u=n,a&&h(e,r)&&u===a)return!0;if(++r>=i.length)return!1}var u,c,s;return!p(e,r,n)&&n!==a||(ri.start?f=(s=function(e,t,n,r){var i=e.mask,a=e.maskChar,o=n.split(""),u=r;return o.every((function(t){for(;o=t,h(e,n=r)&&o!==i[n];)if(++r>=i.length)return!1;var n,o;return(p(e,r,t)||t===a)&&r++,r=a.length?d=a.length:d=o.length&&de.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}function y(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _(e){return function(e){if(Array.isArray(e))return h(e)}(e)||y(e)||p(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function w(e){var t=function(e,t){if("object"!==D(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==D(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===D(t)?t:String(t)}function k(e,t){for(var n=0;n=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function H(e,n,r,i){void 0===i&&(i={});var a=i,o=a.window,u=void 0===o?document.defaultView:o,l=a.v5Compat,c=void 0!==l&&l,s=u.history,f=t.Pop,d=null,h=p();function p(){return(s.state||{idx:null}).idx}function m(){var e=t.Pop,n=p();if(null!=n){var r=n-h;f=e,h=n,d&&d({action:f,location:g.location,delta:r})}else P(!1,"You are trying to block a POP navigation to a location that was not created by @remix-run/router. The block will fail silently in production, but in general you should do all navigation with the router (instead of using window.history.pushState directly) to avoid this situation.")}function v(e){var t="null"!==u.location.origin?u.location.origin:u.location.href,n="string"===typeof e?e:j(e);return B(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==h&&(h=0,s.replaceState(T({},s.state,{idx:h}),""));var g={get action(){return f},get location(){return e(u,s)},listen:function(e){if(d)throw new Error("A history only accepts one active listener");return u.addEventListener(I,m),d=e,function(){u.removeEventListener(I,m),d=null}},createHref:function(e){return n(u,e)},createURL:v,encodeLocation:function(e){var t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,n){f=t.Push;var i=z(g.location,e,n);r&&r(i,e);var a=R(i,h=p()+1),o=g.createHref(i);try{s.pushState(a,"",o)}catch(l){u.location.assign(o)}c&&d&&d({action:f,location:g.location,delta:1})},replace:function(e,n){f=t.Replace;var i=z(g.location,e,n);r&&r(i,e);var a=R(i,h=p()),o=g.createHref(i);s.replaceState(a,"",o),c&&d&&d({action:f,location:g.location,delta:0})},go:function(e){return s.go(e)}};return g}function Y(e,t,n){void 0===n&&(n="/");var r=K(("string"===typeof t?$(t):t).pathname||"/",n);if(null==r)return null;var i=V(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(i);for(var a=null,o=0;null==a&&o0&&(B(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+u+'".'),V(e.children,t,l,u)),(null!=e.path||e.index)&&t.push({path:u,score:Q(u,e.index),routesMeta:l})};return e.forEach((function(e,t){var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?")){var r,a=g(U(e.path));try{for(a.s();!(r=a.n()).done;){var o=r.value;i(e,t,o)}}catch(u){a.e(u)}finally{a.f()}}else i(e,t)})),t}function U(e){var t=e.split("/");if(0===t.length)return[];var n,r=d(n=t)||y(n)||p(n)||m(),i=r[0],a=r.slice(1),o=i.endsWith("?"),u=i.replace(/\?$/,"");if(0===a.length)return o?[u,""]:[u];var l=U(a.join("/")),c=[];return c.push.apply(c,_(l.map((function(e){return""===e?u:[u,e].join("/")})))),o&&c.push.apply(c,_(l)),c.map((function(t){return e.startsWith("/")&&""===t?"/":t}))}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(L||(L={}));var q=/^:\w+$/,W=function(e){return"*"===e};function Q(e,t){var n=e.split("/"),r=n.length;return n.some(W)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!W(e)})).reduce((function(e,t){return e+(q.test(t)?3:""===t?1:10)}),r)}function G(e,t){for(var n=e.routesMeta,r={},i="/",a=[],o=0;o and the router will parse it for you.'}function te(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function ne(e,t,n,r){var i;void 0===r&&(r=!1),"string"===typeof e?i=$(e):(B(!(i=T({},e)).pathname||!i.pathname.includes("?"),ee("?","pathname","search",i)),B(!i.pathname||!i.pathname.includes("#"),ee("#","pathname","hash",i)),B(!i.search||!i.search.includes("#"),ee("#","search","hash",i)));var a,o=""===e||""===i.pathname,u=o?"/":i.pathname;if(r||null==u)a=n;else{var l=t.length-1;if(u.startsWith("..")){for(var c=u.split("/");".."===c[0];)c.shift(),l-=1;i.pathname=c.join("/")}a=l>=0?t[l]:"/"}var s=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?$(e):e,r=n.pathname,i=n.search,a=void 0===i?"":i,o=n.hash,u=void 0===o?"":o,l=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:l,search:ae(a),hash:oe(u)}}(i,a),f=u&&"/"!==u&&u.endsWith("/"),d=(o||"."===u)&&n.endsWith("/");return s.pathname.endsWith("/")||!f&&!d||(s.pathname+="/"),s}var re=function(e){return e.join("/").replace(/\/\/+/g,"/")},ie=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},ae=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},oe=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""},ue=function(e){E(n,e);var t=M(n);function n(){return b(this,n),t.apply(this,arguments)}return x(n)}(O(Error));var le=x((function e(t,n,r,i){b(this,e),void 0===i&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function ce(e){return e instanceof le}var se=["post","put","patch","delete"],fe=(new Set(se),["get"].concat(se));new Set(fe),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;Symbol("deferred");function de(){return de=Object.assign?Object.assign.bind():function(e){for(var t=1;t")))}var Oe,Te,Le=function(e){E(n,e);var t=M(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return x(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?r.createElement(xe.Provider,{value:this.props.routeContext},r.createElement(Ce.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(r.Component);function Ie(e){var t=e.routeContext,n=e.match,i=e.children,a=r.useContext(_e);return a&&a.static&&a.staticContext&&n.route.errorElement&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),r.createElement(xe.Provider,{value:t},i)}function Be(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var i=e,a=null==n?void 0:n.errors;if(null!=a){var o=i.findIndex((function(e){return e.route.id&&(null==a?void 0:a[e.route.id])}));o>=0||B(!1),i=i.slice(0,Math.min(i.length,o+1))}return i.reduceRight((function(e,o,u){var l=o.route.id?null==a?void 0:a[o.route.id]:null,c=n?o.route.errorElement||r.createElement(Fe,null):null,s=t.concat(i.slice(0,u+1)),f=function(){return r.createElement(Ie,{match:o,routeContext:{outlet:e,matches:s}},l?c:void 0!==o.route.element?o.route.element:e)};return n&&(o.route.errorElement||0===u)?r.createElement(Le,{location:n.location,component:c,error:l,children:f(),routeContext:{outlet:null,matches:s}}):f()}),null)}function Pe(e){var t=r.useContext(be);return t||B(!1),t}function Re(e){var t=function(e){var t=r.useContext(xe);return t||B(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||B(!1),n.route.id}!function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"}(Oe||(Oe={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(Te||(Te={}));var ze;function je(e){return function(e){var t=r.useContext(xe).outlet;return t?r.createElement(Ne.Provider,{value:e},t):t}(e.context)}function $e(e){B(!1)}function He(e){var n=e.basename,i=void 0===n?"/":n,a=e.children,o=void 0===a?null:a,u=e.location,l=e.navigationType,c=void 0===l?t.Pop:l,s=e.navigator,f=e.static,d=void 0!==f&&f;Ee()&&B(!1);var h=i.replace(/^\/*/,"/"),p=r.useMemo((function(){return{basename:h,navigator:s,static:d}}),[h,s,d]);"string"===typeof u&&(u=$(u));var m=u,v=m.pathname,g=void 0===v?"/":v,y=m.search,_=void 0===y?"":y,b=m.hash,D=void 0===b?"":b,w=m.state,k=void 0===w?null:w,x=m.key,C=void 0===x?"default":x,E=r.useMemo((function(){var e=K(g,h);return null==e?null:{pathname:e,search:_,hash:D,state:k,key:C}}),[h,g,_,D,k,C]);return null==E?null:r.createElement(we.Provider,{value:p},r.createElement(ke.Provider,{children:o,value:{location:E,navigationType:c}}))}function Ye(e){var n=e.children,i=e.location,a=r.useContext(_e);return function(e,n){Ee()||B(!1);var i,a=r.useContext(we).navigator,o=r.useContext(be),u=r.useContext(xe).matches,l=u[u.length-1],c=l?l.params:{},s=(l&&l.pathname,l?l.pathnameBase:"/"),f=(l&&l.route,Se());if(n){var d,h="string"===typeof n?$(n):n;"/"===s||(null==(d=h.pathname)?void 0:d.startsWith(s))||B(!1),i=h}else i=f;var p=i.pathname||"/",m=Y(e,{pathname:"/"===s?p:p.slice(s.length)||"/"}),v=Be(m&&m.map((function(e){return Object.assign({},e,{params:Object.assign({},c,e.params),pathname:re([s,a.encodeLocation?a.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?s:re([s,a.encodeLocation?a.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),u,o||void 0);return n&&v?r.createElement(ke.Provider,{value:{location:de({pathname:"/",search:"",hash:"",state:null,key:"default"},i),navigationType:t.Pop}},v):v}(a&&!n?a.router.routes:Ue(n),i)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(ze||(ze={}));var Ve=new Promise((function(){}));r.Component;function Ue(e,t){void 0===t&&(t=[]);var n=[];return r.Children.forEach(e,(function(e,i){if(r.isValidElement(e))if(e.type!==r.Fragment){e.type!==$e&&B(!1),e.props.index&&e.props.children&&B(!1);var a=[].concat(_(t),[i]),o={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(o.children=Ue(e.props.children,a)),n.push(o)}else n.push.apply(n,Ue(e.props.children,t))})),n}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function Qe(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((function(t,n){var r=e[n];return t.concat(Array.isArray(r)?r.map((function(e){return[n,e]})):[[n,r]])}),[]))}var Ge=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Je=["aria-current","caseSensitive","className","end","style","to","children"];function Ze(e){var t=e.basename,n=e.children,i=e.window,a=r.useRef();null==a.current&&(a.current=function(e){return void 0===e&&(e={}),H((function(e,t){var n=$(e.location.hash.substr(1)),r=n.pathname,i=void 0===r?"/":r,a=n.search,o=void 0===a?"":a,u=n.hash;return z("",{pathname:i,search:o,hash:void 0===u?"":u},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var i=e.location.href,a=i.indexOf("#");r=-1===a?i:i.slice(0,a)}return r+"#"+("string"===typeof t?t:j(t))}),(function(e,t){P("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:i,v5Compat:!0}));var o=a.current,u=v(r.useState({action:o.action,location:o.location}),2),l=u[0],c=u[1];return r.useLayoutEffect((function(){return o.listen(c)}),[o]),r.createElement(He,{basename:t,children:n,location:l.location,navigationType:l.action,navigator:o})}var Ke=r.forwardRef((function(e,t){var n=e.onClick,i=e.relative,a=e.reloadDocument,o=e.replace,u=e.state,l=e.target,c=e.to,s=e.preventScrollReset,f=We(e,Ge),d=function(e,t){var n=(void 0===t?{}:t).relative;Ee()||B(!1);var i=r.useContext(we),a=i.basename,o=i.navigator,u=Me(e,{relative:n}),l=u.hash,c=u.pathname,s=u.search,f=c;return"/"!==a&&(f="/"===c?a:re([a,c])),o.createHref({pathname:f,search:s,hash:l})}(c,{relative:i}),h=function(e,t){var n=void 0===t?{}:t,i=n.target,a=n.replace,o=n.state,u=n.preventScrollReset,l=n.relative,c=Ae(),s=Se(),f=Me(e,{relative:l});return r.useCallback((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,i)){t.preventDefault();var n=void 0!==a?a:j(s)===j(f);c(e,{replace:n,state:o,preventScrollReset:u,relative:l})}}),[s,c,f,a,o,i,e,u,l])}(c,{replace:o,state:u,target:l,preventScrollReset:s,relative:i});return r.createElement("a",qe({},f,{href:d,onClick:a?n:function(e){n&&n(e),e.defaultPrevented||h(e)},ref:t,target:l}))}));var Xe=r.forwardRef((function(e,t){var n=e["aria-current"],i=void 0===n?"page":n,a=e.caseSensitive,o=void 0!==a&&a,u=e.className,l=void 0===u?"":u,c=e.end,s=void 0!==c&&c,f=e.style,d=e.to,h=e.children,p=We(e,Je),m=Me(d,{relative:p.relative}),v=Se(),g=r.useContext(be),y=r.useContext(we).navigator,_=y.encodeLocation?y.encodeLocation(m).pathname:m.pathname,b=v.pathname,D=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;o||(b=b.toLowerCase(),D=D?D.toLowerCase():null,_=_.toLowerCase());var w,k=b===_||!s&&b.startsWith(_)&&"/"===b.charAt(_.length),x=null!=D&&(D===_||!s&&D.startsWith(_)&&"/"===D.charAt(_.length)),C=k?i:void 0;w="function"===typeof l?l({isActive:k,isPending:x}):[l,k?"active":null,x?"pending":null].filter(Boolean).join(" ");var E="function"===typeof f?f({isActive:k,isPending:x}):f;return r.createElement(Ke,qe({},p,{"aria-current":C,className:w,ref:t,style:E,to:d}),"function"===typeof h?h({isActive:k,isPending:x}):h)}));var et,tt;function nt(e){var t=r.useRef(Qe(e)),n=Se(),i=r.useMemo((function(){return function(e,t){var n,r=Qe(e),i=g(t.keys());try{var a=function(){var e=n.value;r.has(e)||t.getAll(e).forEach((function(t){r.append(e,t)}))};for(i.s();!(n=i.n()).done;)a()}catch(o){i.e(o)}finally{i.f()}return r}(n.search,t.current)}),[n.search]),a=Ae(),o=r.useCallback((function(e,t){var n=Qe("function"===typeof e?e(i):e);a("?"+n,t)}),[a,i]);return[i,o]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(et||(et={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(tt||(tt={}));var rt;function it(e,t,n){return(t=w(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function at(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ot(e){for(var t=1;t=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40),an(a().duration(t||.001,"seconds").asMilliseconds()).replace(/\s/g,"")}(e/(t?Vt:Yt))},tn=function(e,t){var n=(t||a()().toDate()).valueOf()/1e3,r=Xt(e);return{start:n-r,end:n,step:en(r),date:nn(t||a()().toDate())}},nn=function(e){return a().tz(e).utc().format(Ht)},rn=function(e){return a().tz(e).format(Ht)},an=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),i=Math.floor(e/1e3/3600%24),a=Math.floor(e/864e5),o=["d","h","m","s","ms"];return[a,i,r,n,t].map((function(e,t){return e?"".concat(e).concat(o[t]):""})).filter((function(e){return e})).join(" ")},on=function(e){var t=a()(1e3*e);return t.isValid()?t.toDate():new Date},un=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!0},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:function(){return a()().tz().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return a()().tz().endOf("day").toDate()}}].map((function(e){return ot({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return a()().tz().toDate()}},e)})),ln=function(e){var t,n=e.relativeTimeId,r=e.defaultDuration,i=e.defaultEndInput,a=null===(t=un.find((function(e){return e.isDefault})))||void 0===t?void 0:t.id,o=n||wt("g0.relative_time",a),u=un.find((function(e){return e.id===o}));return{relativeTimeId:u?o:"none",duration:u?u.duration:r,endInput:u?u.until():i}},cn=function(e){var t=a()().tz(e);return"UTC".concat(t.format("Z"))},sn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new RegExp(e,"i");return Qt.reduce((function(n,r){var i=(r.match(/^(.*?)\//)||[])[1]||"unknown",a=cn(r),o=a.replace(/UTC|0/,""),u=r.replace(/[/_]/g," "),l={region:r,utc:a,search:"".concat(r," ").concat(a," ").concat(u," ").concat(o)},c=!e||e&&t.test(l.search);return c&&n[i]?n[i].push(l):c&&(n[i]=[l]),n}),{})},fn=function(e){a().tz.setDefault(e)},dn=xt("TIMEZONE")||a().tz.guess();fn(dn);var hn,pn=wt("g0.range_input"),mn=ln({defaultDuration:pn||"1h",defaultEndInput:(hn=wt("g0.end_input",a()().utc().format(Ht)),a()(hn).utcOffset(0,!0).toDate()),relativeTimeId:pn?wt("g0.relative_time","none"):void 0}),vn=mn.duration,gn=mn.endInput,yn=mn.relativeTimeId,_n={duration:vn,period:tn(vn,gn),relativeTime:yn,timezone:dn};function bn(e,t){switch(t.type){case"SET_DURATION":return ot(ot({},e),{},{duration:t.payload,period:tn(t.payload,on(e.period.end)),relativeTime:"none"});case"SET_RELATIVE_TIME":return ot(ot({},e),{},{duration:t.payload.duration,period:tn(t.payload.duration,t.payload.until),relativeTime:t.payload.id});case"SET_PERIOD":var n=function(e){var t=e.to.valueOf()-e.from.valueOf();return an(t)}(t.payload);return ot(ot({},e),{},{duration:n,period:tn(n,t.payload.to),relativeTime:"none"});case"RUN_QUERY":var r=ln({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:on(e.period.end)}),i=r.duration,a=r.endInput;return ot(ot({},e),{},{period:tn(i,a)});case"RUN_QUERY_TO_NOW":return ot(ot({},e),{},{period:tn(e.duration)});case"SET_TIMEZONE":return fn(t.payload),kt("TIMEZONE",t.payload),ot(ot({},e),{},{timezone:t.payload});default:throw new Error}}var Dn=(0,r.createContext)({}),wn=function(){return(0,r.useContext)(Dn).state},kn=function(){return(0,r.useContext)(Dn).dispatch},xn=function(){var e,t=(null===(e=(window.location.hash.split("?")[1]||"").match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map((function(e,t){return wt("g".concat(t,".expr"),"")}))}(),Cn={query:xn,queryHistory:xn.map((function(e){return{index:0,values:[e]}})),autocomplete:xt("AUTOCOMPLETE")||!1};function En(e,t){switch(t.type){case"SET_QUERY":return ot(ot({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return ot(ot({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),ot(ot({},e),{},{queryHistory:e.queryHistory});case"TOGGLE_AUTOCOMPLETE":return kt("AUTOCOMPLETE",!e.autocomplete),ot(ot({},e),{},{autocomplete:!e.autocomplete});default:throw new Error}}var Sn=(0,r.createContext)({}),An=function(){return(0,r.useContext)(Sn).state},Nn=function(){return(0,r.useContext)(Sn).dispatch},Mn=function(){return Lt("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:[Lt("path",{d:"M6.11767 10.4759C6.47736 10.7556 6.91931 10.909 7.37503 10.9121H7.42681C7.90756 10.9047 8.38832 10.7199 8.67677 10.4685C10.1856 9.18921 14.5568 5.18138 14.5568 5.18138C15.7254 4.09438 12.4637 3.00739 7.42681 3H7.36764C2.3308 3.00739 -0.930935 4.09438 0.237669 5.18138C0.237669 5.18138 4.60884 9.18921 6.11767 10.4759ZM8.67677 12.6424C8.31803 12.9248 7.87599 13.0808 7.41941 13.0861H7.37503C6.91845 13.0808 6.47641 12.9248 6.11767 12.6424C5.0822 11.7551 1.38409 8.42018 0.000989555 7.14832V9.07829C0.000989555 9.29273 0.0823481 9.57372 0.222877 9.70682L0.293316 9.7712L0.293344 9.77122C1.33784 10.7258 4.83903 13.9255 6.11767 15.0161C6.47641 15.2985 6.91845 15.4545 7.37503 15.4597H7.41941C7.90756 15.4449 8.38092 15.2601 8.67677 15.0161C9.9859 13.9069 13.6249 10.572 14.5642 9.70682C14.7121 9.57372 14.7861 9.29273 14.7861 9.07829V7.14832C12.7662 8.99804 10.7297 10.8295 8.67677 12.6424ZM7.41941 17.6263C7.87513 17.6232 8.31708 17.4698 8.67677 17.19C10.7298 15.3746 12.7663 13.5407 14.7861 11.6885V13.6259C14.7861 13.8329 14.7121 14.1139 14.5642 14.247C13.6249 15.1196 9.9859 18.4471 8.67677 19.5563C8.38092 19.8077 7.90756 19.9926 7.41941 20H7.37503C6.91931 19.9968 6.47736 19.8435 6.11767 19.5637C4.91427 18.5373 1.74219 15.6364 0.502294 14.5025C0.393358 14.4029 0.299337 14.3169 0.222877 14.247C0.0823481 14.1139 0.000989555 13.8329 0.000989555 13.6259V11.6885C1.38409 12.953 5.0822 16.2953 6.11767 17.1827C6.47641 17.4651 6.91845 17.6211 7.37503 17.6263H7.41941Z"}),Lt("path",{d:"M34.9996 5L29.1596 19.46H26.7296L20.8896 5H23.0496C23.2829 5 23.4729 5.05667 23.6196 5.17C23.7663 5.28333 23.8763 5.43 23.9496 5.61L27.3596 14.43C27.4729 14.7167 27.5796 15.0333 27.6796 15.38C27.7863 15.72 27.8863 16.0767 27.9796 16.45C28.0596 16.0767 28.1463 15.72 28.2396 15.38C28.3329 15.0333 28.4363 14.7167 28.5496 14.43L31.9396 5.61C31.9929 5.45667 32.0963 5.31667 32.2496 5.19C32.4096 5.06333 32.603 5 32.8297 5H34.9996ZM52.1763 5V19.46H49.8064V10.12C49.8064 9.74667 49.8263 9.34333 49.8663 8.91L45.4963 17.12C45.2897 17.5133 44.973 17.71 44.5463 17.71H44.1663C43.7397 17.71 43.4231 17.5133 43.2164 17.12L38.7963 8.88C38.8163 9.1 38.833 9.31667 38.8463 9.53C38.8597 9.74333 38.8663 9.94 38.8663 10.12V19.46H36.4963V5H38.5263C38.6463 5 38.7497 5.00333 38.8363 5.01C38.923 5.01667 38.9997 5.03333 39.0663 5.06C39.1397 5.08667 39.203 5.13 39.2563 5.19C39.3163 5.25 39.373 5.33 39.4263 5.43L43.7563 13.46C43.8697 13.6733 43.973 13.8933 44.0663 14.12C44.1663 14.3467 44.263 14.58 44.3563 14.82C44.4497 14.5733 44.5464 14.3367 44.6464 14.11C44.7464 13.8767 44.8531 13.6533 44.9664 13.44L49.2363 5.43C49.2897 5.33 49.3463 5.25 49.4063 5.19C49.4663 5.13 49.5297 5.08667 49.5963 5.06C49.6697 5.03333 49.7497 5.01667 49.8363 5.01C49.923 5.00333 50.0264 5 50.1464 5H52.1763ZM61.0626 18.73C61.7426 18.73 62.3492 18.6133 62.8826 18.38C63.4226 18.14 63.8792 17.81 64.2526 17.39C64.6259 16.97 64.9092 16.4767 65.1026 15.91C65.3026 15.3367 65.4026 14.72 65.4026 14.06V5.31H66.4226V14.06C66.4226 14.84 66.2993 15.57 66.0527 16.25C65.806 16.9233 65.4493 17.5133 64.9827 18.02C64.5227 18.52 63.9592 18.9133 63.2926 19.2C62.6326 19.4867 61.8892 19.63 61.0626 19.63C60.2359 19.63 59.4893 19.4867 58.8227 19.2C58.1627 18.9133 57.5992 18.52 57.1326 18.02C56.6726 17.5133 56.3193 16.9233 56.0727 16.25C55.826 15.57 55.7026 14.84 55.7026 14.06V5.31H56.7327V14.05C56.7327 14.71 56.8292 15.3267 57.0226 15.9C57.2226 16.4667 57.506 16.96 57.8727 17.38C58.246 17.8 58.6993 18.13 59.2327 18.37C59.7727 18.61 60.3826 18.73 61.0626 18.73ZM71.4438 19.46H70.4138V5.31H71.4438V19.46Z"})]})},Fn=function(){return Lt("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Lt("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})})},On=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})})},Tn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})})},Ln=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})})},In=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})})},Bn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})})},Pn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})},Rn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})},zn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})})},jn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})})},$n=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m7 10 5 5 5-5z"})})},Hn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Lt("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),Lt("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]})},Yn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})})},Vn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})})},Un=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})})},qn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M8 5v14l11-7z"})})},Wn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})})},Qn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})})},Gn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})})},Jn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})})},Zn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})})},Kn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})})},Xn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19 13H5v-2h14v2z"})})},er=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})})},tr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})})},nr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})})},rr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})},ir=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})})},ar=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})})},or=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Lt("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21 5C19.89 4.65 18.67 4.5 17.5 4.5C15.55 4.5 13.45 4.9 12 6C10.55 4.9 8.45 4.5 6.5 4.5C5.33 4.5 4.11 4.65 3 5C2.25 5.25 1.6 5.55 1 6V20.6C1 20.85 1.25 21.1 1.5 21.1C1.6 21.1 1.65 21.1 1.75 21.05C3.15 20.3 4.85 20 6.5 20C8.2 20 10.65 20.65 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5ZM21 18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5C10.65 18.65 8.2 18 6.5 18C5.3 18 4.1 18.15 3 18.5V7C4.1 6.65 5.3 6.5 6.5 6.5C8.2 6.5 10.65 7.15 12 8C13.35 7.15 15.8 6.5 17.5 6.5C18.7 6.5 19.9 6.65 21 7V18.5Z"}),Lt("path",{d:"M17.5 10.5C18.38 10.5 19.23 10.59 20 10.76V9.24C19.21 9.09 18.36 9 17.5 9C15.8 9 14.26 9.29 13 9.83V11.49C14.13 10.85 15.7 10.5 17.5 10.5ZM13 12.49V14.15C14.13 13.51 15.7 13.16 17.5 13.16C18.38 13.16 19.23 13.25 20 13.42V11.9C19.21 11.75 18.36 11.66 17.5 11.66C15.8 11.66 14.26 11.96 13 12.49ZM17.5 14.33C15.8 14.33 14.26 14.62 13 15.16V16.82C14.13 16.18 15.7 15.83 17.5 15.83C18.38 15.83 19.23 15.92 20 16.09V14.57C19.21 14.41 18.36 14.33 17.5 14.33Z"}),Lt("path",{d:"M6.5 10.5C5.62 10.5 4.77 10.59 4 10.76V9.24C4.79 9.09 5.64 9 6.5 9C8.2 9 9.74 9.29 11 9.83V11.49C9.87 10.85 8.3 10.5 6.5 10.5ZM11 12.49V14.15C9.87 13.51 8.3 13.16 6.5 13.16C5.62 13.16 4.77 13.25 4 13.42V11.9C4.79 11.75 5.64 11.66 6.5 11.66C8.2 11.66 9.74 11.96 11 12.49ZM6.5 14.33C8.2 14.33 9.74 14.62 11 15.16V16.82C9.87 16.18 8.3 15.83 6.5 15.83C5.62 15.83 4.77 15.92 4 16.09V14.57C4.79 14.41 5.64 14.33 6.5 14.33Z"})]})},ur=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z"})})},lr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 10.8792 13.4202 11.3236 12.7704 11.8217C11.9421 12.4566 11 13.1787 11 15H13C13 13.9046 13.711 13.2833 14.4408 12.6455C15.21 11.9733 16 11.2829 16 10C16 7.79 14.21 6 12 6ZM13 16V18H11V16H13Z"})})},cr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M4 20h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2zM2 6c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2zm4 1H4V5h2v2zm-2 7h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2z"})})},sr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})})},fr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"})})},dr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm4.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z"})})},hr=function(e){var t=v((0,r.useState)({width:0,height:0}),2),n=t[0],i=t[1];return(0,r.useEffect)((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,r=t.height;i({width:n,height:r})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[e]),n},pr=n(123),mr=n.n(pr);function vr(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var gr=["to","isNavLink","children"],yr=function(e){var t=e.to,n=e.isNavLink,r=e.children,i=vr(e,gr);return n?Lt(Xe,ot(ot({to:t},i),{},{children:r})):Lt("div",ot(ot({},i),{},{children:r}))},_r=function(e){var t,n=e.activeItem,r=e.item,i=e.color,a=void 0===i?Et("color-primary"):i,o=e.activeNavRef,u=e.onChange,l=e.isNavLink;return Lt(yr,{className:mr()(it({"vm-tabs-item":!0,"vm-tabs-item_active":n===r.value},r.className||"",r.className)),isNavLink:l,to:r.value,style:{color:a},onClick:(t=r.value,function(){u&&u(t)}),ref:n===r.value?o:void 0,children:[r.icon&&Lt("div",{className:mr()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!r.label}),children:r.icon}),r.label]})},br=function(e){var t=e.activeItem,n=e.items,i=e.color,a=void 0===i?Et("color-primary"):i,o=e.onChange,u=e.indicatorPlacement,l=void 0===u?"bottom":u,c=e.isNavLink,s=hr(document.body),f=(0,r.useRef)(null),d=v((0,r.useState)({left:0,width:0,bottom:0}),2),h=d[0],p=d[1];return(0,r.useEffect)((function(){var e;if((null===(e=f.current)||void 0===e?void 0:e.base)instanceof HTMLElement){var t=f.current.base,n=t.offsetLeft,r=t.offsetWidth,i=t.offsetHeight;p({left:n,width:r,bottom:"top"===l?i-2:0})}}),[s,t,f,n]),Lt("div",{className:"vm-tabs",children:[n.map((function(e){return Lt(_r,{activeItem:t,item:e,onChange:o,color:a,activeNavRef:f,isNavLink:c},e.value)})),Lt("div",{className:"vm-tabs__indicator",style:ot(ot({},h),{},{borderColor:a})})]})},Dr=[{value:"chart",icon:Lt(Qn,{}),label:"Graph",prometheusCode:0},{value:"code",icon:Lt(Jn,{}),label:"JSON",prometheusCode:3},{value:"table",icon:Lt(Gn,{}),label:"Table",prometheusCode:1}],wr=function(){var e=Nr().displayType,t=Mr();return Lt(br,{activeItem:e,items:Dr,onChange:function(n){var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},kr=wt("g0.tab",0),xr=Dr.find((function(e){return e.prometheusCode===+kr||e.value===kr})),Cr=xt("SERIES_LIMITS"),Er={displayType:(null===xr||void 0===xr?void 0:xr.value)||"chart",nocache:!1,isTracingEnabled:!1,seriesLimits:Cr?JSON.parse(xt("SERIES_LIMITS")):bt,tableCompact:xt("TABLE_COMPACT")||!1};function Sr(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return ot(ot({},e),{},{displayType:t.payload});case"SET_SERIES_LIMITS":return kt("SERIES_LIMITS",JSON.stringify(t.payload)),ot(ot({},e),{},{seriesLimits:t.payload});case"TOGGLE_QUERY_TRACING":return ot(ot({},e),{},{isTracingEnabled:!e.isTracingEnabled});case"TOGGLE_NO_CACHE":return ot(ot({},e),{},{nocache:!e.nocache});case"TOGGLE_TABLE_COMPACT":return kt("TABLE_COMPACT",!e.tableCompact),ot(ot({},e),{},{tableCompact:!e.tableCompact});default:throw new Error}}var Ar=(0,r.createContext)({}),Nr=function(){return(0,r.useContext)(Ar).state},Mr=function(){return(0,r.useContext)(Ar).dispatch},Fr={customStep:wt("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}},isHistogram:!1};function Or(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return ot(ot({},e),{},{yaxis:ot(ot({},e.yaxis),{},{limits:ot(ot({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"SET_CUSTOM_STEP":return ot(ot({},e),{},{customStep:t.payload});case"SET_YAXIS_LIMITS":return ot(ot({},e),{},{yaxis:ot(ot({},e.yaxis),{},{limits:ot(ot({},e.yaxis.limits),{},{range:t.payload})})});case"SET_IS_HISTOGRAM":return ot(ot({},e),{},{isHistogram:t.payload});default:throw new Error}}var Tr=(0,r.createContext)({}),Lr=function(){return(0,r.useContext)(Tr).state},Ir=function(){return(0,r.useContext)(Tr).dispatch},Br={topN:wt("topN",null),maxLifetime:wt("maxLifetime",""),runQuery:0};function Pr(e,t){switch(t.type){case"SET_TOP_N":return ot(ot({},e),{},{topN:t.payload});case"SET_MAX_LIFE_TIME":return ot(ot({},e),{},{maxLifetime:t.payload});case"SET_RUN_QUERY":return ot(ot({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Rr=(0,r.createContext)({}),zr=function(){return(0,r.useContext)(Rr).state},jr={windows:"Windows",mac:"Mac OS",linux:"Linux"},$r=function(){return(Object.values(jr).find((function(e){return navigator.userAgent.indexOf(e)>=0}))||"unknown")===jr.mac};function Hr(){var e=hr(document.body),t=function(){var e=["Android","webOS","iPhone","iPad","iPod","BlackBerry","Windows Phone"].map((function(e){return navigator.userAgent.match(new RegExp(e,"i"))})).some((function(e){return e})),t=window.innerWidth<500;return e||t},n=v((0,r.useState)(t()),2),i=n[0],a=n[1];return(0,r.useEffect)((function(){a(t())}),[e]),{isMobile:i}}var Yr={success:Lt(Rn,{}),error:Lt(Pn,{}),warning:Lt(Bn,{}),info:Lt(In,{})},Vr=function(e){var t,n=e.variant,r=e.children,i=Bt().isDarkTheme,a=Hr().isMobile;return Lt("div",{className:mr()((t={"vm-alert":!0},it(t,"vm-alert_".concat(n),n),it(t,"vm-alert_dark",i),it(t,"vm-alert_mobile",a),t)),children:[Lt("div",{className:"vm-alert__icon",children:Yr[n||"info"]}),Lt("div",{className:"vm-alert__content",children:r})]})},Ur=(0,r.createContext)({showInfoMessage:function(){}}),qr=function(){return(0,r.useContext)(Ur)},Wr={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function Qr(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return ot(ot({},e),{},{dashboardsSettings:t.payload});case"SET_DASHBOARDS_LOADING":return ot(ot({},e),{},{dashboardsLoading:t.payload});case"SET_DASHBOARDS_ERROR":return ot(ot({},e),{},{dashboardsError:t.payload});default:throw new Error}}var Gr=(0,r.createContext)({}),Jr=function(){return(0,r.useContext)(Gr).state},Zr=function(){for(var e=arguments.length,t=new Array(e),n=0;nd,m=r.top-20<0,v=r.left+x.width+20>f,g=r.left-20<0;return p&&(r.top=t.top-x.height-u),m&&(r.top=t.height+t.top+u),v&&(r.left=t.right-x.width-l),g&&(r.left=t.left+l),h&&(r.width="".concat(t.width,"px")),r.top<0&&(r.top=20),r}),[n,a,D,t,h]);d&&Xr(E,(function(){return w(!1)}),n),(0,r.useEffect)((function(){if(E.current&&D&&(!g||m)){var e=E.current.getBoundingClientRect(),t=e.right,n=e.width;if(t>window.innerWidth){var r=window.innerWidth-20-n;E.current.style.left=rm,y=r.top-20<0,_=r.left+p.width+20>h,b=r.left-20<0;return v&&(r.top=n.top-p.height-c),y&&(r.top=n.height+n.top+c),_&&(r.left=n.right-p.width-s),b&&(r.left=n.left+s),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[g,o,f,p]),D=function(){"boolean"!==typeof i&&d(!0)},w=function(){d(!1)};return(0,r.useEffect)((function(){"boolean"===typeof i&&d(i)}),[i]),(0,r.useEffect)((function(){var e,t=null===g||void 0===g||null===(e=g.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",D),t.addEventListener("mouseleave",w),function(){t.removeEventListener("mouseenter",D),t.removeEventListener("mouseleave",w)}}),[g]),Lt(Ot.HY,{children:[Lt(r.Fragment,{ref:g,children:t}),!c&&f&&r.default.createPortal(Lt("div",{className:"vm-tooltip",ref:y,style:b,children:n}),document.body)]})},oi=function(e){var t=v((0,r.useState)(!!e),2),n=t[0],i=t[1],a=(0,r.useCallback)((function(){return i(!0)}),[]),o=(0,r.useCallback)((function(){return i(!1)}),[]),u=(0,r.useCallback)((function(){return i((function(e){return!e}))}),[]);return{value:n,setValue:i,setTrue:a,setFalse:o,toggle:u}},ui=Lt("code",{children:$r()?"Cmd":"Ctrl"}),li=[{title:"Zoom in",description:Lt(Ot.HY,{children:["To zoom in, hold down the ",ui," + ",Lt("code",{children:"scroll up"}),", or press the ",Lt("code",{children:"+"}),". Also, you can zoom in on a range on the graph by holding down your mouse button and selecting the range."]})},{title:"Zoom out",description:Lt(Ot.HY,{children:["To zoom out, hold down the ",ui," + ",Lt("code",{children:"scroll down"}),", or press the ",Lt("code",{children:"-"}),"."]})},{title:"Move horizontal axis",description:Lt(Ot.HY,{children:["To move the graph, hold down the ",ui," + ",Lt("code",{children:"drag"})," the graph to the right or left."]})},{title:"Fixing a tooltip",description:Lt(Ot.HY,{children:["To fix the tooltip, ",Lt("code",{children:"click"})," mouse when it's open. Then, you can drag the fixed tooltip by ",Lt("code",{children:"clicking"})," and ",Lt("code",{children:"dragging"})," on the ",Lt(ir,{})," icon."]})},{title:"Set a custom range for the vertical axis",description:Lt(Ot.HY,{children:["To set a custom range for the vertical axis, click on the ",Lt(On,{})," icon located in the upper right corner of the graph, activate the toggle, and set the values."]})}],ci=[{title:"Show/hide a legend item",description:Lt(Ot.HY,{children:[Lt("code",{children:"click"})," on a legend item to isolate it on the graph.",ui," + ",Lt("code",{children:"click"})," on a legend item to remove it from the graph. To revert to the previous state, click again."]})},{title:"Copy label key-value pairs",description:Lt(Ot.HY,{children:[Lt("code",{children:"click"})," on a label key-value pair to save it to the clipboard."]})},{title:"Collapse/Expand the legend group",description:Lt(Ot.HY,{children:[Lt("code",{children:"click"})," on the group name (e.g. ",Lt("b",{children:'Query 1: {__name__!=""}'}),") to collapse or expand the legend."]})}],si=li.concat(ci),fi=function(){var e=oi(!1),t=e.value,n=e.setFalse,r=e.setTrue;return Lt(Ot.HY,{children:[Lt(ai,{title:"Show tips on working with the graph",children:Lt(ei,{variant:"text",color:"gray",startIcon:Lt(dr,{}),onClick:r})}),t&&Lt(ii,{title:"Tips on working with the graph and the legend",onClose:n,children:Lt("div",{className:"fc-graph-tips",children:si.map((function(e){var t=e.title,n=e.description;return Lt("div",{className:"fc-graph-tips-item",children:[Lt("h4",{className:"fc-graph-tips-item__action",children:t}),Lt("p",{className:"fc-graph-tips-item__description",children:n})]},t)}))})})]})},di=Lt("code",{children:$r()?"Cmd":"Ctrl"}),hi=[{title:"Query",list:[{keys:Lt("code",{children:"Enter"}),description:"Run"},{keys:Lt(Ot.HY,{children:[Lt("code",{children:"Shift"})," + ",Lt("code",{children:"Enter"})]}),description:"Multi-line queries"},{keys:Lt(Ot.HY,{children:[di," + ",Lt("code",{children:"Arrow Up"})]}),description:"Previous command from the Query history"},{keys:Lt(Ot.HY,{children:[di," + ",Lt("code",{children:"Arrow Down"})]}),description:"Next command from the Query history"},{keys:Lt(Ot.HY,{children:[di," + ",Lt("code",{children:"click"})," by ",Lt(tr,{})]}),description:"Toggle multiple queries"}]},{title:"Graph",readMore:Lt(fi,{}),list:[{keys:Lt(Ot.HY,{children:[di," + ",Lt("code",{children:"scroll Up"})," or ",Lt("code",{children:"+"})]}),description:"Zoom in"},{keys:Lt(Ot.HY,{children:[di," + ",Lt("code",{children:"scroll Down"})," or ",Lt("code",{children:"-"})]}),description:"Zoom out"},{keys:Lt(Ot.HY,{children:[di," + ",Lt("code",{children:"drag"})]}),description:"Move the graph left/right"},{keys:Lt(Ot.HY,{children:Lt("code",{children:"click"})}),description:"Select the series in the legend"},{keys:Lt(Ot.HY,{children:[di," + ",Lt("code",{children:"click"})]}),description:"Toggle multiple series in the legend"}]}],pi="Shortcut keys",mi=$r(),vi=mi?"Cmd + /":"F1",gi=function(e){var t=e.showTitle,n=v((0,r.useState)(!1),2),i=n[0],a=n[1],o=pt(),u=function(){a(!0)},l=function(e){var t=mi&&"/"===e.key&&e.metaKey,n=!mi&&"F1"===e.key&&!e.metaKey;(t||n)&&u()};return(0,r.useEffect)((function(){return window.addEventListener("keydown",l),function(){window.removeEventListener("keydown",l)}}),[]),Lt(Ot.HY,{children:[Lt(ai,{open:!0!==t&&void 0,title:"".concat(pi," (").concat(vi,")"),placement:"bottom-center",children:Lt(ei,{className:o?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(Un,{}),onClick:u,children:t&&pi})}),i&&Lt(ii,{title:"Shortcut keys",onClose:function(){a(!1)},children:Lt("div",{className:"vm-shortcuts",children:hi.map((function(e){return Lt("div",{className:"vm-shortcuts-section",children:[e.readMore&&Lt("div",{className:"vm-shortcuts-section__read-more",children:e.readMore}),Lt("h3",{className:"vm-shortcuts-section__title",children:e.title}),Lt("div",{className:"vm-shortcuts-section-list",children:e.list.map((function(t,n){return Lt("div",{className:"vm-shortcuts-section-list-item",children:[Lt("div",{className:"vm-shortcuts-section-list-item__key",children:t.keys}),Lt("p",{className:"vm-shortcuts-section-list-item__description",children:t.description})]},"".concat(e.title,"_").concat(n))}))})]},e.title)}))})})]})},yi=function(e){var t=e.open;return Lt("button",{className:mr()({"vm-menu-burger":!0,"vm-menu-burger_opened":t}),children:Lt("span",{})})},_i=function(e){var t=e.background,n=e.color,i=Se().pathname,a=Hr().isMobile,o=(0,r.useRef)(null),u=v((0,r.useState)(!1),2),l=u[0],c=u[1],s=function(){c(!1)};return(0,r.useEffect)(s,[i]),Xr(o,s),Lt("div",{className:"vm-header-sidebar",ref:o,children:[Lt("div",{className:mr()({"vm-header-sidebar-button":!0,"vm-header-sidebar-button_open":l}),onClick:function(){c((function(e){return!e}))},children:Lt(yi,{open:l})}),Lt("div",{className:mr()({"vm-header-sidebar-menu":!0,"vm-header-sidebar-menu_open":l}),children:[Lt("div",{children:Lt(ri,{color:n,background:t,direction:"column"})}),Lt("div",{className:"vm-header-sidebar-menu-settings",children:!a&&Lt(gi,{showTitle:!0})})]})]})},bi=function(e){var t=e.label,n=e.value,i=e.type,a=void 0===i?"text":i,o=e.error,u=void 0===o?"":o,l=e.placeholder,c=e.endIcon,s=e.startIcon,f=e.disabled,d=void 0!==f&&f,h=e.autofocus,p=void 0!==h&&h,m=e.helperText,v=e.inputmode,g=void 0===v?"text":v,y=e.onChange,_=e.onEnter,b=e.onKeyDown,D=e.onFocus,w=e.onBlur,k=Bt().isDarkTheme,x=Hr().isMobile,C=(0,r.useRef)(null),E=(0,r.useRef)(null),S=(0,r.useMemo)((function(){return"textarea"===a?E:C}),[a]),A=mr()({"vm-text-field__input":!0,"vm-text-field__input_error":u,"vm-text-field__input_icon-start":s,"vm-text-field__input_disabled":d,"vm-text-field__input_textarea":"textarea"===a}),N=function(e){b&&b(e),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),_&&_())},M=function(e){d||y&&y(e.target.value)};(0,r.useEffect)((function(){var e;p&&!x&&(null===S||void 0===S||null===(e=S.current)||void 0===e?void 0:e.focus)&&S.current.focus()}),[S,p]);var F=function(){D&&D()},O=function(){w&&w()};return Lt("label",{className:mr()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===a,"vm-text-field_dark":k}),"data-replicated-value":n,children:[s&&Lt("div",{className:"vm-text-field__icon-start",children:s}),c&&Lt("div",{className:"vm-text-field__icon-end",children:c}),"textarea"===a?Lt("textarea",{className:A,disabled:d,ref:E,value:n,rows:1,inputMode:g,placeholder:l,autoCapitalize:"none",onInput:M,onKeyDown:N,onFocus:F,onBlur:O}):Lt("input",{className:A,disabled:d,ref:C,value:n,type:a,placeholder:l,inputMode:g,autoCapitalize:"none",onInput:M,onKeyDown:N,onFocus:F,onBlur:O}),t&&Lt("span",{className:"vm-text-field__label",children:t}),Lt("span",{className:"vm-text-field__error","data-show":!!u,children:u}),m&&!u&&Lt("span",{className:"vm-text-field__helper-text",children:m})]})},Di=function(e){var t=e.accountIds,n=pt(),i=Hr().isMobile,a=Bt(),o=a.tenantId,u=a.serverUrl,l=Pt(),c=kn(),s=v((0,r.useState)(""),2),f=s[0],d=s[1],h=v((0,r.useState)(!1),2),p=h[0],m=h[1],g=(0,r.useRef)(null),y=(0,r.useMemo)((function(){if(!f)return t;try{var e=new RegExp(f,"i");return t.filter((function(t){return e.test(t)})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(n){return[]}}),[f,t]),_=(0,r.useMemo)((function(){return t.length>1&&!0}),[t,u]),b=function(){m((function(e){return!e}))},D=function(){m(!1)},w=function(e){return function(){var t=e;if(l({type:"SET_TENANT_ID",payload:t}),u){var n=mt(u,t);if(n===u)return;l({type:"SET_SERVER",payload:n}),c({type:"RUN_QUERY"})}D()}};return(0,r.useEffect)((function(){var e=(u.match(/(\/select\/)(\d+|\d.+)(\/)(.+)/)||[])[2];o&&o!==e?w(o)():w(e)()}),[u]),_?Lt("div",{className:"vm-tenant-input",children:[Lt(ai,{title:"Define Tenant ID if you need request to another storage",children:Lt("div",{ref:g,children:i?Lt("div",{className:"vm-mobile-option",onClick:b,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(cr,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Tenant ID"}),Lt("span",{className:"vm-mobile-option-text__value",children:o})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ei,{className:n?"":"vm-header-button",variant:"contained",color:"primary",fullWidth:!0,startIcon:Lt(cr,{}),endIcon:Lt("div",{className:mr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":p}),children:Lt(jn,{})}),onClick:b,children:o})})}),Lt(ti,{open:p,placement:"bottom-right",onClose:D,buttonRef:g,title:i?"Define Tenant ID":void 0,children:Lt("div",{className:mr()({"vm-list vm-tenant-input-list":!0,"vm-list vm-tenant-input-list_mobile":i}),children:[Lt("div",{className:"vm-tenant-input-list__search",children:Lt(bi,{autofocus:!0,label:"Search",value:f,onChange:d,type:"search"})}),y.map((function(e){return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":i,"vm-list-item_active":e===o}),onClick:w(e),children:e},e)}))]})})]}):null};var wi,ki=function(e){var t=(0,r.useRef)();return(0,r.useEffect)((function(){t.current=e}),[e]),t.current},xi=function(){var e=pt(),t=Hr().isMobile,n=Lr(),i=n.customStep,a=n.isHistogram,o=wn().period,u=o.step,l=o.end,c=o.start,s=Ir(),f=ki(l-c),d=(0,r.useMemo)((function(){return en(l-c,a)}),[u,a]),h=v((0,r.useState)(!1),2),p=h[0],m=h[1],g=v((0,r.useState)(i||d),2),y=g[0],_=g[1],b=v((0,r.useState)(""),2),D=b[0],w=b[1],k=(0,r.useRef)(null),x=function(){m((function(e){return!e}))},C=function(){m(!1)},E=function(e){var t=e||y||d||"1s",n=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");s({type:"SET_CUSTOM_STEP",payload:n}),_(n),w("")},S=function(e){var t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((function(e){return parseFloat(e)>0})),i=n.every((function(e){return Gt.find((function(t){return t.short===e}))})),a=r&&i;_(e),w(a?"":ut.validStep)};return(0,r.useEffect)((function(){i&&E(i)}),[i]),(0,r.useEffect)((function(){!i&&d&&E(d)}),[d]),(0,r.useEffect)((function(){l-c!==f&&f&&d&&E(d)}),[l,c,f,d]),(0,r.useEffect)((function(){u!==i&&u!==d||E(d)}),[a]),Lt("div",{className:"vm-step-control",ref:k,children:[t?Lt("div",{className:"vm-mobile-option",onClick:x,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(ar,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Step"}),Lt("span",{className:"vm-mobile-option-text__value",children:y})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:"Query resolution step width",children:Lt(ei,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(ar,{}),onClick:x,children:Lt("p",{children:["STEP",Lt("p",{className:"vm-step-control__value",children:y})]})})}),Lt(ti,{open:p,placement:"bottom-right",onClose:C,buttonRef:k,title:t?"Query resolution step width":void 0,children:Lt("div",{className:mr()({"vm-step-control-popper":!0,"vm-step-control-popper_mobile":t}),children:[Lt(bi,{autofocus:!0,label:"Step value",value:y,error:D,onChange:S,onEnter:function(){E(),C()},onFocus:function(){document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:E,endIcon:Lt(ai,{title:"Set default step value: ".concat(d),children:Lt(ei,{size:"small",variant:"text",color:"primary",startIcon:Lt(Ln,{}),onClick:function(){var e=d||"1s";S(e),E(e)}})})}),Lt("div",{className:"vm-step-control-popper-info",children:[Lt("code",{children:"step"})," - the ",Lt("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Lt("code",{children:"query"})," is executed at",Lt("code",{children:"start"}),", ",Lt("code",{children:"start+step"}),", ",Lt("code",{children:"start+2*step"}),", \u2026, ",Lt("code",{children:"end"})," timestamps.",Lt("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"help noreferrer",children:"Read more about Range query"})]})]})})]})},Ci=function(e){var t=e.relativeTime,n=e.setDuration,r=Hr().isMobile;return Lt("div",{className:mr()({"vm-time-duration":!0,"vm-time-duration_mobile":r}),children:un.map((function(e){var i,a=e.id,o=e.duration,u=e.until,l=e.title;return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":r,"vm-list-item_active":a===t}),onClick:(i={duration:o,until:u(),id:a},function(){n(i)}),children:l||o},a)}))})},Ei=function(e){var t=e.viewDate,n=e.showArrowNav,r=e.onChangeViewDate;return Lt("div",{className:"vm-calendar-header",children:[Lt("div",{className:"vm-calendar-header-left",onClick:e.toggleDisplayYears,children:[Lt("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Lt("div",{className:"vm-calendar-header-left__select-year",children:Lt($n,{})})]}),n&&Lt("div",{className:"vm-calendar-header-right",children:[Lt("div",{className:"vm-calendar-header-right__prev",onClick:function(){r(t.subtract(1,"month"))},children:Lt(jn,{})}),Lt("div",{className:"vm-calendar-header-right__next",onClick:function(){r(t.add(1,"month"))},children:Lt(jn,{})})]})]})},Si=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ai=function(e){var t=e.viewDate,n=e.selectDate,i=e.onChangeSelectDate,o=a()().tz().startOf("day"),u=(0,r.useMemo)((function(){var e=new Array(42).fill(null),n=t.startOf("month"),r=t.endOf("month").diff(n,"day")+1,i=new Array(r).fill(n).map((function(e,t){return e.add(t,"day")})),a=n.day();return e.splice.apply(e,[a,r].concat(_(i))),e}),[t]),l=function(e){return function(){e&&i(e)}};return Lt("div",{className:"vm-calendar-body",children:[Si.map((function(e){return Lt("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]},e)})),u.map((function(e,t){return Lt("div",{className:mr()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.toISOString())===n.startOf("day").toISOString(),"vm-calendar-body-cell_day_today":(e&&e.toISOString())===o.toISOString()}),onClick:l(e),children:e&&e.format("D")},e?e.toISOString():t)}))]})},Ni=function(e){var t=e.viewDate,n=e.onChangeViewDate,i=a()().format("YYYY"),o=(0,r.useMemo)((function(){return t.format("YYYY")}),[t]),u=(0,r.useMemo)((function(){var e=a()().subtract(9,"year");return new Array(18).fill(e).map((function(e,t){return e.add(t,"year")}))}),[t]);(0,r.useEffect)((function(){var e=document.getElementById("vm-calendar-year-".concat(o));e&&e.scrollIntoView({block:"center"})}),[]);return Lt("div",{className:"vm-calendar-years",children:u.map((function(e){return Lt("div",{className:mr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===o,"vm-calendar-years__year_today":e.format("YYYY")===i}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,function(){n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})},Mi=function(e){var t=e.viewDate,n=e.selectDate,i=e.onChangeViewDate,o=a()().format("MM"),u=(0,r.useMemo)((function(){return n.format("MM")}),[n]),l=(0,r.useMemo)((function(){return new Array(12).fill("").map((function(e,n){return a()(t).month(n)}))}),[t]);(0,r.useEffect)((function(){var e=document.getElementById("vm-calendar-year-".concat(u));e&&e.scrollIntoView({block:"center"})}),[]);var c=function(e){return function(){i(e)}};return Lt("div",{className:"vm-calendar-years",children:l.map((function(e){return Lt("div",{className:mr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("MM")===u,"vm-calendar-years__year_today":e.format("MM")===o}),id:"vm-calendar-year-".concat(e.format("MM")),onClick:c(e),children:e.format("MMMM")},e.format("MM"))}))})};!function(e){e[e.days=0]="days",e[e.months=1]="months",e[e.years=2]="years"}(wi||(wi={}));var Fi=function(e){var t=e.date,n=e.format,i=void 0===n?jt:n,o=e.onChange,u=v((0,r.useState)(wi.days),2),l=u[0],c=u[1],s=v((0,r.useState)(a().tz(t)),2),f=s[0],d=s[1],h=v((0,r.useState)(a().tz(t)),2),p=h[0],m=h[1],g=Hr().isMobile,y=function(e){d(e),c((function(e){return e===wi.years?wi.months:wi.days}))};return(0,r.useEffect)((function(){p.format()!==a().tz(t).format()&&o(p.format(i))}),[p]),(0,r.useEffect)((function(){var e=a().tz(t);d(e),m(e)}),[t]),Lt("div",{className:mr()({"vm-calendar":!0,"vm-calendar_mobile":g}),children:[Lt(Ei,{viewDate:f,onChangeViewDate:y,toggleDisplayYears:function(){c((function(e){return e===wi.years?wi.days:wi.years}))},showArrowNav:l===wi.days}),l===wi.days&&Lt(Ai,{viewDate:f,selectDate:p,onChangeSelectDate:function(e){m(e)}}),l===wi.years&&Lt(Ni,{viewDate:f,onChangeViewDate:y}),l===wi.months&&Lt(Mi,{selectDate:p,viewDate:f,onChangeViewDate:y})]})},Oi=(0,r.forwardRef)((function(e,t){var n=e.date,i=e.targetRef,o=e.format,u=void 0===o?jt:o,l=e.onChange,c=e.label,s=v((0,r.useState)(!1),2),f=s[0],d=s[1],h=(0,r.useMemo)((function(){return a()(n).isValid()?a().tz(n):a()().tz()}),[n]),p=Hr().isMobile,m=function(){d((function(e){return!e}))},g=function(){d(!1)},y=function(e){"Escape"!==e.key&&"Enter"!==e.key||g()};return(0,r.useEffect)((function(){var e;return null===(e=i.current)||void 0===e||e.addEventListener("click",m),function(){var e;null===(e=i.current)||void 0===e||e.removeEventListener("click",m)}}),[i]),(0,r.useEffect)((function(){return window.addEventListener("keyup",y),function(){window.removeEventListener("keyup",y)}}),[]),Lt(Ot.HY,{children:Lt(ti,{open:f,buttonRef:i,placement:"bottom-right",onClose:g,title:p?c:void 0,children:Lt("div",{ref:t,children:Lt(Fi,{date:h,format:u,onChange:function(e){l(e),g()}})})})})})),Ti=Oi,Li=n(111),Ii=n.n(Li),Bi=function(e){return a()(e).isValid()?a().tz(e).format(jt):e},Pi=function(e){var t=e.value,n=void 0===t?"":t,i=e.label,o=e.pickerLabel,u=e.pickerRef,l=e.onChange,c=e.onEnter,s=(0,r.useRef)(null),f=v((0,r.useState)(null),2),d=f[0],h=f[1],p=v((0,r.useState)(Bi(n)),2),m=p[0],g=p[1],y=v((0,r.useState)(!1),2),_=y[0],b=y[1],D=v((0,r.useState)(!1),2),w=D[0],k=D[1],x=a()(m).isValid()?"":"Expected format: YYYY-MM-DD HH:mm:ss";return(0,r.useEffect)((function(){var e=Bi(n);e!==m&&g(e),w&&(c(),k(!1))}),[n]),(0,r.useEffect)((function(){_&&d&&(d.focus(),d.setSelectionRange(11,11),b(!1))}),[_]),Lt("div",{className:mr()({"vm-date-time-input":!0,"vm-date-time-input_error":x}),children:[Lt("label",{children:i}),Lt(Ii(),{tabIndex:1,inputRef:h,mask:"9999-99-99 99:99:99",placeholder:"YYYY-MM-DD HH:mm:ss",value:m,autoCapitalize:"none",inputMode:"numeric",maskChar:null,onChange:function(e){g(e.currentTarget.value)},onBlur:function(){l(m)},onKeyUp:function(e){"Enter"===e.key&&(l(m),k(!0))}}),x&&Lt("span",{className:"vm-date-time-input__error-text",children:x}),Lt("div",{className:"vm-date-time-input__icon",ref:s,children:Lt(ei,{variant:"text",color:"gray",size:"small",startIcon:Lt(Yn,{})})}),Lt(Ti,{label:o,ref:u,date:m,onChange:function(e){g(e),b(!0)},targetRef:s})]})},Ri=function(){var e=Hr().isMobile,t=Bt().isDarkTheme,n=(0,r.useRef)(null),i=hr(document.body),o=(0,r.useMemo)((function(){return i.width>1280}),[i]),u=v((0,r.useState)(),2),l=u[0],c=u[1],s=v((0,r.useState)(),2),f=s[0],d=s[1],h=wn(),p=h.period,m=p.end,g=p.start,y=h.relativeTime,_=h.timezone,b=h.duration,D=kn(),w=pt(),k=(0,r.useMemo)((function(){return{region:_,utc:cn(_)}}),[_]);(0,r.useEffect)((function(){c(rn(on(m)))}),[_,m]),(0,r.useEffect)((function(){d(rn(on(g)))}),[_,g]);var x=function(e){var t=e.duration,n=e.until,r=e.id;D({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),F(!1)},C=(0,r.useMemo)((function(){return{start:a().tz(on(g)).format(jt),end:a().tz(on(m)).format(jt)}}),[g,m,_]),E=(0,r.useMemo)((function(){return y&&"none"!==y?y.replace(/_/g," "):"".concat(C.start," - ").concat(C.end)}),[y,C]),S=(0,r.useRef)(null),A=(0,r.useRef)(null),N=v((0,r.useState)(!1),2),M=N[0],F=N[1],O=(0,r.useRef)(null),T=function(){f&&l&&D({type:"SET_PERIOD",payload:{from:a().tz(f).toDate(),to:a().tz(l).toDate()}}),F(!1)},L=function(){F((function(e){return!e}))},I=function(){F(!1)};return(0,r.useEffect)((function(){var e=ln({relativeTimeId:y,defaultDuration:b,defaultEndInput:on(m)});x({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[_]),Xr(n,(function(t){var n,r;if(!e){var i=t.target,a=(null===S||void 0===S?void 0:S.current)&&(null===S||void 0===S||null===(n=S.current)||void 0===n?void 0:n.contains(i)),o=(null===A||void 0===A?void 0:A.current)&&(null===A||void 0===A||null===(r=A.current)||void 0===r?void 0:r.contains(i));a||o||I()}})),Lt(Ot.HY,{children:[Lt("div",{ref:O,children:e?Lt("div",{className:"vm-mobile-option",onClick:L,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(Hn,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Time range"}),Lt("span",{className:"vm-mobile-option-text__value",children:E})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:o?"Time range controls":E,children:Lt(ei,{className:w?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(Hn,{}),onClick:L,children:o&&Lt("span",{children:E})})})}),Lt(ti,{open:M,buttonRef:O,placement:"bottom-right",onClose:I,clickOutside:!1,title:e?"Time range controls":"",children:Lt("div",{className:mr()({"vm-time-selector":!0,"vm-time-selector_mobile":e}),ref:n,children:[Lt("div",{className:"vm-time-selector-left",children:[Lt("div",{className:mr()({"vm-time-selector-left-inputs":!0,"vm-time-selector-left-inputs_dark":t}),children:[Lt(Pi,{value:f,label:"From:",pickerLabel:"Date From",pickerRef:S,onChange:d,onEnter:T}),Lt(Pi,{value:l,label:"To:",pickerLabel:"Date To",pickerRef:A,onChange:c,onEnter:T})]}),Lt("div",{className:"vm-time-selector-left-timezone",children:[Lt("div",{className:"vm-time-selector-left-timezone__title",children:k.region}),Lt("div",{className:"vm-time-selector-left-timezone__utc",children:k.utc})]}),Lt(ei,{variant:"text",startIcon:Lt(Vn,{}),onClick:function(){return D({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"}),Lt("div",{className:"vm-time-selector-left__controls",children:[Lt(ei,{color:"error",variant:"outlined",onClick:function(){c(rn(on(m))),d(rn(on(g))),F(!1)},children:"Cancel"}),Lt(ei,{color:"primary",onClick:T,children:"Apply"})]})]}),Lt(Ci,{relativeTime:y||"",setDuration:x})]})})]})},zi=function(){var e=Hr().isMobile,t=pt(),n=(0,r.useRef)(null),i=v(nt(),2),o=i[0],u=i[1],l=o.get("date")||a()().tz().format(zt),c=(0,r.useMemo)((function(){return a().tz(l).format(zt)}),[l]),s=function(e){o.set("date",e),u(o)};return(0,r.useEffect)((function(){s(l)}),[]),Lt("div",{children:[Lt("div",{ref:n,children:e?Lt("div",{className:"vm-mobile-option",children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(Yn,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Date control"}),Lt("span",{className:"vm-mobile-option-text__value",children:c})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:"Date control",children:Lt(ei,{className:t?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(Yn,{}),children:c})})}),Lt(Ti,{label:"Date control",date:l||"",format:zt,onChange:s,targetRef:n})]})},ji=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],$i=function(){var e=Hr().isMobile,t=kn(),n=pt(),i=v((0,r.useState)(!1),2),a=i[0],o=i[1],u=v((0,r.useState)(ji[0]),2),l=u[0],c=u[1];(0,r.useEffect)((function(){var e,n=l.seconds;return a?e=setInterval((function(){t({type:"RUN_QUERY"})}),1e3*n):c(ji[0]),function(){e&&clearInterval(e)}}),[l,a]);var s=v((0,r.useState)(!1),2),f=s[0],d=s[1],h=(0,r.useRef)(null),p=function(){d((function(e){return!e}))},m=function(e){return function(){!function(e){(a&&!e.seconds||!a&&e.seconds)&&o((function(e){return!e})),c(e),d(!1)}(e)}};return Lt(Ot.HY,{children:[Lt("div",{className:"vm-execution-controls",children:Lt("div",{className:mr()({"vm-execution-controls-buttons":!0,"vm-execution-controls-buttons_mobile":e,"vm-header-button":!n}),children:[!e&&Lt(ai,{title:"Refresh dashboard",children:Lt(ei,{variant:"contained",color:"primary",onClick:function(){t({type:"RUN_QUERY"})},startIcon:Lt(zn,{})})}),e?Lt("div",{className:"vm-mobile-option",onClick:p,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(Ln,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Auto-refresh"}),Lt("span",{className:"vm-mobile-option-text__value",children:l.title})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:"Auto-refresh control",children:Lt("div",{ref:h,children:Lt(ei,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Lt("div",{className:mr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":f}),children:Lt(jn,{})}),onClick:p,children:l.title})})})]})}),Lt(ti,{open:f,placement:"bottom-right",onClose:function(){d(!1)},buttonRef:h,title:e?"Auto-refresh duration":void 0,children:Lt("div",{className:mr()({"vm-execution-controls-list":!0,"vm-execution-controls-list_mobile":e}),children:ji.map((function(t){return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":e,"vm-list-item_active":t.seconds===l.seconds}),onClick:m(t),children:t.title},t.seconds)}))})})]})},Hi=function(e){var t;try{t=new URL(e)}catch(Tt){return!1}return"http:"===t.protocol||"https:"===t.protocol},Yi=function(e){var t=e.serverUrl,n=e.stateServerUrl,i=e.onChange,a=e.onEnter,o=v((0,r.useState)(""),2),u=o[0],l=o[1];return(0,r.useEffect)((function(){n||l(ut.emptyServer),Hi(n)||l(ut.validServer)}),[n]),Lt(bi,{autofocus:!0,label:"Server URL",value:t,error:u,onChange:function(e){i(e||""),l("")},onEnter:a,inputmode:"url"})},Vi=[{label:"Graph",type:"chart"},{label:"JSON",type:"code"},{label:"Table",type:"table"}],Ui=function(e){var t=e.limits,n=e.onChange,i=e.onEnter,a=Hr().isMobile,o=v((0,r.useState)({table:"",chart:"",code:""}),2),u=o[0],l=o[1],c=function(e){return function(r){!function(e,r){var i=e||"";l((function(e){return ot(ot({},e),{},it({},r,+i<0?ut.positiveNumber:""))})),n(ot(ot({},t),{},it({},r,i||1/0)))}(r,e)}};return Lt("div",{className:"vm-limits-configurator",children:[Lt("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Lt(ai,{title:"Set to 0 to disable the limit",children:Lt(ei,{variant:"text",color:"primary",size:"small",startIcon:Lt(In,{})})}),Lt("div",{className:"vm-limits-configurator-title__reset",children:Lt(ei,{variant:"text",color:"primary",size:"small",startIcon:Lt(Ln,{}),onClick:function(){n(bt)},children:"Reset limits"})})]}),Lt("div",{className:mr()({"vm-limits-configurator__inputs":!0,"vm-limits-configurator__inputs_mobile":a}),children:Vi.map((function(e){return Lt("div",{children:Lt(bi,{label:e.label,value:t[e.type],error:u[e.type],onChange:c(e.type),onEnter:i,type:"number"})},e.type)}))})]})},qi=function(e){var t=e.defaultExpanded,n=void 0!==t&&t,i=e.onChange,a=e.title,o=e.children,u=v((0,r.useState)(n),2),l=u[0],c=u[1];return(0,r.useEffect)((function(){i&&i(l)}),[l]),Lt(Ot.HY,{children:[Lt("header",{className:"vm-accordion-header ".concat(l&&"vm-accordion-header_open"),onClick:function(){c((function(e){return!e}))},children:[a,Lt("div",{className:"vm-accordion-header__arrow ".concat(l&&"vm-accordion-header__arrow_open"),children:Lt(jn,{})})]}),l&&Lt("section",{className:"vm-accordion-section",children:o},"content")]})},Wi=function(e){var t=e.timezoneState,n=e.onChange,i=Hr().isMobile,o=sn(),u=v((0,r.useState)(!1),2),l=u[0],c=u[1],s=v((0,r.useState)(""),2),f=s[0],d=s[1],h=(0,r.useRef)(null),p=(0,r.useMemo)((function(){if(!f)return o;try{return sn(f)}catch(e){return{}}}),[f,o]),m=(0,r.useMemo)((function(){return Object.keys(p)}),[p]),g=(0,r.useMemo)((function(){return{region:a().tz.guess(),utc:cn(a().tz.guess())}}),[]),y=(0,r.useMemo)((function(){return{region:t,utc:cn(t)}}),[t]),_=function(){c(!1)},b=function(e){return function(){!function(e){n(e.region),d(""),_()}(e)}};return Lt("div",{className:"vm-timezones",children:[Lt("div",{className:"vm-server-configurator__title",children:"Time zone"}),Lt("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:function(){c((function(e){return!e}))},ref:h,children:[Lt("div",{className:"vm-timezones-item__title",children:y.region}),Lt("div",{className:"vm-timezones-item__utc",children:y.utc}),Lt("div",{className:mr()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":l}),children:Lt($n,{})})]}),Lt(ti,{open:l,buttonRef:h,placement:"bottom-left",onClose:_,fullWidth:!0,title:i?"Time zone":void 0,children:Lt("div",{className:mr()({"vm-timezones-list":!0,"vm-timezones-list_mobile":i}),children:[Lt("div",{className:"vm-timezones-list-header",children:[Lt("div",{className:"vm-timezones-list-header__search",children:Lt(bi,{autofocus:!0,label:"Search",value:f,onChange:function(e){d(e)}})}),Lt("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:b(g),children:[Lt("div",{className:"vm-timezones-item__title",children:["Browser Time (",g.region,")"]}),Lt("div",{className:"vm-timezones-item__utc",children:g.utc})]})]}),m.map((function(e){return Lt("div",{className:"vm-timezones-list-group",children:Lt(qi,{defaultExpanded:!0,title:Lt("div",{className:"vm-timezones-list-group__title",children:e}),children:Lt("div",{className:"vm-timezones-list-group-options",children:p[e]&&p[e].map((function(e){return Lt("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:b(e),children:[Lt("div",{className:"vm-timezones-item__title",children:e.region}),Lt("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)}))})})},e)}))]})})]})},Qi=function(e){var t=e.options,n=e.value,i=e.label,a=e.onChange,o=(0,r.useRef)(null),u=v((0,r.useState)({width:"0px",left:"0px",borderRadius:"0px"}),2),l=u[0],c=u[1],s=function(e){return function(){a(e)}};return(0,r.useEffect)((function(){if(o.current){var e=t.findIndex((function(e){return e.value===n})),r=o.current.getBoundingClientRect().width,i=e*r,a="0";0===e&&(a="16px 0 0 16px"),e===t.length-1&&(a="10px",i-=1,a="0 16px 16px 0"),0!==e&&e!==t.length-1&&(r+=1,i-=1),c({width:"".concat(r,"px"),left:"".concat(i,"px"),borderRadius:a})}else c({width:"0px",left:"0px",borderRadius:"0px"})}),[o,n,t]),Lt("div",{className:"vm-toggles",children:[i&&Lt("label",{className:"vm-toggles__label",children:i}),Lt("div",{className:"vm-toggles-group",style:{gridTemplateColumns:"repeat(".concat(t.length,", 1fr)")},children:[l.borderRadius&&Lt("div",{className:"vm-toggles-group__highlight",style:l}),t.map((function(e,t){return Lt("div",{className:mr()({"vm-toggles-group-item":!0,"vm-toggles-group-item_first":0===t,"vm-toggles-group-item_active":e.value===n,"vm-toggles-group-item_icon":e.icon&&e.title}),onClick:s(e.value),ref:e.value===n?o:null,children:[e.icon,e.title]},e.value)}))]})]})},Gi=Object.values(lt).map((function(e){return{title:e,value:e}})),Ji=function(e){var t=e.theme,n=e.onChange,r=Hr().isMobile;return Lt("div",{className:mr()({"vm-theme-control":!0,"vm-theme-control_mobile":r}),children:[Lt("div",{className:"vm-server-configurator__title",children:"Theme preferences"}),Lt("div",{className:"vm-theme-control__toggle",children:Lt(Qi,{options:Gi,value:t,onChange:function(e){n(e)}})},"".concat(r))]})},Zi="Settings",Ki=function(){var e=Hr().isMobile,t=pt(),n=Bt(),i=n.serverUrl,a=n.theme,o=wn().timezone,u=Nr().seriesLimits,l=Pt(),c=kn(),s=Mr(),f=v((0,r.useState)(i),2),d=f[0],h=f[1],p=v((0,r.useState)(u),2),m=p[0],g=p[1],y=v((0,r.useState)(o),2),_=y[0],b=y[1],D=function(){h(i),g(u),b(o)},w=v((0,r.useState)(!1),2),k=w[0],x=w[1],C=function(){return x(!0)},E=function(){l({type:"SET_SERVER",payload:d}),c({type:"SET_TIMEZONE",payload:_}),s({type:"SET_SERIES_LIMITS",payload:m}),x(!1)};return(0,r.useEffect)((function(){i!==d&&h(i)}),[i]),Lt(Ot.HY,{children:[e?Lt("div",{className:"vm-mobile-option",onClick:C,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(On,{})}),Lt("div",{className:"vm-mobile-option-text",children:Lt("span",{className:"vm-mobile-option-text__label",children:Zi})}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:Zi,children:Lt(ei,{className:mr()({"vm-header-button":!t}),variant:"contained",color:"primary",startIcon:Lt(On,{}),onClick:C})}),k&&Lt(ii,{title:Zi,onClose:function(){x(!1),D()},children:Lt("div",{className:mr()({"vm-server-configurator":!0,"vm-server-configurator_mobile":e}),children:[!t&&Lt("div",{className:"vm-server-configurator__input",children:Lt(Yi,{stateServerUrl:i,serverUrl:d,onChange:h,onEnter:E})}),Lt("div",{className:"vm-server-configurator__input",children:Lt(Ui,{limits:m,onChange:g,onEnter:E})}),Lt("div",{className:"vm-server-configurator__input",children:Lt(Wi,{timezoneState:_,onChange:b})}),!t&&Lt("div",{className:"vm-server-configurator__input",children:Lt(Ji,{theme:a,onChange:function(e){l({type:"SET_THEME",payload:e})}})}),Lt("div",{className:"vm-server-configurator-footer",children:[Lt(ei,{color:"error",variant:"outlined",onClick:function(){x(!1),D()},children:"Cancel"}),Lt(ei,{color:"primary",variant:"contained",onClick:E,children:"Apply"})]})]})})]})};function Xi(){Xi=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(N){l=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var a=t&&t.prototype instanceof d?t:d,o=Object.create(a.prototype),u=new E(i||[]);return r(o,"_invoke",{value:w(e,n,u)}),o}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(N){return{type:"throw",arg:N}}}e.wrap=c;var f={};function d(){}function h(){}function p(){}var m={};l(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(S([])));g&&g!==t&&n.call(g,a)&&(m=g);var y=p.prototype=d.prototype=Object.create(m);function _(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function i(r,a,o,u){var l=s(e[r],e,a);if("throw"!==l.type){var c=l.arg,f=c.value;return f&&"object"==D(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){i("next",e,o,u)}),(function(e){i("throw",e,o,u)})):t.resolve(f).then((function(e){c.value=e,o(c)}),(function(e){return i("throw",e,o,u)}))}u(l.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function w(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return A()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var u=k(o,n);if(u){if(u===f)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=s(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function k(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=s(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(u&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;C(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:S(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function ea(e,t,n,r,i,a,o){try{var u=e[a](o),l=u.value}catch(c){return void n(c)}u.done?t(l):Promise.resolve(l).then(r,i)}function ta(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){ea(a,r,i,o,u,"next",e)}function u(e){ea(a,r,i,o,u,"throw",e)}o(void 0)}))}}var na,ra,ia=function(e){var t=e.displaySidebar,n=e.isMobile,r=e.headerSetup,i=e.accountIds;return Lt("div",{className:mr()({"vm-header-controls":!0,"vm-header-controls_mobile":n}),children:[(null===r||void 0===r?void 0:r.tenant)&&Lt(Di,{accountIds:i||[]}),(null===r||void 0===r?void 0:r.stepControl)&&Lt(xi,{}),(null===r||void 0===r?void 0:r.timeSelector)&&Lt(Ri,{}),(null===r||void 0===r?void 0:r.cardinalityDatePicker)&&Lt(zi,{}),(null===r||void 0===r?void 0:r.executionControls)&&Lt($i,{}),Lt(Ki,{}),!t&&Lt(gi,{})]})},aa=function(e){var t=pt(),n=v((0,r.useState)(!1),2),i=n[0],a=n[1],o=Se().pathname,u=function(){var e=ht().useTenantID,t=Bt().serverUrl,n=v((0,r.useState)(!1),2),i=n[0],a=n[1],o=v((0,r.useState)(),2),u=o[0],l=o[1],c=v((0,r.useState)([]),2),s=c[0],f=c[1],d=(0,r.useMemo)((function(){return"".concat(t.replace(/^(.+)(\/select.+)/,"$1"),"/admin/tenants")}),[t]);return(0,r.useEffect)((function(){if(e){var t=function(){var e=ta(Xi().mark((function e(){var t,n,r;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],f(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?l(void 0):l("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&l("".concat(e.t0.name,": ").concat(e.t0.message));case 16:a(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[d]),{accountIds:s,isLoading:i,error:u}}(),l=u.accountIds,c=(0,r.useMemo)((function(){return(ft[o]||{}).header||{}}),[o]);return e.isMobile?Lt(Ot.HY,{children:[Lt("div",{children:Lt(ei,{className:mr()({"vm-header-button":!t}),startIcon:Lt(sr,{}),onClick:function(){a((function(e){return!e}))}})}),Lt(ii,{title:"Controls",onClose:function(){a(!1)},isOpen:i,className:mr()({"vm-header-controls-modal":!0,"vm-header-controls-modal_open":i}),children:Lt(ia,ot(ot({},e),{},{accountIds:l,headerSetup:c}))})]}):Lt(ia,ot(ot({},e),{},{accountIds:l,headerSetup:c}))},oa=function(){var e=Hr().isMobile,t=hr(document.body),n=(0,r.useMemo)((function(){return window.innerWidth<1e3}),[t]),i=Bt().isDarkTheme,a=pt(),o=(0,r.useMemo)((function(){return Et(i?"color-background-block":"color-primary")}),[i]),u=(0,r.useMemo)((function(){var e=ht().headerStyles,t=void 0===e?{}:e,n=t.background,r=void 0===n?a?"#FFF":o:n,i=t.color;return{background:r,color:void 0===i?a?o:"#FFF":i}}),[o]),l=u.background,c=u.color,s=Ae(),f=function(){s({pathname:dt.home}),window.location.reload()};return Lt("header",{className:mr()({"vm-header":!0,"vm-header_app":a,"vm-header_dark":i,"vm-header_mobile":e}),style:{background:l,color:c},children:[n?Lt(_i,{background:l,color:c}):Lt(Ot.HY,{children:[!a&&Lt("div",{className:"vm-header-logo",onClick:f,style:{color:c},children:Lt(Mn,{})}),Lt(ri,{color:c,background:l})]}),e&&Lt("div",{className:"vm-header-logo vm-header-logo_mobile",onClick:f,style:{color:c},children:Lt(Mn,{})}),Lt(aa,{displaySidebar:n,isMobile:e})]})},ua=function(){var e=Hr().isMobile,t="2019-".concat(a()().format("YYYY"));return Lt("footer",{className:"vm-footer",children:[Lt("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"me noreferrer",children:[Lt(Fn,{}),"victoriametrics.com"]}),Lt("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/#vmui",rel:"help noreferrer",children:[Lt(or,{}),e?"Docs":"Documentation"]}),Lt("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:[Lt(ur,{}),e?"New issue":"Create an issue"]}),Lt("div",{className:"vm-footer__copyright",children:["\xa9 ",t," VictoriaMetrics"]})]})},la=function(){var e=ta(Xi().mark((function e(t){var n,r;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("./dashboards/".concat(t));case 2:return n=e.sent,e.next=5,n.json();case 5:return r=e.sent,e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ca=function(){var e=pt(),t=Bt().serverUrl,n=(0,r.useContext)(Gr).dispatch,i=v((0,r.useState)(!1),2),a=i[0],o=i[1],u=v((0,r.useState)(""),2),l=u[0],c=u[1],s=v((0,r.useState)([]),2),f=s[0],d=s[1],h=function(){var e=ta(Xi().mark((function e(){var t,n;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null!==(t=window.__VMUI_PREDEFINED_DASHBOARDS__)&&void 0!==t&&t.length){e.next=4;break}return e.abrupt("return",[]);case 4:return e.next=6,Promise.all(t.map(function(){var e=ta(Xi().mark((function e(t){return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",la(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 6:n=e.sent,d((function(e){return[].concat(_(n),_(e))})),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(0),e.t0 instanceof Error&&c("".concat(e.t0.name,": ").concat(e.t0.message));case 13:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(){return e.apply(this,arguments)}}(),p=function(){var e=ta(Xi().mark((function e(){var n,r,i;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return c(""),o(!0),e.prev=4,e.next=7,fetch("".concat(t,"/vmui/custom-dashboards"));case 7:return n=e.sent,e.next=10,n.json();case 10:if(r=e.sent,!n.ok){e.next=22;break}if(!((i=r.dashboardsSettings)&&i.length>0)){e.next=17;break}d((function(e){return[].concat(_(e),_(i))})),e.next=19;break;case 17:return e.next=19,h();case 19:o(!1),e.next=26;break;case 22:return e.next=24,h();case 24:c(r.error),o(!1);case 26:e.next=34;break;case 28:return e.prev=28,e.t0=e.catch(4),o(!1),e.t0 instanceof Error&&c("".concat(e.t0.name,": ").concat(e.t0.message)),e.next=34,h();case 34:case"end":return e.stop()}}),e,null,[[4,28]])})));return function(){return e.apply(this,arguments)}}();return(0,r.useEffect)((function(){e||(d([]),p())}),[t]),(0,r.useEffect)((function(){n({type:"SET_DASHBOARDS_SETTINGS",payload:f})}),[f]),(0,r.useEffect)((function(){n({type:"SET_DASHBOARDS_LOADING",payload:a})}),[a]),(0,r.useEffect)((function(){n({type:"SET_DASHBOARDS_ERROR",payload:l})}),[l]),{dashboardsSettings:f,isLoading:a,error:l}},sa=function(){var e=pt(),t=Hr().isMobile,n=Se().pathname,i=v(nt(),2),a=i[0],o=i[1];ca();return(0,r.useEffect)((function(){var e,t="vmui",r=null===(e=ft[n])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(t):t}),[n]),(0,r.useEffect)((function(){var e=window.location.search;if(e){var t=gt().parse(e,{ignoreQueryPrefix:!0});Object.entries(t).forEach((function(e){var t=v(e,2),n=t[0],r=t[1];a.set(n,r),o(a)})),window.location.search=""}window.location.replace(window.location.href.replace(/\/\?#\//,"/#/"))}),[]),Lt("section",{className:"vm-container",children:[Lt(oa,{}),Lt("div",{className:mr()({"vm-container-body":!0,"vm-container-body_mobile":t,"vm-container-body_app":e}),children:Lt(je,{})}),!e&&Lt(ua,{})]})},fa="u-off",da="u-label",ha="width",pa="height",ma="top",va="bottom",ga="left",ya="right",_a="#000",ba=_a+"0",Da="mousemove",wa="mousedown",ka="mouseup",xa="mouseenter",Ca="mouseleave",Ea="dblclick",Sa="change",Aa="dppxchange",Na="undefined"!=typeof window,Ma=Na?document:null,Fa=Na?window:null,Oa=Na?navigator:null;function Ta(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function La(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function Ia(e,t,n){e.style[t]=n+"px"}function Ba(e,t,n,r){var i=Ma.createElement(e);return null!=t&&Ta(i,t),null!=n&&n.insertBefore(i,r),i}function Pa(e,t){return Ba("div",e,t)}var Ra=new WeakMap;function za(e,t,n,r,i){var a="translate("+t+"px,"+n+"px)";a!=Ra.get(e)&&(e.style.transform=a,Ra.set(e,a),t<0||n<0||t>r||n>i?Ta(e,fa):La(e,fa))}var ja=new WeakMap;function $a(e,t,n){var r=t+n;r!=ja.get(e)&&(ja.set(e,r),e.style.background=t,e.style.borderColor=n)}var Ha=new WeakMap;function Ya(e,t,n,r){var i=t+""+n;i!=Ha.get(e)&&(Ha.set(e,i),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}var Va={passive:!0},Ua=ot(ot({},Va),{},{capture:!0});function qa(e,t,n,r){t.addEventListener(e,n,r?Ua:Va)}function Wa(e,t,n,r){t.removeEventListener(e,n,r?Ua:Va)}function Qa(e,t,n,r){var i;n=n||0;for(var a=(r=r||t.length-1)<=2147483647;r-n>1;)t[i=a?n+r>>1:fo((n+r)/2)]=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}function Ja(e,t,n,r){var i=wo,a=-wo;if(1==r)i=e[t],a=e[n];else if(-1==r)i=e[n],a=e[t];else for(var o=t;o<=n;o++)null!=e[o]&&(i=mo(i,e[o]),a=vo(a,e[o]));return[i,a]}function Za(e,t,n){for(var r=wo,i=-wo,a=t;a<=n;a++)e[a]>0&&(r=mo(r,e[a]),i=vo(i,e[a]));return[r==wo?1:r,i==-wo?10:i]}function Ka(e,t,n,r){var i=yo(e),a=yo(t),o=10==n?_o:bo;e==t&&(-1==i?(e*=n,t/=n):(e/=n,t*=n));var u=1==a?po:fo,l=(1==i?fo:po)(o(so(e))),c=u(o(so(t))),s=go(n,l),f=go(n,c);return l<0&&(s=Lo(s,-l)),c<0&&(f=Lo(f,-c)),r?(e=s*i,t=f*a):(e=To(e,s),t=Oo(t,f)),[e,t]}function Xa(e,t,n,r){var i=Ka(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}Na&&function e(){var t=devicePixelRatio;na!=t&&(na=t,ra&&Wa(Sa,ra,e),ra=matchMedia("(min-resolution: ".concat(na-.001,"dppx) and (max-resolution: ").concat(na+.001,"dppx)")),qa(Sa,ra,e),Fa.dispatchEvent(new CustomEvent(Aa)))}();var eo={mode:3,pad:.1},to={pad:0,soft:null,mode:0},no={min:to,max:to};function ro(e,t,n,r){return Vo(n)?ao(e,t,n):(to.pad=n,to.soft=r?0:null,to.mode=r?3:0,ao(e,t,no))}function io(e,t){return null==e?t:e}function ao(e,t,n){var r=n.min,i=n.max,a=io(r.pad,0),o=io(i.pad,0),u=io(r.hard,-wo),l=io(i.hard,wo),c=io(r.soft,wo),s=io(i.soft,-wo),f=io(r.mode,0),d=io(i.mode,0),h=t-e,p=_o(h),m=vo(so(e),so(t)),v=_o(m),g=so(v-p);(h<1e-9||g>10)&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&c!=wo&&(a=0),2==d&&s!=-wo&&(o=0)));var y=h||m||1e3,_=_o(y),b=go(10,fo(_)),D=Lo(To(e-y*(0==h?0==e?.1:1:a),b/10),9),w=e>=c&&(1==f||3==f&&D<=c||2==f&&D>=c)?c:wo,k=vo(u,D=w?w:mo(w,D)),x=Lo(Oo(t+y*(0==h?0==t?.1:1:o),b/10),9),C=t<=s&&(1==d||3==d&&x>=s||2==d&&x<=s)?s:-wo,E=mo(l,x>C&&t<=C?C:vo(C,x));return k==E&&0==k&&(E=100),[k,E]}var oo=new Intl.NumberFormat(Na?Oa.language:"en-US"),uo=function(e){return oo.format(e)},lo=Math,co=lo.PI,so=lo.abs,fo=lo.floor,ho=lo.round,po=lo.ceil,mo=lo.min,vo=lo.max,go=lo.pow,yo=lo.sign,_o=lo.log10,bo=lo.log2,Do=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return lo.asinh(e/t)},wo=1/0;function ko(e){return 1+(0|_o((e^e>>31)-(e>>31)))}function xo(e,t){return ho(e/t)*t}function Co(e,t,n){return mo(vo(e,t),n)}function Eo(e){return"function"==typeof e?e:function(){return e}}var So=function(e){return e},Ao=function(e,t){return t},No=function(e){return null},Mo=function(e){return!0},Fo=function(e,t){return e==t};function Oo(e,t){return po(e/t)*t}function To(e,t){return fo(e/t)*t}function Lo(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(Ho(e))return e;var n=Math.pow(10,t),r=e*n*(1+Number.EPSILON);return ho(r)/n}var Io=new Map;function Bo(e){return((""+e).split(".")[1]||"").length}function Po(e,t,n,r){for(var i=[],a=r.map(Bo),o=t;o=0&&o>=0?0:u)+(o>=a[c]?0:a[c]),d=Lo(s,f);i.push(d),Io.set(d,f)}return i}var Ro={},zo=[],jo=[null,null],$o=Array.isArray,Ho=Number.isInteger;function Yo(e){return"string"==typeof e}function Vo(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function Uo(e){return null!=e&&"object"==typeof e}var qo=Object.getPrototypeOf(Uint8Array);function Wo(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vo;if($o(e)){var r=e.find((function(e){return null!=e}));if($o(r)||n(r)){t=Array(e.length);for(var i=0;ia){for(r=o-1;r>=0&&null==e[r];)e[r--]=null;for(r=o+1;r12?t-12:t},AA:function(e){return e.getHours()>=12?"PM":"AM"},aa:function(e){return e.getHours()>=12?"pm":"am"},a:function(e){return e.getHours()>=12?"p":"a"},mm:function(e){return ru(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return ru(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function au(e,t){t=t||nu;for(var n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;n=i.exec(e);)r.push("{"==n[0][0]?iu[n[1]]:n[0]);return function(e){for(var n="",i=0;i=o,m=f>=a&&f=i?i:f,M=_+(fo(c)-fo(g))+Oo(g-_,N);h.push(M);for(var F=t(M),O=F.getHours()+F.getMinutes()/n+F.getSeconds()/r,T=f/r,L=d/u.axes[l]._space;!((M=Lo(M+f,1==e?0:3))>s);)if(T>1){var I=fo(Lo(O+T,6))%24,B=t(M).getHours()-I;B>1&&(B=-1),O=(O+T)%24,Lo(((M-=B*r)-h[h.length-1])/f,3)*L>=.7&&h.push(M)}else h.push(M)}return h}}]}var xu=v(ku(1),3),Cu=xu[0],Eu=xu[1],Su=xu[2],Au=v(ku(.001),3),Nu=Au[0],Mu=Au[1],Fu=Au[2];function Ou(e,t){return e.map((function(e){return e.map((function(n,r){return 0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)}))}))}function Tu(e,t){return function(n,r,i,a,o){var u,l,c,s,f,d,h=t.find((function(e){return o>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),i=n.getMonth(),a=n.getDate(),o=n.getHours(),p=n.getMinutes(),m=n.getSeconds(),v=r!=u&&h[2]||i!=l&&h[3]||a!=c&&h[4]||o!=s&&h[5]||p!=f&&h[6]||m!=d&&h[7]||h[1];return u=r,l=i,c=a,s=o,f=p,d=m,v(n)}))}}function Lu(e,t,n){return new Date(e,t,n)}function Iu(e,t){return t(e)}Po(2,-53,53,[1]);function Bu(e,t){return function(n,r){return t(e(r))}}var Pu={show:!0,live:!0,isolate:!1,mount:function(){},markers:{show:!0,width:2,stroke:function(e,t){var n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};var Ru=[0,0];function zu(e,t,n){return function(e){0==e.button&&n(e)}}function ju(e,t,n){return n}var $u={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return Ru[0]=t,Ru[1]=n,Ru},points:{show:function(e,t){var n=e.cursor.points,r=Pa(),i=n.size(e,t);Ia(r,ha,i),Ia(r,pa,i);var a=i/-2;Ia(r,"marginLeft",a),Ia(r,"marginTop",a);var o=n.width(e,t,i);return o&&Ia(r,"borderWidth",o),r},size:function(e,t){return ul(e.series[t].points.width,1)},width:0,stroke:function(e,t){var n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){var n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:zu,mouseup:zu,click:zu,dblclick:zu,mousemove:ju,mouseleave:ju,mouseenter:ju},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},Hu={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Yu=Qo({},Hu,{filter:Ao}),Vu=Qo({},Yu,{size:10}),Uu=Qo({},Hu,{show:!1}),qu='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Wu="bold "+qu,Qu={show:!0,scale:"x",stroke:_a,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Wu,side:2,grid:Yu,ticks:Vu,border:Uu,font:qu,rotate:0},Gu={show:!0,scale:"x",auto:!1,sorted:1,min:wo,max:-wo,idxs:[]};function Ju(e,t,n,r,i){return t.map((function(e){return null==e?"":uo(e)}))}function Zu(e,t,n,r,i,a,o){for(var u=[],l=Io.get(i)||0,c=n=o?n:Lo(Oo(n,i),l);c<=r;c=Lo(c+i,l))u.push(Object.is(c,-0)?0:c);return u}function Ku(e,t,n,r,i,a,o){var u=[],l=e.scales[e.axes[t].scale].log,c=fo((10==l?_o:bo)(n));i=go(l,c),c<0&&(i=Lo(i,-c));var s=n;do{u.push(s),(s=Lo(s+i,Io.get(i)))>=i*l&&(i=s)}while(s<=r);return u}function Xu(e,t,n,r,i,a,o){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Ku(e,t,vo(u,n),r,i):[u],c=r>=0&&n<=0?[0]:[];return(n<-u?Ku(e,t,vo(u,-r),-n,i):[u]).reverse().map((function(e){return-e})).concat(c,l)}var el=/./,tl=/[12357]/,nl=/[125]/,rl=/1/;function il(e,t,n,r,i){var a=e.axes[n],o=a.scale,u=e.scales[o];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,c=a._space,s=l(10,o),f=l(9,o)-s>=c?el:l(7,o)-s>=c?tl:l(5,o)-s>=c?nl:rl;return t.map((function(e){return 4==u.distr&&0==e||f.test(e)?e:null}))}function al(e,t){return null==t?"":uo(t)}var ol={show:!0,scale:"y",stroke:_a,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Wu,side:3,grid:Yu,ticks:Vu,border:Uu,font:qu,rotate:0};function ul(e,t){return Lo((3+2*(e||1))*t,3)}var ll={scale:null,auto:!0,sorted:0,min:wo,max:-wo},cl=function(e,t,n,r,i){return i},sl={show:!0,auto:!0,sorted:0,gaps:cl,alpha:1,facets:[Qo({},ll,{scale:"x"}),Qo({},ll,{scale:"y"})]},fl={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:cl,alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,i=n.idxs,a=e._data[0],o=e.valToPos(a[i[0]],r,!0),u=e.valToPos(a[i[1]],r,!0),l=so(u-o)/(e.series[t].points.space*na);return i[1]-i[0]<=l},filter:null},values:null,min:wo,max:-wo,idxs:[],path:null,clip:null};function dl(e,t,n,r,i){return n/10}var hl={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},pl=Qo({},hl,{time:!1,ori:1}),ml={};function vl(e,t){var n=ml[e];return n||(n={key:e,plots:[],sub:function(e){n.plots.push(e)},unsub:function(e){n.plots=n.plots.filter((function(t){return t!=e}))},pub:function(e,t,r,i,a,o,u){for(var l=0;l0){o=new Path2D;for(var u=0==t?Nl:Ml,l=n,c=0;cs[0]){var f=s[0]-l;f>0&&u(o,l,r,f,r+a),l=s[1]}}var d=n+i-l;d>0&&u(o,l,r,d,r+a)}return o}function wl(e,t,n,r,i,a,o){for(var u=[],l=e.length,c=1==i?n:r;c>=n&&c<=r;c+=i){if(null===t[c]){var s=c,f=c;if(1==i)for(;++c<=r&&null===t[c];)f=c;else for(;--c>=n&&null===t[c];)f=c;var d=a(e[s]),h=f==s?d:a(e[f]),p=s-i;d=o<=0&&p>=0&&p=0&&m>=0&&m=d&&u.push([d,h])}}return u}function kl(e){return 0==e?So:1==e?ho:function(t){return xo(t,e)}}function xl(e){var t=0==e?Cl:El,n=0==e?function(e,t,n,r,i,a){e.arcTo(t,n,r,i,a)}:function(e,t,n,r,i,a){e.arcTo(n,t,i,r,a)},r=0==e?function(e,t,n,r,i){e.rect(t,n,r,i)}:function(e,t,n,r,i){e.rect(n,t,i,r)};return function(e,i,a,o,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,i,a,o,u):(l=mo(l,o/2,u/2),t(e,i+l,a),n(e,i+o,a,i+o,a+u,l),n(e,i+o,a+u,i,a+u,l),n(e,i,a+u,i,a,l),n(e,i,a,i+o,a,l),e.closePath())}}var Cl=function(e,t,n){e.moveTo(t,n)},El=function(e,t,n){e.moveTo(n,t)},Sl=function(e,t,n){e.lineTo(t,n)},Al=function(e,t,n){e.lineTo(n,t)},Nl=xl(0),Ml=xl(1),Fl=function(e,t,n,r,i,a){e.arc(t,n,r,i,a)},Ol=function(e,t,n,r,i,a){e.arc(n,t,r,i,a)},Tl=function(e,t,n,r,i,a,o){e.bezierCurveTo(t,n,r,i,a,o)},Ll=function(e,t,n,r,i,a,o){e.bezierCurveTo(n,t,i,r,o,a)};function Il(e){return function(e,t,n,r,i){return gl(e,t,(function(t,a,o,u,l,c,s,f,d,h,p){var m,v,g=t.pxRound,y=t.points;0==u.ori?(m=Cl,v=Fl):(m=El,v=Ol);var _=Lo(y.width*na,3),b=(y.size-y.width)/2*na,D=Lo(2*b,3),w=new Path2D,k=new Path2D,x=e.bbox,C=x.left,E=x.top,S=x.width,A=x.height;Nl(k,C-D,E-D,S+2*D,A+2*D);var N=function(e){if(null!=o[e]){var t=g(c(a[e],u,h,f)),n=g(s(o[e],l,p,d));m(w,t+b,n),v(w,t,n,b,0,2*co)}};if(i)i.forEach(N);else for(var M=n;M<=r;M++)N(M);return{stroke:_>0?w:null,fill:w,clip:k,flags:3}}))}}function Bl(e){return function(t,n,r,i,a,o){r!=i&&(a!=r&&o!=r&&e(t,n,r),a!=i&&o!=i&&e(t,n,i),e(t,n,o))}}var Pl=Bl(Sl),Rl=Bl(Al);function zl(e){var t=io(null===e||void 0===e?void 0:e.alignGaps,0);return function(e,n,r,i){return gl(e,n,(function(a,o,u,l,c,s,f,d,h,p,m){var g,y,b=a.pxRound,D=function(e){return b(s(e,l,p,d))},w=function(e){return b(f(e,c,m,h))};0==l.ori?(g=Sl,y=Pl):(g=Al,y=Rl);for(var k,x,C,E=l.dir*(0==l.ori?1:-1),S={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},A=S.stroke,N=wo,M=-wo,F=D(o[1==E?r:i]),O=Ga(u,r,i,1*E),T=Ga(u,r,i,-1*E),L=D(o[O]),I=D(o[T]),B=1==E?r:i;B>=r&&B<=i;B+=E){var P=D(o[B]);P==F?null!=u[B]&&(x=w(u[B]),N==wo&&(g(A,P,x),k=x),N=mo(x,N),M=vo(x,M)):(N!=wo&&(y(A,F,N,M,k,x),C=F),null!=u[B]?(g(A,P,x=w(u[B])),N=M=k=x):(N=wo,M=-wo),F=P)}N!=wo&&N!=M&&C!=F&&y(A,F,N,M,k,x);var R=v(yl(e,n),2),z=R[0],j=R[1];if(null!=a.fill||0!=z){var $=S.fill=new Path2D(A),H=w(a.fillTo(e,n,a.min,a.max,z));g($,I,H),g($,L,H)}if(!a.spanGaps){var Y,V=[];(Y=V).push.apply(Y,_(wl(o,u,r,i,E,D,t))),S.gaps=V=a.gaps(e,n,r,i,V),S.clip=Dl(V,l.ori,d,h,p,m)}return 0!=j&&(S.band=2==j?[bl(e,n,r,i,A,-1),bl(e,n,r,i,A,1)]:bl(e,n,r,i,A,j)),S}))}}function jl(e,t,n,r,i,a){var o=e.length;if(o<2)return null;var u=new Path2D;if(n(u,e[0],t[0]),2==o)r(u,e[1],t[1]);else{for(var l=Array(o),c=Array(o-1),s=Array(o-1),f=Array(o-1),d=0;d0!==c[h]>0?l[h]=0:(l[h]=3*(f[h-1]+f[h])/((2*f[h]+f[h-1])/c[h-1]+(f[h]+2*f[h-1])/c[h]),isFinite(l[h])||(l[h]=0));l[o-1]=c[o-2];for(var p=0;p=i&&a+(l<5?Io.get(l):0)<=17)return[l,c]}while(++u0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?Do(e,t.asinh):e)-t._min)/(t._max-t._min)}function o(e,t,n,r){var i=a(e,t);return r+n*(-1==t.dir?1-i:i)}function u(e,t,n,r){var i=a(e,t);return r+n*(-1==t.dir?i:1-i)}function l(e,t,n,r){return 0==t.ori?o(e,t,n,r):u(e,t,n,r)}r.valToPosH=o,r.valToPosV=u;var c=!1;r.status=0;var s=r.root=Pa("uplot");(null!=e.id&&(s.id=e.id),Ta(s,e.class),e.title)&&(Pa("u-title",s).textContent=e.title);var f=Ba("canvas"),d=r.ctx=f.getContext("2d"),h=Pa("u-wrap",s),p=r.under=Pa("u-under",h);h.appendChild(f);var m=r.over=Pa("u-over",h),g=+io((e=Wo(e)).pxAlign,1),y=kl(g);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(r,e)||e)}));var _,b,D=e.ms||.001,w=r.series=1==i?Ul(e.series||[],Gu,fl,!1):(_=e.series||[null],b=sl,_.map((function(e,t){return 0==t?null:Qo({},b,e)}))),k=r.axes=Ul(e.axes||[],Qu,ol,!0),x=r.scales={},C=r.bands=e.bands||[];C.forEach((function(e){e.fill=Eo(e.fill||null),e.dir=io(e.dir,-1)}));var E=2==i?w[1].facets[0].scale:w[0].scale,S={axes:function(){for(var e=function(){var e=k[t];if(!e.show||!e._show)return"continue";var n,i,a=e.side,o=a%2,u=e.stroke(r,t),c=0==a||3==a?-1:1;if(e.label){var s=e.labelGap*c,f=ho((e._lpos+s)*na);tt(e.labelFont[0],u,"center",2==a?ma:va),d.save(),1==o?(n=i=0,d.translate(f,ho(me+ge/2)),d.rotate((3==a?-co:co)/2)):(n=ho(pe+ve/2),i=f),d.fillText(e.label,n,i),d.restore()}var h=v(e._found,2),p=h[0],m=h[1];if(0==m)return"continue";var g=x[e.scale],_=0==o?ve:ge,b=0==o?pe:me,D=ho(e.gap*na),w=e._splits,C=2==g.distr?w.map((function(e){return Je[e]})):w,E=2==g.distr?Je[w[1]]-Je[w[0]]:p,S=e.ticks,A=e.border,N=S.show?ho(S.size*na):0,M=e._rotate*-co/180,F=y(e._pos*na),O=F+(N+D)*c;i=0==o?O:0,n=1==o?O:0,tt(e.font[0],u,1==e.align?ga:2==e.align?ya:M>0?ga:M<0?ya:0==o?"center":3==a?ya:ga,M||1==o?"middle":2==a?ma:va);for(var T=1.5*e.font[1],L=w.map((function(e){return y(l(e,g,_,b))})),I=e._values,B=0;B0&&(w.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var a=2==i?[0,t[n][0].length-1]:function(e){var t=Co(We-1,0,Le-1),n=Co(Qe+1,0,Le-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){Ve!=e.alpha&&(d.globalAlpha=Ve=e.alpha),rt(t,!1),e._paths&&it(t,!1),rt(t,!0);var n=e._paths?e._paths.gaps:null,i=e.points.show(r,t,We,Qe,n),a=e.points.filter(r,t,i,n);(i||a)&&(e.points._paths=e.points.paths(r,t,We,Qe,a),it(t,!0)),1!=Ve&&(d.globalAlpha=Ve=1),ln("drawSeries",t)}})))}},A=(e.drawOrder||["axes","series"]).map((function(e){return S[e]}));function N(t){var n=x[t];if(null==n){var r=(e.scales||Ro)[t]||Ro;if(null!=r.from)N(r.from),x[t]=Qo({},x[r.from],r,{key:t});else{(n=x[t]=Qo({},t==E?hl:pl,r)).key=t;var a=n.time,o=n.range,u=$o(o);if((t!=E||2==i&&!a)&&(!u||null!=o[0]&&null!=o[1]||(o={min:null==o[0]?eo:{mode:1,hard:o[0],soft:o[0]},max:null==o[1]?eo:{mode:1,hard:o[1],soft:o[1]}},u=!1),!u&&Vo(o))){var l=o;o=function(e,t,n){return null==t?jo:ro(t,n,l)}}n.range=Eo(o||(a?Ql:t==E?3==n.distr?Zl:4==n.distr?Xl:Wl:3==n.distr?Jl:4==n.distr?Kl:Gl)),n.auto=Eo(!u&&n.auto),n.clamp=Eo(n.clamp||dl),n._min=n._max=null}}}for(var M in N("x"),N("y"),1==i&&w.forEach((function(e){N(e.scale)})),k.forEach((function(e){N(e.scale)})),e.scales)N(M);var F,O,T=x[E],L=T.distr;0==T.ori?(Ta(s,"u-hz"),F=o,O=u):(Ta(s,"u-vt"),F=u,O=o);var I={};for(var B in x){var P=x[B];null==P.min&&null==P.max||(I[B]={min:P.min,max:P.max},P.min=P.max=null)}var R,z=e.tzDate||function(e){return new Date(ho(e/D))},j=e.fmtDate||au,$=1==D?Su(z):Fu(z),H=Tu(z,Ou(1==D?Eu:Mu,j)),Y=Bu(z,Iu("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",j)),V=[],U=r.legend=Qo({},Pu,e.legend),q=U.show,W=U.markers;U.idxs=V,W.width=Eo(W.width),W.dash=Eo(W.dash),W.stroke=Eo(W.stroke),W.fill=Eo(W.fill);var Q,G=[],J=[],Z=!1,K={};if(U.live){var X=w[1]?w[1].values:null;for(var ee in Q=(Z=null!=X)?X(r,1,0):{_:0})K[ee]="--"}if(q)if(R=Ba("table","u-legend",s),U.mount(r,R),Z){var te=Ba("tr","u-thead",R);for(var ne in Ba("th",null,te),Q)Ba("th",da,te).textContent=ne}else Ta(R,"u-inline"),U.live&&Ta(R,"u-live");var re={show:!0},ie={show:!1};var ae=new Map;function oe(e,t,n){var i=ae.get(t)||{},a=Ee.bind[e](r,t,n);a&&(qa(e,t,i[e]=a),ae.set(t,i))}function ue(e,t,n){var r=ae.get(t)||{};for(var i in r)null!=e&&i!=e||(Wa(i,t,r[i]),delete r[i]);null==e&&ae.delete(t)}var le=0,ce=0,se=0,fe=0,de=0,he=0,pe=0,me=0,ve=0,ge=0;r.bbox={};var ye=!1,_e=!1,be=!1,De=!1,we=!1,ke=!1;function xe(e,t,n){(n||e!=r.width||t!=r.height)&&Ce(e,t),ft(!1),be=!0,_e=!0,Ee.left>=0&&(De=ke=!0),Ct()}function Ce(e,t){r.width=le=se=e,r.height=ce=fe=t,de=he=0,function(){var e=!1,t=!1,n=!1,r=!1;k.forEach((function(i,a){if(i.show&&i._show){var o=i.side,u=o%2,l=i._size+(null!=i.label?i.labelSize:0);l>0&&(u?(se-=l,3==o?(de+=l,r=!0):n=!0):(fe-=l,0==o?(he+=l,e=!0):t=!0))}})),Oe[0]=e,Oe[1]=n,Oe[2]=t,Oe[3]=r,se-=qe[1]+qe[3],de+=qe[3],fe-=qe[2]+qe[0],he+=qe[0]}(),function(){var e=de+se,t=he+fe,n=de,r=he;function i(i,a){switch(i){case 1:return(e+=a)-a;case 2:return(t+=a)-a;case 3:return(n-=a)+a;case 0:return(r-=a)+a}}k.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=i(n,e._size),null!=e.label&&(e._lpos=i(n,e.labelSize))}}))}();var n=r.bbox;pe=n.left=xo(de*na,.5),me=n.top=xo(he*na,.5),ve=n.width=xo(se*na,.5),ge=n.height=xo(fe*na,.5)}r.setSize=function(e){xe(e.width,e.height)};var Ee=r.cursor=Qo({},$u,{drag:{y:2==i}},e.cursor);Ee.idxs=V,Ee._lock=!1;var Se=Ee.points;Se.show=Eo(Se.show),Se.size=Eo(Se.size),Se.stroke=Eo(Se.stroke),Se.width=Eo(Se.width),Se.fill=Eo(Se.fill);var Ae=r.focus=Qo({},e.focus||{alpha:.3},Ee.focus),Ne=Ae.prox>=0,Me=[null];function Fe(e,t){if(1==i||t>0){var n=1==i&&x[e.scale].time,a=e.value;e.value=n?Yo(a)?Bu(z,Iu(a,j)):a||Y:a||al,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Yl||No,e.fillTo=Eo(e.fillTo||_l),e.pxAlign=+io(e.pxAlign,g),e.pxRound=kl(e.pxAlign),e.stroke=Eo(e.stroke||null),e.fill=Eo(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var o=ul(e.width,1),u=e.points=Qo({},{size:o,width:vo(1,.2*o),stroke:e.stroke,space:2*o,paths:Vl,_stroke:null,_fill:null},e.points);u.show=Eo(u.show),u.filter=Eo(u.filter),u.fill=Eo(u.fill),u.stroke=Eo(u.stroke),u.paths=Eo(u.paths),u.pxAlign=e.pxAlign}if(q){var l=function(e,t){if(0==t&&(Z||!U.live||2==i))return jo;var n=[],a=Ba("tr","u-series",R,R.childNodes[t]);Ta(a,e.class),e.show||Ta(a,fa);var o=Ba("th",null,a);if(W.show){var u=Pa("u-marker",o);if(t>0){var l=W.width(r,t);l&&(u.style.border=l+"px "+W.dash(r,t)+" "+W.stroke(r,t)),u.style.background=W.fill(r,t)}}var c=Pa(da,o);for(var s in c.textContent=e.label,t>0&&(W.show||(c.style.color=e.width>0?W.stroke(r,t):W.fill(r,t)),oe("click",o,(function(t){if(!Ee._lock){var n=w.indexOf(e);if((t.ctrlKey||t.metaKey)!=U.isolate){var r=w.some((function(e,t){return t>0&&t!=n&&e.show}));w.forEach((function(e,t){t>0&&zt(t,r?t==n?re:ie:re,!0,cn.setSeries)}))}else zt(n,{show:!e.show},!0,cn.setSeries)}})),Ne&&oe(xa,o,(function(t){Ee._lock||zt(w.indexOf(e),jt,!0,cn.setSeries)}))),Q){var f=Ba("td","u-value",a);f.textContent="--",n.push(f)}return[a,n]}(e,t);G.splice(t,0,l[0]),J.splice(t,0,l[1]),U.values.push(null)}if(Ee.show){V.splice(t,0,null);var c=function(e,t){if(t>0){var n=Ee.points.show(r,t);if(n)return Ta(n,"u-cursor-pt"),Ta(n,e.class),za(n,-10,-10,se,fe),m.insertBefore(n,Me[t]),n}}(e,t);c&&Me.splice(t,0,c)}ln("addSeries",t)}r.addSeries=function(e,t){t=null==t?w.length:t,e=1==i?ql(e,t,Gu,fl):ql(e,t,null,sl),w.splice(t,0,e),Fe(w[t],t)},r.delSeries=function(e){if(w.splice(e,1),q){U.values.splice(e,1),J.splice(e,1);var t=G.splice(e,1)[0];ue(null,t.firstChild),t.remove()}Ee.show&&(V.splice(e,1),Me.length>1&&Me.splice(e,1)[0].remove()),ln("delSeries",e)};var Oe=[!1,!1,!1,!1];function Te(e,t,n,r){var i=v(n,4),a=i[0],o=i[1],u=i[2],l=i[3],c=t%2,s=0;return 0==c&&(l||o)&&(s=0==t&&!a||2==t&&!u?ho(Qu.size/3):0),1==c&&(a||u)&&(s=1==t&&!o||3==t&&!l?ho(ol.size/2):0),s}var Le,Ie,Be,Pe,Re,ze,je,$e,He,Ye,Ve,Ue=r.padding=(e.padding||[Te,Te,Te,Te]).map((function(e){return Eo(io(e,Te))})),qe=r._padding=Ue.map((function(e,t){return e(r,t,Oe,0)})),We=null,Qe=null,Ge=1==i?w[0].idxs:null,Je=null,Ze=!1;function Ke(e,n){if(t=null==e?[]:Wo(e,Uo),2==i){Le=0;for(var a=1;a=0,ke=!0,Ct()}}function Xe(){var e,n;if(Ze=!0,1==i)if(Le>0){if(We=Ge[0]=0,Qe=Ge[1]=Le-1,e=t[0][We],n=t[0][Qe],2==L)e=We,n=Qe;else if(1==Le)if(3==L){var r=v(Ka(e,e,T.log,!1),2);e=r[0],n=r[1]}else if(4==L){var a=v(Xa(e,e,T.log,!1),2);e=a[0],n=a[1]}else if(T.time)n=e+ho(86400/D);else{var o=v(ro(e,n,.1,!0),2);e=o[0],n=o[1]}}else We=Ge[0]=e=null,Qe=Ge[1]=n=null;Rt(E,e,n)}function et(e,t,n,r,i,a){var o,u,l,c,s;null!==(o=e)&&void 0!==o||(e=ba),null!==(u=n)&&void 0!==u||(n=zo),null!==(l=r)&&void 0!==l||(r="butt"),null!==(c=i)&&void 0!==c||(i=ba),null!==(s=a)&&void 0!==s||(a="round"),e!=Ie&&(d.strokeStyle=Ie=e),i!=Be&&(d.fillStyle=Be=i),t!=Pe&&(d.lineWidth=Pe=t),a!=ze&&(d.lineJoin=ze=a),r!=je&&(d.lineCap=je=r),n!=Re&&d.setLineDash(Re=n)}function tt(e,t,n,r){t!=Be&&(d.fillStyle=Be=t),e!=$e&&(d.font=$e=e),n!=He&&(d.textAlign=He=n),r!=Ye&&(d.textBaseline=Ye=r)}function nt(e,t,n,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(i.length>0&&e.auto(r,Ze)&&(null==t||null==t.min)){var o=io(We,0),u=io(Qe,i.length-1),l=null==n.min?3==e.distr?Za(i,o,u):Ja(i,o,u,a):[n.min,n.max];e.min=mo(e.min,n.min=l[0]),e.max=vo(e.max,n.max=l[1])}}function rt(e,t){var n=t?w[e].points:w[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function it(e,n){var i=n?w[e].points:w[e],a=i._stroke,o=i._fill,u=i._paths,l=u.stroke,c=u.fill,s=u.clip,f=u.flags,h=null,p=Lo(i.width*na,3),m=p%2/2;n&&null==o&&(o=p>0?"#fff":a);var v=1==i.pxAlign;if(v&&d.translate(m,m),!n){var g=pe,y=me,_=ve,b=ge,D=p*na/2;0==i.min&&(b+=D),0==i.max&&(y-=D,b+=D),(h=new Path2D).rect(g,y,_,b)}n?at(a,p,i.dash,i.cap,o,l,c,f,s):function(e,n,i,a,o,u,l,c,s,f,d){var h=!1;C.forEach((function(p,m){if(p.series[0]==e){var v,g=w[p.series[1]],y=t[p.series[1]],_=(g._paths||Ro).band;$o(_)&&(_=1==p.dir?_[0]:_[1]);var b=null;g.show&&_&&function(e,t,n){for(t=io(t,0),n=io(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(y,We,Qe)?(b=p.fill(r,m)||u,v=g._paths.clip):_=null,at(n,i,a,o,b,l,c,s,f,d,v,_),h=!0}})),h||at(n,i,a,o,u,l,c,s,f,d)}(e,a,p,i.dash,i.cap,o,l,c,f,h,s),v&&d.translate(-m,-m)}r.setData=Ke;function at(e,t,n,r,i,a,o,u,l,c,s,f){et(e,t,n,r,i),(l||c||f)&&(d.save(),l&&d.clip(l),c&&d.clip(c)),f?3==(3&u)?(d.clip(f),s&&d.clip(s),ut(i,o),ot(e,a,t)):2&u?(ut(i,o),d.clip(f),ot(e,a,t)):1&u&&(d.save(),d.clip(f),s&&d.clip(s),ut(i,o),d.restore(),ot(e,a,t)):(ut(i,o),ot(e,a,t)),(l||c||f)&&d.restore()}function ot(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){d.strokeStyle=Ie=t,d.stroke(e)})):null!=t&&e&&d.stroke(t))}function ut(e,t){t instanceof Map?t.forEach((function(e,t){d.fillStyle=Be=t,d.fill(e)})):null!=t&&e&&d.fill(t)}function lt(e,t,n,r,i,a,o,u,l,c){var s=o%2/2;1==g&&d.translate(s,s),et(u,o,l,c,u),d.beginPath();var f,h,p,m,v=i+(0==r||3==r?-a:a);0==n?(h=i,m=v):(f=i,p=v);for(var y=0;y0&&(t._paths=null,e&&(1==i?(t.min=null,t.max=null):t.facets.forEach((function(e){e.min=null,e.max=null}))))}))}var dt,ht,pt,mt,vt,gt,yt,_t,bt,Dt,wt,kt,xt=!1;function Ct(){xt||(Jo(Et),xt=!0)}function Et(){ye&&(!function(){var e=Wo(x,Uo);for(var n in e){var a=e[n],o=I[n];if(null!=o&&null!=o.min)Qo(a,o),n==E&&ft(!0);else if(n!=E||2==i)if(0==Le&&null==a.from){var u=a.range(r,null,null,n);a.min=u[0],a.max=u[1]}else a.min=wo,a.max=-wo}if(Le>0)for(var l in w.forEach((function(n,a){if(1==i){var o=n.scale,u=e[o],l=I[o];if(0==a){var c=u.range(r,u.min,u.max,o);u.min=c[0],u.max=c[1],We=Qa(u.min,t[0]),(Qe=Qa(u.max,t[0]))-We>1&&(t[0][We]u.max&&Qe--),n.min=Je[We],n.max=Je[Qe]}else n.show&&n.auto&&nt(u,l,n,t[a],n.sorted);n.idxs[0]=We,n.idxs[1]=Qe}else if(a>0&&n.show&&n.auto){var s=v(n.facets,2),f=s[0],d=s[1],h=f.scale,p=d.scale,m=v(t[a],2),g=m[0],y=m[1];nt(e[h],I[h],f,g,f.sorted),nt(e[p],I[p],d,y,d.sorted),n.min=d.min,n.max=d.max}})),e){var c=e[l],s=I[l];if(null==c.from&&(null==s||null==s.min)){var f=c.range(r,c.min==wo?null:c.min,c.max==-wo?null:c.max,l);c.min=f[0],c.max=f[1]}}for(var d in e){var h=e[d];if(null!=h.from){var p=e[h.from];if(null==p.min)h.min=h.max=null;else{var m=h.range(r,p.min,p.max,d);h.min=m[0],h.max=m[1]}}}var g={},y=!1;for(var _ in e){var b=e[_],D=x[_];if(D.min!=b.min||D.max!=b.max){D.min=b.min,D.max=b.max;var k=D.distr;D._min=3==k?_o(D.min):4==k?Do(D.min,D.asinh):D.min,D._max=3==k?_o(D.max):4==k?Do(D.max,D.asinh):D.max,g[_]=y=!0}}if(y){for(var C in w.forEach((function(e,t){2==i?t>0&&g.y&&(e._paths=null):g[e.scale]&&(e._paths=null)})),g)be=!0,ln("setScale",C);Ee.show&&Ee.left>=0&&(De=ke=!0)}for(var S in I)I[S]=null}(),ye=!1),be&&(!function(){for(var e=!1,t=0;!e;){var n=ct(++t),i=st(t);(e=3==t||n&&i)||(Ce(r.width,r.height),_e=!0)}}(),be=!1),_e&&(Ia(p,ga,de),Ia(p,ma,he),Ia(p,ha,se),Ia(p,pa,fe),Ia(m,ga,de),Ia(m,ma,he),Ia(m,ha,se),Ia(m,pa,fe),Ia(h,ha,le),Ia(h,pa,ce),f.width=ho(le*na),f.height=ho(ce*na),k.forEach((function(e){var t=e._el,n=e._show,r=e._size,i=e._pos,a=e.side;if(null!=t)if(n){var o=a%2==1;Ia(t,o?"left":"top",i-(3===a||0===a?r:0)),Ia(t,o?"width":"height",r),Ia(t,o?"top":"left",o?he:de),Ia(t,o?"height":"width",o?fe:se),La(t,fa)}else Ta(t,fa)})),Ie=Be=Pe=ze=je=$e=He=Ye=Re=null,Ve=1,Jt(!0),ln("setSize"),_e=!1),le>0&&ce>0&&(d.clearRect(0,0,f.width,f.height),ln("drawClear"),A.forEach((function(e){return e()})),ln("draw")),It.show&&we&&(Pt(It),we=!1),Ee.show&&De&&(Qt(null,!0,!1),De=!1),c||(c=!0,r.status=1,ln("ready")),Ze=!1,xt=!1}function St(e,n){var i=x[e];if(null==i.from){if(0==Le){var a=i.range(r,n.min,n.max,e);n.min=a[0],n.max=a[1]}if(n.min>n.max){var o=n.min;n.min=n.max,n.max=o}if(Le>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==E&&2==i.distr&&Le>0&&(n.min=Qa(n.min,t[0]),n.max=Qa(n.max,t[0]),n.min==n.max&&n.max++),I[e]=n,ye=!0,Ct()}}r.redraw=function(e,t){be=t||!1,!1!==e?Rt(E,T.min,T.max):Ct()},r.setScale=St;var At=!1,Nt=Ee.drag,Mt=Nt.x,Ft=Nt.y;Ee.show&&(Ee.x&&(dt=Pa("u-cursor-x",m)),Ee.y&&(ht=Pa("u-cursor-y",m)),0==T.ori?(pt=dt,mt=ht):(pt=ht,mt=dt),wt=Ee.left,kt=Ee.top);var Ot,Tt,Lt,It=r.select=Qo({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Bt=It.show?Pa("u-select",It.over?m:p):null;function Pt(e,t){if(It.show){for(var n in e)It[n]=e[n],n in Xt&&Ia(Bt,n,e[n]);!1!==t&&ln("setSelect")}}function Rt(e,t,n){St(e,{min:t,max:n})}function zt(e,t,n,a){null!=t.focus&&function(e){if(e!=Lt){var t=null==e,n=1!=Ae.alpha;w.forEach((function(r,i){var a=t||0==i||i==e;r._focus=t?null:a,n&&function(e,t){w[e].alpha=t,Ee.show&&Me[e]&&(Me[e].style.opacity=t);q&&G[e]&&(G[e].style.opacity=t)}(i,a?1:Ae.alpha)})),Lt=e,n&&Ct()}}(e),null!=t.show&&w.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=w[e],r=q?G[e]:null;n.show?r&&La(r,fa):(r&&Ta(r,fa),Me.length>1&&za(Me[e],-10,-10,se,fe))}(r,t.show),Rt(2==i?n.facets[1].scale:n.scale,null,null),Ct())})),!1!==n&&ln("setSeries",e,t),a&&dn("setSeries",r,e,t)}r.setSelect=Pt,r.setSeries=zt,r.addBand=function(e,t){e.fill=Eo(e.fill||null),e.dir=io(e.dir,-1),t=null==t?C.length:t,C.splice(t,0,e)},r.setBand=function(e,t){Qo(C[e],t)},r.delBand=function(e){null==e?C.length=0:C.splice(e,1)};var jt={focus:!0};function $t(e,t,n){var r=x[t];n&&(e=e/na-(1==r.ori?he:de));var i=se;1==r.ori&&(e=(i=fe)-e),-1==r.dir&&(e=i-e);var a=r._min,o=a+(r._max-a)*(e/i),u=r.distr;return 3==u?go(10,o):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return lo.sinh(e)*t}(o,r.asinh):o}function Ht(e,t){Ia(Bt,ga,It.left=e),Ia(Bt,ha,It.width=t)}function Yt(e,t){Ia(Bt,ma,It.top=e),Ia(Bt,pa,It.height=t)}q&&Ne&&qa(Ca,R,(function(e){Ee._lock||null!=Lt&&zt(null,jt,!0,cn.setSeries)})),r.valToIdx=function(e){return Qa(e,t[0])},r.posToIdx=function(e,n){return Qa($t(e,E,n),t[0],We,Qe)},r.posToVal=$t,r.valToPos=function(e,t,n){return 0==x[t].ori?o(e,x[t],n?ve:se,n?pe:0):u(e,x[t],n?ge:fe,n?me:0)},r.batch=function(e){e(r),Ct()},r.setCursor=function(e,t,n){wt=e.left,kt=e.top,Qt(null,t,n)};var Vt=0==T.ori?Ht:Yt,Ut=1==T.ori?Ht:Yt;function qt(e,t){if(null!=e){var n=e.idx;U.idx=n,w.forEach((function(e,t){(t>0||!Z)&&Wt(t,n)}))}q&&U.live&&function(){if(q&&U.live)for(var e=2==i?1:0;eQe;Ot=wo;var c=0==T.ori?se:fe,s=1==T.ori?se:fe;if(wt<0||0==Le||l){o=null;for(var f=0;f0&&Me.length>1&&za(Me[f],-10,-10,se,fe);if(Ne&&zt(null,jt,!0,null==e&&cn.setSeries),U.live){V.fill(null),ke=!0;for(var d=0;d0&&g.show){var C=null==D?-10:Oo(O(D,1==i?x[g.scale]:x[g.facets[1].scale],s,0),.5);if(C>0&&1==i){var S=so(C-kt);S<=Ot&&(Ot=S,Tt=m)}var A=void 0,N=void 0;if(0==T.ori?(A=k,N=C):(A=C,N=k),ke&&Me.length>1){$a(Me[m],Ee.points.fill(r,m),Ee.points.stroke(r,m));var M=void 0,L=void 0,I=void 0,B=void 0,P=!0,R=Ee.points.bbox;if(null!=R){P=!1;var z=R(r,m);I=z.left,B=z.top,M=z.width,L=z.height}else I=A,B=N,M=L=Ee.points.size(r,m);Ya(Me[m],M,L,P),za(Me[m],I,B,se,fe)}}if(U.live){if(!ke||0==m&&Z)continue;Wt(m,b)}}}if(Ee.idx=o,Ee.left=wt,Ee.top=kt,ke&&(U.idx=o,qt()),It.show&&At)if(null!=e){var j=v(cn.scales,2),$=j[0],H=j[1],Y=v(cn.match,2),q=Y[0],W=Y[1],Q=v(e.cursor.sync.scales,2),G=Q[0],J=Q[1],X=e.cursor.drag;if(Mt=X._x,Ft=X._y,Mt||Ft){var ee,te,ne,re,ie,ae=e.select,oe=ae.left,ue=ae.top,le=ae.width,ce=ae.height,de=e.scales[$].ori,he=e.posToVal,pe=null!=$&&q($,G),me=null!=H&&W(H,J);pe&&Mt?(0==de?(ee=oe,te=le):(ee=ue,te=ce),ne=x[$],re=F(he(ee,G),ne,c,0),ie=F(he(ee+te,G),ne,c,0),Vt(mo(re,ie),so(ie-re))):Vt(0,c),me&&Ft?(1==de?(ee=oe,te=le):(ee=ue,te=ce),ne=x[H],re=O(he(ee,J),ne,s,0),ie=O(he(ee+te,J),ne,s,0),Ut(mo(re,ie),so(ie-re))):Ut(0,s)}else en()}else{var ve=so(bt-vt),ge=so(Dt-gt);if(1==T.ori){var ye=ve;ve=ge,ge=ye}Mt=Nt.x&&ve>=Nt.dist,Ft=Nt.y&&ge>=Nt.dist;var _e,be,De=Nt.uni;null!=De?Mt&&Ft&&(Ft=ge>=De,(Mt=ve>=De)||Ft||(ge>ve?Ft=!0:Mt=!0)):Nt.x&&Nt.y&&(Mt||Ft)&&(Mt=Ft=!0),Mt&&(0==T.ori?(_e=yt,be=wt):(_e=_t,be=kt),Vt(mo(_e,be),so(be-_e)),Ft||Ut(0,s)),Ft&&(1==T.ori?(_e=yt,be=wt):(_e=_t,be=kt),Ut(mo(_e,be),so(be-_e)),Mt||Vt(0,c)),Mt||Ft||(Vt(0,0),Ut(0,0))}if(Nt._x=Mt,Nt._y=Ft,null==e){if(a){if(null!=sn){var we=v(cn.scales,2),xe=we[0],Ce=we[1];cn.values[0]=null!=xe?$t(0==T.ori?wt:kt,xe):null,cn.values[1]=null!=Ce?$t(1==T.ori?wt:kt,Ce):null}dn(Da,r,wt,kt,se,fe,o)}if(Ne){var Se=a&&cn.setSeries,Fe=Ae.prox;null==Lt?Ot<=Fe&&zt(Tt,jt,!0,Se):Ot>Fe?zt(null,jt,!0,Se):Tt!=Lt&&zt(Tt,jt,!0,Se)}}!1!==n&&ln("setCursor")}r.setLegend=qt;var Gt=null;function Jt(e){!0===e?Gt=null:ln("syncRect",Gt=m.getBoundingClientRect())}function Zt(e,t,n,r,i,a,o){Ee._lock||At&&null!=e&&0==e.movementX&&0==e.movementY||(Kt(e,t,n,r,i,a,o,!1,null!=e),null!=e?Qt(null,!0,!0):Qt(t,!0,!1))}function Kt(e,t,n,i,a,o,u,c,s){if(null==Gt&&Jt(!1),null!=e)n=e.clientX-Gt.left,i=e.clientY-Gt.top;else{if(n<0||i<0)return wt=-10,void(kt=-10);var f=v(cn.scales,2),d=f[0],h=f[1],p=t.cursor.sync,m=v(p.values,2),g=m[0],y=m[1],_=v(p.scales,2),b=_[0],D=_[1],w=v(cn.match,2),k=w[0],C=w[1],E=t.axes[0].side%2==1,S=0==T.ori?se:fe,A=1==T.ori?se:fe,N=E?o:a,M=E?a:o,F=E?i:n,O=E?n:i;if(n=null!=b?k(d,b)?l(g,x[d],S,0):-10:S*(F/N),i=null!=D?C(h,D)?l(y,x[h],A,0):-10:A*(O/M),1==T.ori){var L=n;n=i,i=L}}if(s&&((n<=1||n>=se-1)&&(n=xo(n,se)),(i<=1||i>=fe-1)&&(i=xo(i,fe))),c){vt=n,gt=i;var I=v(Ee.move(r,n,i),2);yt=I[0],_t=I[1]}else wt=n,kt=i}var Xt={width:0,height:0,left:0,top:0};function en(){Pt(Xt,!1)}function tn(e,t,n,i,a,o,u){At=!0,Mt=Ft=Nt._x=Nt._y=!1,Kt(e,t,n,i,a,o,0,!0,!1),null!=e&&(oe(ka,Ma,nn),dn(wa,r,yt,_t,se,fe,null))}function nn(e,t,n,i,a,o,u){At=Nt._x=Nt._y=!1,Kt(e,t,n,i,a,o,0,!1,!0);var l=It.left,c=It.top,s=It.width,f=It.height,d=s>0||f>0;if(d&&Pt(It),Nt.setScale&&d){var h=l,p=s,m=c,v=f;if(1==T.ori&&(h=c,p=f,m=l,v=s),Mt&&Rt(E,$t(h,E),$t(h+p,E)),Ft)for(var g in x){var y=x[g];g!=E&&null==y.from&&y.min!=wo&&Rt(g,$t(m+v,g),$t(m,g))}en()}else Ee.lock&&(Ee._lock=!Ee._lock,Ee._lock||Qt(null,!0,!1));null!=e&&(ue(ka,Ma),dn(ka,r,wt,kt,se,fe,null))}function rn(e,t,n,i,a,o,u){Xe(),en(),null!=e&&dn(Ea,r,wt,kt,se,fe,null)}function an(){k.forEach(nc),xe(r.width,r.height,!0)}qa(Aa,Fa,an);var on={};on.mousedown=tn,on.mousemove=Zt,on.mouseup=nn,on.dblclick=rn,on.setSeries=function(e,t,n,r){zt(n,r,!0,!1)},Ee.show&&(oe(wa,m,tn),oe(Da,m,Zt),oe(xa,m,Jt),oe(Ca,m,(function(e,t,n,r,i,a,o){if(!Ee._lock){var u=At;if(At){var l,c,s=!0,f=!0;0==T.ori?(l=Mt,c=Ft):(l=Ft,c=Mt),l&&c&&(s=wt<=10||wt>=se-10,f=kt<=10||kt>=fe-10),l&&s&&(wt=wt=3&&10==i.log?il:Ao)),e.font=tc(e.font),e.labelFont=tc(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Oe[t]=!0,e._el=Pa("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(s),hn()):n(r,hn):hn(),r}rc.assign=Qo,rc.fmtNum=uo,rc.rangeNum=ro,rc.rangeLog=Ka,rc.rangeAsinh=Xa,rc.orient=gl,rc.pxRatio=na,rc.join=function(e,t){for(var n=new Set,r=0;r=o&&I<=u;I+=M){var B=s[I];if(null!=B){var P=C(c[I]),R=E(B);1==t?S(N,P,F):S(N,T,R),S(N,P,R),F=R,T=P}}var z=T;i&&1==t&&S(N,z=k+x,F);var j=v(yl(e,a),2),$=j[0],H=j[1];if(null!=l.fill||0!=$){var Y=A.fill=new Path2D(N),V=E(l.fillTo(e,a,l.min,l.max,$));S(Y,z,V),S(Y,L,V)}if(!l.spanGaps){var U,q=[];(U=q).push.apply(U,_(wl(c,s,o,u,M,C,r)));var W=l.width*na/2,Q=n||1==t?W:-W,G=n||-1==t?-W:W;q.forEach((function(e){e[0]+=Q,e[1]+=G})),A.gaps=q=l.gaps(e,a,o,u,q),A.clip=Dl(q,f.ori,m,g,y,b)}return 0!=H&&(A.band=2==H?[bl(e,a,o,u,N,-1),bl(e,a,o,u,N,1)]:bl(e,a,o,u,N,H)),A}))}},ic.bars=function(e){var t=io((e=e||Ro).size,[.6,wo,1]),n=e.align||0,r=(e.gap||0)*na,i=io(e.radius,0),a=1-t[0],o=io(t[1],wo)*na,u=io(t[2],1)*na,l=io(e.disp,Ro),c=io(e.each,(function(e){})),s=l.fill,f=l.stroke;return function(e,t,d,h){return gl(e,t,(function(p,m,g,y,_,b,D,w,k,x,C){var E,S,A=p.pxRound,N=y.dir*(0==y.ori?1:-1),M=_.dir*(1==_.ori?1:-1),F=0==y.ori?Nl:Ml,O=0==y.ori?c:function(e,t,n,r,i,a,o){c(e,t,n,i,r,o,a)},T=v(yl(e,t),2),L=T[0],I=T[1],B=3==_.distr?1==L?_.max:_.min:0,P=D(B,_,C,k),R=A(p.width*na),z=!1,j=null,$=null,H=null,Y=null;null==s||0!=R&&null==f||(z=!0,j=s.values(e,t,d,h),$=new Map,new Set(j).forEach((function(e){null!=e&&$.set(e,new Path2D)})),R>0&&(H=f.values(e,t,d,h),Y=new Map,new Set(H).forEach((function(e){null!=e&&Y.set(e,new Path2D)}))));var V=l.x0,U=l.size;if(null!=V&&null!=U){m=V.values(e,t,d,h),2==V.unit&&(m=m.map((function(t){return e.posToVal(w+t*x,y.key,!0)})));var q=U.values(e,t,d,h);S=A((S=2==U.unit?q[0]*x:b(q[0],y,x,w)-b(0,y,x,w))-R),E=1==N?-R/2:S+R/2}else{var W=x;if(m.length>1)for(var Q=null,G=0,J=1/0;G=d&&ae<=h;ae+=N){var oe=g[ae];if(void 0!==oe){var ue=b(2!=y.distr||null!=l?m[ae]:ae,y,x,w),le=D(io(oe,B),_,C,k);null!=ie&&null!=oe&&(P=D(ie[ae],_,C,k));var ce=A(ue-E),se=A(vo(le,P)),fe=A(mo(le,P)),de=se-fe,he=i*S;null!=oe&&(z?(R>0&&null!=H[ae]&&F(Y.get(H[ae]),ce,fe+fo(R/2),S,vo(0,de-R),he),null!=j[ae]&&F($.get(j[ae]),ce,fe+fo(R/2),S,vo(0,de-R),he)):F(ee,ce,fe+fo(R/2),S,vo(0,de-R),he),O(e,t,ae,ce-R/2,fe,S+R,de)),0!=I&&(M*I==1?(se=fe,fe=K):(fe=se,se=K),F(te,ce-R/2,fe,S+R,vo(0,de=se-fe),0))}}return R>0&&(X.stroke=z?Y:ee),X.fill=z?$:ee,X}))}},ic.spline=function(e){return function(e,t){var n=io(null===t||void 0===t?void 0:t.alignGaps,0);return function(t,r,i,a){return gl(t,r,(function(o,u,l,c,s,f,d,h,p,m,g){var y,b,D,w=o.pxRound,k=function(e){return w(f(e,c,m,h))},x=function(e){return w(d(e,s,g,p))};0==c.ori?(y=Cl,D=Sl,b=Tl):(y=El,D=Al,b=Ll);var C=c.dir*(0==c.ori?1:-1);i=Ga(l,i,a,1),a=Ga(l,i,a,-1);for(var E=k(u[1==C?i:a]),S=E,A=[],N=[],M=1==C?i:a;M>=i&&M<=a;M+=C)if(null!=l[M]){var F=k(u[M]);A.push(S=F),N.push(x(l[M]))}var O={stroke:e(A,N,y,D,b,w),fill:null,clip:null,band:null,gaps:null,flags:1},T=O.stroke,L=v(yl(t,r),2),I=L[0],B=L[1];if(null!=o.fill||0!=I){var P=O.fill=new Path2D(T),R=x(o.fillTo(t,r,o.min,o.max,I));D(P,S,R),D(P,E,R)}if(!o.spanGaps){var z,j=[];(z=j).push.apply(z,_(wl(u,l,i,a,C,k,n))),O.gaps=j=o.gaps(t,r,i,a,j),O.clip=Dl(j,c.ori,h,p,m,g)}return 0!=B&&(O.band=2==B?[bl(t,r,i,a,T,-1),bl(t,r,i,a,T,1)]:bl(t,r,i,a,T,B)),O}))}}(jl,e)};var ac,oc={legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:function(){return null},dblclick:function(){return null}}}},uc=function(e,t,n){if(void 0===e||null===e)return"";n=n||0,t=t||0;var r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();var i=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(i)||i>20)&&(i=20),e.toLocaleString("en-US",{minimumSignificantDigits:i,maximumSignificantDigits:i})},lc=function(e,t,n,r){var i,a=e.axes[n];if(r>1)return a._size||60;var o=6+((null===a||void 0===a||null===(i=a.ticks)||void 0===i?void 0:i.size)||0)+(a.gap||0),u=(null!==t&&void 0!==t?t:[]).reduce((function(e,t){return(null===t||void 0===t?void 0:t.length)>e.length?t:e}),"");return""!=u&&(o+=function(e,t){var n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);var r=n.offsetWidth;return n.remove(),r}(u,"10px Arial")),Math.ceil(o)},cc=function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,i=e.u,a=e.setPanning,o=e.setPlotScale;t.preventDefault();var u=t instanceof MouseEvent;a(!0);var l=u?t.clientX:t.touches[0].clientX,c=i.posToVal(1,"x")-i.posToVal(0,"x"),s=i.scales.x.min||0,f=i.scales.x.max||0,d=function(e){var t=e instanceof MouseEvent;if(t||!(e.touches.length>1)){e.preventDefault();var n=t?e.clientX:e.touches[0].clientX,a=c*((n-l)*r);o({u:i,min:s-a,max:f-a})}},h=function e(){a(!1),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",e),document.removeEventListener("touchmove",d),document.removeEventListener("touchend",e)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",h),document.addEventListener("touchmove",d),document.addEventListener("touchend",h)},sc=function(e){for(var t=e.length,n=-1/0;t--;){var r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},fc=function(e){for(var t=e.length,n=1/0;t--;){var r=e[t];Number.isFinite(r)&&r2&&void 0!==arguments[2]?arguments[2]:"",r=t[0],i=t[t.length-1];return n?t.map((function(e){return"".concat(uc(e,r,i)," ").concat(n)})):t.map((function(e){return uc(e,r,i)}))}(e,n,t)}};return e?Number(e)%2?i:ot(ot({},i),{},{side:1}):{space:80,values:dc,stroke:r,font:n}}))},pc=function(e,t){if(null==e||null==t)return[-1,1];var n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},mc=n(61),vc=n.n(mc),gc=function(e){var t,n,i,o=e.u,u=e.id,l=e.unit,c=void 0===l?"":l,s=e.metrics,f=e.series,d=e.yRange,h=e.tooltipIdx,p=e.tooltipOffset,m=e.isSticky,g=e.onClose,y=(0,r.useRef)(null),_=v((0,r.useState)({top:-999,left:-999}),2),b=_[0],D=_[1],w=v((0,r.useState)(!1),2),k=w[0],x=w[1],C=v((0,r.useState)(!1),2),E=C[0],S=C[1],A=v((0,r.useState)(h.seriesIdx),2),N=A[0],M=A[1],F=v((0,r.useState)(h.dataIdx),2),O=F[0],T=F[1],L=(0,r.useMemo)((function(){return o.root.querySelector(".u-wrap")}),[o]),I=_t()(o,["data",N,O],0),B=uc(I,_t()(d,[0]),_t()(d,[1])),P=o.data[0][O],R=a()(1e3*P).tz().format($t),z=(null===(t=f[N])||void 0===t?void 0:t.stroke)+"",j=(null===(n=f[N])||void 0===n?void 0:n.calculations)||{},$=new Set(s.map((function(e){return e.group}))).size>1,H=(null===(i=s[N-1])||void 0===i?void 0:i.group)||0,Y=(0,r.useMemo)((function(){var e,t=(null===(e=s[N-1])||void 0===e?void 0:e.metric)||{},n=Object.keys(t).filter((function(e){return"__name__"!=e})).map((function(e){return"".concat(e,"=").concat(JSON.stringify(t[e]))})),r=t.__name__||"";return n.length>0&&(r+="{"+n.join(",")+"}"),r}),[s,N]),V=function(e){if(k){var t=e.clientX,n=e.clientY;D({top:n,left:t})}},U=function(){x(!1)};return(0,r.useEffect)((function(){var e;if(y.current){var t=o.valToPos(I||0,(null===(e=f[N])||void 0===e?void 0:e.scale)||"1"),n=o.valToPos(P,"x"),r=y.current.getBoundingClientRect(),i=r.width,a=r.height,u=o.over.getBoundingClientRect(),l=n+i>=u.width?i+20:0,c=t+a>=u.height?a+20:0,s={top:t+p.top+10-c,left:n+p.left+10-l};s.left<0&&(s.left=20),s.top<0&&(s.top=20),D(s)}}),[o,I,P,N,p,y]),(0,r.useEffect)((function(){M(h.seriesIdx),T(h.dataIdx)}),[h]),(0,r.useEffect)((function(){return k&&(document.addEventListener("mousemove",V),document.addEventListener("mouseup",U)),function(){document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",U)}}),[k]),!L||h.seriesIdx<0||h.dataIdx<0?null:r.default.createPortal(Lt("div",{className:mr()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":m,"vm-chart-tooltip_moved":E}),ref:y,style:b,children:[Lt("div",{className:"vm-chart-tooltip-header",children:[Lt("div",{className:"vm-chart-tooltip-header__date",children:[$&&Lt("div",{children:["Query ",H]}),R]}),m&&Lt(Ot.HY,{children:[Lt(ei,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Lt(ir,{}),onMouseDown:function(e){S(!0),x(!0);var t=e.clientX,n=e.clientY;D({top:n,left:t})}}),Lt(ei,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Lt(Tn,{}),onClick:function(){g&&g(u)}})]})]}),Lt("div",{className:"vm-chart-tooltip-data",children:[Lt("div",{className:"vm-chart-tooltip-data__marker",style:{background:z}}),Lt("div",{children:[Lt("b",{children:[B,c]}),Lt("br",{}),"median:",Lt("b",{children:j.median}),", min:",Lt("b",{children:j.min}),", max:",Lt("b",{children:j.max})]})]}),Lt("div",{className:"vm-chart-tooltip-info",children:Y})]}),L)};!function(e){e.xRange="xRange",e.yRange="yRange"}(ac||(ac={}));var yc,_c=function(e){var t=e.data,n=e.series,i=e.metrics,o=void 0===i?[]:i,u=e.period,l=e.yaxis,c=e.unit,s=e.setPeriod,f=e.container,d=e.height,h=Bt().isDarkTheme,p=(0,r.useRef)(null),m=v((0,r.useState)(!1),2),g=m[0],y=m[1],b=v((0,r.useState)({min:u.start,max:u.end}),2),D=b[0],w=b[1],k=v((0,r.useState)([0,1]),2),x=k[0],C=k[1],E=v((0,r.useState)(),2),S=E[0],A=E[1],N=v((0,r.useState)(0),2),M=N[0],F=N[1],O=hr(f),T=v((0,r.useState)(!1),2),L=T[0],I=T[1],B=v((0,r.useState)({seriesIdx:-1,dataIdx:-1}),2),P=B[0],R=B[1],z=v((0,r.useState)({left:0,top:0}),2),j=z[0],$=z[1],H=v((0,r.useState)([]),2),Y=H[0],V=H[1],U=(0,r.useMemo)((function(){return"".concat(P.seriesIdx,"_").concat(P.dataIdx)}),[P]),q=(0,r.useCallback)(vc()((function(e){var t=e.min,n=e.max;s({from:a()(1e3*t).toDate(),to:a()(1e3*n).toDate()})}),500),[]),W=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);iqt||(t.setScale("x",{min:n,max:r}),w({min:n,max:r}),q({min:n,max:r}))},Q=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,a=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(S&&!a){var o="+"===i||"="===i;if(("-"===i||o)&&!n&&!r){e.preventDefault();var u=(D.max-D.min)/10*(o?1:-1);W({u:S,min:D.min+u,max:D.max-u})}}},G=function(){var e="".concat(P.seriesIdx,"_").concat(P.dataIdx),t={id:e,unit:c,series:n,metrics:o,yRange:x,tooltipIdx:P,tooltipOffset:j};if(!Y.find((function(t){return t.id===e}))){var r=JSON.parse(JSON.stringify(t));V((function(e){return[].concat(_(e),[r])}))}},J=function(e){V((function(t){return t.filter((function(t){return t.id!==e}))}))},Z=function(){return[D.min,D.max]},K=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0;return"1"==r&&C([t,n]),l.limits.enable?l.limits.range[r]:pc(t,n)},X=ot(ot({},oc),{},{tzDate:function(e){return a()(rn(on(e))).local().toDate()},series:n,axes:hc([{},{scale:"1"}],c),scales:ot({},function(){var e={x:{range:Z}},t=Object.keys(l.limits.range);return(t.length?t:["1"]).forEach((function(t){e[t]={range:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return K(e,n,r,t)}}})),e}()),width:O.width||400,height:d||500,plugins:[{hooks:{ready:function(e){var t=.9;$({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(n){var r=n.ctrlKey,i=n.metaKey;0===n.button&&(r||i)&&cc({u:e,e:n,setPanning:y,setPlotScale:W,factor:t})})),e.over.addEventListener("touchstart",(function(n){cc({u:e,e:n,setPanning:y,setPlotScale:W,factor:t})})),e.over.addEventListener("wheel",(function(n){if(n.ctrlKey||n.metaKey){n.preventDefault();var r=e.over.getBoundingClientRect().width,i=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,a=e.posToVal(i,"x"),o=(e.scales.x.max||0)-(e.scales.x.min||0),u=n.deltaY<0?o*t:o/t,l=a-i/r*u,c=l+u;e.batch((function(){return W({u:e,min:l,max:c})}))}}))},setCursor:function(e){var t,n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;R((function(e){return ot(ot({},e),{},{dataIdx:n})}))},setSeries:function(e,t){var n=null!==t&&void 0!==t?t:-1;R((function(e){return ot(ot({},e),{},{seriesIdx:n})}))}}}],hooks:{setSelect:[function(e){var t=e.posToVal(e.select.left,"x"),n=e.posToVal(e.select.left+e.select.width,"x");W({u:e,min:t,max:n})}]}}),ee=function(e){if(S){switch(e){case ac.xRange:S.scales.x.range=Z;break;case ac.yRange:Object.keys(l.limits.range).forEach((function(e){S.scales[e]&&(S.scales[e].range=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return K(t,n,r,e)})}))}g||S.redraw()}};(0,r.useEffect)((function(){return w({min:u.start,max:u.end})}),[u]),(0,r.useEffect)((function(){if(V([]),R({seriesIdx:-1,dataIdx:-1}),p.current){var e=new rc(X,t,p.current);return A(e),w({min:u.start,max:u.end}),e.destroy}}),[p.current,n,O,d,h]),(0,r.useEffect)((function(){return window.addEventListener("keydown",Q),function(){window.removeEventListener("keydown",Q)}}),[D]);var te=function(e){if(2===e.touches.length){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY;F(Math.sqrt(t*t+n*n))}},ne=function(e){if(2===e.touches.length&&S){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY,r=Math.sqrt(t*t+n*n),i=M-r,a=S.scales.x.max||D.max,o=S.scales.x.min||D.min,u=(a-o)/50*(i>0?-1:1);S.batch((function(){return W({u:S,min:o+u,max:a-u})}))}};return(0,r.useEffect)((function(){return window.addEventListener("touchmove",ne),window.addEventListener("touchstart",te),function(){window.removeEventListener("touchmove",ne),window.removeEventListener("touchstart",te)}}),[S,M]),(0,r.useEffect)((function(){return ee(ac.xRange)}),[D]),(0,r.useEffect)((function(){return ee(ac.yRange)}),[l]),(0,r.useEffect)((function(){var e=-1!==P.dataIdx&&-1!==P.seriesIdx;return I(e),e&&window.addEventListener("click",G),function(){window.removeEventListener("click",G)}}),[P,Y]),Lt("div",{className:mr()({"vm-line-chart":!0,"vm-line-chart_panning":g}),style:{minWidth:"".concat(O.width||400,"px"),minHeight:"".concat(d||500,"px")},children:[Lt("div",{className:"vm-line-chart__u-plot",ref:p}),S&&L&&Lt(gc,{unit:c,u:S,series:n,metrics:o,yRange:x,tooltipIdx:P,tooltipOffset:j,id:U}),S&&Y.map((function(e){return(0,r.createElement)(gc,ot(ot({},e),{},{isSticky:!0,u:S,key:e.id,onClose:J}))}))]})},bc=function(e){var t=e.legend,n=e.onChange,i=e.isHeatmap,a=v((0,r.useState)(""),2),o=a[0],u=a[1],l=(0,r.useMemo)((function(){var e=function(e){return Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e})).map((function(t){var n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))}(t);return i?e.filter((function(e){return"vmrange"!==e.key})):e}),[t,i]),c=t.calculations,s=Object.values(c).some((function(e){return e})),f=function(){var e=ta(Xi().mark((function e(t,n){return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:u(n),setTimeout((function(){return u("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return Lt("div",{className:mr()({"vm-legend-item":!0,"vm-legend-row":!0,"vm-legend-item_hide":!t.checked&&!i,"vm-legend-item_static":i}),onClick:function(e){return function(t){n&&n(e,t.ctrlKey||t.metaKey)}}(t),children:[!i&&Lt("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Lt("div",{className:"vm-legend-item-info",children:Lt("span",{className:"vm-legend-item-info__label",children:[t.freeFormFields.__name__,!!l.length&&Lt(Ot.HY,{children:"{"}),l.map((function(e,t){return Lt(ai,{open:o===e.id,title:"copied!",placement:"top-center",children:Lt("span",{className:"vm-legend-item-info__free-fields",onClick:(n=e.freeField,r=e.id,function(e){e.stopPropagation(),f(n,r)}),title:"copy to clipboard",children:[e.freeField,t+11;return Lt(Ot.HY,{children:Lt("div",{className:"vm-legend",children:a.map((function(e){return Lt("div",{className:"vm-legend-group",children:Lt(qi,{defaultExpanded:!0,title:Lt("div",{className:"vm-legend-group-title",children:[o&&Lt("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Lt("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),children:Lt("div",{children:t.filter((function(t){return t.group===e})).map((function(e){return Lt(bc,{legend:e,onChange:i},e.label)}))})})},e)}))})})},wc=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],kc=function(e){var t=16777215,n=1,r=0,i=1;if(e.length>0)for(var a=0;ar&&(r=e[a].charCodeAt(0)),i=parseInt(String(t/r)),n=(n+e[a].charCodeAt(0)*i*49979693)%t;var o=(n*e.length%t).toString(16);return o=o.padEnd(6,o),"#".concat(o)},xc=["__name__"],Cc=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.metric,i=r.__name__,a=vr(r,xc),o=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(i||"");return 0==Object.keys(a).length?o||"value":"".concat(o,"{").concat(Object.entries(a).map((function(e){return"".concat(e[0],"=").concat(JSON.stringify(e[1]))})).join(", "),"}")},Ec=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},Sc=function(e){if(e.length<2)return!1;var t=["le","vmrange"],n=Object.keys(e[0].metric).filter((function(e){return!t.includes(e)}));return e.every((function(r){var i=Object.keys(r.metric).filter((function(e){return!t.includes(e)}));return n.length===i.length&&i.every((function(t){return r.metric[t]===e[0].metric[t]}))}))&&e.every((function(e){return t.some((function(t){return t in e.metric}))}))},Ac=function(e,t,n){for(var r=[],i=0;i0&&(i=Math.min(i,n[o]),a=Math.max(a,n[o]));for(var u=a-i,l=r.length,c=Array(n.length),s=0;s0&&b[I]>=(o.min||-1/0)&&b[I]<=(o.max||1/0)&&D[I]>=(u.min||-1/0)&&D[I]<=(u.max||1/0)){var B=L[~~(I/S)],P=T[I%S];g(E[x[I]],B,P,F,O)}e.ctx.save(),e.ctx.rect(e.bbox.left,e.bbox.top,e.bbox.width,e.bbox.height),e.ctx.clip(),E.forEach((function(t,n){e.ctx.fillStyle=C[n],e.ctx.fill(t)})),e.ctx.restore()}))}},Mc=function(e){var t=(e.metric.vmrange||e.metric.le).split("...");return Ec(t[t.length-1])},Fc=function(e,t){return Mc(e)-Mc(t)},Oc=function(e,t){if(!t)return e;var n=function(e){var t;if(!e.every((function(e){return e.metric.le})))return e;var n,r=e.sort((function(e,t){return parseFloat(e.metric.le)-parseFloat(t.metric.le)})),i=(null===(t=e[0])||void 0===t?void 0:t.group)||1,a={metric:{le:""},values:[],group:i},o=[],u=g(r);try{for(u.s();!(n=u.n()).done;){var l,c=n.value,s=[a.metric.le,c.metric.le].filter((function(e){return e})).join("..."),f=[],d=g(c.values);try{var h=function(){var e,t=v(l.value,2),n=t[0],r=+t[1]-+((null===(e=a.values.find((function(e){return e[0]===n})))||void 0===e?void 0:e[1])||0);f.push([n,"".concat(r)])};for(d.s();!(l=d.n()).done;)h()}catch(p){d.e(p)}finally{d.f()}o.push({metric:{vmrange:s},values:f,group:i}),a=c}}catch(p){u.e(p)}finally{u.f()}return o}(e.sort(Fc)),r=n.map((function(e){return e.values})).flat();return n.map((function(e){var t=e.values.map((function(e){var t=r.filter((function(t){return t[0]===e[0]})).reduce((function(e,t){return e+ +t[1]}),0);return[e[0],"".concat(Math.round(+e[1]/t*100))]}));return ot(ot({},e),{},{values:t})})).filter((function(e){return!e.values.every((function(e){return"0"===e[1]}))}))},Tc=function(e){var t,n=e.min,i=e.max,a=e.legendValue,o=e.series,u=v((0,r.useState)(0),2),l=u[0],c=u[1],s=v((0,r.useState)(""),2),f=s[0],d=s[1],h=v((0,r.useState)(""),2),p=h[0],m=h[1],g=v((0,r.useState)(""),2),y=g[0],_=g[1];return(0,r.useEffect)((function(){var e=(null===a||void 0===a?void 0:a.value)||0;c(e?(e-n)/(i-n)*100:0),d(e?"".concat(e,"%"):""),m("".concat(n,"%")),_("".concat(i,"%"))}),[a,n,i]),Lt("div",{className:"vm-legend-heatmap__wrapper",children:[Lt("div",{className:"vm-legend-heatmap",children:[Lt("div",{className:"vm-legend-heatmap-gradient",style:{background:"linear-gradient(to right, ".concat(Ac.join(", "),")")},children:!(null===a||void 0===a||!a.value)&&Lt("div",{className:"vm-legend-heatmap-gradient__value",style:{left:"".concat(l,"%")},children:Lt("span",{children:f})})}),Lt("div",{className:"vm-legend-heatmap__value",children:p}),Lt("div",{className:"vm-legend-heatmap__value",children:y})]}),o[1]&&Lt(bc,{legend:o[1],isHeatmap:!0},null===(t=o[1])||void 0===t?void 0:t.label)]})},Lc=function(){var e={};return function(t,n,r){var i=Cc(t,r[t.group-1]),a=Object.keys(e).length;a>1]}(o),s=function(e){for(var t=e.length;t--;){var n=e[t];if(Number.isFinite(n))return n}}(o);return{label:i,freeFormFields:t.metric,width:1.4,stroke:e[i]||kc(i),show:!Bc(i,n),scale:"1",points:{size:4.2,width:1.4},calculations:{min:uc(u,u,l),max:uc(l,u,l),median:uc(c,u,l),last:uc(s,u,l)}}}},Ic=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields,calculations:e.calculations}},Bc=function(e,t){return t.includes("".concat(e))},Pc=function(e){var t=e.u,n=e.id,i=e.unit,a=void 0===i?"":i,o=e.cursor,u=e.tooltipOffset,l=e.isSticky,c=e.onClose,s=e.startDate,f=e.endDate,d=e.bucket,h=e.valueFormat,p=e.value,m=(0,r.useRef)(null),g=v((0,r.useState)({top:-999,left:-999}),2),y=g[0],_=g[1],b=v((0,r.useState)(!1),2),D=b[0],w=b[1],k=v((0,r.useState)(!1),2),x=k[0],C=k[1],E=(0,r.useMemo)((function(){return t.root.querySelector(".u-wrap")}),[t]),S=function(e){if(D){var t=e.clientX,n=e.clientY;_({top:n,left:t})}},A=function(){w(!1)};return(0,r.useEffect)((function(){if(m.current){var e=o.top,n=o.left,r=m.current.getBoundingClientRect(),i=r.width,a=r.height,l=t.over.getBoundingClientRect(),c=n+i>=l.width?i+20:0,s=e+a>=l.height?a+20:0;_({top:e+u.top+10-s,left:n+u.left+10-c})}}),[t,o,u,m]),(0,r.useEffect)((function(){return D&&(document.addEventListener("mousemove",S),document.addEventListener("mouseup",A)),function(){document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",A)}}),[D]),E&&o.left&&o.top&&p?r.default.createPortal(Lt("div",{className:mr()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":l,"vm-chart-tooltip_moved":x}),ref:m,style:y,children:[Lt("div",{className:"vm-chart-tooltip-header",children:[Lt("div",{className:"vm-chart-tooltip-header__date vm-chart-tooltip-header__date_range",children:[Lt("span",{children:s}),Lt("span",{children:f})]}),l&&Lt(Ot.HY,{children:[Lt(ei,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Lt(ir,{}),onMouseDown:function(e){C(!0),w(!0);var t=e.clientX,n=e.clientY;_({top:n,left:t})}}),Lt(ei,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Lt(Tn,{}),onClick:function(){c&&c(n)}})]})]}),Lt("div",{className:"vm-chart-tooltip-data",children:Lt("p",{children:["value: ",Lt("b",{className:"vm-chart-tooltip-data__value",children:h}),a]})}),Lt("div",{className:"vm-chart-tooltip-info",children:d})]}),E):null};!function(e){e.xRange="xRange",e.yRange="yRange"}(yc||(yc={}));var Rc=function(e){var t=e.data,n=e.metrics,i=void 0===n?[]:n,o=e.period,u=e.yaxis,l=e.unit,c=e.setPeriod,s=e.container,f=e.height,d=e.onChangeLegend,h=Bt().isDarkTheme,p=(0,r.useRef)(null),m=v((0,r.useState)(!1),2),g=m[0],y=m[1],b=v((0,r.useState)({min:o.start,max:o.end}),2),D=b[0],w=b[1],k=v((0,r.useState)(),2),x=k[0],C=k[1],E=v((0,r.useState)(0),2),S=E[0],A=E[1],N=hr(s),M=v((0,r.useState)(null),2),F=M[0],O=M[1],T=v((0,r.useState)({left:0,top:0}),2),L=T[0],I=T[1],B=v((0,r.useState)([]),2),P=B[0],R=B[1],z=(0,r.useMemo)((function(){return"".concat(null===F||void 0===F?void 0:F.bucket,"_").concat(null===F||void 0===F?void 0:F.startDate)}),[F]),j=(0,r.useCallback)(vc()((function(e){var t=e.min,n=e.max;isNaN(t)||isNaN(n)||c({from:a()(1e3*t).toDate(),to:a()(1e3*n).toDate()})}),500),[]),$=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);iqt||(t.setScale("x",{min:n,max:r}),w({min:n,max:r}),j({min:n,max:r}))},H=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,a=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(x&&!a){var o="+"===i||"="===i;if(("-"===i||o)&&!n&&!r){e.preventDefault();var u=(D.max-D.min)/10*(o?1:-1);$({u:x,min:D.min+u,max:D.max-u})}}},Y=function(){if(F){var e="".concat(null===F||void 0===F?void 0:F.bucket,"_").concat(null===F||void 0===F?void 0:F.startDate),t=ot({id:e,unit:l,tooltipOffset:L},F);if(!P.find((function(t){return t.id===e}))){var n=JSON.parse(JSON.stringify(t));R((function(e){return[].concat(_(e),[n])}))}}},V=function(e){R((function(t){return t.filter((function(t){return t.id!==e}))}))},U=function(){return[D.min,D.max]},q=hc([{}],l),W=ot(ot({},oc),{},{mode:2,tzDate:function(e){return a()(rn(on(e))).local().toDate()},series:[{},{paths:Nc(),facets:[{scale:"x",auto:!0,sorted:1},{scale:"y",auto:!0}]}],axes:[].concat(_(q),[{scale:"y",stroke:q[0].stroke,font:q[0].font,size:lc,splits:i.map((function(e,t){return t})),values:i.map((function(e){return e.metric.vmrange}))}]),scales:{x:{time:!0},y:{log:2,time:!1,range:function(e,t,n){return[t-1,n+1]}}},width:N.width||400,height:f||500,plugins:[{hooks:{ready:function(e){var t=.9;I({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(n){var r=n.ctrlKey,i=n.metaKey;0===n.button&&(r||i)&&cc({u:e,e:n,setPanning:y,setPlotScale:$,factor:t})})),e.over.addEventListener("touchstart",(function(n){cc({u:e,e:n,setPanning:y,setPlotScale:$,factor:t})})),e.over.addEventListener("wheel",(function(n){if(n.ctrlKey||n.metaKey){n.preventDefault();var r=e.over.getBoundingClientRect().width,i=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,a=e.posToVal(i,"x"),o=(e.scales.x.max||0)-(e.scales.x.min||0),u=n.deltaY<0?o*t:o/t,l=a-i/r*u,c=l+u;e.batch((function(){return $({u:e,min:l,max:c})}))}}))},setCursor:function(e){var t,n=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,r=e.cursor.top&&e.cursor.top>0?e.cursor.top:0,o=e.data[1][0]||[];if(Array.isArray(o)){var u=e.posToVal(n,"x"),l=e.posToVal(r,"y"),c=o.findIndex((function(e,t){return u>=e&&u0?-1:1);x.batch((function(){return $({u:x,min:o+u,max:a-u})}))}};return(0,r.useEffect)((function(){return window.addEventListener("touchmove",J),window.addEventListener("touchstart",G),function(){window.removeEventListener("touchmove",J),window.removeEventListener("touchstart",G)}}),[x,S]),(0,r.useEffect)((function(){return Q(yc.xRange)}),[D]),(0,r.useEffect)((function(){return Q(yc.yRange)}),[u]),(0,r.useEffect)((function(){return!(null===F||void 0===F||!F.value)&&window.addEventListener("click",Y),function(){window.removeEventListener("click",Y)}}),[F,P]),(0,r.useEffect)((function(){F&&d(F)}),[F]),Lt("div",{className:mr()({"vm-line-chart":!0,"vm-line-chart_panning":g}),style:{minWidth:"".concat(N.width||400,"px"),minHeight:"".concat(f||500,"px")},children:[Lt("div",{className:"vm-line-chart__u-plot",ref:p}),x&&F&&Lt(Pc,ot(ot({},F),{},{unit:l,u:x,tooltipOffset:L,id:z})),x&&P.map((function(e){return(0,r.createElement)(Pc,ot(ot({},e),{},{isSticky:!0,u:x,key:e.id,onClose:V}))}))]})},zc=function(e){var t=e.data,n=void 0===t?[]:t,i=e.period,a=e.customStep,o=e.query,u=e.yaxis,l=e.unit,c=e.showLegend,s=void 0===c||c,f=e.setYaxisLimits,d=e.setPeriod,h=e.alias,p=void 0===h?[]:h,m=e.fullWidth,y=void 0===m||m,b=e.height,D=e.isHistogram,w=Hr().isMobile,k=wn().timezone,x=(0,r.useMemo)((function(){return a||i.step||"1s"}),[i.step,a]),C=(0,r.useMemo)((function(){return Oc(n,D)}),[D,n]),E=(0,r.useCallback)(Lc(),[C]),S=v((0,r.useState)([[]]),2),A=S[0],N=S[1],M=v((0,r.useState)([]),2),F=M[0],O=M[1],T=v((0,r.useState)([]),2),L=T[0],I=T[1],B=v((0,r.useState)([]),2),P=B[0],R=B[1],z=v((0,r.useState)(null),2),j=z[0],$=z[1],H=function(e){var t=function(e,t){var n={},r=Object.values(e).flat(),i=fc(r)||0,a=sc(r)||1;return n[1]=t?pc(i,a):[i,a],n}(e,!D);f(t)};(0,r.useEffect)((function(){var e=[],t={},n=[],r=[{}];null===C||void 0===C||C.forEach((function(i){var a=E(i,P,p);r.push(a),n.push(Ic(a,i.group));var o,u=t[i.group]||[],l=g(i.values);try{for(l.s();!(o=l.n()).done;){var c=o.value;e.push(c[0]),u.push(Ec(c[1]))}}catch(s){l.e(s)}finally{l.f()}t[i.group]=u}));var a=function(e,t,n){for(var r=Xt(t)||1,i=Array.from(new Set(e)).sort((function(e,t){return e-t})),a=n.start,o=Zt(n.end+r),u=0,l=[];a<=o;){for(;u=i.length||i[u]>a)&&l.push(a)}for(;l.length<2;)l.push(a),a=Zt(a+r);return l}(e,x,i),o=C.map((function(e){var t,n=[],r=e.values,i=r.length,o=0,u=g(a);try{for(u.s();!(t=u.n()).done;){for(var l=t.value;o1e10*h?n.map((function(){return f})):n}));o.unshift(a),H(t);var u=D?function(e){var t=e.slice(1,e.length),n=[],r=[];t.forEach((function(e,n){e.forEach((function(e,i){var a=i*t.length+n;r[a]=e}))})),e[0].forEach((function(e){var r=new Array(t.length).fill(e);n.push.apply(n,_(r))}));var i=new Array(n.length).fill(0).map((function(e,n){return n%t.length}));return[null,[n,i,r]]}(o):o;N(u),O(r),I(n)}),[C,k,D]),(0,r.useEffect)((function(){var e=[],t=[{}];null===C||void 0===C||C.forEach((function(n){var r=E(n,P,p);t.push(r),e.push(Ic(r,n.group))})),O(t),I(e)}),[P]);var Y=(0,r.useRef)(null);return Lt("div",{className:mr()({"vm-graph-view":!0,"vm-graph-view_full-width":y,"vm-graph-view_full-width_mobile":y&&w}),ref:Y,children:[(null===Y||void 0===Y?void 0:Y.current)&&!D&&Lt(_c,{data:A,series:F,metrics:C,period:i,yaxis:u,unit:l,setPeriod:d,container:null===Y||void 0===Y?void 0:Y.current,height:b}),(null===Y||void 0===Y?void 0:Y.current)&&D&&Lt(Rc,{data:A,metrics:C,period:i,yaxis:u,unit:l,setPeriod:d,container:null===Y||void 0===Y?void 0:Y.current,height:b,onChangeLegend:function(e){$(e)}}),!D&&s&&Lt(Dc,{labels:L,query:o,onChange:function(e,t){R(function(e){var t=e.hideSeries,n=e.legend,r=e.metaKey,i=e.series,a=n.label,o=Bc(a,t),u=i.map((function(e){return e.label||""}));return r?o?t.filter((function(e){return e!==a})):[].concat(_(t),[a]):t.length?o?_(u.filter((function(e){return e!==a}))):[]:_(u.filter((function(e){return e!==a})))}({hideSeries:P,legend:e,metaKey:t,series:F}))}}),D&&s&&Lt(Tc,{series:F,min:u.limits.range[1][0]||0,max:u.limits.range[1][1]||0,legendValue:j})]})},jc=function(e){var t=e.value,n=e.options,i=e.anchor,a=e.disabled,o=e.maxWords,u=void 0===o?1:o,l=e.minLength,c=void 0===l?2:l,s=e.fullWidth,f=e.selected,d=e.noOptionsText,h=e.label,p=e.disabledFullScreen,m=e.onSelect,g=e.onOpenAutocomplete,y=Hr().isMobile,_=(0,r.useRef)(null),b=v((0,r.useState)(!1),2),D=b[0],w=b[1],k=v((0,r.useState)(-1),2),x=k[0],C=k[1],E=(0,r.useMemo)((function(){if(!D)return[];try{var e=new RegExp(String(t),"i");return n.filter((function(n){return e.test(n)&&n!==t})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(r){return[]}}),[D,n,t]),S=(0,r.useMemo)((function(){return d&&!E.length}),[d,E]),A=function(){w(!1)},N=function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,i=e.shiftKey,a=n||r||i,o=E.length;if("ArrowUp"===t&&!a&&o&&(e.preventDefault(),C((function(e){return e<=0?0:e-1}))),"ArrowDown"===t&&!a&&o){e.preventDefault();var u=E.length-1;C((function(e){return e>=u?u:e+1}))}if("Enter"===t){var l=E[x];l&&m(l),f||A()}"Escape"===t&&A()};return(0,r.useEffect)((function(){var e=(t.match(/[a-zA-Z_:.][a-zA-Z0-9_:.]*/gm)||[]).length;w(t.length>c&&e<=u)}),[t]),(0,r.useEffect)((function(){return function(){if(_.current){var e=_.current.childNodes[x];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}(),window.addEventListener("keydown",N),function(){window.removeEventListener("keydown",N)}}),[x,E]),(0,r.useEffect)((function(){C(-1)}),[E]),(0,r.useEffect)((function(){g&&g(D)}),[D]),Lt(ti,{open:D,buttonRef:i,placement:"bottom-left",onClose:A,fullWidth:s,title:y?h:void 0,disabledFullScreen:p,children:Lt("div",{className:mr()({"vm-autocomplete":!0,"vm-autocomplete_mobile":y&&!p}),ref:_,children:[S&&Lt("div",{className:"vm-autocomplete__no-options",children:d}),E.map((function(e,t){return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":y,"vm-list-item_active":t===x,"vm-list-item_multiselect":f,"vm-list-item_multiselect_selected":null===f||void 0===f?void 0:f.includes(e)}),id:"$autocomplete$".concat(e),onClick:(n=e,function(){a||(m(n),f||A())}),children:[(null===f||void 0===f?void 0:f.includes(e))&&Lt(er,{}),Lt("span",{children:e})]},e);var n}))]})})},$c=function(e){var t=e.value,n=e.onChange,i=e.onEnter,a=e.onArrowUp,o=e.onArrowDown,u=e.autocomplete,l=e.error,c=e.options,s=e.label,f=e.disabled,d=void 0!==f&&f,h=v((0,r.useState)(!1),2),p=h[0],m=h[1],g=(0,r.useRef)(null);return Lt("div",{className:"vm-query-editor",ref:g,children:[Lt(bi,{value:t,label:s,type:"textarea",autofocus:!!t,error:l,onKeyDown:function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,u=e.shiftKey,l=n||r,c="ArrowDown"===t,s="Enter"===t;"ArrowUp"===t&&l&&(e.preventDefault(),a()),c&&l&&(e.preventDefault(),o()),!s||u||p||i()},onChange:n,disabled:d,inputmode:"search"}),u&&Lt(jc,{disabledFullScreen:!0,value:t,options:c,anchor:g,onSelect:function(e){n(e)},onOpenAutocomplete:m})]})},Hc=function(e){var t,n=e.value,r=void 0!==n&&n,i=e.disabled,a=void 0!==i&&i,o=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.fullWidth,s=e.onChange;return Lt("div",{className:mr()((it(t={"vm-switch":!0,"vm-switch_full-width":c,"vm-switch_disabled":a,"vm-switch_active":r},"vm-switch_".concat(l,"_active"),r),it(t,"vm-switch_".concat(l),l),t)),onClick:function(){a||s(!r)},children:[Lt("div",{className:"vm-switch-track",children:Lt("div",{className:"vm-switch-track__thumb"})}),o&&Lt("span",{className:"vm-switch__label",children:o})]})},Yc=function(e){var t=e.isMobile,n=An().autocomplete,r=Nn(),i=Nr(),a=i.nocache,o=i.isTracingEnabled,u=Mr();return Lt("div",{className:mr()({"vm-additional-settings":!0,"vm-additional-settings_mobile":t}),children:[Lt(Hc,{label:"Autocomplete",value:n,onChange:function(){r({type:"TOGGLE_AUTOCOMPLETE"})},fullWidth:t}),Lt(Hc,{label:"Disable cache",value:a,onChange:function(){u({type:"TOGGLE_NO_CACHE"})},fullWidth:t}),Lt(Hc,{label:"Trace query",value:o,onChange:function(){u({type:"TOGGLE_QUERY_TRACING"})},fullWidth:t})]})},Vc=function(){var e=Hr().isMobile,t=v((0,r.useState)(!1),2),n=t[0],i=t[1],a=(0,r.useRef)(null);return e?Lt(Ot.HY,{children:[Lt("div",{ref:a,children:Lt(ei,{variant:"outlined",startIcon:Lt(fr,{}),onClick:function(){i((function(e){return!e}))}})}),Lt(ti,{open:n,buttonRef:a,placement:"bottom-left",onClose:function(){i(!1)},title:"Query settings",children:Lt(Yc,{isMobile:e})})]}):Lt(Yc,{})},Uc=function(e,t){return e.length===t.length&&e.every((function(e,n){return e===t[n]}))},qc=function(e){var t=e.errors,n=e.queryOptions,i=e.onHideQuery,a=e.onRunQuery,o=Hr().isMobile,u=An(),l=u.query,c=u.queryHistory,s=u.autocomplete,f=Nn(),d=kn(),h=v((0,r.useState)(l||[]),2),p=h[0],m=h[1],g=v((0,r.useState)([]),2),y=g[0],b=g[1],D=ki(p),w=function(){f({type:"SET_QUERY_HISTORY",payload:p.map((function(e,t){var n=c[t]||{values:[]},r=e===n.values[n.values.length-1];return{index:n.values.length-Number(r),values:!r&&e?[].concat(_(n.values),[e]):n.values}}))}),f({type:"SET_QUERY",payload:p}),d({type:"RUN_QUERY"}),a()},k=function(e,t){m((function(n){return n.map((function(n,r){return r===t?e:n}))}))},x=function(e,t){return function(){!function(e,t){var n=c[t],r=n.index,i=n.values,a=r+e;a<0||a>=i.length||(k(i[a]||"",t),f({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:i,index:a},queryNumber:t}}))}(e,t)}},C=function(e){return function(t){k(t,e)}},E=function(e){return function(){var t;t=e,m((function(e){return e.filter((function(e,n){return n!==t}))})),b((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):t.map((function(t){return t>e?t-1:t}))}))}},S=function(e){return function(t){!function(e,t){var n=e.ctrlKey,r=e.metaKey;if(n||r){var i=p.map((function(e,t){return t})).filter((function(e){return e!==t}));b((function(e){return Uc(i,e)?[]:i}))}else b((function(e){return e.includes(t)?e.filter((function(e){return e!==t})):[].concat(_(e),[t])}))}(t,e)}};return(0,r.useEffect)((function(){D&&p.length1&&Lt(ai,{title:"Remove Query",children:Lt("div",{className:"vm-query-configurator-list-row__button",children:Lt(ei,{variant:"text",color:"error",startIcon:Lt(Zn,{}),onClick:E(r)})})})]},r)}))}),Lt("div",{className:"vm-query-configurator-settings",children:[Lt(Vc,{}),Lt("div",{className:"vm-query-configurator-settings__buttons",children:[p.length<4&&Lt(ei,{variant:"outlined",onClick:function(){m((function(e){return[].concat(_(e),[""])}))},startIcon:Lt(Kn,{}),children:"Add Query"}),Lt(ei,{variant:"contained",onClick:w,startIcon:Lt(qn,{}),children:o?"Execute":"Execute Query"})]})]})]})};function Wc(e){var t,n,r,i=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new Qc(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function Qc(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return Qc=function(e){this.s=e,this.n=e.next},Qc.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new Qc(e)}var Gc=n(936),Jc=n.n(Gc),Zc=0,Kc=function(){function e(t,n){b(this,e),this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=t,this.originalTracing=JSON.parse(JSON.stringify(t)),this.query=n,this.id=Zc++;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n)}))}return x(e,[{key:"queryValue",get:function(){return this.query}},{key:"idValue",get:function(){return this.id}},{key:"children",get:function(){return this.tracingChildren}},{key:"message",get:function(){return this.tracing.message}},{key:"duration",get:function(){return this.tracing.duration_msec}},{key:"JSON",get:function(){return JSON.stringify(this.tracing,null,2)}},{key:"originalJSON",get:function(){return JSON.stringify(this.originalTracing,null,2)}},{key:"setTracing",value:function(t){var n=this;this.tracing=t;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n.query)}))}},{key:"setQuery",value:function(e){this.query=e}},{key:"resetTracing",value:function(){this.tracing=this.originalTracing}}]),e}(),Xc=function(e){var t=e.predefinedQuery,n=e.visible,i=e.display,a=e.customStep,o=e.hideQuery,u=e.showAllSeries,l=An().query,c=wn().period,s=Nr(),f=s.displayType,d=s.nocache,h=s.isTracingEnabled,p=s.seriesLimits,m=Bt().serverUrl,g=v((0,r.useState)(!1),2),y=g[0],b=g[1],D=v((0,r.useState)(),2),w=D[0],k=D[1],x=v((0,r.useState)(),2),C=x[0],E=x[1],S=v((0,r.useState)(),2),A=S[0],N=S[1],M=v((0,r.useState)(),2),F=M[0],O=M[1],T=v((0,r.useState)([]),2),L=T[0],I=T[1],B=v((0,r.useState)(),2),P=B[0],R=B[1],z=v((0,r.useState)([]),2),j=z[0],$=z[1],H=v((0,r.useState)(!1),2),Y=H[0],V=H[1],U=function(){var e=ta(Xi().mark((function e(t){var n,r,i,a,o,u,l,c,s,f,d,h,p,m,v,g,y,D,w,x,C;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.fetchUrl,r=t.fetchQueue,i=t.displayType,a=t.query,o=t.stateSeriesLimits,u=t.showAllSeries,l=t.hideQuery,c=new AbortController,$([].concat(_(r),[c])),e.prev=3,s="chart"===i,f=u?1/0:+o[i]||1/0,d=[],h=[],p=1,m=0,v=!1,g=!1,e.prev=12,D=Xi().mark((function e(){var t,n,r,i,o,u;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=x.value,!(null===l||void 0===l?void 0:l.includes(p-1))){e.next=6;break}return I((function(e){return[].concat(_(e),[""])})),p++,e.abrupt("return","continue");case 6:return e.next=8,fetch(t,{signal:c.signal});case 8:return n=e.sent,e.next=11,n.json();case 11:r=e.sent,n.ok?(I((function(e){return[].concat(_(e),[""])})),r.trace&&(i=new Kc(r.trace,a[p-1]),h.push(i)),o=s&&Sc(r.data.result),r.data.result.length&&V(o),o&&(f=1/0),u=f-d.length,r.data.result.slice(0,u).forEach((function(e){e.group=p,d.push(e)})),m+=r.data.result.length):(d.push({metric:{},values:[],group:p}),I((function(e){return[].concat(_(e),["".concat(r.errorType,"\r\n").concat(null===r||void 0===r?void 0:r.error)])}))),p++;case 14:case"end":return e.stop()}}),e)})),w=Wc(n);case 15:return e.next=17,w.next();case 17:if(!(v=!(x=e.sent).done)){e.next=25;break}return e.delegateYield(D(),"t0",19);case 19:if("continue"!==e.t0){e.next=22;break}return e.abrupt("continue",22);case 22:v=!1,e.next=15;break;case 25:e.next=31;break;case 27:e.prev=27,e.t1=e.catch(12),g=!0,y=e.t1;case 31:if(e.prev=31,e.prev=32,!v||null==w.return){e.next=36;break}return e.next=36,w.return();case 36:if(e.prev=36,!g){e.next=39;break}throw y;case 39:return e.finish(36);case 40:return e.finish(31);case 41:C="Showing ".concat(f," series out of ").concat(m," series due to performance reasons. Please narrow down the query, so it returns less series"),R(m>f?C:""),s?k(d):E(d),N(h),e.next=50;break;case 47:e.prev=47,e.t2=e.catch(3),e.t2 instanceof Error&&"AbortError"!==e.t2.name&&O("".concat(e.t2.name,": ").concat(e.t2.message));case 50:b(!1);case 51:case"end":return e.stop()}}),e,null,[[3,47],[12,27,31,41],[32,,36,40]])})));return function(t){return e.apply(this,arguments)}}(),q=(0,r.useCallback)(Jc()(U,300),[]),W=(0,r.useMemo)((function(){O(""),I([]);var e=null!==t&&void 0!==t?t:l,n="chart"===(i||f);if(c)if(m)if(e.every((function(e){return!e.trim()})))I(e.map((function(){return ut.validQuery})));else{if(Hi(m)){var r=ot({},c);return r.step=a,e.map((function(e){return n?function(e,t,n,r,i){return"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(i?"&trace=1":"")}(m,e,r,d,h):function(e,t,n,r){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end).concat(r?"&trace=1":"")}(m,e,r,h)}))}O(ut.validServer)}else O(ut.emptyServer)}),[m,c,f,a,o]),Q=v((0,r.useState)([]),2),G=Q[0],J=Q[1];return(0,r.useEffect)((function(){var e=W===G&&!!t;n&&null!==W&&void 0!==W&&W.length&&!e&&(b(!0),q({fetchUrl:W,fetchQueue:j,displayType:i||f,query:null!==t&&void 0!==t?t:l,stateSeriesLimits:p,showAllSeries:u,hideQuery:o}),J(W))}),[W,n,p,u]),(0,r.useEffect)((function(){var e=j.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),$(j.filter((function(e){return!e.signal.aborted}))))}),[j]),{fetchUrl:W,isLoading:y,graphData:w,liveData:C,error:F,queryErrors:L,warning:P,traces:A,isHistogram:Y}},es=function(e){var t=e.data,n=qr().showInfoMessage,i=(0,r.useMemo)((function(){return JSON.stringify(t,null,2)}),[t]);return Lt("div",{className:"vm-json-view",children:[Lt("div",{className:"vm-json-view__copy",children:Lt(ei,{variant:"outlined",onClick:function(){navigator.clipboard.writeText(i),n({text:"Formatted JSON has been copied",type:"success"})},children:"Copy JSON"})}),Lt("pre",{className:"vm-json-view__code",children:Lt("code",{children:i})})]})},ts=function(e){var t=e.yaxis,n=e.setYaxisLimits,i=e.toggleEnableLimits,a=Hr().isMobile,o=(0,r.useMemo)((function(){return Object.keys(t.limits.range)}),[t.limits.range]),u=(0,r.useCallback)(Jc()((function(e,r,i){var a=t.limits.range;a[r][i]=+e,a[r][0]===a[r][1]||a[r][0]>a[r][1]||n(a)}),500),[t.limits.range]),l=function(e,t){return function(n){u(n,e,t)}};return Lt("div",{className:mr()({"vm-axes-limits":!0,"vm-axes-limits_mobile":a}),children:[Lt(Hc,{value:t.limits.enable,onChange:i,label:"Fix the limits for y-axis",fullWidth:a}),Lt("div",{className:"vm-axes-limits-list",children:o.map((function(e){return Lt("div",{className:"vm-axes-limits-list__inputs",children:[Lt(bi,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:l(e,0)}),Lt(bi,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:l(e,1)})]},e)}))})]})},ns="Axes settings",rs=function(e){var t=e.yaxis,n=e.setYaxisLimits,i=e.toggleEnableLimits,a=(0,r.useRef)(null),o=v((0,r.useState)(!1),2),u=o[0],l=o[1],c=(0,r.useRef)(null);return Lt("div",{className:"vm-graph-settings",children:[Lt(ai,{title:ns,children:Lt("div",{ref:c,children:Lt(ei,{variant:"text",startIcon:Lt(On,{}),onClick:function(){l((function(e){return!e}))}})})}),Lt(ti,{open:u,buttonRef:c,placement:"bottom-right",onClose:function(){l(!1)},title:ns,children:Lt("div",{className:"vm-graph-settings-popper",ref:a,children:Lt("div",{className:"vm-graph-settings-popper__body",children:Lt(ts,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:i})})})})]})},is=function(e){var t=e.containerStyles,n=void 0===t?{}:t,r=e.message,i=Bt().isDarkTheme;return Lt("div",{className:mr()({"vm-spinner":!0,"vm-spinner_dark":i}),style:n&&{},children:[Lt("div",{className:"half-circle-spinner",children:[Lt("div",{className:"circle circle-1"}),Lt("div",{className:"circle circle-2"})]}),r&&Lt("div",{className:"vm-spinner__message",children:r})]})},as=function(e){var t=e.value;return Lt("div",{className:"vm-line-progress",children:[Lt("div",{className:"vm-line-progress-track",children:Lt("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Lt("span",{children:[t.toFixed(2),"%"]})]})},os=function e(t){var n=t.trace,i=t.totalMsec,a=Bt().isDarkTheme,o=Hr().isMobile,u=v((0,r.useState)({}),2),l=u[0],c=u[1],s=(0,r.useRef)(null),f=v((0,r.useState)(!1),2),d=f[0],h=f[1],p=v((0,r.useState)(!1),2),m=p[0],g=p[1];(0,r.useEffect)((function(){if(s.current){var e=s.current,t=s.current.children[0].getBoundingClientRect().height;h(t>e.clientHeight)}}),[n]);var y,_=n.children&&!!n.children.length,b=n.duration/i*100;return Lt("div",{className:mr()({"vm-nested-nav":!0,"vm-nested-nav_dark":a,"vm-nested-nav_mobile":o}),children:[Lt("div",{className:"vm-nested-nav-header",onClick:(y=n.idValue,function(){c((function(e){return ot(ot({},e),{},it({},y,!e[y]))}))}),children:[_&&Lt("div",{className:mr()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":l[n.idValue]}),children:Lt(jn,{})}),Lt("div",{className:"vm-nested-nav-header__progress",children:Lt(as,{value:b})}),Lt("div",{className:mr()({"vm-nested-nav-header__message":!0,"vm-nested-nav-header__message_show-full":m}),ref:s,children:Lt("span",{children:n.message})}),Lt("div",{className:"vm-nested-nav-header-bottom",children:[Lt("div",{className:"vm-nested-nav-header-bottom__duration",children:"duration: ".concat(n.duration," ms")}),(d||m)&&Lt(ei,{variant:"text",size:"small",onClick:function(e){e.stopPropagation(),g((function(e){return!e}))},children:m?"Hide":"Show more"})]})]}),l[n.idValue]&&Lt("div",{children:_&&n.children.map((function(t){return Lt(e,{trace:t,totalMsec:i},t.duration)}))})]})},us=function(e){var t=e.editable,n=void 0!==t&&t,i=e.defaultTile,a=void 0===i?"JSON":i,o=e.displayTitle,u=void 0===o||o,l=e.defaultJson,c=void 0===l?"":l,s=e.resetValue,f=void 0===s?"":s,d=e.onClose,h=e.onUpload,p=qr().showInfoMessage,m=Hr().isMobile,g=v((0,r.useState)(c),2),y=g[0],_=g[1],b=v((0,r.useState)(a),2),D=b[0],w=b[1],k=v((0,r.useState)(""),2),x=k[0],C=k[1],E=v((0,r.useState)(""),2),S=E[0],A=E[1],N=(0,r.useMemo)((function(){try{var e=JSON.parse(y),t=e.trace||e;return t.duration_msec?(new Kc(t,""),""):ut.traceNotFound}catch(n){return n instanceof Error?n.message:"Unknown error"}}),[y]),M=function(){var e=ta(Xi().mark((function e(){return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(y);case 2:p({text:"Formatted JSON has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),F=function(){A(N),D.trim()||C(ut.emptyTitle),N||x||(h(y,D),d())};return Lt("div",{className:mr()({"vm-json-form":!0,"vm-json-form_one-field":!u,"vm-json-form_one-field_mobile":!u&&m,"vm-json-form_mobile":m}),children:[u&&Lt(bi,{value:D,label:"Title",error:x,onEnter:F,onChange:function(e){w(e)}}),Lt(bi,{value:y,label:"JSON",type:"textarea",error:S,autofocus:!0,onChange:function(e){A(""),_(e)},disabled:!n}),Lt("div",{className:"vm-json-form-footer",children:[Lt("div",{className:"vm-json-form-footer__controls",children:[Lt(ei,{variant:"outlined",startIcon:Lt(rr,{}),onClick:M,children:"Copy JSON"}),f&&Lt(ei,{variant:"text",startIcon:Lt(Ln,{}),onClick:function(){_(f)},children:"Reset JSON"})]}),Lt("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Lt(ei,{variant:"outlined",color:"error",onClick:d,children:"Cancel"}),Lt(ei,{variant:"contained",onClick:F,children:"apply"})]})]})]})},ls=function(e){var t=e.traces,n=e.jsonEditor,i=void 0!==n&&n,a=e.onDeleteClick,o=Hr().isMobile,u=v((0,r.useState)(null),2),l=u[0],c=u[1],s=function(){c(null)};if(!t.length)return Lt(Vr,{variant:"info",children:"Please re-run the query to see results of the tracing"});var f=function(e){return function(){a(e)}};return Lt(Ot.HY,{children:[Lt("div",{className:"vm-tracings-view",children:t.map((function(e){return Lt("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Lt("div",{className:"vm-tracings-view-trace-header",children:[Lt("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Lt("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Lt(ai,{title:"Open JSON",children:Lt(ei,{variant:"text",startIcon:Lt(Jn,{}),onClick:(t=e,function(){c(t)})})}),Lt(ai,{title:"Remove trace",children:Lt(ei,{variant:"text",color:"error",startIcon:Lt(Zn,{}),onClick:f(e)})})]}),Lt("nav",{className:mr()({"vm-tracings-view-trace__nav":!0,"vm-tracings-view-trace__nav_mobile":o}),children:Lt(os,{trace:e,totalMsec:e.duration})})]},e.idValue);var t}))}),l&&Lt(ii,{title:l.queryValue,onClose:s,children:Lt(us,{editable:i,displayTitle:i,defaultTile:l.queryValue,defaultJson:l.JSON,resetValue:l.originalJSON,onClose:s,onUpload:function(e,t){if(i&&l)try{l.setTracing(JSON.parse(e)),l.setQuery(t),c(null)}catch(n){console.error(n)}}})})]})},cs=function(e,t){return(0,r.useMemo)((function(){var n={};e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return n[e[0]]?n[e[0]].options.add(e[1]):n[e[0]]={options:new Set([e[1]])}}))}));var r=Object.entries(n).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}));return t?r.filter((function(e){return t.includes(e.key)})):r}),[e,t])},ss=function(e){var t,n=e.checked,r=void 0!==n&&n,i=e.disabled,a=void 0!==i&&i,o=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Lt("div",{className:mr()((it(t={"vm-checkbox":!0,"vm-checkbox_disabled":a,"vm-checkbox_active":r},"vm-checkbox_".concat(l,"_active"),r),it(t,"vm-checkbox_".concat(l),l),t)),onClick:function(){a||c(!r)},children:[Lt("div",{className:"vm-checkbox-track",children:Lt("div",{className:"vm-checkbox-track__thumb",children:Lt(er,{})})}),o&&Lt("span",{className:"vm-checkbox__label",children:o})]})},fs="Table settings",ds=function(e){var t=e.data,n=e.defaultColumns,i=void 0===n?[]:n,a=e.onChange,o=Hr().isMobile,u=Nr().tableCompact,l=Mr(),c=cs(t),s=(0,r.useRef)(null),f=v((0,r.useState)(!1),2),d=f[0],h=f[1],p=(0,r.useMemo)((function(){return!c.length}),[c]),m=function(e){return function(){!function(e){a(i.includes(e)?i.filter((function(t){return t!==e})):[].concat(_(i),[e]))}(e)}};return(0,r.useEffect)((function(){var e=c.map((function(e){return e.key}));Uc(e,i)||a(e)}),[c]),Lt("div",{className:"vm-table-settings",children:[Lt(ai,{title:fs,children:Lt("div",{ref:s,children:Lt(ei,{variant:"text",startIcon:Lt(On,{}),onClick:function(){h((function(e){return!e}))},disabled:p})})}),Lt(ti,{open:d,onClose:function(){h(!1)},placement:"bottom-right",buttonRef:s,title:fs,children:Lt("div",{className:mr()({"vm-table-settings-popper":!0,"vm-table-settings-popper_mobile":o}),children:[Lt("div",{className:"vm-table-settings-popper-list vm-table-settings-popper-list_first",children:Lt(Hc,{label:"Compact view",value:u,onChange:function(){l({type:"TOGGLE_TABLE_COMPACT"})}})}),Lt("div",{className:"vm-table-settings-popper-list",children:[Lt("div",{className:"vm-table-settings-popper-list-header",children:[Lt("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Lt(ai,{title:"Reset to default",children:Lt(ei,{color:"primary",variant:"text",size:"small",onClick:function(){h(!1),a(c.map((function(e){return e.key})))},startIcon:Lt(Ln,{})})})]}),c.map((function(e){return Lt("div",{className:"vm-table-settings-popper-list__item",children:Lt(ss,{checked:i.includes(e.key),onChange:m(e.key),label:e.key,disabled:u})},e.key)}))]})]})})]})};function hs(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(function(e){return!!e[1]}))}var ps=["__name__"],ms=function(e){var t=e.data,n=e.displayColumns,i=qr().showInfoMessage,a=Hr().isMobile,o=Nr().tableCompact,u=hr(document.body),l=(0,r.useRef)(null),c=v((0,r.useState)(0),2),s=c[0],f=c[1],d=v((0,r.useState)(0),2),h=d[0],p=d[1],m=v((0,r.useState)(""),2),g=m[0],y=m[1],_=v((0,r.useState)("asc"),2),b=_[0],D=_[1],w=o?cs([{group:0,metric:{Data:"Data"}}],["Data"]):cs(t,n),k=function(e){var t=e.__name__,n=vr(e,ps);return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},x=new Set(null===t||void 0===t?void 0:t.map((function(e){return e.group}))).size>1,C=(0,r.useMemo)((function(){var e=null===t||void 0===t?void 0:t.map((function(e){return{metadata:w.map((function(t){return o?Cc(e,"",x):e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-",values:e.values?e.values.map((function(e){var t=v(e,2),n=t[0],r=t[1];return"".concat(r," @").concat(n)})):[],copyValue:k(e.metric)}})),n="Value"===g,r=w.findIndex((function(e){return e.key===g}));return n||-1!==r?e.sort((function(e,t){var i=n?Number(e.value):e.metadata[r],a=n?Number(t.value):t.metadata[r];return("asc"===b?ia)?-1:1})):e}),[w,t,g,b,o]),E=(0,r.useMemo)((function(){return C.some((function(e){return e.copyValue}))}),[C]),S=function(){var e=ta(Xi().mark((function e(t){return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:i({text:"Row has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),A=function(e){return function(){!function(e){D((function(t){return"asc"===t&&g===e?"desc":"asc"})),y(e)}(e)}},N=function(){if(l.current){var e=l.current.getBoundingClientRect().top;p(e<0?window.scrollY-s:0)}};return(0,r.useEffect)((function(){return window.addEventListener("scroll",N),function(){window.removeEventListener("scroll",N)}}),[l,s,u]),(0,r.useEffect)((function(){if(l.current){var e=l.current.getBoundingClientRect().top;f(e+window.scrollY)}}),[l,u]),C.length?Lt("div",{className:mr()({"vm-table-view":!0,"vm-table-view_mobile":a}),children:Lt("table",{className:"vm-table",ref:l,children:[Lt("thead",{className:"vm-table-header",children:Lt("tr",{className:"vm-table__row vm-table__row_header",style:{transform:"translateY(".concat(h,"px)")},children:[w.map((function(e,t){return Lt("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:A(e.key),children:Lt("div",{className:"vm-table-cell__content",children:[e.key,Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":g===e.key,"vm-table__sort-icon_desc":"desc"===b&&g===e.key}),children:Lt($n,{})})]})},t)})),Lt("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:A("Value"),children:Lt("div",{className:"vm-table-cell__content",children:[Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===g,"vm-table__sort-icon_desc":"desc"===b}),children:Lt($n,{})}),"Value"]})}),E&&Lt("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Lt("tbody",{className:"vm-table-body",children:C.map((function(e,t){return Lt("tr",{className:"vm-table__row",children:[e.metadata.map((function(e,n){return Lt("td",{className:mr()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":C[t-1]&&C[t-1].metadata[n]===e}),children:e},n)})),Lt("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((function(e){return Lt("p",{children:e},e)})):e.value}),E&&Lt("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Lt("div",{className:"vm-table-cell__content",children:Lt(ai,{title:"Copy row",children:Lt(ei,{variant:"text",color:"gray",size:"small",startIcon:Lt(rr,{}),onClick:(n=e.copyValue,function(){S(n)})})})})})]},t);var n}))})]})}):Lt(Vr,{variant:"warning",children:"No data to show"})},vs=function(e){var t=e.text,n=e.href,r=e.children,i=e.colored,a=void 0===i||i,o=e.underlined,u=void 0!==o&&o;return Lt("a",{href:n,className:mr()({"vm-link":!0,"vm-link_colored":a,"vm-link_underlined":u}),target:"_blank",rel:"noreferrer",children:t||r})},gs=Lt(vs,{text:"last_over_time",href:"https://docs.victoriametrics.com/MetricsQL.html#last_over_time",underlined:!0}),ys=Lt(vs,{text:"instant query",href:"https://docs.victoriametrics.com/keyConcepts.html#instant-query",underlined:!0}),_s=function(){return Lt("div",{children:[Lt("p",{children:["This tab shows ",ys," results for the last 5 minutes ending at the selected time range."]}),Lt("p",{children:["Please wrap the query into ",gs," if you need results over arbitrary lookbehind interval."]})]})},bs=function(){var e=Nr(),t=e.displayType,n=e.isTracingEnabled,i=An().query,a=wn().period,o=kn(),u=Hr().isMobile;!function(){var e=Bt().tenantId,t=Nr().displayType,n=An().query,i=wn(),a=i.duration,o=i.relativeTime,u=i.period,l=u.date,c=u.step,s=Lr().customStep,f=v(nt(),2)[1],d=function(){var r={};n.forEach((function(n,i){var u,f="g".concat(i);r["".concat(f,".expr")]=n,r["".concat(f,".range_input")]=a,r["".concat(f,".end_input")]=l,r["".concat(f,".tab")]=(null===(u=Dr.find((function(e){return e.value===t})))||void 0===u?void 0:u.prometheusCode)||0,r["".concat(f,".relative_time")]=o,r["".concat(f,".tenantID")]=e,c!==s&&s&&(r["".concat(f,".step_input")]=s)})),f(hs(r))};(0,r.useEffect)(d,[e,t,n,a,o,l,c,s]),(0,r.useEffect)(d,[])}();var l=v((0,r.useState)(),2),c=l[0],s=l[1],f=v((0,r.useState)([]),2),d=f[0],h=f[1],p=v((0,r.useState)([]),2),m=p[0],g=p[1],y=v((0,r.useState)(!1),2),b=y[0],D=y[1],w=v((0,r.useState)(!i[0]),2),k=w[0],x=w[1],C=Lr(),E=C.customStep,S=C.yaxis,A=Ir(),N=function(){var e=Bt().serverUrl,t=v((0,r.useState)([]),2),n=t[0],i=t[1],a=function(){var t=ta(Xi().mark((function t(){var n,r,a;return Xi().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return n="".concat(e,"/api/v1/label/__name__/values"),t.prev=3,t.next=6,fetch(n);case 6:return r=t.sent,t.next=9,r.json();case 9:a=t.sent,r.ok&&i(a.data),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(3),console.error(t.t0);case 16:case"end":return t.stop()}}),t,null,[[3,13]])})));return function(){return t.apply(this,arguments)}}();return(0,r.useEffect)((function(){a()}),[e]),{queryOptions:n}}(),M=N.queryOptions,F=Xc({visible:!0,customStep:E,hideQuery:m,showAllSeries:b}),O=F.isLoading,T=F.liveData,L=F.graphData,I=F.error,B=F.queryErrors,P=F.warning,R=F.traces,z=F.isHistogram,j=function(e){A({type:"SET_YAXIS_LIMITS",payload:e})};return(0,r.useEffect)((function(){R&&h([].concat(_(d),_(R)))}),[R]),(0,r.useEffect)((function(){h([])}),[t]),(0,r.useEffect)((function(){D(!1)}),[i]),(0,r.useEffect)((function(){A({type:"SET_IS_HISTOGRAM",payload:z})}),[z]),Lt("div",{className:mr()({"vm-custom-panel":!0,"vm-custom-panel_mobile":u}),children:[Lt(qc,{errors:k?[]:B,queryOptions:M,onHideQuery:function(e){g(e)},onRunQuery:function(){x(!1)}}),n&&Lt("div",{className:"vm-custom-panel__trace",children:Lt(ls,{traces:d,onDeleteClick:function(e){var t=d.filter((function(t){return t.idValue!==e.idValue}));h(_(t))}})}),O&&Lt(is,{}),!k&&I&&Lt(Vr,{variant:"error",children:I}),!(null!==T&&void 0!==T&&T.length)&&"chart"!==t&&Lt(Vr,{variant:"info",children:Lt(_s,{})}),P&&Lt(Vr,{variant:"warning",children:Lt("div",{className:mr()({"vm-custom-panel__warning":!0,"vm-custom-panel__warning_mobile":u}),children:[Lt("p",{children:P}),Lt(ei,{color:"warning",variant:"outlined",onClick:function(){D(!0)},children:"Show all"})]})}),Lt("div",{className:mr()({"vm-custom-panel-body":!0,"vm-custom-panel-body_mobile":u,"vm-block":!0,"vm-block_mobile":u}),children:[Lt("div",{className:"vm-custom-panel-body-header",children:[Lt(wr,{}),"chart"===t&&Lt("div",{className:"vm-custom-panel-body-header__left",children:[Lt(fi,{}),Lt(rs,{yaxis:S,setYaxisLimits:j,toggleEnableLimits:function(){A({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}})]}),"table"===t&&Lt(ds,{data:T||[],defaultColumns:c,onChange:s})]}),L&&a&&"chart"===t&&Lt(zc,{data:L,period:a,customStep:E,query:i,yaxis:S,setYaxisLimits:j,setPeriod:function(e){var t=e.from,n=e.to;o({type:"SET_PERIOD",payload:{from:t,to:n}})},height:u?.5*window.innerHeight:500,isHistogram:z}),T&&"code"===t&&Lt(es,{data:T}),T&&"table"===t&&Lt(ms,{data:T,displayColumns:c})]})]})};function Ds(){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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var ws={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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var ks=/[&<>"']/,xs=new RegExp(ks.source,"g"),Cs=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Es=new RegExp(Cs.source,"g"),Ss={"&":"&","<":"<",">":">",'"':""","'":"'"},As=function(e){return Ss[e]};function Ns(e,t){if(t){if(ks.test(e))return e.replace(xs,As)}else if(Cs.test(e))return e.replace(Es,As);return e}var Ms=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Fs(e){return e.replace(Ms,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var Os=/(^|[^\[])\^/g;function Ts(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(Os,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var Ls=/[^\w:]/g,Is=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Bs(e,t,n){if(e){var r;try{r=decodeURIComponent(Fs(n)).replace(Ls,"").toLowerCase()}catch(i){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!Is.test(n)&&(n=function(e,t){Ps[" "+e]||(Rs.test(e)?Ps[" "+e]=e+"/":Ps[" "+e]=Vs(e,"/",!0));e=Ps[" "+e];var n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(zs,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(js,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(i){return null}return n}var Ps={},Rs=/^[^:]+:\/*[^/]*$/,zs=/^([^:]+:)[\s\S]*$/,js=/^([^:]+:\/*[^/]*)[\s\S]*$/;var $s={exec:function(){}};function Hs(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function Ws(e,t,n,r){var i=t.href,a=t.title?Ns(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var u={type:"link",raw:n,href:i,title:a,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,u}return{type:"image",raw:n,href:i,title:a,text:Ns(o)}}var Qs=function(){function e(t){b(this,e),this.options=t||ws}return x(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Vs(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:v(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:r}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=Vs(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,""),r=this.lexer.state.top;this.lexer.state.top=!0;var i=this.lexer.blockTokens(n);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:i,text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,i,a,o,u,l,c,s,f,d,h,p=t[1].trim(),m=p.length>1,v={type:"list",raw:"",ordered:m,start:m?+p.slice(0,-1):"",loose:!1,items:[]};p=m?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=m?p:"[*+-]");for(var g=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(h=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0].replace(/^\t+/,(function(e){return" ".repeat(3*e.length)})),s=e.split("\n",1)[0],this.options.pedantic?(a=2,d=c.trimLeft()):(a=(a=t[2].search(/[^ ]/))>4?1:a,d=c.slice(a),a+=t[1].length),u=!1,!c&&/^ *$/.test(s)&&(n+=s+"\n",e=e.substring(s.length+1),h=!0),!h)for(var y=new RegExp("^ {0,".concat(Math.min(3,a-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))")),_=new RegExp("^ {0,".concat(Math.min(3,a-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),b=new RegExp("^ {0,".concat(Math.min(3,a-1),"}(?:```|~~~)")),D=new RegExp("^ {0,".concat(Math.min(3,a-1),"}#"));e&&(s=f=e.split("\n",1)[0],this.options.pedantic&&(s=s.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!b.test(s))&&!D.test(s)&&!y.test(s)&&!_.test(e);){if(s.search(/[^ ]/)>=a||!s.trim())d+="\n"+s.slice(a);else{if(u)break;if(c.search(/[^ ]/)>=4)break;if(b.test(c))break;if(D.test(c))break;if(_.test(c))break;d+="\n"+s}u||s.trim()||(u=!0),n+=f+"\n",e=e.substring(f.length+1),c=s.slice(a)}v.loose||(l?v.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d))&&(i="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,"")),v.items.push({type:"list_item",raw:n,task:!!r,checked:i,loose:!1,text:d}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=d.trimRight(),v.raw=v.raw.trimRight();var w=v.items.length;for(o=0;o0&&k.some((function(e){return/\n.*\n/.test(e.raw)}));v.loose=x}if(v.loose)for(o=0;o$/,"$1").replace(this.rules.inline._escapes,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:r,title:i}}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:Ys(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,i,a,o,u=n.align.length;for(r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Ns(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var r=Vs(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var i=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,i=0;i-1){var a=(0===t[0].indexOf("!")?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,a).trim(),t[3]=""}}var o=t[2],u="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],u=l[3])}else u=t[3]?t[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),Ws(t,{href:o?o.replace(this.rules.inline._escapes,"$1"):o,title:u?u.replace(this.rules.inline._escapes,"$1"):u},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])){var i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return Ws(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.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\uDE3F\uDE40\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\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\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\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\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\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\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\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\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-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/))){var i=r[1]||r[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){var a,o,u=r[0].length-1,l=u,c=0,s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=s.exec(t));)if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(o=a.length,r[3]||r[4])l+=o;else if(!((r[5]||r[6])&&u%3)||(u+o)%3){if(!((l-=o)>0)){o=Math.min(o,o+l+c);var f=e.slice(0,u+r.index+(r[0].length-a.length)+o);if(Math.min(u,o)%2){var d=f.slice(1,-1);return{type:"em",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}var h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}else c+=o}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),i=/^ /.test(n)&&/ $/.test(n);return r&&i&&(n=n.substring(1,n.length-1)),n=Ns(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}},{key:"autolink",value:function(e,t){var n,r,i=this.rules.inline.autolink.exec(e);if(i)return r="@"===i[2]?"mailto:"+(n=Ns(this.options.mangle?t(i[1]):i[1])):n=Ns(i[1]),{type:"link",raw:i[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,i;if("@"===n[2])i="mailto:"+(r=Ns(this.options.mangle?t(n[0]):n[0]));else{var a;do{a=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(a!==n[0]);r=Ns(n[0]),i="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Ns(r[0]):r[0]:Ns(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),Gs={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 *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:$s,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Gs.def=Ts(Gs.def).replace("label",Gs._label).replace("title",Gs._title).getRegex(),Gs.bullet=/(?:[*+-]|\d{1,9}[.)])/,Gs.listItemStart=Ts(/^( *)(bull) */).replace("bull",Gs.bullet).getRegex(),Gs.list=Ts(Gs.list).replace(/bull/g,Gs.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Gs.def.source+")").getRegex(),Gs._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",Gs._comment=/|$)/,Gs.html=Ts(Gs.html,"i").replace("comment",Gs._comment).replace("tag",Gs._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Gs.paragraph=Ts(Gs._paragraph).replace("hr",Gs.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",Gs._tag).getRegex(),Gs.blockquote=Ts(Gs.blockquote).replace("paragraph",Gs.paragraph).getRegex(),Gs.normal=Hs({},Gs),Gs.gfm=Hs({},Gs.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Gs.gfm.table=Ts(Gs.gfm.table).replace("hr",Gs.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",Gs._tag).getRegex(),Gs.gfm.paragraph=Ts(Gs._paragraph).replace("hr",Gs.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Gs.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",Gs._tag).getRegex(),Gs.pedantic=Hs({},Gs.normal,{html:Ts("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Gs._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:$s,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ts(Gs.normal._paragraph).replace("hr",Gs.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Gs.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Js={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:$s,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:$s,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}Js._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",Js.punctuation=Ts(Js.punctuation).replace(/punctuation/g,Js._punctuation).getRegex(),Js.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Js.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,Js._comment=Ts(Gs._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Js.emStrong.lDelim=Ts(Js.emStrong.lDelim).replace(/punct/g,Js._punctuation).getRegex(),Js.emStrong.rDelimAst=Ts(Js.emStrong.rDelimAst,"g").replace(/punct/g,Js._punctuation).getRegex(),Js.emStrong.rDelimUnd=Ts(Js.emStrong.rDelimUnd,"g").replace(/punct/g,Js._punctuation).getRegex(),Js._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Js._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Js._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])?)+(?![-_])/,Js.autolink=Ts(Js.autolink).replace("scheme",Js._scheme).replace("email",Js._email).getRegex(),Js._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Js.tag=Ts(Js.tag).replace("comment",Js._comment).replace("attribute",Js._attribute).getRegex(),Js._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Js._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Js._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Js.link=Ts(Js.link).replace("label",Js._label).replace("href",Js._href).replace("title",Js._title).getRegex(),Js.reflink=Ts(Js.reflink).replace("label",Js._label).replace("ref",Gs._label).getRegex(),Js.nolink=Ts(Js.nolink).replace("ref",Gs._label).getRegex(),Js.reflinkSearch=Ts(Js.reflinkSearch,"g").replace("reflink",Js.reflink).replace("nolink",Js.nolink).getRegex(),Js.normal=Hs({},Js),Js.pedantic=Hs({},Js.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:Ts(/^!?\[(label)\]\((.*?)\)/).replace("label",Js._label).getRegex(),reflink:Ts(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Js._label).getRegex()}),Js.gfm=Hs({},Js.normal,{escape:Ts(Js.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]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));for(var u=function(){if(a.options.extensions&&a.options.extensions.block&&a.options.extensions.block.some((function(n){return!!(t=n.call({lexer:a},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)})))return"continue";if(t=a.tokenizer.space(e))return e=e.substring(t.raw.length),1===t.raw.length&&o.length>0?o[o.length-1].raw+="\n":o.push(t),"continue";if(t=a.tokenizer.code(e))return e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?o.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,a.inlineQueue[a.inlineQueue.length-1].src=n.text),"continue";if(t=a.tokenizer.fences(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.heading(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.hr(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.blockquote(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.list(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.html(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.def(e))return e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?a.tokens.links[t.tag]||(a.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,a.inlineQueue[a.inlineQueue.length-1].src=n.text),"continue";if(t=a.tokenizer.table(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.lheading(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(r=e,a.options.extensions&&a.options.extensions.startBlock){var u,l=1/0,c=e.slice(1);a.options.extensions.startBlock.forEach((function(e){"number"===typeof(u=e.call({lexer:this},c))&&u>=0&&(l=Math.min(l,u))})),l<1/0&&l>=0&&(r=e.substring(0,l+1))}if(a.state.top&&(t=a.tokenizer.paragraph(r)))return n=o[o.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,a.inlineQueue.pop(),a.inlineQueue[a.inlineQueue.length-1].src=n.text):o.push(t),i=r.length!==e.length,e=e.substring(t.raw.length),"continue";if(t=a.tokenizer.text(e))return e=e.substring(t.raw.length),(n=o[o.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,a.inlineQueue.pop(),a.inlineQueue[a.inlineQueue.length-1].src=n.text):o.push(t),"continue";if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(a.options.silent)return console.error(s),"break";throw new Error(s)}};e;){var l=u();if("continue"!==l&&"break"===l)break}return this.state.top=!0,o}},{key:"inline",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}},{key:"inlineTokens",value:function(e){var t,n,r,i,a,o,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],c=e;if(this.tokens.links){var s=Object.keys(this.tokens.links);if(s.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)s.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+qs("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+qs("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,i.index+i[0].length-2)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(var f=function(){if(a||(o=""),a=!1,u.options.extensions&&u.options.extensions.inline&&u.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)})))return"continue";if(t=u.tokenizer.escape(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.tag(e))return e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(t=u.tokenizer.link(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.reflink(e,u.tokens.links))return e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(t=u.tokenizer.emStrong(e,c,o))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.codespan(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.br(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.del(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.autolink(e,Ks))return e=e.substring(t.raw.length),l.push(t),"continue";if(!u.state.inLink&&(t=u.tokenizer.url(e,Ks)))return e=e.substring(t.raw.length),l.push(t),"continue";if(r=e,u.options.extensions&&u.options.extensions.startInline){var i,s=1/0,f=e.slice(1);u.options.extensions.startInline.forEach((function(e){"number"===typeof(i=e.call({lexer:this},f))&&i>=0&&(s=Math.min(s,i))})),s<1/0&&s>=0&&(r=e.substring(0,s+1))}if(t=u.tokenizer.inlineText(r,Zs))return e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),a=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(e){var d="Infinite loop on byte: "+e.charCodeAt(0);if(u.options.silent)return console.error(d),"break";throw new Error(d)}};e;){var d=f();if("continue"!==d&&"break"===d)break}return l}}],[{key:"rules",get:function(){return{block:Gs,inline:Js}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),ef=function(){function e(t){b(this,e),this.options=t||ws}return x(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:Ns(e,!0))+"
\n":"
"+(n?e:Ns(e,!0))+"
\n"}},{key:"blockquote",value:function(e){return"
\n".concat(e,"
\n")}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){if(this.options.headerIds){var i=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}},{key:"hr",value:function(){return this.options.xhtml?"
\n":"
\n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}},{key:"listitem",value:function(e){return"
  • ".concat(e,"
  • \n")}},{key:"checkbox",value:function(e){return" "}},{key:"paragraph",value:function(e){return"

    ".concat(e,"

    \n")}},{key:"table",value:function(e,t){return t&&(t="".concat(t,"")),"\n\n"+e+"\n"+t+"
    \n"}},{key:"tablerow",value:function(e){return"\n".concat(e,"\n")}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"\n")}},{key:"strong",value:function(e){return"".concat(e,"")}},{key:"em",value:function(e){return"".concat(e,"")}},{key:"codespan",value:function(e){return"".concat(e,"")}},{key:"br",value:function(){return this.options.xhtml?"
    ":"
    "}},{key:"del",value:function(e){return"".concat(e,"")}},{key:"link",value:function(e,t,n){if(null===(e=Bs(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"}},{key:"image",value:function(e,t,n){if(null===(e=Bs(this.options.sanitize,this.options.baseUrl,e)))return n;var r='').concat(n,'":">"}},{key:"text",value:function(e){return e}}]),e}(),tf=function(){function e(){b(this,e)}return x(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),nf=function(){function e(){b(this,e),this.seen={}}return x(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),rf=function(){function e(t){b(this,e),this.options=t||ws,this.options.renderer=this.options.renderer||new ef,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new tf,this.slugger=new nf}return x(e,[{key:"parse",value:function(e){var t,n,r,i,a,o,u,l,c,s,f,d,h,p,m,v,g,y,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],D="",w=e.length;for(t=0;t0&&"paragraph"===m.tokens[0].type?(m.tokens[0].text=y+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=y+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:y}):p+=y),p+=this.parse(m.tokens,h),c+=this.renderer.listitem(p,g,v);D+=this.renderer.list(c,f,d);continue;case"html":D+=this.renderer.html(s.text);continue;case"paragraph":D+=this.renderer.paragraph(this.parseInline(s.tokens));continue;case"text":for(c=s.tokens?this.parseInline(s.tokens):s.text;t+1An error occurred:

    "+Ns(e.message+"",!0)+"
    ";throw e}try{var l=Xs.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(af.walkTokens(l,t.walkTokens)).then((function(){return rf.parse(l,t)})).catch(u);af.walkTokens(l,t.walkTokens)}return rf.parse(l,t)}catch(c){u(c)}}af.options=af.setOptions=function(e){var t;return Hs(af.defaults,e),t=af.defaults,ws=t,af},af.getDefaults=Ds,af.defaults=ws,af.use=function(){for(var e=af.defaults.extensions||{renderers:{},childTokens:{}},t=arguments.length,n=new Array(t),r=0;rAn error occurred:

    "+Ns(r.message+"",!0)+"
    ";throw r}},af.Parser=rf,af.parser=rf.parse,af.Renderer=ef,af.TextRenderer=tf,af.Lexer=Xs,af.lexer=Xs.lex,af.Tokenizer=Qs,af.Slugger=nf,af.parse=af;af.options,af.setOptions,af.use,af.walkTokens,af.parseInline,rf.parse,Xs.lex;var of=function(e){var t=e.title,n=e.description,i=e.unit,a=e.expr,o=e.showLegend,u=e.filename,l=e.alias,c=Hr().isMobile,s=wn().period,f=Lr().customStep,d=kn(),h=(0,r.useRef)(null),p=v((0,r.useState)(!1),2),m=p[0],g=p[1],y=v((0,r.useState)({limits:{enable:!1,range:{1:[0,0]}}}),2),_=y[0],b=y[1],D=(0,r.useMemo)((function(){return Array.isArray(a)&&a.every((function(e){return e}))}),[a]),w=Xc({predefinedQuery:D?a:[],display:"chart",visible:m,customStep:f}),k=w.isLoading,x=w.graphData,C=w.error,E=w.warning,S=function(e){var t=ot({},_);t.limits.range=e,b(t)};return(0,r.useEffect)((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return g(e.isIntersecting)}))}),{threshold:.1});return h.current&&e.observe(h.current),function(){h.current&&e.unobserve(h.current)}}),[h]),D?Lt("div",{className:"vm-predefined-panel",ref:h,children:[Lt("div",{className:"vm-predefined-panel-header",children:[Lt(ai,{title:Lt((function(){return Lt("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Lt(Ot.HY,{children:[Lt("div",{children:[Lt("span",{children:"Description:"}),Lt("div",{dangerouslySetInnerHTML:{__html:af.parse(n)}})]}),Lt("hr",{})]}),Lt("div",{children:[Lt("span",{children:"Queries:"}),Lt("div",{children:a.map((function(e,t){return Lt("div",{children:e},"".concat(t,"_").concat(e))}))})]})]})}),{}),children:Lt("div",{className:"vm-predefined-panel-header__info",children:Lt(In,{})})}),Lt("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Lt(rs,{yaxis:_,setYaxisLimits:S,toggleEnableLimits:function(){var e=ot({},_);e.limits.enable=!e.limits.enable,b(e)}})]}),Lt("div",{className:"vm-predefined-panel-body",children:[k&&Lt(is,{}),C&&Lt(Vr,{variant:"error",children:C}),E&&Lt(Vr,{variant:"warning",children:E}),x&&Lt(zc,{data:x,period:s,customStep:f,query:a,yaxis:_,unit:i,alias:l,showLegend:o,setYaxisLimits:S,setPeriod:function(e){var t=e.from,n=e.to;d({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1,height:c?.5*window.innerHeight:500})]})]}):Lt(Vr,{variant:"error",children:[Lt("code",{children:'"expr"'})," not found. Check the configuration file ",Lt("b",{children:u}),"."]})},uf=function(e){var t=e.index,n=e.title,i=e.panels,a=e.filename,o=hr(document.body),u=(0,r.useMemo)((function(){return o.width/12}),[o]),l=v((0,r.useState)(!t),2),c=l[0],s=l[1],f=v((0,r.useState)([]),2),d=f[0],h=f[1];(0,r.useEffect)((function(){h(i&&i.map((function(e){return e.width||12})))}),[i]);var p=v((0,r.useState)({start:0,target:0,enable:!1}),2),m=p[0],g=p[1],y=function(e){if(m.enable){var t=m.start,n=Math.ceil((t-e.clientX)/u);if(!(Math.abs(n)>=12)){var r=d.map((function(e,t){return e-(t===m.target?n:0)}));h(r)}}},_=function(){g(ot(ot({},m),{},{enable:!1}))},b=function(e){return function(t){!function(e,t){g({start:e.clientX,target:t,enable:!0})}(t,e)}};return(0,r.useEffect)((function(){return window.addEventListener("mousemove",y),window.addEventListener("mouseup",_),function(){window.removeEventListener("mousemove",y),window.removeEventListener("mouseup",_)}}),[m]),Lt("div",{className:"vm-predefined-dashboard",children:Lt(qi,{defaultExpanded:c,onChange:function(e){return s(e)},title:Lt((function(){return Lt("div",{className:mr()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":c}),children:[(n||a)&&Lt("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(a)}),i&&Lt("span",{className:"vm-predefined-dashboard-header__count",children:["(",i.length," panels)"]})]})}),{}),children:Lt("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(i)&&i.length?i.map((function(e,t){return Lt("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(d[t])},children:[Lt(of,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:a,showLegend:e.showLegend}),Lt("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:b(t)})]},t)})):Lt("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Lt(Vr,{variant:"error",children:[Lt("code",{children:'"panels"'})," not found. Check the configuration file ",Lt("b",{children:a}),"."]})})})})})},lf=function(){!function(){var e=wn(),t=e.duration,n=e.relativeTime,i=e.period.date,a=Lr().customStep,o=v(nt(),2)[1],u=function(){var e,r=hs((it(e={},"g0.range_input",t),it(e,"g0.end_input",i),it(e,"g0.step_input",a),it(e,"g0.relative_time",n),e));o(r)};(0,r.useEffect)(u,[t,n,i,a]),(0,r.useEffect)(u,[])}();var e=Hr().isMobile,t=Jr(),n=t.dashboardsSettings,i=t.dashboardsLoading,a=t.dashboardsError,o=v((0,r.useState)(0),2),u=o[0],l=o[1],c=(0,r.useMemo)((function(){return n.map((function(e,t){return{label:e.title||"",value:t}}))}),[n]),s=(0,r.useMemo)((function(){return n[u]||{}}),[n,u]),f=(0,r.useMemo)((function(){return null===s||void 0===s?void 0:s.rows}),[s]),d=(0,r.useMemo)((function(){return s.title||s.filename||""}),[s]),h=(0,r.useMemo)((function(){return Array.isArray(f)&&!!f.length}),[f]),p=function(e){return function(){!function(e){l(e)}(e)}};return Lt("div",{className:"vm-predefined-panels",children:[i&&Lt(is,{}),!n.length&&a&&Lt(Vr,{variant:"error",children:a}),!n.length&&Lt(Vr,{variant:"info",children:"Dashboards not found"}),c.length>1&&Lt("div",{className:mr()({"vm-predefined-panels-tabs":!0,"vm-predefined-panels-tabs_mobile":e}),children:c.map((function(e){return Lt("div",{className:mr()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==u}),onClick:p(e.value),children:e.label},e.value)}))}),Lt("div",{className:"vm-predefined-panels__dashboards",children:[h&&f.map((function(e,t){return Lt(uf,{index:t,filename:d,title:e.title,panels:e.panels},"".concat(u,"_").concat(t))})),!!n.length&&!h&&Lt(Vr,{variant:"error",children:[Lt("code",{children:'"rows"'})," not found. Check the configuration file ",Lt("b",{children:d}),"."]})]})]})},cf=function(e,t){var n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)},sf=function(){function e(){b(this,e),this.tsdbStatus=void 0,this.tabsNames=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"],this.getDefaultState=this.getDefaultState.bind(this)}return x(e,[{key:"tsdbStatusData",get:function(){return this.tsdbStatus},set:function(e){this.tsdbStatus=e}},{key:"defaultTSDBStatus",get:function(){return{totalSeries:0,totalLabelValuePairs:0,totalSeriesByAll:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}},{key:"keys",value:function(e,t){var n=e&&/__name__=".+"/.test(e),r=e&&/{.+=".+"}/g.test(e),i=e&&/__name__=".+", .+!=""/g.test(e),a=[];return a=t||i?a.concat("seriesCountByFocusLabelValue"):n?a.concat("labelValueCountByLabelName"):r?a.concat("seriesCountByMetricName","seriesCountByLabelName"):a.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair"),a}},{key:"getDefaultState",value:function(e,t){var n=this;return this.keys(e,t).reduce((function(e,t){return ot(ot({},e),{},{tabs:ot(ot({},e.tabs),{},it({},t,n.tabsNames)),containerRefs:ot(ot({},e.containerRefs),{},it({},t,(0,r.useRef)(null)))})}),{tabs:{},containerRefs:{}})}},{key:"sectionsTitles",value:function(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}},{key:"sectionsTips",get:function(){return{seriesCountByMetricName:"\n

    \n This table returns a list of metrics with the highest cardinality.\n The cardinality of a metric is the number of time series associated with that metric,\n where each time series is defined as a unique combination of key-value label pairs.\n

    \n

    \n When looking to reduce the number of active series in your data source,\n you can start by inspecting individual metrics with high cardinality\n (i.e. that have lots of active time series associated with them),\n since that single metric contributes a large fraction of the series that make up your total series count.\n

    ",seriesCountByLabelName:"\n

    \n This table returns a list of the labels with the highest number of series.\n

    \n

    \n Use this table to identify labels that are storing dimensions with high cardinality\n (many different label values).\n

    \n

    \n It is recommended to choose labels such that they have a finite set of values,\n since every unique combination of key-value label pairs creates a new time series\n and therefore can dramatically increase the number of time series in your system.\n

    ",seriesCountByFocusLabelValue:"\n

    \n This table returns a list of unique label values per selected label.\n

    \n

    \n Use this table to identify label values that are storing per each selected series.\n

    ",labelValueCountByLabelName:"",seriesCountByLabelValuePair:"\n

    \n This table returns a list of the label values pairs with the highest number of series.\n

    \n

    \n Use this table to identify unique label values pairs. This helps to identify same labels \n is applied to count timeseries in your system, since every unique combination of key-value label pairs \n creates a new time series and therefore can dramatically increase the number of time series in your system\n

    "}}},{key:"tablesHeaders",get:function(){return{seriesCountByMetricName:ff,seriesCountByLabelName:df,seriesCountByFocusLabelValue:hf,seriesCountByLabelValuePair:pf,labelValueCountByLabelName:mf}}},{key:"totalSeries",value:function(e){return"labelValueCountByLabelName"===e?-1:this.tsdbStatus.totalSeries}}]),e}(),ff=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of a metric to the total number of series"},{id:"action",label:""}],df=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label to the total number of series"},{id:"action",label:""}],hf=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total"},{disablePadding:!1,id:"action",label:"",numeric:!1}],pf=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label value pair to the total number of series"},{id:"action",label:""}],mf=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:""}],vf={seriesCountByMetricName:function(e){var t=e.query;return gf("__name__",t)},seriesCountByLabelName:function(e){var t=e.query;return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:function(e){var t=e.query,n=e.focusLabel;return gf(n,t)},seriesCountByLabelValuePair:function(e){var t=e.query.split("="),n=t[0],r=t.slice(1).join("=");return gf(n,r)},labelValueCountByLabelName:function(e){var t=e.query,n=e.match;return"".concat(n.replace("}",""),", ").concat(t,'!=""}')}},gf=function(e,t){return e?"{"+e+"="+JSON.stringify(t)+"}":""},yf=function(e){var t,n=e.totalSeries,r=e.totalSeriesAll,i=e.seriesCountByMetricName,a=Hr().isMobile,o=v(nt(),1)[0],u=o.get("match"),l=o.get("focusLabel"),c=/__name__/.test(u||""),s=(null===(t=i[0])||void 0===t?void 0:t.value)/r*100,f=[{title:"Total series",value:n.toLocaleString("en-US"),display:!l,info:'The total number of active time series. \n A time series is uniquely identified by its name plus a set of its labels. \n For example, temperature{city="NY",country="US"} and temperature{city="SF",country="US"} \n are two distinct series, since they differ by the city label.'},{title:"Percentage from total",value:isNaN(s)?"-":"".concat(s.toFixed(2),"%"),display:c,info:"The share of these series in the total number of time series."}].filter((function(e){return e.display}));return f.length?Lt("div",{className:mr()({"vm-cardinality-totals":!0,"vm-cardinality-totals_mobile":a}),children:f.map((function(e){var t=e.title,n=e.value,r=e.info;return Lt("div",{className:"vm-cardinality-totals-card",children:[Lt("div",{className:"vm-cardinality-totals-card-header",children:[r&&Lt(ai,{title:Lt("p",{className:"vm-cardinality-totals-card-header__tooltip",children:r}),children:Lt("div",{className:"vm-cardinality-totals-card-header__info-icon",children:Lt(In,{})})}),Lt("h4",{className:"vm-cardinality-totals-card-header__title",children:t})]}),Lt("span",{className:"vm-cardinality-totals-card__value",children:n})]},t)}))}):null},_f=function(e){var t=Hr().isMobile,n=v(nt(),2),i=n[0],a=n[1],o=i.get("tips")||"",u=v((0,r.useState)(i.get("match")||""),2),l=u[0],c=u[1],s=v((0,r.useState)(i.get("focusLabel")||""),2),f=s[0],d=s[1],h=v((0,r.useState)(+(i.get("topN")||10)),2),p=h[0],m=h[1],g=(0,r.useMemo)((function(){return p<0?"Number must be bigger than zero":""}),[p]),y=function(){i.set("match",l),i.set("topN",p.toString()),i.set("focusLabel",f),a(i)};return(0,r.useEffect)((function(){var e=i.get("match"),t=+(i.get("topN")||10),n=i.get("focusLabel");e!==l&&c(e||""),t!==p&&m(t),n!==f&&d(n||"")}),[i]),Lt("div",{className:mr()({"vm-cardinality-configurator":!0,"vm-cardinality-configurator_mobile":t,"vm-block":!0,"vm-block_mobile":t}),children:[Lt("div",{className:"vm-cardinality-configurator-controls",children:[Lt("div",{className:"vm-cardinality-configurator-controls__query",children:Lt(bi,{label:"Time series selector",type:"string",value:l,onChange:c,onEnter:y})}),Lt("div",{className:"vm-cardinality-configurator-controls__item",children:Lt(bi,{label:"Focus label",type:"text",value:f||"",onChange:d,onEnter:y,endIcon:Lt(ai,{title:Lt("div",{children:Lt("p",{children:"To identify values with the highest number of series for the selected label."})}),children:Lt(lr,{})})})}),Lt("div",{className:"vm-cardinality-configurator-controls__item vm-cardinality-configurator-controls__item_limit",children:Lt(bi,{label:"Limit entries",type:"number",value:p,error:g,onChange:function(e){var t=+e;m(isNaN(t)?0:t)},onEnter:y})})]}),Lt("div",{className:"vm-cardinality-configurator-bottom",children:[Lt(yf,ot({},e)),Lt("div",{className:"vm-cardinality-configurator-bottom-helpful",children:Lt("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/#cardinality-explorer",rel:"help noreferrer",children:[Lt(or,{}),"Documentation"]})}),Lt("div",{className:"vm-cardinality-configurator-bottom__execute",children:[Lt(ai,{title:o?"Hide tips":"Show tips",children:Lt(ei,{variant:"text",color:o?"warning":"gray",startIcon:Lt(dr,{}),onClick:function(){i.get("tips")||""?i.delete("tips"):i.set("tips","true"),a(i)}})}),Lt(ei,{variant:"text",startIcon:Lt(Ln,{}),onClick:function(){i.set("match",""),i.set("focusLabel",""),a(i)},children:"Reset"}),Lt(ei,{startIcon:Lt(qn,{}),onClick:y,children:"Execute Query"})]})]})]})};function bf(e){var t=e.order,n=e.orderBy,r=e.onRequestSort,i=e.headerCells;return Lt("thead",{className:"vm-table-header",children:Lt("tr",{className:"vm-table__row vm-table__row_header",children:i.map((function(e){return Lt("th",{className:mr()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(i=e.id,function(e){r(e,i)}),children:Lt("div",{className:"vm-table-cell__content",children:[e.info?Lt(ai,{title:e.info,children:[Lt("div",{className:"vm-metrics-content-header__tip-icon",children:Lt(In,{})}),e.label]}):Lt(Ot.HY,{children:e.label}),"action"!==e.id&&"percentage"!==e.id&&Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Lt($n,{})})]})},e.id);var i}))})})}function Df(e,t,n){return t[n]e[n]?1:0}function wf(e,t){return"desc"===e?function(e,n){return Df(e,n,t)}:function(e,n){return-Df(e,n,t)}}function kf(e,t){var n=e.map((function(e,t){return[e,t]}));return n.sort((function(e,n){var r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((function(e){return e[0]}))}var xf=function(e){var t=e.rows,n=e.headerCells,i=e.defaultSortColumn,a=e.tableCells,o=v((0,r.useState)("desc"),2),u=o[0],l=o[1],c=v((0,r.useState)(i),2),s=c[0],f=c[1],d=kf(t,wf(u,s));return Lt("table",{className:"vm-table",children:[Lt(bf,{order:u,orderBy:s,onRequestSort:function(e,t){l(s===t&&"asc"===u?"desc":"asc"),f(t)},rowCount:t.length,headerCells:n}),Lt("tbody",{className:"vm-table-header",children:d.map((function(e){return Lt("tr",{className:"vm-table__row",children:a(e)},e.name)}))})]})},Cf=function(e){var t=e.row,n=e.totalSeries,r=e.onActionClick,i=n>0?t.value/n*100:-1,a=function(){r(t.name)};return Lt(Ot.HY,{children:[Lt("td",{className:"vm-table-cell",children:Lt("span",{className:"vm-link vm-link_colored",onClick:a,children:t.name})},t.name),Lt("td",{className:"vm-table-cell",children:t.value},t.value),i>0&&Lt("td",{className:"vm-table-cell",children:Lt(as,{value:i})},t.progressValue),Lt("td",{className:"vm-table-cell vm-table-cell_right",children:Lt("div",{className:"vm-table-cell__content",children:Lt(ai,{title:"Filter by ".concat(t.name),children:Lt(ei,{variant:"text",size:"small",onClick:a,children:Lt(Wn,{})})})})},"action")]})},Ef=function(e){var t=e.data,n=v((0,r.useState)([]),2),i=n[0],a=n[1],o=v((0,r.useState)([0,0]),2),u=o[0],l=o[1];return(0,r.useEffect)((function(){var e=t.sort((function(e,t){return t.value-e.value})),n=function(e){var t=e.map((function(e){return e.value})),n=Math.ceil(t[0]||1),r=n/9;return new Array(11).fill(n+r).map((function(e,t){return Math.round(e-r*t)}))}(e);l(n),a(e.map((function(e){return ot(ot({},e),{},{percentage:e.value/n[0]*100})})))}),[t]),Lt("div",{className:"vm-simple-bar-chart",children:[Lt("div",{className:"vm-simple-bar-chart-y-axis",children:u.map((function(e){return Lt("div",{className:"vm-simple-bar-chart-y-axis__tick",children:e},e)}))}),Lt("div",{className:"vm-simple-bar-chart-data",children:i.map((function(e){var t=e.name,n=e.value,r=e.percentage;return Lt(ai,{title:"".concat(t,": ").concat(n),placement:"top-center",children:Lt("div",{className:"vm-simple-bar-chart-data-item",style:{maxHeight:"".concat(r||0,"%")}})},"".concat(t,"_").concat(n))}))})]})},Sf=function(e){var t=e.rows,n=e.tabs,i=void 0===n?[]:n,a=e.chartContainer,o=e.totalSeries,u=e.onActionClick,l=e.sectionTitle,c=e.tip,s=e.tableHeaderCells,f=Hr().isMobile,d=v((0,r.useState)("table"),2),h=d[0],p=d[1],m=(0,r.useMemo)((function(){return i.map((function(e,t){return{value:e,label:e,icon:Lt(0===t?Gn:Qn,{})}}))}),[i]);return Lt("div",{className:mr()({"vm-metrics-content":!0,"vm-metrics-content_mobile":f,"vm-block":!0,"vm-block_mobile":f}),children:[Lt("div",{className:"vm-metrics-content-header vm-section-header",children:[Lt("h5",{className:mr()({"vm-metrics-content-header__title":!0,"vm-section-header__title":!0,"vm-section-header__title_mobile":f}),children:[!f&&c&&Lt(ai,{title:Lt("p",{dangerouslySetInnerHTML:{__html:c},className:"vm-metrics-content-header__tip"}),children:Lt("div",{className:"vm-metrics-content-header__tip-icon",children:Lt(In,{})})}),l]}),Lt("div",{className:"vm-section-header__tabs",children:Lt(br,{activeItem:h,items:m,onChange:p})})]}),"table"===h&&Lt("div",{ref:a,className:mr()({"vm-metrics-content__table":!0,"vm-metrics-content__table_mobile":f}),children:Lt(xf,{rows:t,headerCells:s,defaultSortColumn:"value",tableCells:function(e){return Lt(Cf,{row:e,totalSeries:o,onActionClick:u})}})}),"graph"===h&&Lt("div",{className:"vm-metrics-content__chart",children:Lt(Ef,{data:t.map((function(e){return{name:e.name,value:e.value}}))})})]})},Af=function(e){var t=e.title,n=e.children;return Lt("div",{className:"vm-cardinality-tip",children:[Lt("div",{className:"vm-cardinality-tip-header",children:[Lt("div",{className:"vm-cardinality-tip-header__tip-icon",children:Lt(dr,{})}),Lt("h4",{className:"vm-cardinality-tip-header__title",children:t||"Tips"})]}),Lt("p",{className:"vm-cardinality-tip__description",children:n})]})},Nf=function(){return Lt(Af,{title:"Metrics with a high number of series",children:Lt("ul",{children:[Lt("li",{children:["Identify and eliminate labels with frequently changed values to reduce their\xa0",Lt(vs,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-cardinality",children:"cardinality"}),"\xa0and\xa0",Lt(vs,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-churn-rate",children:"high churn rate"})]}),Lt("li",{children:["Find unused time series and\xa0",Lt(vs,{href:"https://docs.victoriametrics.com/relabeling.html",children:"drop entire metrics"})]}),Lt("li",{children:["Aggregate time series before they got ingested into the database via\xa0",Lt(vs,{href:"https://docs.victoriametrics.com/stream-aggregation.html",children:"streaming aggregation"})]})]})})},Mf=function(){return Lt(Af,{title:"Labels with a high number of unique values",children:Lt("ul",{children:[Lt("li",{children:"Decrease the number of unique label values to reduce cardinality"}),Lt("li",{children:["Drop the label entirely via\xa0",Lt(vs,{href:"https://docs.victoriametrics.com/relabeling.html",children:"relabeling"})]}),Lt("li",{children:"For volatile label values (such as URL path, user session, etc.) consider printing them to the log file instead of adding to time series"})]})})},Ff=function(){return Lt(Af,{title:"Dashboard of a single metric",children:[Lt("p",{children:"This dashboard helps to understand the cardinality of a single metric."}),Lt("p",{children:"Each time series is a unique combination of key-value label pairs. Therefore a label key with many values can create a lot of time series for a particular metric. If you\u2019re trying to decrease the cardinality of a metric, start by looking at the labels with the highest number of values."}),Lt("p",{children:"Use the series selector at the top of the page to apply additional filters."})]})},Of=function(){return Lt(Af,{title:"Dashboard of a label",children:[Lt("p",{children:"This dashboard helps you understand the count of time series per label."}),Lt("p",{children:"Use the selector at the top of the page to pick a label name you\u2019d like to inspect. For the selected label name, you\u2019ll see the label values that have the highest number of series associated with them. So if you\u2019ve chosen `instance` as your label name, you may see that `657` time series have value \u201chost-1\u201d attached to them and `580` time series have value `host-2` attached to them."}),Lt("p",{children:"This can be helpful in allowing you to determine where the bulk of your time series are coming from. If the label \u201cinstance=host-1\u201d was applied to 657 series and the label \u201cinstance=host-2\u201d was only applied to 580 series, you\u2019d know, for example, that host-01 was responsible for sending the majority of the time series."})]})},Tf=function(){var e=Hr().isMobile,t=v(nt(),2),n=t[0],i=t[1],o=n.get("tips")||"",u=n.get("match")||"",l=n.get("focusLabel")||"",c=function(){var e=new sf,t=v(nt(),1)[0],n=t.get("match"),i=t.get("focusLabel"),o=+(t.get("topN")||10),u=t.get("date")||a()().tz().format(zt),l=Bt().serverUrl,c=v((0,r.useState)(!1),2),s=c[0],f=c[1],d=v((0,r.useState)(),2),h=d[0],p=d[1],m=v((0,r.useState)(e.defaultTSDBStatus),2),g=m[0],y=m[1],_=function(){var t=ta(Xi().mark((function t(r){var i,a,o,u,c,s,d,h,m,v,g;return Xi().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l){t.next=2;break}return t.abrupt("return");case 2:return p(""),f(!0),y(e.defaultTSDBStatus),i={date:r.date,topN:0,match:"",focusLabel:""},a=cf(l,r),o=cf(l,i),t.prev=8,t.next=11,fetch(a);case 11:return u=t.sent,t.next=14,u.json();case 14:return c=t.sent,t.next=17,fetch(o);case 17:return s=t.sent,t.next=20,s.json();case 20:d=t.sent,u.ok?(h=c.data,m=d.data.totalSeries,(v=ot({},h)).totalSeriesByAll=m,g=null===n||void 0===n?void 0:n.replace(/[{}"]/g,""),v.seriesCountByLabelValuePair=v.seriesCountByLabelValuePair.filter((function(e){return e.name!==g})),y(v),f(!1)):(p(c.error),y(e.defaultTSDBStatus),f(!1)),t.next=28;break;case 24:t.prev=24,t.t0=t.catch(8),f(!1),t.t0 instanceof Error&&p("".concat(t.t0.name,": ").concat(t.t0.message));case 28:case"end":return t.stop()}}),t,null,[[8,24]])})));return function(e){return t.apply(this,arguments)}}();return(0,r.useEffect)((function(){_({topN:o,match:n,date:u,focusLabel:i})}),[l,n,i,o,u]),(0,r.useEffect)((function(){h&&(y(e.defaultTSDBStatus),f(!1))}),[h]),e.tsdbStatusData=g,{isLoading:s,appConfigurator:e,error:h}}(),s=c.isLoading,f=c.appConfigurator,d=c.error,h=f.tsdbStatusData,p=f.getDefaultState,m=f.tablesHeaders,g=f.sectionsTips,y=p(u,l);return Lt("div",{className:mr()({"vm-cardinality-panel":!0,"vm-cardinality-panel_mobile":e}),children:[s&&Lt(is,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Lt(_f,{totalSeries:h.totalSeries,totalSeriesAll:h.totalSeriesByAll,totalLabelValuePairs:h.totalLabelValuePairs,seriesCountByMetricName:h.seriesCountByMetricName}),o&&Lt("div",{className:"vm-cardinality-panel-tips",children:[!u&&!l&&Lt(Nf,{}),u&&!l&&Lt(Ff,{}),!u&&!l&&Lt(Mf,{}),l&&Lt(Of,{})]}),d&&Lt(Vr,{variant:"error",children:d}),f.keys(u,l).map((function(e){return Lt(Sf,{sectionTitle:f.sectionsTitles(l)[e],tip:g[e],rows:h[e],onActionClick:(t=e,function(e){var r=vf[t]({query:e,focusLabel:l,match:u});n.set("match",r),"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||n.set("focusLabel",e),"seriesCountByFocusLabelValue"==t&&n.set("focusLabel",""),i(n)}),tabs:y.tabs[e],chartContainer:y.containerRefs[e],totalSeries:f.totalSeries(e),tableHeaderCells:m[e]},e);var t}))]})},Lf=function(e){var t=e.rows,n=e.columns,i=e.defaultOrderBy,a=v((0,r.useState)(i||"count"),2),o=a[0],u=a[1],l=v((0,r.useState)("desc"),2),c=l[0],s=l[1],f=(0,r.useMemo)((function(){return kf(t,wf(c,o))}),[t,o,c]),d=function(e){return function(){var t;t=e,s((function(e){return"asc"===e&&o===t?"desc":"asc"})),u(t)}};return Lt("table",{className:"vm-table",children:[Lt("thead",{className:"vm-table-header",children:Lt("tr",{className:"vm-table__row vm-table__row_header",children:n.map((function(e){return Lt("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:d(e.key),children:Lt("div",{className:"vm-table-cell__content",children:[e.title||e.key,Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":o===e.key,"vm-table__sort-icon_desc":"desc"===c&&o===e.key}),children:Lt($n,{})})]})},e.key)}))})}),Lt("tbody",{className:"vm-table-body",children:f.map((function(e,t){return Lt("tr",{className:"vm-table__row",children:n.map((function(t){return Lt("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key)}))},t)}))})]})},If=["table","JSON"].map((function(e,t){return{value:String(t),label:e,icon:Lt(0===t?Gn:Jn,{})}})),Bf=function(e){var t=e.rows,n=e.title,i=e.columns,a=e.defaultOrderBy,o=Hr().isMobile,u=v((0,r.useState)(0),2),l=u[0],c=u[1];return Lt("div",{className:mr()({"vm-top-queries-panel":!0,"vm-block":!0,"vm-block_mobile":o}),children:[Lt("div",{className:mr()({"vm-top-queries-panel-header":!0,"vm-section-header":!0,"vm-top-queries-panel-header_mobile":o}),children:[Lt("h5",{className:mr()({"vm-section-header__title":!0,"vm-section-header__title_mobile":o}),children:n}),Lt("div",{className:"vm-section-header__tabs",children:Lt(br,{activeItem:String(l),items:If,onChange:function(e){c(+e)}})})]}),Lt("div",{className:mr()({"vm-top-queries-panel__table":!0,"vm-top-queries-panel__table_mobile":o}),children:[0===l&&Lt(Lf,{rows:t,columns:i,defaultOrderBy:a}),1===l&&Lt(es,{data:t})]})]})},Pf=function(){var e=Hr().isMobile,t=function(){var e=Bt().serverUrl,t=zr(),n=t.topN,i=t.maxLifetime,a=t.runQuery,o=v((0,r.useState)(null),2),u=o[0],l=o[1],c=v((0,r.useState)(!1),2),s=c[0],f=c[1],d=v((0,r.useState)(),2),h=d[0],p=d[1],m=(0,r.useMemo)((function(){return function(e,t,n){return"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||"")}(e,n,i)}),[e,n,i]),g=function(){var e=ta(Xi().mark((function e(){var t,n;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f(!0),e.prev=1,e.next=4,fetch(m);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,t.ok&&["topByAvgDuration","topByCount","topBySumDuration"].forEach((function(e){var t=n[e];Array.isArray(t)&&t.forEach((function(e){return e.timeRangeHours=+(e.timeRangeSeconds/3600).toFixed(2)}))})),l(t.ok?n:null),p(String(n.error||"")),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&"AbortError"!==e.t0.name&&p("".concat(e.t0.name,": ").concat(e.t0.message));case 16:f(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();return(0,r.useEffect)((function(){g()}),[a]),{data:u,error:h,loading:s}}(),n=t.data,i=t.error,o=t.loading,u=zr(),l=u.topN,c=u.maxLifetime,s=(0,r.useContext)(Rr).dispatch;!function(){var e=zr(),t=e.topN,n=e.maxLifetime,i=v(nt(),2)[1],a=function(){var e=hs({topN:String(t),maxLifetime:n});i(e)};(0,r.useEffect)(a,[t,n]),(0,r.useEffect)(a,[])}();var f=(0,r.useMemo)((function(){var e=c.trim().split(" ").reduce((function(e,t){var n=Kt(t);return n?ot(ot({},e),n):ot({},e)}),{});return!!a().duration(e).asMilliseconds()}),[c]),d=(0,r.useMemo)((function(){return!!l&&l<1}),[l]),h=(0,r.useMemo)((function(){return d?"Number must be bigger than zero":""}),[d]),p=(0,r.useMemo)((function(){return f?"":"Invalid duration value"}),[f]),m=function(e){if(!n)return e;var t=n[e];return"number"===typeof t?uc(t,t,t):t||e},g=function(){s({type:"SET_RUN_QUERY"})},y=function(e){"Enter"===e.key&&g()};return(0,r.useEffect)((function(){n&&(l||s({type:"SET_TOP_N",payload:+n.topN}),c||s({type:"SET_MAX_LIFE_TIME",payload:n.maxLifetime}))}),[n]),Lt("div",{className:mr()({"vm-top-queries":!0,"vm-top-queries_mobile":e}),children:[o&&Lt(is,{containerStyles:{height:"500px"}}),Lt("div",{className:mr()({"vm-top-queries-controls":!0,"vm-block":!0,"vm-block_mobile":e}),children:[Lt("div",{className:"vm-top-queries-controls-fields",children:[Lt("div",{className:"vm-top-queries-controls-fields__item",children:Lt(bi,{label:"Max lifetime",value:c,error:p,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:function(e){s({type:"SET_MAX_LIFE_TIME",payload:e})},onKeyDown:y})}),Lt("div",{className:"vm-top-queries-controls-fields__item",children:Lt(bi,{label:"Number of returned queries",type:"number",value:l||"",error:h,onChange:function(e){s({type:"SET_TOP_N",payload:+e})},onKeyDown:y})})]}),Lt("div",{className:mr()({"vm-top-queries-controls-bottom":!0,"vm-top-queries-controls-bottom_mobile":e}),children:[Lt("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Lt(ai,{title:"search.queryStats.lastQueriesCount",children:Lt("b",{children:m("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Lt(ai,{title:"search.queryStats.minQueryDuration",children:Lt("b",{children:m("search.queryStats.minQueryDuration")})})]}),Lt("div",{className:"vm-top-queries-controls-bottom__button",children:Lt(ei,{startIcon:Lt(qn,{}),onClick:g,children:"Execute"})})]})]}),i&&Lt(Vr,{variant:"error",children:i}),n&&Lt(Ot.HY,{children:Lt("div",{className:"vm-top-queries-panels",children:[Lt(Bf,{rows:n.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}]}),Lt(Bf,{rows:n.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Lt(Bf,{rows:n.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"})]})})]})},Rf={"color-primary":"#589DF6","color-secondary":"#316eca","color-error":"#e5534b","color-warning":"#c69026","color-info":"#539bf5","color-success":"#57ab5a","color-background-body":"#22272e","color-background-block":"#2d333b","color-background-tooltip":"rgba(22, 22, 22, 0.8)","color-text":"#cdd9e5","color-text-secondary":"#768390","color-text-disabled":"#636e7b","box-shadow":"rgba(0, 0, 0, 0.16) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.2) 0px 2px 8px 0px","border-divider":"1px solid rgba(99, 110, 123, 0.5)","color-hover-black":"rgba(0, 0, 0, 0.12)"},zf={"color-primary":"#3F51B5","color-secondary":"#E91E63","color-error":"#FD080E","color-warning":"#FF8308","color-info":"#03A9F4","color-success":"#4CAF50","color-background-body":"#FEFEFF","color-background-block":"#FFFFFF","color-background-tooltip":"rgba(97,97,97, 0.92)","color-text":"#110f0f","color-text-secondary":"#706F6F","color-text-disabled":"#A09F9F","box-shadow":"rgba(0, 0, 0, 0.08) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.1) 0px 2px 8px 0px","border-divider":"1px solid rgba(0, 0, 0, 0.15)","color-hover-black":"rgba(0, 0, 0, 0.06)"},jf=function(){var e=v((0,r.useState)(At()),2),t=e[0],n=e[1],i=function(e){n(e.matches)};return(0,r.useEffect)((function(){var e=window.matchMedia("(prefers-color-scheme: dark)");return e.addEventListener("change",i),function(){return e.removeEventListener("change",i)}}),[]),t},$f=["primary","secondary","error","warning","info","success"],Hf=function(e){var t,n=e.onLoaded,i=pt(),a=ht().palette,o=void 0===a?{}:a,u=Bt().theme,l=jf(),c=Pt(),s=hr(document.body),f=v((0,r.useState)((it(t={},lt.dark,Rf),it(t,lt.light,zf),it(t,lt.system,At()?Rf:zf),t)),2),d=f[0],h=f[1],p=function(){var e=window,t=e.innerWidth,n=e.innerHeight,r=document.documentElement,i=r.clientWidth,a=r.clientHeight;St("scrollbar-width","".concat(t-i,"px")),St("scrollbar-height","".concat(n-a,"px")),St("vh","".concat(.01*n,"px"))},m=function(){$f.forEach((function(e,t){var r=function(e){var t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"}(Et("color-".concat(e)));St("".concat(e,"-text"),r),t===$f.length-1&&(c({type:"SET_DARK_THEME"}),n(!0))}))},g=function(){var e=xt("THEME")||lt.system,t=d[e];Object.entries(t).forEach((function(e){var t=v(e,2),n=t[0],r=t[1];St(n,r)})),m(),i&&($f.forEach((function(e){var t=o[e];t&&St("color-".concat(e),t)})),m())};return(0,r.useEffect)((function(){p(),g()}),[d]),(0,r.useEffect)(p,[s]),(0,r.useEffect)((function(){var e=At()?Rf:zf;d[lt.system]!==e?h((function(t){return ot(ot({},t),{},it({},lt.system,e))})):g()}),[u,l]),(0,r.useEffect)((function(){i&&c({type:"SET_THEME",payload:lt.light})}),[]),null},Yf=function(e){var t=v((0,r.useState)([]),2),n=t[0],i=t[1],a=v((0,r.useState)(!1),2),o=a[0],u=a[1],l=function(e){e.preventDefault(),e.stopPropagation(),"dragenter"===e.type||"dragover"===e.type?u(!0):"dragleave"===e.type&&u(!1)},c=function(e){var t;e.preventDefault(),e.stopPropagation(),u(!1),null!==e&&void 0!==e&&null!==(t=e.dataTransfer)&&void 0!==t&&t.files&&e.dataTransfer.files[0]&&function(e){var t=Array.from(e||[]);i(t)}(e.dataTransfer.files)},s=function(e){var t,n=null===(t=e.clipboardData)||void 0===t?void 0:t.items;if(n){var r=Array.from(n).filter((function(e){return"application/json"===e.type})).map((function(e){return e.getAsFile()})).filter((function(e){return null!==e}));i(r)}};return(0,r.useEffect)((function(){return null===e||void 0===e||e.addEventListener("dragenter",l),null===e||void 0===e||e.addEventListener("dragleave",l),null===e||void 0===e||e.addEventListener("dragover",l),null===e||void 0===e||e.addEventListener("drop",c),null===e||void 0===e||e.addEventListener("paste",s),function(){null===e||void 0===e||e.removeEventListener("dragenter",l),null===e||void 0===e||e.removeEventListener("dragleave",l),null===e||void 0===e||e.removeEventListener("dragover",l),null===e||void 0===e||e.removeEventListener("drop",c),null===e||void 0===e||e.removeEventListener("paste",s)}}),[e]),{files:n,dragging:o}},Vf=function(e){var t=e.onOpenModal,n=e.onChange;return Lt("div",{className:"vm-trace-page-controls",children:[Lt(ei,{variant:"outlined",onClick:t,children:"Paste JSON"}),Lt(ai,{title:"The file must contain tracing information in JSON format",children:Lt(ei,{children:["Upload Files",Lt("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:n})]})})]})},Uf=function(){var e=v((0,r.useState)(!1),2),t=e[0],n=e[1],i=v((0,r.useState)([]),2),a=i[0],o=i[1],u=v((0,r.useState)([]),2),l=u[0],c=u[1],s=(0,r.useMemo)((function(){return!!a.length}),[a]),f=v(nt(),2)[1],d=function(){n(!0)},h=function(){n(!1)},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";c((function(n){return[{filename:t,text:": ".concat(e.message)}].concat(_(n))}))},m=function(e,t){try{var n=JSON.parse(e),r=n.trace||n;if(!r.duration_msec)return void p(new Error(ut.traceNotFound),t);var i=new Kc(r,t);o((function(e){return[i].concat(_(e))}))}catch(a){a instanceof Error&&p(a,t)}},g=function(e){e.map((function(e){var t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=function(e){var t,r=String(null===(t=e.target)||void 0===t?void 0:t.result);m(r,n)},t.readAsText(e)}))},y=function(e){c([]);var t=Array.from(e.target.files||[]);g(t),e.target.value=""},b=function(e){return function(){!function(e){c((function(t){return t.filter((function(t,n){return n!==e}))}))}(e)}};(0,r.useEffect)((function(){f({})}),[]);var D=Yf(document.body),w=D.files,k=D.dragging;return(0,r.useEffect)((function(){g(w)}),[w]),Lt("div",{className:"vm-trace-page",children:[Lt("div",{className:"vm-trace-page-header",children:[Lt("div",{className:"vm-trace-page-header-errors",children:l.map((function(e,t){return Lt("div",{className:"vm-trace-page-header-errors-item",children:[Lt(Vr,{variant:"error",children:[Lt("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Lt("span",{children:e.text})]}),Lt(ei,{className:"vm-trace-page-header-errors-item__close",startIcon:Lt(Tn,{}),variant:"text",color:"error",onClick:b(t)})]},"".concat(e,"_").concat(t))}))}),Lt("div",{children:s&&Lt(Vf,{onOpenModal:d,onChange:y})})]}),s&&Lt("div",{children:Lt(ls,{jsonEditor:!0,traces:a,onDeleteClick:function(e){var t=a.filter((function(t){return t.idValue!==e.idValue}));o(_(t))}})}),!s&&Lt("div",{className:"vm-trace-page-preview",children:[Lt("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Lt("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"help noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload.","\n","Attach files by dragging & dropping, selecting or pasting them."]}),Lt(Vf,{onOpenModal:d,onChange:y})]}),t&&Lt(ii,{title:"Paste JSON",onClose:h,children:Lt(us,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(a.length+1),onClose:h,onUpload:m})}),k&&Lt("div",{className:"vm-trace-page__dropzone"})]})},qf=function(e){var t=Bt().serverUrl,n=wn().period,i=v((0,r.useState)([]),2),a=i[0],o=i[1],u=v((0,r.useState)(!1),2),l=u[0],c=u[1],s=v((0,r.useState)(),2),f=s[0],d=s[1],h=(0,r.useMemo)((function(){return function(e,t,n){var r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)}(t,n,e)}),[t,n,e]);return(0,r.useEffect)((function(){if(e){var t=function(){var e=ta(Xi().mark((function e(){var t,n,r;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.prev=1,e.next=4,fetch(h);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],o(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?d(void 0):d("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&d("".concat(e.t0.name,": ").concat(e.t0.message));case 16:c(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[h]),{instances:a,isLoading:l,error:f}},Wf=function(e,t){var n=Bt().serverUrl,i=wn().period,a=v((0,r.useState)([]),2),o=a[0],u=a[1],l=v((0,r.useState)(!1),2),c=l[0],s=l[1],f=v((0,r.useState)(),2),d=f[0],h=f[1],p=(0,r.useMemo)((function(){return function(e,t,n,r){var i=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=v(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))})).join(","),a="{".concat(i,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(a),"&start=").concat(t.start,"&end=").concat(t.end)}(n,i,e,t)}),[n,i,e,t]);return(0,r.useEffect)((function(){if(e){var t=function(){var e=ta(Xi().mark((function e(){var t,n,r;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),e.prev=1,e.next=4,fetch(p);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],u(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?h(void 0):h("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&h("".concat(e.t0.name,": ").concat(e.t0.message));case 16:s(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[p]),{names:o,isLoading:c,error:d}},Qf=function(e){var t=e.name,n=e.job,i=e.instance,a=e.rateEnabled,o=e.isBucket,u=e.height,l=Hr().isMobile,c=Lr(),s=c.customStep,f=c.yaxis,d=wn().period,h=Ir(),p=kn(),m=v((0,r.useState)(!1),2),g=m[0],y=m[1],_=(0,r.useMemo)((function(){var e=Object.entries({job:n,instance:i}).filter((function(e){return e[1]})).map((function(e){var t=v(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');var r="{".concat(e.join(","),"}");if(o)return i?'\nlabel_map(\n histogram_quantiles("__name__", 0.5, 0.95, 0.99, sum(rate('.concat(r,')) by (vmrange, le)),\n "__name__",\n "0.5", "q50",\n "0.95", "q95",\n "0.99", "q99",\n)'):"\nwith (q = histogram_quantile(0.95, sum(rate(".concat(r,')) by (instance, vmrange, le))) (\n alias(min(q), "q95min"),\n alias(max(q), "q95max"),\n alias(avg(q), "q95avg"),\n)');var u=a?"rollup_rate(".concat(r,")"):"rollup(".concat(r,")");return"\nwith (q = ".concat(u,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,i,a,o]),b=Xc({predefinedQuery:[_],visible:!0,customStep:s,showAllSeries:g}),D=b.isLoading,w=b.graphData,k=b.error,x=b.warning;return Lt("div",{className:mr()({"vm-explore-metrics-graph":!0,"vm-explore-metrics-graph_mobile":l}),children:[D&&Lt(is,{}),k&&Lt(Vr,{variant:"error",children:k}),x&&Lt(Vr,{variant:"warning",children:Lt("div",{className:"vm-explore-metrics-graph__warning",children:[Lt("p",{children:x}),Lt(ei,{color:"warning",variant:"outlined",onClick:function(){y(!0)},children:"Show all"})]})}),w&&d&&Lt(zc,{data:w,period:d,customStep:s,query:[_],yaxis:f,setYaxisLimits:function(e){h({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:function(e){var t=e.from,n=e.to;p({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:u})]})},Gf=function(e){var t=e.name,n=e.index,i=e.length,a=e.isBucket,o=e.rateEnabled,u=e.onChangeRate,l=e.onRemoveItem,c=e.onChangeOrder,s=Hr().isMobile,f=v((0,r.useState)(!1),2),d=f[0],h=f[1],p=function(){l(t)},m=function(){c(t,n,n+1)},g=function(){c(t,n,n-1)};return Lt("div",s?{className:"vm-explore-metrics-item-header vm-explore-metrics-item-header_mobile",children:[Lt("div",{className:"vm-explore-metrics-item-header__name",children:t}),Lt(ei,{variant:"text",size:"small",startIcon:Lt(sr,{}),onClick:function(){h(!0)}}),d&&Lt(ii,{title:t,onClose:function(){h(!1)},children:Lt("div",{className:"vm-explore-metrics-item-header-modal",children:[Lt("div",{className:"vm-explore-metrics-item-header-modal-order",children:[Lt(ei,{startIcon:Lt(Xn,{}),variant:"outlined",onClick:g,disabled:0===n}),Lt("p",{children:["position:",Lt("span",{className:"vm-explore-metrics-item-header-modal-order__index",children:["#",n+1]})]}),Lt(ei,{endIcon:Lt(Kn,{}),variant:"outlined",onClick:m,disabled:n===i-1})]}),!a&&Lt("div",{className:"vm-explore-metrics-item-header-modal__rate",children:[Lt(Hc,{label:Lt("span",{children:["enable ",Lt("code",{children:"rate()"})]}),value:o,onChange:u,fullWidth:!0}),Lt("p",{children:"calculates the average per-second speed of metrics change"})]}),Lt(ei,{startIcon:Lt(Tn,{}),color:"error",variant:"outlined",onClick:p,fullWidth:!0,children:"Remove graph"})]})})]}:{className:"vm-explore-metrics-item-header",children:[Lt("div",{className:"vm-explore-metrics-item-header-order",children:[Lt(ai,{title:"move graph up",children:Lt(ei,{className:"vm-explore-metrics-item-header-order__up",startIcon:Lt(jn,{}),variant:"text",color:"gray",size:"small",onClick:g})}),Lt("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Lt(ai,{title:"move graph down",children:Lt(ei,{className:"vm-explore-metrics-item-header-order__down",startIcon:Lt(jn,{}),variant:"text",color:"gray",size:"small",onClick:m})})]}),Lt("div",{className:"vm-explore-metrics-item-header__name",children:t}),!a&&Lt("div",{className:"vm-explore-metrics-item-header__rate",children:Lt(ai,{title:"calculates the average per-second speed of metric's change",children:Lt(Hc,{label:Lt("span",{children:["enable ",Lt("code",{children:"rate()"})]}),value:o,onChange:u})})}),Lt("div",{className:"vm-explore-metrics-item-header__close",children:Lt(ai,{title:"close graph",children:Lt(ei,{startIcon:Lt(Tn,{}),variant:"text",color:"gray",size:"small",onClick:p})})})]})},Jf=function(e){var t=e.name,n=e.job,i=e.instance,a=e.index,o=e.length,u=e.size,l=e.onRemoveItem,c=e.onChangeOrder,s=(0,r.useMemo)((function(){return/_sum?|_total?|_count?/.test(t)}),[t]),f=(0,r.useMemo)((function(){return/_bucket?/.test(t)}),[t]),d=v((0,r.useState)(s),2),h=d[0],p=d[1],m=hr(document.body),g=(0,r.useMemo)(u.height,[u,m]);return(0,r.useEffect)((function(){p(s)}),[n]),Lt("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Lt(Gf,{name:t,index:a,length:o,isBucket:f,rateEnabled:h,size:u.id,onChangeRate:p,onRemoveItem:l,onChangeOrder:c}),Lt(Qf,{name:t,job:n,instance:i,rateEnabled:h,isBucket:f,height:g},"".concat(t,"_").concat(n,"_").concat(i,"_").concat(h))]})},Zf=function(e){var t=e.values,n=e.onRemoveItem,r=Hr().isMobile;return r?Lt("span",{className:"vm-select-input-content__counter",children:["selected ",t.length]}):Lt(Ot.HY,{children:t.map((function(e){return Lt("div",{className:"vm-select-input-content__selected",children:[Lt("span",{children:e}),Lt("div",{onClick:(t=e,function(e){n(t),e.stopPropagation()}),children:Lt(Tn,{})})]},e);var t}))})},Kf=function(e){var t=e.value,n=e.list,i=e.label,a=e.placeholder,o=e.noOptionsText,u=e.clearable,l=void 0!==u&&u,c=e.searchable,s=void 0!==c&&c,f=e.autofocus,d=e.onChange,h=Bt().isDarkTheme,p=Hr().isMobile,m=v((0,r.useState)(""),2),g=m[0],y=m[1],_=(0,r.useRef)(null),b=v((0,r.useState)(!1),2),D=b[0],w=b[1],k=(0,r.useRef)(null),x=Array.isArray(t),C=Array.isArray(t)?t:void 0,E=p&&x&&!(null===C||void 0===C||!C.length),S=(0,r.useMemo)((function(){return D?g:Array.isArray(t)?"":t}),[t,g,D,x]),A=(0,r.useMemo)((function(){return D?g||"(.+)":""}),[g,D]),N=function(){k.current&&k.current.blur()},M=function(e){d(e),x||(w(!1),N()),x&&k.current&&k.current.focus()},F=function(e){k.current!==e.target&&w(!1)};return(0,r.useEffect)((function(){y(""),D&&k.current&&k.current.focus(),D||N()}),[D,k]),(0,r.useEffect)((function(){f&&k.current&&!p&&k.current.focus()}),[f,k]),(0,r.useEffect)((function(){return window.addEventListener("keyup",F),function(){window.removeEventListener("keyup",F)}}),[]),Lt("div",{className:mr()({"vm-select":!0,"vm-select_dark":h}),children:[Lt("div",{className:"vm-select-input",onClick:function(e){e.target instanceof HTMLInputElement||w((function(e){return!e}))},ref:_,children:[Lt("div",{className:"vm-select-input-content",children:[!(null===C||void 0===C||!C.length)&&Lt(Zf,{values:C,onRemoveItem:M}),!E&&Lt("input",{value:S,type:"text",placeholder:a,onInput:function(e){y(e.target.value)},onFocus:function(){w(!0)},ref:k,readOnly:p||!s})]}),i&&Lt("span",{className:"vm-text-field__label",children:i}),l&&t&&Lt("div",{className:"vm-select-input__icon",onClick:function(e){return function(t){M(e),t.stopPropagation()}}(""),children:Lt(Tn,{})}),Lt("div",{className:mr()({"vm-select-input__icon":!0,"vm-select-input__icon_open":D}),children:Lt($n,{})})]}),Lt(jc,{label:i,value:A,options:n,anchor:_,selected:C,maxWords:10,minLength:0,fullWidth:!0,noOptionsText:o,onSelect:M,onOpenAutocomplete:w})]})},Xf=Dt.map((function(e){return e.id})),ed=function(e){var t=e.jobs,n=e.instances,i=e.names,a=e.job,o=e.instance,u=e.size,l=e.selectedMetrics,c=e.onChangeJob,s=e.onChangeInstance,f=e.onToggleMetric,d=e.onChangeSize,h=(0,r.useMemo)((function(){return a?"":"No instances. Please select job"}),[a]),p=(0,r.useMemo)((function(){return a?"":"No metric names. Please select job"}),[a]),m=Hr().isMobile;return Lt("div",{className:mr()({"vm-explore-metrics-header":!0,"vm-explore-metrics-header_mobile":m,"vm-block":!0,"vm-block_mobile":m}),children:[Lt("div",{className:"vm-explore-metrics-header__job",children:Lt(Kf,{value:a,list:t,label:"Job",placeholder:"Please select job",onChange:c,autofocus:!a,searchable:!0})}),Lt("div",{className:"vm-explore-metrics-header__instance",children:Lt(Kf,{value:o,list:n,label:"Instance",placeholder:"Please select instance",onChange:s,noOptionsText:h,clearable:!0,searchable:!0})}),Lt("div",{className:"vm-explore-metrics-header__size",children:Lt(Kf,{label:"Size graphs",value:u,list:Xf,onChange:d})}),Lt("div",{className:"vm-explore-metrics-header-metrics",children:Lt(Kf,{label:"Metrics",value:l,list:i,placeholder:"Search metric name",onChange:f,noOptionsText:p,clearable:!0,searchable:!0})})]})},td=wt("job",""),nd=wt("instance",""),rd=wt("metrics",""),id=wt("size",""),ad=Dt.find((function(e){return id?e.id===id:e.isDefault}))||Dt[0],od=function(){var e=v((0,r.useState)(td),2),t=e[0],n=e[1],i=v((0,r.useState)(nd),2),a=i[0],o=i[1],u=v((0,r.useState)(rd?rd.split("&"):[]),2),l=u[0],c=u[1],s=v((0,r.useState)(ad),2),f=s[0],d=s[1];!function(e){var t=e.job,n=e.instance,i=e.metrics,a=e.size,o=wn(),u=o.duration,l=o.relativeTime,c=o.period.date,s=Lr().customStep,f=v(nt(),2)[1],d=function(){var e,r=hs((it(e={},"g0.range_input",u),it(e,"g0.end_input",c),it(e,"g0.step_input",s),it(e,"g0.relative_time",l),it(e,"size",a),it(e,"job",t),it(e,"instance",n),it(e,"metrics",i),e));f(r)};(0,r.useEffect)(d,[u,l,c,s,t,n,i,a]),(0,r.useEffect)(d,[])}({job:t,instance:a,metrics:l.join("&"),size:f.id});var h=function(){var e=Bt().serverUrl,t=wn().period,n=v((0,r.useState)([]),2),i=n[0],a=n[1],o=v((0,r.useState)(!1),2),u=o[0],l=o[1],c=v((0,r.useState)(),2),s=c[0],f=c[1],d=(0,r.useMemo)((function(){return function(e,t){return"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end)}(e,t)}),[e,t]);return(0,r.useEffect)((function(){var e=function(){var e=ta(Xi().mark((function e(){var t,n,r;return Xi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],a(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?f(void 0):f("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&f("".concat(e.t0.name,": ").concat(e.t0.message));case 16:l(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();e().catch(console.error)}),[d]),{jobs:i,isLoading:u,error:s}}(),p=h.jobs,m=h.isLoading,g=h.error,y=qf(t),b=y.instances,D=y.isLoading,w=y.error,k=Wf(t,a),x=k.names,C=k.isLoading,E=k.error,S=(0,r.useMemo)((function(){return m||D||C}),[m,D,C]),A=(0,r.useMemo)((function(){return g||w||E}),[g,w,E]),N=function(e){c(e?function(t){return t.includes(e)?t.filter((function(t){return t!==e})):[].concat(_(t),[e])}:[])},M=function(e,t,n){var r=n>l.length-1;n<0||r||c((function(e){var r=_(e),i=v(r.splice(t,1),1)[0];return r.splice(n,0,i),r}))};return(0,r.useEffect)((function(){a&&b.length&&!b.includes(a)&&o("")}),[b,a]),Lt("div",{className:"vm-explore-metrics",children:[Lt(ed,{jobs:p,instances:b,names:x,job:t,size:f.id,instance:a,selectedMetrics:l,onChangeJob:n,onChangeSize:function(e){var t=Dt.find((function(t){return t.id===e}));t&&d(t)},onChangeInstance:o,onToggleMetric:N}),S&&Lt(is,{}),A&&Lt(Vr,{variant:"error",children:A}),!t&&Lt(Vr,{variant:"info",children:"Please select job to see list of metric names."}),t&&!l.length&&Lt(Vr,{variant:"info",children:"Please select metric names to see the graphs."}),Lt("div",{className:"vm-explore-metrics-body",children:l.map((function(e,n){return Lt(Jf,{name:e,job:t,instance:a,index:n,length:l.length,size:f,onRemoveItem:N,onChangeOrder:M},e)}))})]})},ud=function(){var t=qr().showInfoMessage,n=function(e){return function(){var n;n=e,navigator.clipboard.writeText("<".concat(n,"/>")),t({text:"<".concat(n,"/> has been copied"),type:"success"})}};return Lt("div",{className:"vm-preview-icons",children:Object.entries(e).map((function(e){var t=v(e,2),r=t[0],i=t[1];return Lt("div",{className:"vm-preview-icons-item",onClick:n(r),children:[Lt("div",{className:"vm-preview-icons-item__svg",children:i()}),Lt("div",{className:"vm-preview-icons-item__name",children:"<".concat(r,"/>")})]},r)}))})},ld=function(){var e=v((0,r.useState)(!1),2),t=e[0],n=e[1];return Lt(Ot.HY,{children:Lt(Ze,{children:Lt(Zr,{children:Lt(Ot.HY,{children:[Lt(Hf,{onLoaded:n}),t&&Lt(Ye,{children:Lt($e,{path:"/",element:Lt(sa,{}),children:[Lt($e,{path:dt.home,element:Lt(bs,{})}),Lt($e,{path:dt.metrics,element:Lt(od,{})}),Lt($e,{path:dt.cardinality,element:Lt(Tf,{})}),Lt($e,{path:dt.topQueries,element:Lt(Pf,{})}),Lt($e,{path:dt.trace,element:Lt(Uf,{})}),Lt($e,{path:dt.dashboards,element:Lt(lf,{})}),Lt($e,{path:dt.icons,element:Lt(ud,{})})]})})]})})})})},cd=function(e){e&&n.e(27).then(n.bind(n,27)).then((function(t){var n=t.getCLS,r=t.getFID,i=t.getFCP,a=t.getLCP,o=t.getTTFB;n(e),r(e),i(e),a(e),o(e)}))},sd=document.getElementById("root");sd&&(0,r.render)(Lt(ld,{}),sd),cd()}()}(); \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.ee50e2ce.js.LICENSE.txt b/app/vmselect/vmui/static/js/main.ba695a31.js.LICENSE.txt similarity index 100% rename from app/vmselect/vmui/static/js/main.ee50e2ce.js.LICENSE.txt rename to app/vmselect/vmui/static/js/main.ba695a31.js.LICENSE.txt diff --git a/app/vmselect/vmui/static/js/main.ee50e2ce.js b/app/vmselect/vmui/static/js/main.ee50e2ce.js deleted file mode 100644 index de6b7c62c9..0000000000 --- a/app/vmselect/vmui/static/js/main.ee50e2ce.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.ee50e2ce.js.LICENSE.txt */ -!function(){var e={680:function(e,t,n){"use strict";var r=n(476),i=n(962),a=i(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&a(e,".prototype.")>-1?i(n):n}},962:function(e,t,n){"use strict";var r=n(199),i=n(476),a=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||r.call(o,a),l=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),s=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(d){c=null}e.exports=function(e){var t=u(r,o,arguments);if(l&&c){var n=l(t,"length");n.configurable&&c(t,"length",{value:1+s(0,e.length-(arguments.length-1))})}return t};var f=function(){return u(r,a,arguments)};c?c(e.exports,"apply",{value:f}):e.exports.apply=f},123:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;t=t?e:""+Array(t+1-r.length).join(n)+e},y={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(i,2,"0")},m:function e(t,n){if(t.date()1)return e(o[0])}else{var u=t.name;b[u]=t,i=u}return!r&&i&&(_=i),i||!r&&_},k=function(e,t){if(D(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new C(n)},x=y;x.l=w,x.i=D,x.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var C=function(){function v(e){this.$L=w(e.locale,null,!0),this.parse(e)}var g=v.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(x.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(p);if(r){var i=r[2]-1||0,a=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return x},g.isValid=function(){return!(this.$d.toString()===h)},g.isSame=function(e,t){var n=k(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return k(e)=0&&(a[f]=parseInt(s,10))}var d=a[3],h=24===d?0:d,p=a[0]+"-"+a[1]+"-"+a[2]+" "+h+":"+a[4]+":"+a[5]+":000",m=+t;return(i.utc(p).valueOf()-(m-=m%1e3))/6e4},l=r.prototype;l.tz=function(e,t){void 0===e&&(e=a);var n=this.utcOffset(),r=this.toDate(),o=r.toLocaleString("en-US",{timeZone:e}),u=Math.round((r-new Date(o))/1e3/60),l=i(o).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-u,!0);if(t){var c=l.utcOffset();l=l.add(n-c,"minute")}return l.$x.$timezone=e,l},l.offsetName=function(e){var t=this.$x.$timezone||i.tz.guess(),n=o(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=l.startOf;l.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,e,t).tz(this.$x.$timezone,!0)},i.tz=function(e,t,n){var r=n&&t,o=n||t||a,l=u(+i(),o);if("string"!=typeof e)return i(e).tz(o);var c=function(e,t,n){var r=e-60*t*1e3,i=u(r,n);if(t===i)return[r,t];var a=u(r-=60*(i-t)*1e3,n);return i===a?[r,i]:[e-60*Math.min(i,a)*1e3,Math.max(i,a)]}(i.utc(e,r).valueOf(),l,o),s=c[0],f=c[1],d=i(s).utcOffset(f);return d.$x.$timezone=o,d},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(e){a=e}}}()},635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,i,a){var o=i.prototype;a.utc=function(e){return new i({date:e,utc:!0,args:arguments})},o.utc=function(t){var n=a(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},o.local=function(){return a(this.toDate(),{locale:this.$L,utc:!1})};var u=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),u.call(this,e)};var l=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var c=o.utcOffset;o.utcOffset=function(r,i){var a=this.$utils().u;if(a(r))return this.$u?0:a(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var i=(""+r[0]).match(n)||["-",0,0],a=i[0],o=60*+i[1]+ +i[2];return 0===o?0:"+"===a?o:-o}(r),null===r))return this;var o=Math.abs(r)<=16?60*r:r,u=this;if(i)return u.$offset=o,u.$u=0===r,u;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(u=this.local().add(o+l,e)).$offset=o,u.$x.$localOffset=l}else u=this.utc();return u};var s=o.format;o.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return s.call(this,t)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var f=o.toDate;o.toDate=function(e){return"s"===e&&this.$offset?a(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var d=o.diff;o.diff=function(e,t,n){if(e&&this.$u===e.$u)return d.call(this,e,t,n);var r=this.local(),i=a(e).local();return d.call(r,i,t,n)}}}()},781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,i="[object Function]";e.exports=function(e){var a=this;if("function"!==typeof a||r.call(a)!==i)throw new TypeError(t+a);for(var o,u=n.call(arguments,1),l=function(){if(this instanceof o){var t=a.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return a.apply(e,u.concat(n.call(arguments)))},c=Math.max(0,a.length-u.length),s=[],f=0;f1&&"boolean"!==typeof t)throw new o('"allowMissing" argument must be a boolean');if(null===x(/^%?[^%]*%?$/,e))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=S(e),r=n.length>0?n[0]:"",a=A("%"+r+"%",t),u=a.name,c=a.value,s=!1,f=a.alias;f&&(r=f[0],D(n,b([0,1],f)));for(var d=1,h=!0;d=n.length){var y=l(c,p);c=(h=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:c[p]}else h=_(c,p),c=c[p];h&&!s&&(m[u]=c)}}return c}},520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,i=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&i())))}},541:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},838:function(e,t,n){"use strict";var r=n(199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},936:function(e,t,n){var r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,s=l||c||Function("return this")(),f=Object.prototype.toString,d=Math.max,h=Math.min,p=function(){return s.Date.now()};function m(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function v(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(m(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=m(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=a.test(e);return n||o.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,a,o,u,l,c=0,s=!1,f=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=r,a=i;return r=i=void 0,c=t,o=e.apply(a,n)}function _(e){return c=e,u=setTimeout(D,t),s?y(e):o}function b(e){var n=e-l;return void 0===l||n>=t||n<0||f&&e-c>=a}function D(){var e=p();if(b(e))return w(e);u=setTimeout(D,function(e){var n=t-(e-l);return f?h(n,a-(e-c)):n}(e))}function w(e){return u=void 0,g&&r?y(e):(r=i=void 0,o)}function k(){var e=p(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return _(l);if(f)return u=setTimeout(D,t),y(l)}return void 0===u&&(u=setTimeout(D,t)),o}return t=v(t)||0,m(n)&&(s=!!n.leading,a=(f="maxWait"in n)?d(v(n.maxWait)||0,t):a,g="trailing"in n?!!n.trailing:g),k.cancel=function(){void 0!==u&&clearTimeout(u),c=0,r=l=i=u=void 0},k.flush=function(){return void 0===u?o:w(p())},k}},7:function(e,t,n){var r="__lodash_hash_undefined__",i="[object Function]",a="[object GeneratorFunction]",o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,d="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,h="object"==typeof self&&self&&self.Object===Object&&self,p=d||h||Function("return this")();var m=Array.prototype,v=Function.prototype,g=Object.prototype,y=p["__core-js_shared__"],_=function(){var e=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),b=v.toString,D=g.hasOwnProperty,w=g.toString,k=RegExp("^"+b.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),x=p.Symbol,C=m.splice,E=P(p,"Map"),S=P(Object,"create"),A=x?x.prototype:void 0,N=A?A.toString:void 0;function M(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},F.prototype.set=function(e,t){var n=this.__data__,r=T(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},O.prototype.clear=function(){this.__data__={hash:new M,map:new(E||F),string:new M}},O.prototype.delete=function(e){return B(this,e).delete(e)},O.prototype.get=function(e){return B(this,e).get(e)},O.prototype.has=function(e){return B(this,e).has(e)},O.prototype.set=function(e,t){return B(this,e).set(e,t),this};var R=j((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(Y(e))return N?N.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return l.test(e)&&n.push(""),e.replace(c,(function(e,t,r,i){n.push(r?i.replace(s,"$1"):t||e)})),n}));function z(e){if("string"==typeof e||Y(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function j(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new(j.Cache||O),n}j.Cache=O;var $=Array.isArray;function H(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Y(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==w.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:L(e,t);return void 0===r?n:r}},61:function(e,t,n){var r="Expected a function",i=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,s="object"==typeof self&&self&&self.Object===Object&&self,f=c||s||Function("return this")(),d=Object.prototype.toString,h=Math.max,p=Math.min,m=function(){return f.Date.now()};function v(e,t,n){var i,a,o,u,l,c,s=0,f=!1,d=!1,v=!0;if("function"!=typeof e)throw new TypeError(r);function _(t){var n=i,r=a;return i=a=void 0,s=t,u=e.apply(r,n)}function b(e){return s=e,l=setTimeout(w,t),f?_(e):u}function D(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=o}function w(){var e=m();if(D(e))return k(e);l=setTimeout(w,function(e){var n=t-(e-c);return d?p(n,o-(e-s)):n}(e))}function k(e){return l=void 0,v&&i?_(e):(i=a=void 0,u)}function x(){var e=m(),n=D(e);if(i=arguments,a=this,c=e,n){if(void 0===l)return b(c);if(d)return l=setTimeout(w,t),_(c)}return void 0===l&&(l=setTimeout(w,t)),u}return t=y(t)||0,g(n)&&(f=!!n.leading,o=(d="maxWait"in n)?h(y(n.maxWait)||0,t):o,v="trailing"in n?!!n.trailing:v),x.cancel=function(){void 0!==l&&clearTimeout(l),s=0,i=c=a=l=void 0},x.flush=function(){return void 0===l?u:k(m())},x}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return NaN;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=o.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):a.test(e)?NaN:+e}e.exports=function(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),v(e,t,{leading:i,maxWait:t,trailing:a})}},154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,a=r&&i&&"function"===typeof i.get?i.get:null,o=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=u&&l&&"function"===typeof l.get?l.get:null,s=u&&Set.prototype.forEach,f="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,m=Object.prototype.toString,v=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,D=String.prototype.toLowerCase,w=RegExp.prototype.test,k=Array.prototype.concat,x=Array.prototype.join,C=Array.prototype.slice,E=Math.floor,S="function"===typeof BigInt?BigInt.prototype.valueOf:null,A=Object.getOwnPropertySymbols,N="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,M="function"===typeof Symbol&&"object"===typeof Symbol.iterator,F="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===M||"symbol")?Symbol.toStringTag:null,O=Object.prototype.propertyIsEnumerable,T=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function L(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||w.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-E(-e):E(e);if(r!==e){var i=String(r),a=y.call(t,i.length+1);return _.call(i,n,"$&_")+"."+_.call(_.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var I=n(654),B=I.custom,P=H(B)?B:null;function R(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function z(e){return _.call(String(e),/"/g,""")}function j(e){return"[object Array]"===U(e)&&(!F||!("object"===typeof e&&F in e))}function $(e){return"[object RegExp]"===U(e)&&(!F||!("object"===typeof e&&F in e))}function H(e){if(M)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,i){var u=n||{};if(V(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(V(u,"maxStringLength")&&("number"===typeof u.maxStringLength?u.maxStringLength<0&&u.maxStringLength!==1/0:null!==u.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=!V(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(V(u,"indent")&&null!==u.indent&&"\t"!==u.indent&&!(parseInt(u.indent,10)===u.indent&&u.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(V(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=u.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return W(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return m?L(t,b):b}if("bigint"===typeof t){var w=String(t)+"n";return m?L(t,w):w}var E="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=E&&E>0&&"object"===typeof t)return j(t)?"[Array]":"[Object]";var A=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=x.call(Array(e.indent+1)," ")}return{base:n,prev:x.call(Array(t+1),n)}}(u,r);if("undefined"===typeof i)i=[];else if(q(i,t)>=0)return"[Circular]";function B(t,n,a){if(n&&(i=C.call(i)).push(n),a){var o={depth:u.depth};return V(u,"quoteStyle")&&(o.quoteStyle=u.quoteStyle),e(t,o,r+1,i)}return e(t,u,r+1,i)}if("function"===typeof t&&!$(t)){var Y=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),Q=X(t,B);return"[Function"+(Y?": "+Y:" (anonymous)")+"]"+(Q.length>0?" { "+x.call(Q,", ")+" }":"")}if(H(t)){var ee=M?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(t);return"object"!==typeof t||M?ee:G(ee)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var te="<"+D.call(String(t.nodeName)),ne=t.attributes||[],re=0;re"}if(j(t)){if(0===t.length)return"[]";var ie=X(t,B);return A&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+K(ie,A)+"]":"[ "+x.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t)){var ae=X(t,B);return"cause"in Error.prototype||!("cause"in t)||O.call(t,"cause")?0===ae.length?"["+String(t)+"]":"{ ["+String(t)+"] "+x.call(ae,", ")+" }":"{ ["+String(t)+"] "+x.call(k.call("[cause]: "+B(t.cause),ae),", ")+" }"}if("object"===typeof t&&l){if(P&&"function"===typeof t[P]&&I)return I(t,{depth:E-r});if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!a||!e||"object"!==typeof e)return!1;try{a.call(e);try{c.call(e)}catch(te){return!0}return e instanceof Map}catch(t){}return!1}(t)){var oe=[];return o&&o.call(t,(function(e,n){oe.push(B(n,t,!0)+" => "+B(e,t))})),Z("Map",a.call(t),oe,A)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{a.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ue=[];return s&&s.call(t,(function(e){ue.push(B(e,t))})),Z("Set",c.call(t),ue,A)}if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(te){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return J("WeakMap");if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(te){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return J("WeakSet");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{return h.call(e),!0}catch(t){}return!1}(t))return J("WeakRef");if(function(e){return"[object Number]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t))return G(B(Number(t)));if(function(e){if(!e||"object"!==typeof e||!S)return!1;try{return S.call(e),!0}catch(t){}return!1}(t))return G(B(S.call(t)));if(function(e){return"[object Boolean]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t))return G(p.call(t));if(function(e){return"[object String]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t))return G(B(String(t)));if(!function(e){return"[object Date]"===U(e)&&(!F||!("object"===typeof e&&F in e))}(t)&&!$(t)){var le=X(t,B),ce=T?T(t)===Object.prototype:t instanceof Object||t.constructor===Object,se=t instanceof Object?"":"null prototype",fe=!ce&&F&&Object(t)===t&&F in t?y.call(U(t),8,-1):se?"Object":"",de=(ce||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(fe||se?"["+x.call(k.call([],fe||[],se||[]),": ")+"] ":"");return 0===le.length?de+"{}":A?de+"{"+K(le,A)+"}":de+"{ "+x.call(le,", ")+" }"}return String(t)};var Y=Object.prototype.hasOwnProperty||function(e){return e in this};function V(e,t){return Y.call(e,t)}function U(e){return m.call(e)}function q(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return W(y.call(e,0,t.maxStringLength),t)+r}return R(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Q),"single",t)}function Q(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function G(e){return"Object("+e+")"}function J(e){return e+" { ? }"}function Z(e,t,n,r){return e+" ("+t+") {"+(r?K(n,r):x.call(n,", "))+"}"}function K(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+x.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=j(e),r=[];if(n){r.length=e.length;for(var i=0;i=n.__.length&&n.__.push({__V:s}),n.__[e]}function g(e){return l=1,y(I,e)}function y(e,t,n){var a=v(r++,2);if(a.t=e,!a.__c&&(a.__=[n?n(t):I(void 0,t),function(e){var t=a.__N?a.__N[0]:a.__[0],n=a.t(t,e);t!==n&&(a.__N=[n,a.__[1]],a.__c.setState({}))}],a.__c=i,!i.u)){i.u=!0;var o=i.shouldComponentUpdate;i.shouldComponentUpdate=function(e,t,n){if(!a.__c.__H)return!0;var r=a.__c.__H.__.filter((function(e){return e.__c}));if(r.every((function(e){return!e.__N})))return!o||o.call(this,e,t,n);var i=!1;return r.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(i=!0)}})),!(!i&&a.__c.props===e)&&(!o||o.call(this,e,t,n))}}return a.__N||a.__}function _(e,t){var n=v(r++,3);!u.YM.__s&&L(n.__H,t)&&(n.__=e,n.i=t,i.__H.__h.push(n))}function b(e,t){var n=v(r++,4);!u.YM.__s&&L(n.__H,t)&&(n.__=e,n.i=t,i.__h.push(n))}function D(e){return l=5,k((function(){return{current:e}}),[])}function w(e,t,n){l=6,b((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function k(e,t){var n=v(r++,7);return L(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function x(e,t){return l=8,k((function(){return e}),t)}function C(e){var t=i.context[e.__c],n=v(r++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(i)),t.props.value):e.__}function E(e,t){u.YM.useDebugValue&&u.YM.useDebugValue(t?t(e):e)}function S(e){var t=v(r++,10),n=g();return t.__=e,i.componentDidCatch||(i.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function A(){var e=v(r++,11);if(!e.__){for(var t=i.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function N(){for(var e;e=c.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(O),e.__H.__h.forEach(T),e.__H.__h=[]}catch(i){e.__H.__h=[],u.YM.__e(i,e.__v)}}u.YM.__b=function(e){i=null,f&&f(e)},u.YM.__r=function(e){d&&d(e),r=0;var t=(i=e.__c).__H;t&&(a===i?(t.__h=[],i.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=s,e.__N=e.i=void 0}))):(t.__h.forEach(O),t.__h.forEach(T),t.__h=[])),a=i},u.YM.diffed=function(e){h&&h(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==c.push(t)&&o===u.YM.requestAnimationFrame||((o=u.YM.requestAnimationFrame)||F)(N)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==s&&(e.__=e.__V),e.i=void 0,e.__V=s}))),a=i=null},u.YM.__c=function(e,t){t.some((function(e){try{e.__h.forEach(O),e.__h=e.__h.filter((function(e){return!e.__||T(e)}))}catch(a){t.some((function(e){e.__h&&(e.__h=[])})),t=[],u.YM.__e(a,e.__v)}})),p&&p(e,t)},u.YM.unmount=function(e){m&&m(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{O(e)}catch(e){t=e}})),n.__H=void 0,t&&u.YM.__e(t,n.__v))};var M="function"==typeof requestAnimationFrame;function F(e){var t,n=function(){clearTimeout(r),M&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);M&&(t=requestAnimationFrame(n))}function O(e){var t=i,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),i=t}function T(e){var t=i;e.__c=e.__(),i=t}function L(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function I(e,t){return"function"==typeof t?t(e):t}function B(e,t){for(var n in t)e[n]=t[n];return e}function P(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function R(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}function z(e){this.props=e}function j(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:P(this.props,e)}function r(t){return this.shouldComponentUpdate=n,(0,u.az)(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(z.prototype=new u.wA).isPureReactComponent=!0,z.prototype.shouldComponentUpdate=function(e,t){return P(this.props,e)||P(this.state,t)};var $=u.YM.__b;u.YM.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),$&&$(e)};var H="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Y(e){function t(t){var n=B({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=H,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var V=function(e,t){return null==e?null:(0,u.bR)((0,u.bR)(e).map(t))},U={map:V,forEach:V,count:function(e){return e?(0,u.bR)(e).length:0},only:function(e){var t=(0,u.bR)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:u.bR},q=u.YM.__e;u.YM.__e=function(e,t,n,r){if(e.then)for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);q(e,t,n,r)};var W=u.YM.unmount;function Q(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=B({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Q(e,t,n)}))),e}function G(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return G(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function J(){this.__u=0,this.t=null,this.__b=null}function Z(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function K(e){var t,n,r;function i(i){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return(0,u.az)(n,i)}return i.displayName="Lazy",i.__f=!0,i}function X(){this.u=null,this.o=null}u.YM.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),W&&W(e)},(J.prototype=new u.wA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var i=Z(r.__v),a=!1,o=function(){a||(a=!0,n.__R=null,i?i(u):u())};n.__R=o;var u=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=G(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},J.prototype.componentWillUnmount=function(){this.t=[]},J.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Q(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&(0,u.az)(u.HY,null,e.fallback);return i&&(i.__h=null),[(0,u.az)(u.HY,null,t.__a?null:e.children),i]};var ee=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),(0,u.sY)((0,u.az)(te,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function re(e,t){var n=(0,u.az)(ne,{__v:e,i:t});return n.containerInfo=t,n}(X.prototype=new u.wA).__a=function(e){var t=this,n=Z(t.__v),r=t.o.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),ee(t,e,r)):i()};n?n(a):a()}},X.prototype.render=function(e){this.u=null,this.o=new Map;var t=(0,u.bR)(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},X.prototype.componentDidUpdate=X.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){ee(e,n,t)}))};var ie="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,ae=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,oe="undefined"!=typeof document,ue=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function le(e,t,n){return null==t.__k&&(t.textContent=""),(0,u.sY)(e,t),"function"==typeof n&&n(),e?e.__c:null}function ce(e,t,n){return(0,u.ZB)(e,t),"function"==typeof n&&n(),e?e.__c:null}u.wA.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(u.wA.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var se=u.YM.event;function fe(){}function de(){return this.cancelBubble}function he(){return this.defaultPrevented}u.YM.event=function(e){return se&&(e=se(e)),e.persist=fe,e.isPropagationStopped=de,e.isDefaultPrevented=he,e.nativeEvent=e};var pe,me={configurable:!0,get:function(){return this.class}},ve=u.YM.vnode;u.YM.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var i=-1===t.indexOf("-");for(var a in r={},n){var o=n[a];oe&&"children"===a&&"noscript"===t||"value"===a&&"defaultValue"in n&&null==o||("defaultValue"===a&&"value"in n&&null==n.value?a="value":"download"===a&&!0===o?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+t)&&!ue(n.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&ae.test(a)?a=a.replace(/[A-Z0-9]/g,"-$&").toLowerCase():null===o&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),r[a]&&(a="oninputCapture")),r[a]=o)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=(0,u.bR)(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=(0,u.bR)(n.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),e.props=r,n.class!=n.className&&(me.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",me))}e.$$typeof=ie,ve&&ve(e)};var ge=u.YM.__r;u.YM.__r=function(e){ge&&ge(e),pe=e.__c};var ye={ReactCurrentDispatcher:{current:{readContext:function(e){return pe.__n[e.__c].props.value}}}},_e="17.0.2";function be(e){return u.az.bind(null,e)}function De(e){return!!e&&e.$$typeof===ie}function we(e){return De(e)?u.Tm.apply(null,arguments):e}function ke(e){return!!e.__k&&((0,u.sY)(null,e),!0)}function xe(e){return e&&(e.base||1===e.nodeType&&e)||null}var Ce=function(e,t){return e(t)},Ee=function(e,t){return e(t)},Se=u.HY;function Ae(e){e()}function Ne(e){return e}function Me(){return[!1,Ae]}var Fe=b;function Oe(e,t){var n=t(),r=g({h:{__:n,v:t}}),i=r[0].h,a=r[1];return b((function(){i.__=n,i.v=t,R(i.__,t())||a({h:i})}),[e,n,t]),_((function(){return R(i.__,i.v())||a({h:i}),e((function(){R(i.__,i.v())||a({h:i})}))}),[e]),n}var Te={useState:g,useId:A,useReducer:y,useEffect:_,useLayoutEffect:b,useInsertionEffect:Fe,useTransition:Me,useDeferredValue:Ne,useSyncExternalStore:Oe,startTransition:Ae,useRef:D,useImperativeHandle:w,useMemo:k,useCallback:x,useContext:C,useDebugValue:E,version:"17.0.2",Children:U,render:le,hydrate:ce,unmountComponentAtNode:ke,createPortal:re,createElement:u.az,createContext:u.kr,createFactory:be,cloneElement:we,createRef:u.Vf,Fragment:u.HY,isValidElement:De,findDOMNode:xe,Component:u.wA,PureComponent:z,memo:j,forwardRef:Y,flushSync:Ee,unstable_batchedUpdates:Ce,StrictMode:Se,Suspense:J,SuspenseList:X,lazy:K,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ye}},856:function(e,t,n){"use strict";n.d(t,{HY:function(){return g},Tm:function(){return z},Vf:function(){return v},YM:function(){return i},ZB:function(){return R},az:function(){return p},bR:function(){return C},kr:function(){return j},sY:function(){return P},wA:function(){return y}});var r,i,a,o,u,l,c={},s=[],f=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function d(e,t){for(var n in t)e[n]=t[n];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function p(e,t,n){var i,a,o,u={};for(o in t)"key"==o?i=t[o]:"ref"==o?a=t[o]:u[o]=t[o];if(arguments.length>2&&(u.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===u[o]&&(u[o]=e.defaultProps[o]);return m(e,u,i,a,null)}function m(e,t,n,r,o){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++a:o};return null==o&&null!=i.vnode&&i.vnode(u),u}function v(){return{current:null}}function g(e){return e.children}function y(e,t){this.props=e,this.context=t}function _(e,t){if(null==t)return e.__?_(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?m(v.type,v.props,v.key,v.ref?v.ref:null,v.__v):v)){if(v.__=n,v.__b=n.__b+1,null===(p=w[d])||p&&v.key==p.key&&v.type===p.type)w[d]=void 0;else for(h=0;h2&&(u.children=arguments.length>3?r.call(arguments,2):n),m(e.type,u,i||e.key,a||e.ref,null)}function j(e,t){var n={__c:t="__cC"+l++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(D)},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=s.slice,i={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&null!=a.getDerivedStateFromError&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},a=0,y.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},n),this.props)),e&&d(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),D(this))},y.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},y.prototype.render=g,o=[],w.__r=0,l=0},609:function(e){"use strict";var t=String.prototype.replace,n=/%20/g,r="RFC1738",i="RFC3986";e.exports={default:i,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:r,RFC3986:i}},776:function(e,t,n){"use strict";var r=n(816),i=n(668),a=n(609);e.exports={formats:a,parse:i,stringify:r}},668:function(e,t,n){"use strict";var r=n(837),i=Object.prototype.hasOwnProperty,a=Array.isArray,o={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},u=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},l=function(e,t){return e&&"string"===typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},c=function(e,t,n,r){if(e){var a=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(a),c=u?a.slice(0,u.index):a,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var f=0;n.depth>0&&null!==(u=o.exec(a))&&f=0;--a){var o,u=e[a];if("[]"===u&&n.parseArrays)o=[].concat(i);else{o=n.plainObjects?Object.create(null):{};var c="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,s=parseInt(c,10);n.parseArrays||""!==c?!isNaN(s)&&u!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(o=[])[s]=i:"__proto__"!==c&&(o[c]=i):o={0:i}}i=o}return i}(s,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return o;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?o.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?o.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:o.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:o.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:o.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:o.comma,decoder:"function"===typeof e.decoder?e.decoder:o.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:o.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:o.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:o.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:o.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:o.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var s="string"===typeof e?function(e,t){var n,c={},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,f=t.parameterLimit===1/0?void 0:t.parameterLimit,d=s.split(t.delimiter,f),h=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(v=a(v)?[v]:v),i.call(c,m)?c[m]=r.combine(c[m],v):c[m]=v}return c}(e,n):e,f=n.plainObjects?Object.create(null):{},d=Object.keys(s),h=0;h0?C.join(",")||null:void 0}];else if(l(h))L=h;else{var B=Object.keys(C);L=v?B.sort(v):B}for(var P=o&&l(C)&&1===C.length?n+"[]":n,R=0;R0?D+b:""}},837:function(e,t,n){"use strict";var r=n(609),i=Object.prototype.hasOwnProperty,a=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),u=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(a(n)){for(var r=[],i=0;i=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||a===r.RFC1738&&(40===s||41===s)?l+=u.charAt(c):s<128?l+=o[s]:s<2048?l+=o[192|s>>6]+o[128|63&s]:s<55296||s>=57344?l+=o[224|s>>12]+o[128|s>>6&63]+o[128|63&s]:(c+=1,s=65536+((1023&s)<<10|1023&u.charCodeAt(c)),l+=o[240|s>>18]+o[128|s>>12&63]+o[128|s>>6&63]+o[128|63&s])}return l},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(a(e)){for(var n=[],r=0;rr.length&&h(e,t.length-1);)t=t.slice(0,t.length-1);return t.length}for(var i=r.length,a=t.length;a>=r.length;a--){var o=t[a];if(!h(e,a)&&p(e,a,o)){i=a+1;break}}return i}function g(e,t){return v(e,t)===e.mask.length}function y(e,t){var n=e.maskChar,r=e.mask,i=e.prefix;if(!n){for((t=_(e,"",t,0)).lengtht.length&&(t+=i.slice(t.length,r)),u.every((function(n){for(;s=n,h(e,c=r)&&s!==i[c];){if(r>=t.length&&(t+=i[r]),u=n,a&&h(e,r)&&u===a)return!0;if(++r>=i.length)return!1}var u,c,s;return!p(e,r,n)&&n!==a||(ri.start?f=(s=function(e,t,n,r){var i=e.mask,a=e.maskChar,o=n.split(""),u=r;return o.every((function(t){for(;o=t,h(e,n=r)&&o!==i[n];)if(++r>=i.length)return!1;var n,o;return(p(e,r,t)||t===a)&&r++,r=a.length?d=a.length:d=o.length&&de.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}function y(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _(e){return function(e){if(Array.isArray(e))return h(e)}(e)||y(e)||p(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function w(e){var t=function(e,t){if("object"!==D(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==D(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===D(t)?t:String(t)}function k(e,t){for(var n=0;n=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function H(e,n,r,i){void 0===i&&(i={});var a=i,o=a.window,u=void 0===o?document.defaultView:o,l=a.v5Compat,c=void 0!==l&&l,s=u.history,f=t.Pop,d=null,h=p();function p(){return(s.state||{idx:null}).idx}function m(){var e=t.Pop,n=p();if(null!=n){var r=n-h;f=e,h=n,d&&d({action:f,location:g.location,delta:r})}else P(!1,"You are trying to block a POP navigation to a location that was not created by @remix-run/router. The block will fail silently in production, but in general you should do all navigation with the router (instead of using window.history.pushState directly) to avoid this situation.")}function v(e){var t="null"!==u.location.origin?u.location.origin:u.location.href,n="string"===typeof e?e:j(e);return B(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==h&&(h=0,s.replaceState(T({},s.state,{idx:h}),""));var g={get action(){return f},get location(){return e(u,s)},listen:function(e){if(d)throw new Error("A history only accepts one active listener");return u.addEventListener(I,m),d=e,function(){u.removeEventListener(I,m),d=null}},createHref:function(e){return n(u,e)},createURL:v,encodeLocation:function(e){var t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,n){f=t.Push;var i=z(g.location,e,n);r&&r(i,e);var a=R(i,h=p()+1),o=g.createHref(i);try{s.pushState(a,"",o)}catch(l){u.location.assign(o)}c&&d&&d({action:f,location:g.location,delta:1})},replace:function(e,n){f=t.Replace;var i=z(g.location,e,n);r&&r(i,e);var a=R(i,h=p()),o=g.createHref(i);s.replaceState(a,"",o),c&&d&&d({action:f,location:g.location,delta:0})},go:function(e){return s.go(e)}};return g}function Y(e,t,n){void 0===n&&(n="/");var r=K(("string"===typeof t?$(t):t).pathname||"/",n);if(null==r)return null;var i=V(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(i);for(var a=null,o=0;null==a&&o0&&(B(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+u+'".'),V(e.children,t,l,u)),(null!=e.path||e.index)&&t.push({path:u,score:Q(u,e.index),routesMeta:l})};return e.forEach((function(e,t){var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?")){var r,a=g(U(e.path));try{for(a.s();!(r=a.n()).done;){var o=r.value;i(e,t,o)}}catch(u){a.e(u)}finally{a.f()}}else i(e,t)})),t}function U(e){var t=e.split("/");if(0===t.length)return[];var n,r=d(n=t)||y(n)||p(n)||m(),i=r[0],a=r.slice(1),o=i.endsWith("?"),u=i.replace(/\?$/,"");if(0===a.length)return o?[u,""]:[u];var l=U(a.join("/")),c=[];return c.push.apply(c,_(l.map((function(e){return""===e?u:[u,e].join("/")})))),o&&c.push.apply(c,_(l)),c.map((function(t){return e.startsWith("/")&&""===t?"/":t}))}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(L||(L={}));var q=/^:\w+$/,W=function(e){return"*"===e};function Q(e,t){var n=e.split("/"),r=n.length;return n.some(W)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!W(e)})).reduce((function(e,t){return e+(q.test(t)?3:""===t?1:10)}),r)}function G(e,t){for(var n=e.routesMeta,r={},i="/",a=[],o=0;o and the router will parse it for you.'}function te(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function ne(e,t,n,r){var i;void 0===r&&(r=!1),"string"===typeof e?i=$(e):(B(!(i=T({},e)).pathname||!i.pathname.includes("?"),ee("?","pathname","search",i)),B(!i.pathname||!i.pathname.includes("#"),ee("#","pathname","hash",i)),B(!i.search||!i.search.includes("#"),ee("#","search","hash",i)));var a,o=""===e||""===i.pathname,u=o?"/":i.pathname;if(r||null==u)a=n;else{var l=t.length-1;if(u.startsWith("..")){for(var c=u.split("/");".."===c[0];)c.shift(),l-=1;i.pathname=c.join("/")}a=l>=0?t[l]:"/"}var s=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?$(e):e,r=n.pathname,i=n.search,a=void 0===i?"":i,o=n.hash,u=void 0===o?"":o,l=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:l,search:ae(a),hash:oe(u)}}(i,a),f=u&&"/"!==u&&u.endsWith("/"),d=(o||"."===u)&&n.endsWith("/");return s.pathname.endsWith("/")||!f&&!d||(s.pathname+="/"),s}var re=function(e){return e.join("/").replace(/\/\/+/g,"/")},ie=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},ae=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},oe=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""},ue=function(e){E(n,e);var t=M(n);function n(){return b(this,n),t.apply(this,arguments)}return x(n)}(O(Error));var le=x((function e(t,n,r,i){b(this,e),void 0===i&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function ce(e){return e instanceof le}var se=["post","put","patch","delete"],fe=(new Set(se),["get"].concat(se));new Set(fe),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;Symbol("deferred");function de(){return de=Object.assign?Object.assign.bind():function(e){for(var t=1;t")))}var Oe,Te,Le=function(e){E(n,e);var t=M(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return x(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?r.createElement(xe.Provider,{value:this.props.routeContext},r.createElement(Ce.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(r.Component);function Ie(e){var t=e.routeContext,n=e.match,i=e.children,a=r.useContext(_e);return a&&a.static&&a.staticContext&&n.route.errorElement&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),r.createElement(xe.Provider,{value:t},i)}function Be(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var i=e,a=null==n?void 0:n.errors;if(null!=a){var o=i.findIndex((function(e){return e.route.id&&(null==a?void 0:a[e.route.id])}));o>=0||B(!1),i=i.slice(0,Math.min(i.length,o+1))}return i.reduceRight((function(e,o,u){var l=o.route.id?null==a?void 0:a[o.route.id]:null,c=n?o.route.errorElement||r.createElement(Fe,null):null,s=t.concat(i.slice(0,u+1)),f=function(){return r.createElement(Ie,{match:o,routeContext:{outlet:e,matches:s}},l?c:void 0!==o.route.element?o.route.element:e)};return n&&(o.route.errorElement||0===u)?r.createElement(Le,{location:n.location,component:c,error:l,children:f(),routeContext:{outlet:null,matches:s}}):f()}),null)}function Pe(e){var t=r.useContext(be);return t||B(!1),t}function Re(e){var t=function(e){var t=r.useContext(xe);return t||B(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||B(!1),n.route.id}!function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"}(Oe||(Oe={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(Te||(Te={}));var ze;function je(e){return function(e){var t=r.useContext(xe).outlet;return t?r.createElement(Ne.Provider,{value:e},t):t}(e.context)}function $e(e){B(!1)}function He(e){var n=e.basename,i=void 0===n?"/":n,a=e.children,o=void 0===a?null:a,u=e.location,l=e.navigationType,c=void 0===l?t.Pop:l,s=e.navigator,f=e.static,d=void 0!==f&&f;Ee()&&B(!1);var h=i.replace(/^\/*/,"/"),p=r.useMemo((function(){return{basename:h,navigator:s,static:d}}),[h,s,d]);"string"===typeof u&&(u=$(u));var m=u,v=m.pathname,g=void 0===v?"/":v,y=m.search,_=void 0===y?"":y,b=m.hash,D=void 0===b?"":b,w=m.state,k=void 0===w?null:w,x=m.key,C=void 0===x?"default":x,E=r.useMemo((function(){var e=K(g,h);return null==e?null:{pathname:e,search:_,hash:D,state:k,key:C}}),[h,g,_,D,k,C]);return null==E?null:r.createElement(we.Provider,{value:p},r.createElement(ke.Provider,{children:o,value:{location:E,navigationType:c}}))}function Ye(e){var n=e.children,i=e.location,a=r.useContext(_e);return function(e,n){Ee()||B(!1);var i,a=r.useContext(we).navigator,o=r.useContext(be),u=r.useContext(xe).matches,l=u[u.length-1],c=l?l.params:{},s=(l&&l.pathname,l?l.pathnameBase:"/"),f=(l&&l.route,Se());if(n){var d,h="string"===typeof n?$(n):n;"/"===s||(null==(d=h.pathname)?void 0:d.startsWith(s))||B(!1),i=h}else i=f;var p=i.pathname||"/",m=Y(e,{pathname:"/"===s?p:p.slice(s.length)||"/"}),v=Be(m&&m.map((function(e){return Object.assign({},e,{params:Object.assign({},c,e.params),pathname:re([s,a.encodeLocation?a.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?s:re([s,a.encodeLocation?a.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),u,o||void 0);return n&&v?r.createElement(ke.Provider,{value:{location:de({pathname:"/",search:"",hash:"",state:null,key:"default"},i),navigationType:t.Pop}},v):v}(a&&!n?a.router.routes:Ue(n),i)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(ze||(ze={}));var Ve=new Promise((function(){}));r.Component;function Ue(e,t){void 0===t&&(t=[]);var n=[];return r.Children.forEach(e,(function(e,i){if(r.isValidElement(e))if(e.type!==r.Fragment){e.type!==$e&&B(!1),e.props.index&&e.props.children&&B(!1);var a=[].concat(_(t),[i]),o={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(o.children=Ue(e.props.children,a)),n.push(o)}else n.push.apply(n,Ue(e.props.children,t))})),n}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function Qe(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((function(t,n){var r=e[n];return t.concat(Array.isArray(r)?r.map((function(e){return[n,e]})):[[n,r]])}),[]))}var Ge=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Je=["aria-current","caseSensitive","className","end","style","to","children"];function Ze(e){var t=e.basename,n=e.children,i=e.window,a=r.useRef();null==a.current&&(a.current=function(e){return void 0===e&&(e={}),H((function(e,t){var n=$(e.location.hash.substr(1)),r=n.pathname,i=void 0===r?"/":r,a=n.search,o=void 0===a?"":a,u=n.hash;return z("",{pathname:i,search:o,hash:void 0===u?"":u},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var i=e.location.href,a=i.indexOf("#");r=-1===a?i:i.slice(0,a)}return r+"#"+("string"===typeof t?t:j(t))}),(function(e,t){P("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:i,v5Compat:!0}));var o=a.current,u=v(r.useState({action:o.action,location:o.location}),2),l=u[0],c=u[1];return r.useLayoutEffect((function(){return o.listen(c)}),[o]),r.createElement(He,{basename:t,children:n,location:l.location,navigationType:l.action,navigator:o})}var Ke=r.forwardRef((function(e,t){var n=e.onClick,i=e.relative,a=e.reloadDocument,o=e.replace,u=e.state,l=e.target,c=e.to,s=e.preventScrollReset,f=We(e,Ge),d=function(e,t){var n=(void 0===t?{}:t).relative;Ee()||B(!1);var i=r.useContext(we),a=i.basename,o=i.navigator,u=Me(e,{relative:n}),l=u.hash,c=u.pathname,s=u.search,f=c;return"/"!==a&&(f="/"===c?a:re([a,c])),o.createHref({pathname:f,search:s,hash:l})}(c,{relative:i}),h=function(e,t){var n=void 0===t?{}:t,i=n.target,a=n.replace,o=n.state,u=n.preventScrollReset,l=n.relative,c=Ae(),s=Se(),f=Me(e,{relative:l});return r.useCallback((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,i)){t.preventDefault();var n=void 0!==a?a:j(s)===j(f);c(e,{replace:n,state:o,preventScrollReset:u,relative:l})}}),[s,c,f,a,o,i,e,u,l])}(c,{replace:o,state:u,target:l,preventScrollReset:s,relative:i});return r.createElement("a",qe({},f,{href:d,onClick:a?n:function(e){n&&n(e),e.defaultPrevented||h(e)},ref:t,target:l}))}));var Xe=r.forwardRef((function(e,t){var n=e["aria-current"],i=void 0===n?"page":n,a=e.caseSensitive,o=void 0!==a&&a,u=e.className,l=void 0===u?"":u,c=e.end,s=void 0!==c&&c,f=e.style,d=e.to,h=e.children,p=We(e,Je),m=Me(d,{relative:p.relative}),v=Se(),g=r.useContext(be),y=r.useContext(we).navigator,_=y.encodeLocation?y.encodeLocation(m).pathname:m.pathname,b=v.pathname,D=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;o||(b=b.toLowerCase(),D=D?D.toLowerCase():null,_=_.toLowerCase());var w,k=b===_||!s&&b.startsWith(_)&&"/"===b.charAt(_.length),x=null!=D&&(D===_||!s&&D.startsWith(_)&&"/"===D.charAt(_.length)),C=k?i:void 0;w="function"===typeof l?l({isActive:k,isPending:x}):[l,k?"active":null,x?"pending":null].filter(Boolean).join(" ");var E="function"===typeof f?f({isActive:k,isPending:x}):f;return r.createElement(Ke,qe({},p,{"aria-current":C,className:w,ref:t,style:E,to:d}),"function"===typeof h?h({isActive:k,isPending:x}):h)}));var et,tt;function nt(e){var t=r.useRef(Qe(e)),n=Se(),i=r.useMemo((function(){return function(e,t){var n,r=Qe(e),i=g(t.keys());try{var a=function(){var e=n.value;r.has(e)||t.getAll(e).forEach((function(t){r.append(e,t)}))};for(i.s();!(n=i.n()).done;)a()}catch(o){i.e(o)}finally{i.f()}return r}(n.search,t.current)}),[n.search]),a=Ae(),o=r.useCallback((function(e,t){var n=Qe("function"===typeof e?e(i):e);a("?"+n,t)}),[a,i]);return[i,o]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(et||(et={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(tt||(tt={}));var rt;function it(e,t,n){return(t=w(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function at(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ot(e){for(var t=1;t=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40),an(a().duration(t||.001,"seconds").asMilliseconds()).replace(/\s/g,"")}(e/(t?Vt:Yt))},tn=function(e,t){var n=(t||a()().toDate()).valueOf()/1e3,r=Xt(e);return{start:n-r,end:n,step:en(r),date:nn(t||a()().toDate())}},nn=function(e){return a().tz(e).utc().format(Ht)},rn=function(e){return a().tz(e).format(Ht)},an=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),i=Math.floor(e/1e3/3600%24),a=Math.floor(e/864e5),o=["d","h","m","s","ms"];return[a,i,r,n,t].map((function(e,t){return e?"".concat(e).concat(o[t]):""})).filter((function(e){return e})).join(" ")},on=function(e){var t=a()(1e3*e);return t.isValid()?t.toDate():new Date},un=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!0},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:function(){return a()().tz().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return a()().tz().endOf("day").toDate()}}].map((function(e){return ot({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return a()().tz().toDate()}},e)})),ln=function(e){var t,n=e.relativeTimeId,r=e.defaultDuration,i=e.defaultEndInput,a=null===(t=un.find((function(e){return e.isDefault})))||void 0===t?void 0:t.id,o=n||wt("g0.relative_time",a),u=un.find((function(e){return e.id===o}));return{relativeTimeId:u?o:"none",duration:u?u.duration:r,endInput:u?u.until():i}},cn=function(e){var t=a()().tz(e);return"UTC".concat(t.format("Z"))},sn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new RegExp(e,"i");return Qt.reduce((function(n,r){var i=(r.match(/^(.*?)\//)||[])[1]||"unknown",a=cn(r),o=a.replace(/UTC|0/,""),u=r.replace(/[/_]/g," "),l={region:r,utc:a,search:"".concat(r," ").concat(a," ").concat(u," ").concat(o)},c=!e||e&&t.test(l.search);return c&&n[i]?n[i].push(l):c&&(n[i]=[l]),n}),{})},fn=function(e){a().tz.setDefault(e)},dn=xt("TIMEZONE")||a().tz.guess();fn(dn);var hn,pn=wt("g0.range_input"),mn=ln({defaultDuration:pn||"1h",defaultEndInput:(hn=wt("g0.end_input",a()().utc().format(Ht)),a()(hn).utcOffset(0,!0).toDate()),relativeTimeId:pn?wt("g0.relative_time","none"):void 0}),vn=mn.duration,gn=mn.endInput,yn=mn.relativeTimeId,_n={duration:vn,period:tn(vn,gn),relativeTime:yn,timezone:dn};function bn(e,t){switch(t.type){case"SET_DURATION":return ot(ot({},e),{},{duration:t.payload,period:tn(t.payload,on(e.period.end)),relativeTime:"none"});case"SET_RELATIVE_TIME":return ot(ot({},e),{},{duration:t.payload.duration,period:tn(t.payload.duration,t.payload.until),relativeTime:t.payload.id});case"SET_PERIOD":var n=function(e){var t=e.to.valueOf()-e.from.valueOf();return an(t)}(t.payload);return ot(ot({},e),{},{duration:n,period:tn(n,t.payload.to),relativeTime:"none"});case"RUN_QUERY":var r=ln({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:on(e.period.end)}),i=r.duration,a=r.endInput;return ot(ot({},e),{},{period:tn(i,a)});case"RUN_QUERY_TO_NOW":return ot(ot({},e),{},{period:tn(e.duration)});case"SET_TIMEZONE":return fn(t.payload),kt("TIMEZONE",t.payload),ot(ot({},e),{},{timezone:t.payload});default:throw new Error}}var Dn=(0,r.createContext)({}),wn=function(){return(0,r.useContext)(Dn).state},kn=function(){return(0,r.useContext)(Dn).dispatch},xn=function(){var e,t=(null===(e=(window.location.hash.split("?")[1]||"").match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map((function(e,t){return wt("g".concat(t,".expr"),"")}))}(),Cn={query:xn,queryHistory:xn.map((function(e){return{index:0,values:[e]}})),autocomplete:xt("AUTOCOMPLETE")||!1};function En(e,t){switch(t.type){case"SET_QUERY":return ot(ot({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return ot(ot({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),ot(ot({},e),{},{queryHistory:e.queryHistory});case"TOGGLE_AUTOCOMPLETE":return kt("AUTOCOMPLETE",!e.autocomplete),ot(ot({},e),{},{autocomplete:!e.autocomplete});default:throw new Error}}var Sn=(0,r.createContext)({}),An=function(){return(0,r.useContext)(Sn).state},Nn=function(){return(0,r.useContext)(Sn).dispatch},Mn=function(){return Lt("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:[Lt("path",{d:"M6.11767 10.4759C6.47736 10.7556 6.91931 10.909 7.37503 10.9121H7.42681C7.90756 10.9047 8.38832 10.7199 8.67677 10.4685C10.1856 9.18921 14.5568 5.18138 14.5568 5.18138C15.7254 4.09438 12.4637 3.00739 7.42681 3H7.36764C2.3308 3.00739 -0.930935 4.09438 0.237669 5.18138C0.237669 5.18138 4.60884 9.18921 6.11767 10.4759ZM8.67677 12.6424C8.31803 12.9248 7.87599 13.0808 7.41941 13.0861H7.37503C6.91845 13.0808 6.47641 12.9248 6.11767 12.6424C5.0822 11.7551 1.38409 8.42018 0.000989555 7.14832V9.07829C0.000989555 9.29273 0.0823481 9.57372 0.222877 9.70682L0.293316 9.7712L0.293344 9.77122C1.33784 10.7258 4.83903 13.9255 6.11767 15.0161C6.47641 15.2985 6.91845 15.4545 7.37503 15.4597H7.41941C7.90756 15.4449 8.38092 15.2601 8.67677 15.0161C9.9859 13.9069 13.6249 10.572 14.5642 9.70682C14.7121 9.57372 14.7861 9.29273 14.7861 9.07829V7.14832C12.7662 8.99804 10.7297 10.8295 8.67677 12.6424ZM7.41941 17.6263C7.87513 17.6232 8.31708 17.4698 8.67677 17.19C10.7298 15.3746 12.7663 13.5407 14.7861 11.6885V13.6259C14.7861 13.8329 14.7121 14.1139 14.5642 14.247C13.6249 15.1196 9.9859 18.4471 8.67677 19.5563C8.38092 19.8077 7.90756 19.9926 7.41941 20H7.37503C6.91931 19.9968 6.47736 19.8435 6.11767 19.5637C4.91427 18.5373 1.74219 15.6364 0.502294 14.5025C0.393358 14.4029 0.299337 14.3169 0.222877 14.247C0.0823481 14.1139 0.000989555 13.8329 0.000989555 13.6259V11.6885C1.38409 12.953 5.0822 16.2953 6.11767 17.1827C6.47641 17.4651 6.91845 17.6211 7.37503 17.6263H7.41941Z"}),Lt("path",{d:"M34.9996 5L29.1596 19.46H26.7296L20.8896 5H23.0496C23.2829 5 23.4729 5.05667 23.6196 5.17C23.7663 5.28333 23.8763 5.43 23.9496 5.61L27.3596 14.43C27.4729 14.7167 27.5796 15.0333 27.6796 15.38C27.7863 15.72 27.8863 16.0767 27.9796 16.45C28.0596 16.0767 28.1463 15.72 28.2396 15.38C28.3329 15.0333 28.4363 14.7167 28.5496 14.43L31.9396 5.61C31.9929 5.45667 32.0963 5.31667 32.2496 5.19C32.4096 5.06333 32.603 5 32.8297 5H34.9996ZM52.1763 5V19.46H49.8064V10.12C49.8064 9.74667 49.8263 9.34333 49.8663 8.91L45.4963 17.12C45.2897 17.5133 44.973 17.71 44.5463 17.71H44.1663C43.7397 17.71 43.4231 17.5133 43.2164 17.12L38.7963 8.88C38.8163 9.1 38.833 9.31667 38.8463 9.53C38.8597 9.74333 38.8663 9.94 38.8663 10.12V19.46H36.4963V5H38.5263C38.6463 5 38.7497 5.00333 38.8363 5.01C38.923 5.01667 38.9997 5.03333 39.0663 5.06C39.1397 5.08667 39.203 5.13 39.2563 5.19C39.3163 5.25 39.373 5.33 39.4263 5.43L43.7563 13.46C43.8697 13.6733 43.973 13.8933 44.0663 14.12C44.1663 14.3467 44.263 14.58 44.3563 14.82C44.4497 14.5733 44.5464 14.3367 44.6464 14.11C44.7464 13.8767 44.8531 13.6533 44.9664 13.44L49.2363 5.43C49.2897 5.33 49.3463 5.25 49.4063 5.19C49.4663 5.13 49.5297 5.08667 49.5963 5.06C49.6697 5.03333 49.7497 5.01667 49.8363 5.01C49.923 5.00333 50.0264 5 50.1464 5H52.1763ZM61.0626 18.73C61.7426 18.73 62.3492 18.6133 62.8826 18.38C63.4226 18.14 63.8792 17.81 64.2526 17.39C64.6259 16.97 64.9092 16.4767 65.1026 15.91C65.3026 15.3367 65.4026 14.72 65.4026 14.06V5.31H66.4226V14.06C66.4226 14.84 66.2993 15.57 66.0527 16.25C65.806 16.9233 65.4493 17.5133 64.9827 18.02C64.5227 18.52 63.9592 18.9133 63.2926 19.2C62.6326 19.4867 61.8892 19.63 61.0626 19.63C60.2359 19.63 59.4893 19.4867 58.8227 19.2C58.1627 18.9133 57.5992 18.52 57.1326 18.02C56.6726 17.5133 56.3193 16.9233 56.0727 16.25C55.826 15.57 55.7026 14.84 55.7026 14.06V5.31H56.7327V14.05C56.7327 14.71 56.8292 15.3267 57.0226 15.9C57.2226 16.4667 57.506 16.96 57.8727 17.38C58.246 17.8 58.6993 18.13 59.2327 18.37C59.7727 18.61 60.3826 18.73 61.0626 18.73ZM71.4438 19.46H70.4138V5.31H71.4438V19.46Z"})]})},Fn=function(){return Lt("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Lt("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})})},On=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})})},Tn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})})},Ln=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})})},In=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})})},Bn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})})},Pn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})},Rn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})},zn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})})},jn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})})},$n=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m7 10 5 5 5-5z"})})},Hn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Lt("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),Lt("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]})},Yn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})})},Vn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})})},Un=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})})},qn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M8 5v14l11-7z"})})},Wn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})})},Qn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})})},Gn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})})},Jn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})})},Zn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})})},Kn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})})},Xn=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M19 13H5v-2h14v2z"})})},er=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})})},tr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})})},nr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})})},rr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})},ir=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})})},ar=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})})},or=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Lt("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21 5C19.89 4.65 18.67 4.5 17.5 4.5C15.55 4.5 13.45 4.9 12 6C10.55 4.9 8.45 4.5 6.5 4.5C5.33 4.5 4.11 4.65 3 5C2.25 5.25 1.6 5.55 1 6V20.6C1 20.85 1.25 21.1 1.5 21.1C1.6 21.1 1.65 21.1 1.75 21.05C3.15 20.3 4.85 20 6.5 20C8.2 20 10.65 20.65 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5ZM21 18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5C10.65 18.65 8.2 18 6.5 18C5.3 18 4.1 18.15 3 18.5V7C4.1 6.65 5.3 6.5 6.5 6.5C8.2 6.5 10.65 7.15 12 8C13.35 7.15 15.8 6.5 17.5 6.5C18.7 6.5 19.9 6.65 21 7V18.5Z"}),Lt("path",{d:"M17.5 10.5C18.38 10.5 19.23 10.59 20 10.76V9.24C19.21 9.09 18.36 9 17.5 9C15.8 9 14.26 9.29 13 9.83V11.49C14.13 10.85 15.7 10.5 17.5 10.5ZM13 12.49V14.15C14.13 13.51 15.7 13.16 17.5 13.16C18.38 13.16 19.23 13.25 20 13.42V11.9C19.21 11.75 18.36 11.66 17.5 11.66C15.8 11.66 14.26 11.96 13 12.49ZM17.5 14.33C15.8 14.33 14.26 14.62 13 15.16V16.82C14.13 16.18 15.7 15.83 17.5 15.83C18.38 15.83 19.23 15.92 20 16.09V14.57C19.21 14.41 18.36 14.33 17.5 14.33Z"}),Lt("path",{d:"M6.5 10.5C5.62 10.5 4.77 10.59 4 10.76V9.24C4.79 9.09 5.64 9 6.5 9C8.2 9 9.74 9.29 11 9.83V11.49C9.87 10.85 8.3 10.5 6.5 10.5ZM11 12.49V14.15C9.87 13.51 8.3 13.16 6.5 13.16C5.62 13.16 4.77 13.25 4 13.42V11.9C4.79 11.75 5.64 11.66 6.5 11.66C8.2 11.66 9.74 11.96 11 12.49ZM6.5 14.33C8.2 14.33 9.74 14.62 11 15.16V16.82C9.87 16.18 8.3 15.83 6.5 15.83C5.62 15.83 4.77 15.92 4 16.09V14.57C4.79 14.41 5.64 14.33 6.5 14.33Z"})]})},ur=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z"})})},lr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 10.8792 13.4202 11.3236 12.7704 11.8217C11.9421 12.4566 11 13.1787 11 15H13C13 13.9046 13.711 13.2833 14.4408 12.6455C15.21 11.9733 16 11.2829 16 10C16 7.79 14.21 6 12 6ZM13 16V18H11V16H13Z"})})},cr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M4 20h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2zM2 6c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2zm4 1H4V5h2v2zm-2 7h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2z"})})},sr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})})},fr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"})})},dr=function(){return Lt("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Lt("path",{d:"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm4.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z"})})},hr=function(e){var t=v((0,r.useState)({width:0,height:0}),2),n=t[0],i=t[1];return(0,r.useEffect)((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,r=t.height;i({width:n,height:r})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[e]),n},pr=n(123),mr=n.n(pr);function vr(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var gr=["to","isNavLink","children"],yr=function(e){var t=e.to,n=e.isNavLink,r=e.children,i=vr(e,gr);return n?Lt(Xe,ot(ot({to:t},i),{},{children:r})):Lt("div",ot(ot({},i),{},{children:r}))},_r=function(e){var t,n=e.activeItem,r=e.item,i=e.color,a=void 0===i?Et("color-primary"):i,o=e.activeNavRef,u=e.onChange,l=e.isNavLink;return Lt(yr,{className:mr()(it({"vm-tabs-item":!0,"vm-tabs-item_active":n===r.value},r.className||"",r.className)),isNavLink:l,to:r.value,style:{color:a},onClick:(t=r.value,function(){u&&u(t)}),ref:n===r.value?o:void 0,children:[r.icon&&Lt("div",{className:mr()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!r.label}),children:r.icon}),r.label]})},br=function(e){var t=e.activeItem,n=e.items,i=e.color,a=void 0===i?Et("color-primary"):i,o=e.onChange,u=e.indicatorPlacement,l=void 0===u?"bottom":u,c=e.isNavLink,s=hr(document.body),f=(0,r.useRef)(null),d=v((0,r.useState)({left:0,width:0,bottom:0}),2),h=d[0],p=d[1];return(0,r.useEffect)((function(){var e;if((null===(e=f.current)||void 0===e?void 0:e.base)instanceof HTMLElement){var t=f.current.base,n=t.offsetLeft,r=t.offsetWidth,i=t.offsetHeight;p({left:n,width:r,bottom:"top"===l?i-2:0})}}),[s,t,f,n]),Lt("div",{className:"vm-tabs",children:[n.map((function(e){return Lt(_r,{activeItem:t,item:e,onChange:o,color:a,activeNavRef:f,isNavLink:c},e.value)})),Lt("div",{className:"vm-tabs__indicator",style:ot(ot({},h),{},{borderColor:a})})]})},Dr=[{value:"chart",icon:Lt(Qn,{}),label:"Graph",prometheusCode:0},{value:"code",icon:Lt(Jn,{}),label:"JSON",prometheusCode:3},{value:"table",icon:Lt(Gn,{}),label:"Table",prometheusCode:1}],wr=function(){var e=Nr().displayType,t=Mr();return Lt(br,{activeItem:e,items:Dr,onChange:function(n){var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},kr=wt("g0.tab",0),xr=Dr.find((function(e){return e.prometheusCode===+kr||e.value===kr})),Cr=xt("SERIES_LIMITS"),Er={displayType:(null===xr||void 0===xr?void 0:xr.value)||"chart",nocache:!1,isTracingEnabled:!1,seriesLimits:Cr?JSON.parse(xt("SERIES_LIMITS")):bt,tableCompact:xt("TABLE_COMPACT")||!1};function Sr(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return ot(ot({},e),{},{displayType:t.payload});case"SET_SERIES_LIMITS":return kt("SERIES_LIMITS",JSON.stringify(t.payload)),ot(ot({},e),{},{seriesLimits:t.payload});case"TOGGLE_QUERY_TRACING":return ot(ot({},e),{},{isTracingEnabled:!e.isTracingEnabled});case"TOGGLE_NO_CACHE":return ot(ot({},e),{},{nocache:!e.nocache});case"TOGGLE_TABLE_COMPACT":return kt("TABLE_COMPACT",!e.tableCompact),ot(ot({},e),{},{tableCompact:!e.tableCompact});default:throw new Error}}var Ar=(0,r.createContext)({}),Nr=function(){return(0,r.useContext)(Ar).state},Mr=function(){return(0,r.useContext)(Ar).dispatch},Fr={customStep:wt("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}},isHistogram:!1};function Or(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return ot(ot({},e),{},{yaxis:ot(ot({},e.yaxis),{},{limits:ot(ot({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"SET_CUSTOM_STEP":return ot(ot({},e),{},{customStep:t.payload});case"SET_YAXIS_LIMITS":return ot(ot({},e),{},{yaxis:ot(ot({},e.yaxis),{},{limits:ot(ot({},e.yaxis.limits),{},{range:t.payload})})});case"SET_IS_HISTOGRAM":return ot(ot({},e),{},{isHistogram:t.payload});default:throw new Error}}var Tr=(0,r.createContext)({}),Lr=function(){return(0,r.useContext)(Tr).state},Ir=function(){return(0,r.useContext)(Tr).dispatch},Br={topN:wt("topN",null),maxLifetime:wt("maxLifetime",""),runQuery:0};function Pr(e,t){switch(t.type){case"SET_TOP_N":return ot(ot({},e),{},{topN:t.payload});case"SET_MAX_LIFE_TIME":return ot(ot({},e),{},{maxLifetime:t.payload});case"SET_RUN_QUERY":return ot(ot({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Rr=(0,r.createContext)({}),zr=function(){return(0,r.useContext)(Rr).state},jr={windows:"Windows",mac:"Mac OS",linux:"Linux"},$r=function(){return(Object.values(jr).find((function(e){return navigator.userAgent.indexOf(e)>=0}))||"unknown")===jr.mac};function Hr(){var e=hr(document.body),t=function(){var e=["Android","webOS","iPhone","iPad","iPod","BlackBerry","Windows Phone"].map((function(e){return navigator.userAgent.match(new RegExp(e,"i"))})).some((function(e){return e})),t=window.innerWidth<500;return e||t},n=v((0,r.useState)(t()),2),i=n[0],a=n[1];return(0,r.useEffect)((function(){a(t())}),[e]),{isMobile:i}}var Yr={success:Lt(Rn,{}),error:Lt(Pn,{}),warning:Lt(Bn,{}),info:Lt(In,{})},Vr=function(e){var t,n=e.variant,r=e.children,i=Bt().isDarkTheme,a=Hr().isMobile;return Lt("div",{className:mr()((t={"vm-alert":!0},it(t,"vm-alert_".concat(n),n),it(t,"vm-alert_dark",i),it(t,"vm-alert_mobile",a),t)),children:[Lt("div",{className:"vm-alert__icon",children:Yr[n||"info"]}),Lt("div",{className:"vm-alert__content",children:r})]})},Ur=(0,r.createContext)({showInfoMessage:function(){}}),qr=function(){return(0,r.useContext)(Ur)},Wr={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function Qr(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return ot(ot({},e),{},{dashboardsSettings:t.payload});case"SET_DASHBOARDS_LOADING":return ot(ot({},e),{},{dashboardsLoading:t.payload});case"SET_DASHBOARDS_ERROR":return ot(ot({},e),{},{dashboardsError:t.payload});default:throw new Error}}var Gr=(0,r.createContext)({}),Jr=function(){return(0,r.useContext)(Gr).state},Zr=function(){for(var e=arguments.length,t=new Array(e),n=0;nd,m=r.top-20<0,v=r.left+x.width+20>f,g=r.left-20<0;return p&&(r.top=t.top-x.height-u),m&&(r.top=t.height+t.top+u),v&&(r.left=t.right-x.width-l),g&&(r.left=t.left+l),h&&(r.width="".concat(t.width,"px")),r.top<0&&(r.top=20),r}),[n,a,D,t,h]);d&&Xr(E,(function(){return w(!1)}),n),(0,r.useEffect)((function(){if(E.current&&D&&(!g||m)){var e=E.current.getBoundingClientRect(),t=e.right,n=e.width;if(t>window.innerWidth){var r=window.innerWidth-20-n;E.current.style.left=rm,y=r.top-20<0,_=r.left+p.width+20>h,b=r.left-20<0;return v&&(r.top=n.top-p.height-c),y&&(r.top=n.height+n.top+c),_&&(r.left=n.right-p.width-s),b&&(r.left=n.left+s),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[g,o,f,p]),D=function(){"boolean"!==typeof i&&d(!0)},w=function(){d(!1)};return(0,r.useEffect)((function(){"boolean"===typeof i&&d(i)}),[i]),(0,r.useEffect)((function(){var e,t=null===g||void 0===g||null===(e=g.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",D),t.addEventListener("mouseleave",w),function(){t.removeEventListener("mouseenter",D),t.removeEventListener("mouseleave",w)}}),[g]),Lt(Ot.HY,{children:[Lt(r.Fragment,{ref:g,children:t}),!c&&f&&r.default.createPortal(Lt("div",{className:"vm-tooltip",ref:y,style:b,children:n}),document.body)]})},oi=$r()?"Cmd":"Ctrl",ui=[{title:"Query",list:[{keys:["Enter"],description:"Run"},{keys:["Shift","Enter"],description:"Multi-line queries"},{keys:[oi,"Arrow Up"],description:"Previous command from the Query history"},{keys:[oi,"Arrow Down"],description:"Next command from the Query history"},{keys:[oi,"Click by 'Eye'"],description:"Toggle multiple queries"}]},{title:"Graph",list:[{keys:[oi,"Scroll Up"],alt:["+"],description:"Zoom in"},{keys:[oi,"Scroll Down"],alt:["-"],description:"Zoom out"},{keys:[oi,"Click and Drag"],description:"Move the graph left/right"}]},{title:"Legend",list:[{keys:["Mouse Click"],description:"Select series"},{keys:[oi,"Mouse Click"],description:"Toggle multiple series"}]}],li="Shortcut keys",ci=function(e){var t=e.showTitle,n=v((0,r.useState)(!1),2),i=n[0],a=n[1],o=pt();return Lt(Ot.HY,{children:[Lt(ai,{open:!0!==t&&void 0,title:li,placement:"bottom-center",children:Lt(ei,{className:o?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(Un,{}),onClick:function(){a(!0)},children:t&&li})}),i&&Lt(ii,{title:"Shortcut keys",onClose:function(){a(!1)},children:Lt("div",{className:"vm-shortcuts",children:ui.map((function(e){return Lt("div",{className:"vm-shortcuts-section",children:[Lt("h3",{className:"vm-shortcuts-section__title",children:e.title}),Lt("div",{className:"vm-shortcuts-section-list",children:e.list.map((function(e){return Lt("div",{className:"vm-shortcuts-section-list-item",children:[Lt("div",{className:"vm-shortcuts-section-list-item__key",children:[e.keys.map((function(t,n){return Lt(Ot.HY,{children:[Lt("code",{children:t},t),n!==e.keys.length-1?"+":""]})})),e.alt&&e.alt.map((function(t,n){return Lt(Ot.HY,{children:["or",Lt("code",{children:t},t),n!==e.alt.length-1?"+":""]})}))]}),Lt("p",{className:"vm-shortcuts-section-list-item__description",children:e.description})]},e.keys.join("+"))}))})]},e.title)}))})})]})},si=function(e){var t=e.open;return Lt("button",{className:mr()({"vm-menu-burger":!0,"vm-menu-burger_opened":t}),children:Lt("span",{})})},fi=function(e){var t=e.background,n=e.color,i=Se().pathname,a=Hr().isMobile,o=(0,r.useRef)(null),u=v((0,r.useState)(!1),2),l=u[0],c=u[1],s=function(){c(!1)};return(0,r.useEffect)(s,[i]),Xr(o,s),Lt("div",{className:"vm-header-sidebar",ref:o,children:[Lt("div",{className:mr()({"vm-header-sidebar-button":!0,"vm-header-sidebar-button_open":l}),onClick:function(){c((function(e){return!e}))},children:Lt(si,{open:l})}),Lt("div",{className:mr()({"vm-header-sidebar-menu":!0,"vm-header-sidebar-menu_open":l}),children:[Lt("div",{children:Lt(ri,{color:n,background:t,direction:"column"})}),Lt("div",{className:"vm-header-sidebar-menu-settings",children:!a&&Lt(ci,{showTitle:!0})})]})]})},di=function(e){var t=e.label,n=e.value,i=e.type,a=void 0===i?"text":i,o=e.error,u=void 0===o?"":o,l=e.placeholder,c=e.endIcon,s=e.startIcon,f=e.disabled,d=void 0!==f&&f,h=e.autofocus,p=void 0!==h&&h,m=e.helperText,v=e.inputmode,g=void 0===v?"text":v,y=e.onChange,_=e.onEnter,b=e.onKeyDown,D=e.onFocus,w=e.onBlur,k=Bt().isDarkTheme,x=Hr().isMobile,C=(0,r.useRef)(null),E=(0,r.useRef)(null),S=(0,r.useMemo)((function(){return"textarea"===a?E:C}),[a]),A=mr()({"vm-text-field__input":!0,"vm-text-field__input_error":u,"vm-text-field__input_icon-start":s,"vm-text-field__input_disabled":d,"vm-text-field__input_textarea":"textarea"===a}),N=function(e){b&&b(e),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),_&&_())},M=function(e){d||y&&y(e.target.value)};(0,r.useEffect)((function(){var e;p&&!x&&(null===S||void 0===S||null===(e=S.current)||void 0===e?void 0:e.focus)&&S.current.focus()}),[S,p]);var F=function(){D&&D()},O=function(){w&&w()};return Lt("label",{className:mr()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===a,"vm-text-field_dark":k}),"data-replicated-value":n,children:[s&&Lt("div",{className:"vm-text-field__icon-start",children:s}),c&&Lt("div",{className:"vm-text-field__icon-end",children:c}),"textarea"===a?Lt("textarea",{className:A,disabled:d,ref:E,value:n,rows:1,inputMode:g,placeholder:l,autoCapitalize:"none",onInput:M,onKeyDown:N,onFocus:F,onBlur:O}):Lt("input",{className:A,disabled:d,ref:C,value:n,type:a,placeholder:l,inputMode:g,autoCapitalize:"none",onInput:M,onKeyDown:N,onFocus:F,onBlur:O}),t&&Lt("span",{className:"vm-text-field__label",children:t}),Lt("span",{className:"vm-text-field__error","data-show":!!u,children:u}),m&&!u&&Lt("span",{className:"vm-text-field__helper-text",children:m})]})},hi=function(e){var t=e.accountIds,n=pt(),i=Hr().isMobile,a=Bt(),o=a.tenantId,u=a.serverUrl,l=Pt(),c=kn(),s=v((0,r.useState)(""),2),f=s[0],d=s[1],h=v((0,r.useState)(!1),2),p=h[0],m=h[1],g=(0,r.useRef)(null),y=(0,r.useMemo)((function(){if(!f)return t;try{var e=new RegExp(f,"i");return t.filter((function(t){return e.test(t)})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(n){return[]}}),[f,t]),_=(0,r.useMemo)((function(){return t.length>1&&!0}),[t,u]),b=function(){m((function(e){return!e}))},D=function(){m(!1)},w=function(e){return function(){var t=e;if(l({type:"SET_TENANT_ID",payload:t}),u){var n=mt(u,t);if(n===u)return;l({type:"SET_SERVER",payload:n}),c({type:"RUN_QUERY"})}D()}};return(0,r.useEffect)((function(){var e=(u.match(/(\/select\/)(\d+|\d.+)(\/)(.+)/)||[])[2];o&&o!==e?w(o)():w(e)()}),[u]),_?Lt("div",{className:"vm-tenant-input",children:[Lt(ai,{title:"Define Tenant ID if you need request to another storage",children:Lt("div",{ref:g,children:i?Lt("div",{className:"vm-mobile-option",onClick:b,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(cr,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Tenant ID"}),Lt("span",{className:"vm-mobile-option-text__value",children:o})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ei,{className:n?"":"vm-header-button",variant:"contained",color:"primary",fullWidth:!0,startIcon:Lt(cr,{}),endIcon:Lt("div",{className:mr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":p}),children:Lt(jn,{})}),onClick:b,children:o})})}),Lt(ti,{open:p,placement:"bottom-right",onClose:D,buttonRef:g,title:i?"Define Tenant ID":void 0,children:Lt("div",{className:mr()({"vm-list vm-tenant-input-list":!0,"vm-list vm-tenant-input-list_mobile":i}),children:[Lt("div",{className:"vm-tenant-input-list__search",children:Lt(di,{autofocus:!0,label:"Search",value:f,onChange:d,type:"search"})}),y.map((function(e){return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":i,"vm-list-item_active":e===o}),onClick:w(e),children:e},e)}))]})})]}):null};var pi,mi=function(e){var t=(0,r.useRef)();return(0,r.useEffect)((function(){t.current=e}),[e]),t.current},vi=function(){var e=pt(),t=Hr().isMobile,n=Lr(),i=n.customStep,a=n.isHistogram,o=wn().period,u=o.step,l=o.end,c=o.start,s=Ir(),f=mi(l-c),d=(0,r.useMemo)((function(){return en(l-c,a)}),[u,a]),h=v((0,r.useState)(!1),2),p=h[0],m=h[1],g=v((0,r.useState)(i||d),2),y=g[0],_=g[1],b=v((0,r.useState)(""),2),D=b[0],w=b[1],k=(0,r.useRef)(null),x=function(){m((function(e){return!e}))},C=function(){m(!1)},E=function(e){var t=e||y||d||"1s",n=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");s({type:"SET_CUSTOM_STEP",payload:n}),_(n),w("")},S=function(e){var t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((function(e){return parseFloat(e)>0})),i=n.every((function(e){return Gt.find((function(t){return t.short===e}))})),a=r&&i;_(e),w(a?"":ut.validStep)};return(0,r.useEffect)((function(){i&&E(i)}),[i]),(0,r.useEffect)((function(){!i&&d&&E(d)}),[d]),(0,r.useEffect)((function(){l-c!==f&&f&&d&&E(d)}),[l,c,f,d]),(0,r.useEffect)((function(){u!==i&&u!==d||E(d)}),[a]),Lt("div",{className:"vm-step-control",ref:k,children:[t?Lt("div",{className:"vm-mobile-option",onClick:x,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(ar,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Step"}),Lt("span",{className:"vm-mobile-option-text__value",children:y})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:"Query resolution step width",children:Lt(ei,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(ar,{}),onClick:x,children:Lt("p",{children:["STEP",Lt("p",{className:"vm-step-control__value",children:y})]})})}),Lt(ti,{open:p,placement:"bottom-right",onClose:C,buttonRef:k,title:t?"Query resolution step width":void 0,children:Lt("div",{className:mr()({"vm-step-control-popper":!0,"vm-step-control-popper_mobile":t}),children:[Lt(di,{autofocus:!0,label:"Step value",value:y,error:D,onChange:S,onEnter:function(){E(),C()},onFocus:function(){document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:E,endIcon:Lt(ai,{title:"Set default step value: ".concat(d),children:Lt(ei,{size:"small",variant:"text",color:"primary",startIcon:Lt(Ln,{}),onClick:function(){var e=d||"1s";S(e),E(e)}})})}),Lt("div",{className:"vm-step-control-popper-info",children:[Lt("code",{children:"step"})," - the ",Lt("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Lt("code",{children:"query"})," is executed at",Lt("code",{children:"start"}),", ",Lt("code",{children:"start+step"}),", ",Lt("code",{children:"start+2*step"}),", \u2026, ",Lt("code",{children:"end"})," timestamps.",Lt("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"help noreferrer",children:"Read more about Range query"})]})]})})]})},gi=function(e){var t=e.relativeTime,n=e.setDuration,r=Hr().isMobile;return Lt("div",{className:mr()({"vm-time-duration":!0,"vm-time-duration_mobile":r}),children:un.map((function(e){var i,a=e.id,o=e.duration,u=e.until,l=e.title;return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":r,"vm-list-item_active":a===t}),onClick:(i={duration:o,until:u(),id:a},function(){n(i)}),children:l||o},a)}))})},yi=function(e){var t=e.viewDate,n=e.showArrowNav,r=e.onChangeViewDate;return Lt("div",{className:"vm-calendar-header",children:[Lt("div",{className:"vm-calendar-header-left",onClick:e.toggleDisplayYears,children:[Lt("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Lt("div",{className:"vm-calendar-header-left__select-year",children:Lt($n,{})})]}),n&&Lt("div",{className:"vm-calendar-header-right",children:[Lt("div",{className:"vm-calendar-header-right__prev",onClick:function(){r(t.subtract(1,"month"))},children:Lt(jn,{})}),Lt("div",{className:"vm-calendar-header-right__next",onClick:function(){r(t.add(1,"month"))},children:Lt(jn,{})})]})]})},_i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],bi=function(e){var t=e.viewDate,n=e.selectDate,i=e.onChangeSelectDate,o=a()().tz().startOf("day"),u=(0,r.useMemo)((function(){var e=new Array(42).fill(null),n=t.startOf("month"),r=t.endOf("month").diff(n,"day")+1,i=new Array(r).fill(n).map((function(e,t){return e.add(t,"day")})),a=n.day();return e.splice.apply(e,[a,r].concat(_(i))),e}),[t]),l=function(e){return function(){e&&i(e)}};return Lt("div",{className:"vm-calendar-body",children:[_i.map((function(e){return Lt("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]},e)})),u.map((function(e,t){return Lt("div",{className:mr()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.toISOString())===n.startOf("day").toISOString(),"vm-calendar-body-cell_day_today":(e&&e.toISOString())===o.toISOString()}),onClick:l(e),children:e&&e.format("D")},e?e.toISOString():t)}))]})},Di=function(e){var t=e.viewDate,n=e.onChangeViewDate,i=a()().format("YYYY"),o=(0,r.useMemo)((function(){return t.format("YYYY")}),[t]),u=(0,r.useMemo)((function(){var e=a()().subtract(9,"year");return new Array(18).fill(e).map((function(e,t){return e.add(t,"year")}))}),[t]);(0,r.useEffect)((function(){var e=document.getElementById("vm-calendar-year-".concat(o));e&&e.scrollIntoView({block:"center"})}),[]);return Lt("div",{className:"vm-calendar-years",children:u.map((function(e){return Lt("div",{className:mr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===o,"vm-calendar-years__year_today":e.format("YYYY")===i}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,function(){n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})},wi=function(e){var t=e.viewDate,n=e.selectDate,i=e.onChangeViewDate,o=a()().format("MM"),u=(0,r.useMemo)((function(){return n.format("MM")}),[n]),l=(0,r.useMemo)((function(){return new Array(12).fill("").map((function(e,n){return a()(t).month(n)}))}),[t]);(0,r.useEffect)((function(){var e=document.getElementById("vm-calendar-year-".concat(u));e&&e.scrollIntoView({block:"center"})}),[]);var c=function(e){return function(){i(e)}};return Lt("div",{className:"vm-calendar-years",children:l.map((function(e){return Lt("div",{className:mr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("MM")===u,"vm-calendar-years__year_today":e.format("MM")===o}),id:"vm-calendar-year-".concat(e.format("MM")),onClick:c(e),children:e.format("MMMM")},e.format("MM"))}))})};!function(e){e[e.days=0]="days",e[e.months=1]="months",e[e.years=2]="years"}(pi||(pi={}));var ki=function(e){var t=e.date,n=e.format,i=void 0===n?jt:n,o=e.onChange,u=v((0,r.useState)(pi.days),2),l=u[0],c=u[1],s=v((0,r.useState)(a().tz(t)),2),f=s[0],d=s[1],h=v((0,r.useState)(a().tz(t)),2),p=h[0],m=h[1],g=Hr().isMobile,y=function(e){d(e),c((function(e){return e===pi.years?pi.months:pi.days}))};return(0,r.useEffect)((function(){p.format()!==a().tz(t).format()&&o(p.format(i))}),[p]),(0,r.useEffect)((function(){var e=a().tz(t);d(e),m(e)}),[t]),Lt("div",{className:mr()({"vm-calendar":!0,"vm-calendar_mobile":g}),children:[Lt(yi,{viewDate:f,onChangeViewDate:y,toggleDisplayYears:function(){c((function(e){return e===pi.years?pi.days:pi.years}))},showArrowNav:l===pi.days}),l===pi.days&&Lt(bi,{viewDate:f,selectDate:p,onChangeSelectDate:function(e){m(e)}}),l===pi.years&&Lt(Di,{viewDate:f,onChangeViewDate:y}),l===pi.months&&Lt(wi,{selectDate:p,viewDate:f,onChangeViewDate:y})]})},xi=(0,r.forwardRef)((function(e,t){var n=e.date,i=e.targetRef,o=e.format,u=void 0===o?jt:o,l=e.onChange,c=e.label,s=v((0,r.useState)(!1),2),f=s[0],d=s[1],h=(0,r.useMemo)((function(){return a()(n).isValid()?a().tz(n):a()().tz()}),[n]),p=Hr().isMobile,m=function(){d((function(e){return!e}))},g=function(){d(!1)},y=function(e){"Escape"!==e.key&&"Enter"!==e.key||g()};return(0,r.useEffect)((function(){var e;return null===(e=i.current)||void 0===e||e.addEventListener("click",m),function(){var e;null===(e=i.current)||void 0===e||e.removeEventListener("click",m)}}),[i]),(0,r.useEffect)((function(){return window.addEventListener("keyup",y),function(){window.removeEventListener("keyup",y)}}),[]),Lt(Ot.HY,{children:Lt(ti,{open:f,buttonRef:i,placement:"bottom-right",onClose:g,title:p?c:void 0,children:Lt("div",{ref:t,children:Lt(ki,{date:h,format:u,onChange:function(e){l(e),g()}})})})})})),Ci=xi,Ei=n(111),Si=n.n(Ei),Ai=function(e){return a()(e).isValid()?a().tz(e).format(jt):e},Ni=function(e){var t=e.value,n=void 0===t?"":t,i=e.label,o=e.pickerLabel,u=e.pickerRef,l=e.onChange,c=e.onEnter,s=(0,r.useRef)(null),f=v((0,r.useState)(null),2),d=f[0],h=f[1],p=v((0,r.useState)(Ai(n)),2),m=p[0],g=p[1],y=v((0,r.useState)(!1),2),_=y[0],b=y[1],D=v((0,r.useState)(!1),2),w=D[0],k=D[1],x=a()(m).isValid()?"":"Expected format: YYYY-MM-DD HH:mm:ss";return(0,r.useEffect)((function(){var e=Ai(n);e!==m&&g(e),w&&(c(),k(!1))}),[n]),(0,r.useEffect)((function(){_&&d&&(d.focus(),d.setSelectionRange(11,11),b(!1))}),[_]),Lt("div",{className:mr()({"vm-date-time-input":!0,"vm-date-time-input_error":x}),children:[Lt("label",{children:i}),Lt(Si(),{tabIndex:1,inputRef:h,mask:"9999-99-99 99:99:99",placeholder:"YYYY-MM-DD HH:mm:ss",value:m,autoCapitalize:"none",inputMode:"numeric",maskChar:null,onChange:function(e){g(e.currentTarget.value)},onBlur:function(){l(m)},onKeyUp:function(e){"Enter"===e.key&&(l(m),k(!0))}}),x&&Lt("span",{className:"vm-date-time-input__error-text",children:x}),Lt("div",{className:"vm-date-time-input__icon",ref:s,children:Lt(ei,{variant:"text",color:"gray",size:"small",startIcon:Lt(Yn,{})})}),Lt(Ci,{label:o,ref:u,date:m,onChange:function(e){g(e),b(!0)},targetRef:s})]})},Mi=function(){var e=Hr().isMobile,t=Bt().isDarkTheme,n=(0,r.useRef)(null),i=hr(document.body),o=(0,r.useMemo)((function(){return i.width>1280}),[i]),u=v((0,r.useState)(),2),l=u[0],c=u[1],s=v((0,r.useState)(),2),f=s[0],d=s[1],h=wn(),p=h.period,m=p.end,g=p.start,y=h.relativeTime,_=h.timezone,b=h.duration,D=kn(),w=pt(),k=(0,r.useMemo)((function(){return{region:_,utc:cn(_)}}),[_]);(0,r.useEffect)((function(){c(rn(on(m)))}),[_,m]),(0,r.useEffect)((function(){d(rn(on(g)))}),[_,g]);var x=function(e){var t=e.duration,n=e.until,r=e.id;D({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),F(!1)},C=(0,r.useMemo)((function(){return{start:a().tz(on(g)).format(jt),end:a().tz(on(m)).format(jt)}}),[g,m,_]),E=(0,r.useMemo)((function(){return y&&"none"!==y?y.replace(/_/g," "):"".concat(C.start," - ").concat(C.end)}),[y,C]),S=(0,r.useRef)(null),A=(0,r.useRef)(null),N=v((0,r.useState)(!1),2),M=N[0],F=N[1],O=(0,r.useRef)(null),T=function(){f&&l&&D({type:"SET_PERIOD",payload:{from:a().tz(f).toDate(),to:a().tz(l).toDate()}}),F(!1)},L=function(){F((function(e){return!e}))},I=function(){F(!1)};return(0,r.useEffect)((function(){var e=ln({relativeTimeId:y,defaultDuration:b,defaultEndInput:on(m)});x({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[_]),Xr(n,(function(t){var n,r;if(!e){var i=t.target,a=(null===S||void 0===S?void 0:S.current)&&(null===S||void 0===S||null===(n=S.current)||void 0===n?void 0:n.contains(i)),o=(null===A||void 0===A?void 0:A.current)&&(null===A||void 0===A||null===(r=A.current)||void 0===r?void 0:r.contains(i));a||o||I()}})),Lt(Ot.HY,{children:[Lt("div",{ref:O,children:e?Lt("div",{className:"vm-mobile-option",onClick:L,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(Hn,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Time range"}),Lt("span",{className:"vm-mobile-option-text__value",children:E})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:o?"Time range controls":E,children:Lt(ei,{className:w?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(Hn,{}),onClick:L,children:o&&Lt("span",{children:E})})})}),Lt(ti,{open:M,buttonRef:O,placement:"bottom-right",onClose:I,clickOutside:!1,title:e?"Time range controls":"",children:Lt("div",{className:mr()({"vm-time-selector":!0,"vm-time-selector_mobile":e}),ref:n,children:[Lt("div",{className:"vm-time-selector-left",children:[Lt("div",{className:mr()({"vm-time-selector-left-inputs":!0,"vm-time-selector-left-inputs_dark":t}),children:[Lt(Ni,{value:f,label:"From:",pickerLabel:"Date From",pickerRef:S,onChange:d,onEnter:T}),Lt(Ni,{value:l,label:"To:",pickerLabel:"Date To",pickerRef:A,onChange:c,onEnter:T})]}),Lt("div",{className:"vm-time-selector-left-timezone",children:[Lt("div",{className:"vm-time-selector-left-timezone__title",children:k.region}),Lt("div",{className:"vm-time-selector-left-timezone__utc",children:k.utc})]}),Lt(ei,{variant:"text",startIcon:Lt(Vn,{}),onClick:function(){return D({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"}),Lt("div",{className:"vm-time-selector-left__controls",children:[Lt(ei,{color:"error",variant:"outlined",onClick:function(){c(rn(on(m))),d(rn(on(g))),F(!1)},children:"Cancel"}),Lt(ei,{color:"primary",onClick:T,children:"Apply"})]})]}),Lt(gi,{relativeTime:y||"",setDuration:x})]})})]})},Fi=function(){var e=Hr().isMobile,t=pt(),n=(0,r.useRef)(null),i=v(nt(),2),o=i[0],u=i[1],l=o.get("date")||a()().tz().format(zt),c=(0,r.useMemo)((function(){return a().tz(l).format(zt)}),[l]),s=function(e){o.set("date",e),u(o)};return(0,r.useEffect)((function(){s(l)}),[]),Lt("div",{children:[Lt("div",{ref:n,children:e?Lt("div",{className:"vm-mobile-option",children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(Yn,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Date control"}),Lt("span",{className:"vm-mobile-option-text__value",children:c})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:"Date control",children:Lt(ei,{className:t?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Lt(Yn,{}),children:c})})}),Lt(Ci,{label:"Date control",date:l||"",format:zt,onChange:s,targetRef:n})]})},Oi=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],Ti=function(){var e=Hr().isMobile,t=kn(),n=pt(),i=v((0,r.useState)(!1),2),a=i[0],o=i[1],u=v((0,r.useState)(Oi[0]),2),l=u[0],c=u[1];(0,r.useEffect)((function(){var e,n=l.seconds;return a?e=setInterval((function(){t({type:"RUN_QUERY"})}),1e3*n):c(Oi[0]),function(){e&&clearInterval(e)}}),[l,a]);var s=v((0,r.useState)(!1),2),f=s[0],d=s[1],h=(0,r.useRef)(null),p=function(){d((function(e){return!e}))},m=function(e){return function(){!function(e){(a&&!e.seconds||!a&&e.seconds)&&o((function(e){return!e})),c(e),d(!1)}(e)}};return Lt(Ot.HY,{children:[Lt("div",{className:"vm-execution-controls",children:Lt("div",{className:mr()({"vm-execution-controls-buttons":!0,"vm-execution-controls-buttons_mobile":e,"vm-header-button":!n}),children:[!e&&Lt(ai,{title:"Refresh dashboard",children:Lt(ei,{variant:"contained",color:"primary",onClick:function(){t({type:"RUN_QUERY"})},startIcon:Lt(zn,{})})}),e?Lt("div",{className:"vm-mobile-option",onClick:p,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(Ln,{})}),Lt("div",{className:"vm-mobile-option-text",children:[Lt("span",{className:"vm-mobile-option-text__label",children:"Auto-refresh"}),Lt("span",{className:"vm-mobile-option-text__value",children:l.title})]}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:"Auto-refresh control",children:Lt("div",{ref:h,children:Lt(ei,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Lt("div",{className:mr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":f}),children:Lt(jn,{})}),onClick:p,children:l.title})})})]})}),Lt(ti,{open:f,placement:"bottom-right",onClose:function(){d(!1)},buttonRef:h,title:e?"Auto-refresh duration":void 0,children:Lt("div",{className:mr()({"vm-execution-controls-list":!0,"vm-execution-controls-list_mobile":e}),children:Oi.map((function(t){return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":e,"vm-list-item_active":t.seconds===l.seconds}),onClick:m(t),children:t.title},t.seconds)}))})})]})},Li=function(e){var t;try{t=new URL(e)}catch(Tt){return!1}return"http:"===t.protocol||"https:"===t.protocol},Ii=function(e){var t=e.serverUrl,n=e.stateServerUrl,i=e.onChange,a=e.onEnter,o=v((0,r.useState)(""),2),u=o[0],l=o[1];return(0,r.useEffect)((function(){n||l(ut.emptyServer),Li(n)||l(ut.validServer)}),[n]),Lt(di,{autofocus:!0,label:"Server URL",value:t,error:u,onChange:function(e){i(e||""),l("")},onEnter:a,inputmode:"url"})},Bi=[{label:"Graph",type:"chart"},{label:"JSON",type:"code"},{label:"Table",type:"table"}],Pi=function(e){var t=e.limits,n=e.onChange,i=e.onEnter,a=Hr().isMobile,o=v((0,r.useState)({table:"",chart:"",code:""}),2),u=o[0],l=o[1],c=function(e){return function(r){!function(e,r){var i=e||"";l((function(e){return ot(ot({},e),{},it({},r,+i<0?ut.positiveNumber:""))})),n(ot(ot({},t),{},it({},r,i||1/0)))}(r,e)}};return Lt("div",{className:"vm-limits-configurator",children:[Lt("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Lt(ai,{title:"Set to 0 to disable the limit",children:Lt(ei,{variant:"text",color:"primary",size:"small",startIcon:Lt(In,{})})}),Lt("div",{className:"vm-limits-configurator-title__reset",children:Lt(ei,{variant:"text",color:"primary",size:"small",startIcon:Lt(Ln,{}),onClick:function(){n(bt)},children:"Reset limits"})})]}),Lt("div",{className:mr()({"vm-limits-configurator__inputs":!0,"vm-limits-configurator__inputs_mobile":a}),children:Bi.map((function(e){return Lt("div",{children:Lt(di,{label:e.label,value:t[e.type],error:u[e.type],onChange:c(e.type),onEnter:i,type:"number"})},e.type)}))})]})},Ri=function(e){var t=e.defaultExpanded,n=void 0!==t&&t,i=e.onChange,a=e.title,o=e.children,u=v((0,r.useState)(n),2),l=u[0],c=u[1];return(0,r.useEffect)((function(){i&&i(l)}),[l]),Lt(Ot.HY,{children:[Lt("header",{className:"vm-accordion-header ".concat(l&&"vm-accordion-header_open"),onClick:function(){c((function(e){return!e}))},children:[a,Lt("div",{className:"vm-accordion-header__arrow ".concat(l&&"vm-accordion-header__arrow_open"),children:Lt(jn,{})})]}),l&&Lt("section",{className:"vm-accordion-section",children:o},"content")]})},zi=function(e){var t=e.timezoneState,n=e.onChange,i=Hr().isMobile,o=sn(),u=v((0,r.useState)(!1),2),l=u[0],c=u[1],s=v((0,r.useState)(""),2),f=s[0],d=s[1],h=(0,r.useRef)(null),p=(0,r.useMemo)((function(){if(!f)return o;try{return sn(f)}catch(e){return{}}}),[f,o]),m=(0,r.useMemo)((function(){return Object.keys(p)}),[p]),g=(0,r.useMemo)((function(){return{region:a().tz.guess(),utc:cn(a().tz.guess())}}),[]),y=(0,r.useMemo)((function(){return{region:t,utc:cn(t)}}),[t]),_=function(){c(!1)},b=function(e){return function(){!function(e){n(e.region),d(""),_()}(e)}};return Lt("div",{className:"vm-timezones",children:[Lt("div",{className:"vm-server-configurator__title",children:"Time zone"}),Lt("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:function(){c((function(e){return!e}))},ref:h,children:[Lt("div",{className:"vm-timezones-item__title",children:y.region}),Lt("div",{className:"vm-timezones-item__utc",children:y.utc}),Lt("div",{className:mr()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":l}),children:Lt($n,{})})]}),Lt(ti,{open:l,buttonRef:h,placement:"bottom-left",onClose:_,fullWidth:!0,title:i?"Time zone":void 0,children:Lt("div",{className:mr()({"vm-timezones-list":!0,"vm-timezones-list_mobile":i}),children:[Lt("div",{className:"vm-timezones-list-header",children:[Lt("div",{className:"vm-timezones-list-header__search",children:Lt(di,{autofocus:!0,label:"Search",value:f,onChange:function(e){d(e)}})}),Lt("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:b(g),children:[Lt("div",{className:"vm-timezones-item__title",children:["Browser Time (",g.region,")"]}),Lt("div",{className:"vm-timezones-item__utc",children:g.utc})]})]}),m.map((function(e){return Lt("div",{className:"vm-timezones-list-group",children:Lt(Ri,{defaultExpanded:!0,title:Lt("div",{className:"vm-timezones-list-group__title",children:e}),children:Lt("div",{className:"vm-timezones-list-group-options",children:p[e]&&p[e].map((function(e){return Lt("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:b(e),children:[Lt("div",{className:"vm-timezones-item__title",children:e.region}),Lt("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)}))})})},e)}))]})})]})},ji=function(e){var t=e.options,n=e.value,i=e.label,a=e.onChange,o=(0,r.useRef)(null),u=v((0,r.useState)({width:"0px",left:"0px",borderRadius:"0px"}),2),l=u[0],c=u[1],s=function(e){return function(){a(e)}};return(0,r.useEffect)((function(){if(o.current){var e=t.findIndex((function(e){return e.value===n})),r=o.current.getBoundingClientRect().width,i=e*r,a="0";0===e&&(a="16px 0 0 16px"),e===t.length-1&&(a="10px",i-=1,a="0 16px 16px 0"),0!==e&&e!==t.length-1&&(r+=1,i-=1),c({width:"".concat(r,"px"),left:"".concat(i,"px"),borderRadius:a})}else c({width:"0px",left:"0px",borderRadius:"0px"})}),[o,n,t]),Lt("div",{className:"vm-toggles",children:[i&&Lt("label",{className:"vm-toggles__label",children:i}),Lt("div",{className:"vm-toggles-group",style:{gridTemplateColumns:"repeat(".concat(t.length,", 1fr)")},children:[l.borderRadius&&Lt("div",{className:"vm-toggles-group__highlight",style:l}),t.map((function(e,t){return Lt("div",{className:mr()({"vm-toggles-group-item":!0,"vm-toggles-group-item_first":0===t,"vm-toggles-group-item_active":e.value===n,"vm-toggles-group-item_icon":e.icon&&e.title}),onClick:s(e.value),ref:e.value===n?o:null,children:[e.icon,e.title]},e.value)}))]})]})},$i=Object.values(lt).map((function(e){return{title:e,value:e}})),Hi=function(e){var t=e.theme,n=e.onChange,r=Hr().isMobile;return Lt("div",{className:mr()({"vm-theme-control":!0,"vm-theme-control_mobile":r}),children:[Lt("div",{className:"vm-server-configurator__title",children:"Theme preferences"}),Lt("div",{className:"vm-theme-control__toggle",children:Lt(ji,{options:$i,value:t,onChange:function(e){n(e)}})},"".concat(r))]})},Yi="Settings",Vi=function(){var e=Hr().isMobile,t=pt(),n=Bt(),i=n.serverUrl,a=n.theme,o=wn().timezone,u=Nr().seriesLimits,l=Pt(),c=kn(),s=Mr(),f=v((0,r.useState)(i),2),d=f[0],h=f[1],p=v((0,r.useState)(u),2),m=p[0],g=p[1],y=v((0,r.useState)(o),2),_=y[0],b=y[1],D=function(){h(i),g(u),b(o)},w=v((0,r.useState)(!1),2),k=w[0],x=w[1],C=function(){return x(!0)},E=function(){l({type:"SET_SERVER",payload:d}),c({type:"SET_TIMEZONE",payload:_}),s({type:"SET_SERIES_LIMITS",payload:m}),x(!1)};return(0,r.useEffect)((function(){i!==d&&h(i)}),[i]),Lt(Ot.HY,{children:[e?Lt("div",{className:"vm-mobile-option",onClick:C,children:[Lt("span",{className:"vm-mobile-option__icon",children:Lt(On,{})}),Lt("div",{className:"vm-mobile-option-text",children:Lt("span",{className:"vm-mobile-option-text__label",children:Yi})}),Lt("span",{className:"vm-mobile-option__arrow",children:Lt(jn,{})})]}):Lt(ai,{title:Yi,children:Lt(ei,{className:mr()({"vm-header-button":!t}),variant:"contained",color:"primary",startIcon:Lt(On,{}),onClick:C})}),k&&Lt(ii,{title:Yi,onClose:function(){x(!1),D()},children:Lt("div",{className:mr()({"vm-server-configurator":!0,"vm-server-configurator_mobile":e}),children:[!t&&Lt("div",{className:"vm-server-configurator__input",children:Lt(Ii,{stateServerUrl:i,serverUrl:d,onChange:h,onEnter:E})}),Lt("div",{className:"vm-server-configurator__input",children:Lt(Pi,{limits:m,onChange:g,onEnter:E})}),Lt("div",{className:"vm-server-configurator__input",children:Lt(zi,{timezoneState:_,onChange:b})}),!t&&Lt("div",{className:"vm-server-configurator__input",children:Lt(Hi,{theme:a,onChange:function(e){l({type:"SET_THEME",payload:e})}})}),Lt("div",{className:"vm-server-configurator-footer",children:[Lt(ei,{color:"error",variant:"outlined",onClick:function(){x(!1),D()},children:"Cancel"}),Lt(ei,{color:"primary",variant:"contained",onClick:E,children:"Apply"})]})]})})]})};function Ui(){Ui=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(N){l=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var a=t&&t.prototype instanceof d?t:d,o=Object.create(a.prototype),u=new E(i||[]);return r(o,"_invoke",{value:w(e,n,u)}),o}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(N){return{type:"throw",arg:N}}}e.wrap=c;var f={};function d(){}function h(){}function p(){}var m={};l(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(S([])));g&&g!==t&&n.call(g,a)&&(m=g);var y=p.prototype=d.prototype=Object.create(m);function _(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function i(r,a,o,u){var l=s(e[r],e,a);if("throw"!==l.type){var c=l.arg,f=c.value;return f&&"object"==D(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){i("next",e,o,u)}),(function(e){i("throw",e,o,u)})):t.resolve(f).then((function(e){c.value=e,o(c)}),(function(e){return i("throw",e,o,u)}))}u(l.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function w(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return A()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var u=k(o,n);if(u){if(u===f)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=s(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function k(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=s(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function S(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(u&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;C(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:S(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function qi(e,t,n,r,i,a,o){try{var u=e[a](o),l=u.value}catch(c){return void n(c)}u.done?t(l):Promise.resolve(l).then(r,i)}function Wi(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){qi(a,r,i,o,u,"next",e)}function u(e){qi(a,r,i,o,u,"throw",e)}o(void 0)}))}}var Qi,Gi,Ji=function(e){var t=e.displaySidebar,n=e.isMobile,r=e.headerSetup,i=e.accountIds;return Lt("div",{className:mr()({"vm-header-controls":!0,"vm-header-controls_mobile":n}),children:[(null===r||void 0===r?void 0:r.tenant)&&Lt(hi,{accountIds:i||[]}),(null===r||void 0===r?void 0:r.stepControl)&&Lt(vi,{}),(null===r||void 0===r?void 0:r.timeSelector)&&Lt(Mi,{}),(null===r||void 0===r?void 0:r.cardinalityDatePicker)&&Lt(Fi,{}),(null===r||void 0===r?void 0:r.executionControls)&&Lt(Ti,{}),Lt(Vi,{}),!t&&Lt(ci,{})]})},Zi=function(e){var t=pt(),n=v((0,r.useState)(!1),2),i=n[0],a=n[1],o=Se().pathname,u=function(){var e=ht().useTenantID,t=Bt().serverUrl,n=v((0,r.useState)(!1),2),i=n[0],a=n[1],o=v((0,r.useState)(),2),u=o[0],l=o[1],c=v((0,r.useState)([]),2),s=c[0],f=c[1],d=(0,r.useMemo)((function(){return"".concat(t.replace(/^(.+)(\/select.+)/,"$1"),"/admin/tenants")}),[t]);return(0,r.useEffect)((function(){if(e){var t=function(){var e=Wi(Ui().mark((function e(){var t,n,r;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],f(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?l(void 0):l("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&l("".concat(e.t0.name,": ").concat(e.t0.message));case 16:a(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[d]),{accountIds:s,isLoading:i,error:u}}(),l=u.accountIds,c=(0,r.useMemo)((function(){return(ft[o]||{}).header||{}}),[o]);return e.isMobile?Lt(Ot.HY,{children:[Lt("div",{children:Lt(ei,{className:mr()({"vm-header-button":!t}),startIcon:Lt(sr,{}),onClick:function(){a((function(e){return!e}))}})}),Lt(ii,{title:"Controls",onClose:function(){a(!1)},isOpen:i,className:mr()({"vm-header-controls-modal":!0,"vm-header-controls-modal_open":i}),children:Lt(Ji,ot(ot({},e),{},{accountIds:l,headerSetup:c}))})]}):Lt(Ji,ot(ot({},e),{},{accountIds:l,headerSetup:c}))},Ki=function(){var e=Hr().isMobile,t=hr(document.body),n=(0,r.useMemo)((function(){return window.innerWidth<1e3}),[t]),i=Bt().isDarkTheme,a=pt(),o=(0,r.useMemo)((function(){return Et(i?"color-background-block":"color-primary")}),[i]),u=(0,r.useMemo)((function(){var e=ht().headerStyles,t=void 0===e?{}:e,n=t.background,r=void 0===n?a?"#FFF":o:n,i=t.color;return{background:r,color:void 0===i?a?o:"#FFF":i}}),[o]),l=u.background,c=u.color,s=Ae(),f=function(){s({pathname:dt.home}),window.location.reload()};return Lt("header",{className:mr()({"vm-header":!0,"vm-header_app":a,"vm-header_dark":i,"vm-header_mobile":e}),style:{background:l,color:c},children:[n?Lt(fi,{background:l,color:c}):Lt(Ot.HY,{children:[!a&&Lt("div",{className:"vm-header-logo",onClick:f,style:{color:c},children:Lt(Mn,{})}),Lt(ri,{color:c,background:l})]}),e&&Lt("div",{className:"vm-header-logo vm-header-logo_mobile",onClick:f,style:{color:c},children:Lt(Mn,{})}),Lt(Zi,{displaySidebar:n,isMobile:e})]})},Xi=function(){var e=Hr().isMobile,t="2019-".concat(a()().format("YYYY"));return Lt("footer",{className:"vm-footer",children:[Lt("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"me noreferrer",children:[Lt(Fn,{}),"victoriametrics.com"]}),Lt("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/#vmui",rel:"help noreferrer",children:[Lt(or,{}),e?"Docs":"Documentation"]}),Lt("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:[Lt(ur,{}),e?"New issue":"Create an issue"]}),Lt("div",{className:"vm-footer__copyright",children:["\xa9 ",t," VictoriaMetrics"]})]})},ea=function(){var e=Wi(Ui().mark((function e(t){var n,r;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("./dashboards/".concat(t));case 2:return n=e.sent,e.next=5,n.json();case 5:return r=e.sent,e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ta=function(){var e=pt(),t=Bt().serverUrl,n=(0,r.useContext)(Gr).dispatch,i=v((0,r.useState)(!1),2),a=i[0],o=i[1],u=v((0,r.useState)(""),2),l=u[0],c=u[1],s=v((0,r.useState)([]),2),f=s[0],d=s[1],h=function(){var e=Wi(Ui().mark((function e(){var t,n;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null!==(t=window.__VMUI_PREDEFINED_DASHBOARDS__)&&void 0!==t&&t.length){e.next=4;break}return e.abrupt("return",[]);case 4:return e.next=6,Promise.all(t.map(function(){var e=Wi(Ui().mark((function e(t){return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",ea(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 6:n=e.sent,d((function(e){return[].concat(_(n),_(e))})),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(0),e.t0 instanceof Error&&c("".concat(e.t0.name,": ").concat(e.t0.message));case 13:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(){return e.apply(this,arguments)}}(),p=function(){var e=Wi(Ui().mark((function e(){var n,r,i;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return c(""),o(!0),e.prev=4,e.next=7,fetch("".concat(t,"/vmui/custom-dashboards"));case 7:return n=e.sent,e.next=10,n.json();case 10:if(r=e.sent,!n.ok){e.next=22;break}if(!((i=r.dashboardsSettings)&&i.length>0)){e.next=17;break}d((function(e){return[].concat(_(e),_(i))})),e.next=19;break;case 17:return e.next=19,h();case 19:o(!1),e.next=26;break;case 22:return e.next=24,h();case 24:c(r.error),o(!1);case 26:e.next=34;break;case 28:return e.prev=28,e.t0=e.catch(4),o(!1),e.t0 instanceof Error&&c("".concat(e.t0.name,": ").concat(e.t0.message)),e.next=34,h();case 34:case"end":return e.stop()}}),e,null,[[4,28]])})));return function(){return e.apply(this,arguments)}}();return(0,r.useEffect)((function(){e||(d([]),p())}),[t]),(0,r.useEffect)((function(){n({type:"SET_DASHBOARDS_SETTINGS",payload:f})}),[f]),(0,r.useEffect)((function(){n({type:"SET_DASHBOARDS_LOADING",payload:a})}),[a]),(0,r.useEffect)((function(){n({type:"SET_DASHBOARDS_ERROR",payload:l})}),[l]),{dashboardsSettings:f,isLoading:a,error:l}},na=function(){var e=pt(),t=Hr().isMobile,n=Se().pathname,i=v(nt(),2),a=i[0],o=i[1];ta();return(0,r.useEffect)((function(){var e,t="vmui",r=null===(e=ft[n])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(t):t}),[n]),(0,r.useEffect)((function(){var e=window.location.search;if(e){var t=gt().parse(e,{ignoreQueryPrefix:!0});Object.entries(t).forEach((function(e){var t=v(e,2),n=t[0],r=t[1];a.set(n,r),o(a)})),window.location.search=""}window.location.replace(window.location.href.replace(/\/\?#\//,"/#/"))}),[]),Lt("section",{className:"vm-container",children:[Lt(Ki,{}),Lt("div",{className:mr()({"vm-container-body":!0,"vm-container-body_mobile":t,"vm-container-body_app":e}),children:Lt(je,{})}),!e&&Lt(Xi,{})]})},ra="u-off",ia="u-label",aa="width",oa="height",ua="top",la="bottom",ca="left",sa="right",fa="#000",da=fa+"0",ha="mousemove",pa="mousedown",ma="mouseup",va="mouseenter",ga="mouseleave",ya="dblclick",_a="change",ba="dppxchange",Da="undefined"!=typeof window,wa=Da?document:null,ka=Da?window:null,xa=Da?navigator:null;function Ca(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function Ea(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function Sa(e,t,n){e.style[t]=n+"px"}function Aa(e,t,n,r){var i=wa.createElement(e);return null!=t&&Ca(i,t),null!=n&&n.insertBefore(i,r),i}function Na(e,t){return Aa("div",e,t)}var Ma=new WeakMap;function Fa(e,t,n,r,i){var a="translate("+t+"px,"+n+"px)";a!=Ma.get(e)&&(e.style.transform=a,Ma.set(e,a),t<0||n<0||t>r||n>i?Ca(e,ra):Ea(e,ra))}var Oa=new WeakMap;function Ta(e,t,n){var r=t+n;r!=Oa.get(e)&&(Oa.set(e,r),e.style.background=t,e.style.borderColor=n)}var La=new WeakMap;function Ia(e,t,n,r){var i=t+""+n;i!=La.get(e)&&(La.set(e,i),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}var Ba={passive:!0},Pa=ot(ot({},Ba),{},{capture:!0});function Ra(e,t,n,r){t.addEventListener(e,n,r?Pa:Ba)}function za(e,t,n,r){t.removeEventListener(e,n,r?Pa:Ba)}function ja(e,t,n,r){var i;n=n||0;for(var a=(r=r||t.length-1)<=2147483647;r-n>1;)t[i=a?n+r>>1:ro((n+r)/2)]=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}function Ha(e,t,n,r){var i=po,a=-po;if(1==r)i=e[t],a=e[n];else if(-1==r)i=e[n],a=e[t];else for(var o=t;o<=n;o++)null!=e[o]&&(i=oo(i,e[o]),a=uo(a,e[o]));return[i,a]}function Ya(e,t,n){for(var r=po,i=-po,a=t;a<=n;a++)e[a]>0&&(r=oo(r,e[a]),i=uo(i,e[a]));return[r==po?1:r,i==-po?10:i]}function Va(e,t,n,r){var i=co(e),a=co(t),o=10==n?so:fo;e==t&&(-1==i?(e*=n,t/=n):(e/=n,t*=n));var u=1==a?ao:ro,l=(1==i?ro:ao)(o(no(e))),c=u(o(no(t))),s=lo(n,l),f=lo(n,c);return l<0&&(s=Eo(s,-l)),c<0&&(f=Eo(f,-c)),r?(e=s*i,t=f*a):(e=Co(e,s),t=xo(t,f)),[e,t]}function Ua(e,t,n,r){var i=Va(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}Da&&function e(){var t=devicePixelRatio;Qi!=t&&(Qi=t,Gi&&za(_a,Gi,e),Gi=matchMedia("(min-resolution: ".concat(Qi-.001,"dppx) and (max-resolution: ").concat(Qi+.001,"dppx)")),Ra(_a,Gi,e),ka.dispatchEvent(new CustomEvent(ba)))}();var qa={mode:3,pad:.1},Wa={pad:0,soft:null,mode:0},Qa={min:Wa,max:Wa};function Ga(e,t,n,r){return Bo(n)?Za(e,t,n):(Wa.pad=n,Wa.soft=r?0:null,Wa.mode=r?3:0,Za(e,t,Qa))}function Ja(e,t){return null==e?t:e}function Za(e,t,n){var r=n.min,i=n.max,a=Ja(r.pad,0),o=Ja(i.pad,0),u=Ja(r.hard,-po),l=Ja(i.hard,po),c=Ja(r.soft,po),s=Ja(i.soft,-po),f=Ja(r.mode,0),d=Ja(i.mode,0),h=t-e,p=so(h),m=uo(no(e),no(t)),v=so(m),g=no(v-p);(h<1e-9||g>10)&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&c!=po&&(a=0),2==d&&s!=-po&&(o=0)));var y=h||m||1e3,_=so(y),b=lo(10,ro(_)),D=Eo(Co(e-y*(0==h?0==e?.1:1:a),b/10),9),w=e>=c&&(1==f||3==f&&D<=c||2==f&&D>=c)?c:po,k=uo(u,D=w?w:oo(w,D)),x=Eo(xo(t+y*(0==h?0==t?.1:1:o),b/10),9),C=t<=s&&(1==d||3==d&&x>=s||2==d&&x<=s)?s:-po,E=oo(l,x>C&&t<=C?C:uo(C,x));return k==E&&0==k&&(E=100),[k,E]}var Ka=new Intl.NumberFormat(Da?xa.language:"en-US"),Xa=function(e){return Ka.format(e)},eo=Math,to=eo.PI,no=eo.abs,ro=eo.floor,io=eo.round,ao=eo.ceil,oo=eo.min,uo=eo.max,lo=eo.pow,co=eo.sign,so=eo.log10,fo=eo.log2,ho=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return eo.asinh(e/t)},po=1/0;function mo(e){return 1+(0|so((e^e>>31)-(e>>31)))}function vo(e,t){return io(e/t)*t}function go(e,t,n){return oo(uo(e,t),n)}function yo(e){return"function"==typeof e?e:function(){return e}}var _o=function(e){return e},bo=function(e,t){return t},Do=function(e){return null},wo=function(e){return!0},ko=function(e,t){return e==t};function xo(e,t){return ao(e/t)*t}function Co(e,t){return ro(e/t)*t}function Eo(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(Lo(e))return e;var n=Math.pow(10,t),r=e*n*(1+Number.EPSILON);return io(r)/n}var So=new Map;function Ao(e){return((""+e).split(".")[1]||"").length}function No(e,t,n,r){for(var i=[],a=r.map(Ao),o=t;o=0&&o>=0?0:u)+(o>=a[c]?0:a[c]),d=Eo(s,f);i.push(d),So.set(d,f)}return i}var Mo={},Fo=[],Oo=[null,null],To=Array.isArray,Lo=Number.isInteger;function Io(e){return"string"==typeof e}function Bo(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function Po(e){return null!=e&&"object"==typeof e}var Ro=Object.getPrototypeOf(Uint8Array);function zo(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Bo;if(To(e)){var r=e.find((function(e){return null!=e}));if(To(r)||n(r)){t=Array(e.length);for(var i=0;ia){for(r=o-1;r>=0&&null==e[r];)e[r--]=null;for(r=o+1;r12?t-12:t},AA:function(e){return e.getHours()>=12?"PM":"AM"},aa:function(e){return e.getHours()>=12?"pm":"am"},a:function(e){return e.getHours()>=12?"p":"a"},mm:function(e){return Go(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return Go(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function Zo(e,t){t=t||Qo;for(var n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;n=i.exec(e);)r.push("{"==n[0][0]?Jo[n[1]]:n[0]);return function(e){for(var n="",i=0;i=o,m=f>=a&&f=i?i:f,M=_+(ro(c)-ro(g))+xo(g-_,N);h.push(M);for(var F=t(M),O=F.getHours()+F.getMinutes()/n+F.getSeconds()/r,T=f/r,L=d/u.axes[l]._space;!((M=Eo(M+f,1==e?0:3))>s);)if(T>1){var I=ro(Eo(O+T,6))%24,B=t(M).getHours()-I;B>1&&(B=-1),O=(O+T)%24,Eo(((M-=B*r)-h[h.length-1])/f,3)*L>=.7&&h.push(M)}else h.push(M)}return h}}]}var vu=v(mu(1),3),gu=vu[0],yu=vu[1],_u=vu[2],bu=v(mu(.001),3),Du=bu[0],wu=bu[1],ku=bu[2];function xu(e,t){return e.map((function(e){return e.map((function(n,r){return 0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)}))}))}function Cu(e,t){return function(n,r,i,a,o){var u,l,c,s,f,d,h=t.find((function(e){return o>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),i=n.getMonth(),a=n.getDate(),o=n.getHours(),p=n.getMinutes(),m=n.getSeconds(),v=r!=u&&h[2]||i!=l&&h[3]||a!=c&&h[4]||o!=s&&h[5]||p!=f&&h[6]||m!=d&&h[7]||h[1];return u=r,l=i,c=a,s=o,f=p,d=m,v(n)}))}}function Eu(e,t,n){return new Date(e,t,n)}function Su(e,t){return t(e)}No(2,-53,53,[1]);function Au(e,t){return function(n,r){return t(e(r))}}var Nu={show:!0,live:!0,isolate:!1,mount:function(){},markers:{show:!0,width:2,stroke:function(e,t){var n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};var Mu=[0,0];function Fu(e,t,n){return function(e){0==e.button&&n(e)}}function Ou(e,t,n){return n}var Tu={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return Mu[0]=t,Mu[1]=n,Mu},points:{show:function(e,t){var n=e.cursor.points,r=Na(),i=n.size(e,t);Sa(r,aa,i),Sa(r,oa,i);var a=i/-2;Sa(r,"marginLeft",a),Sa(r,"marginTop",a);var o=n.width(e,t,i);return o&&Sa(r,"borderWidth",o),r},size:function(e,t){return Xu(e.series[t].points.width,1)},width:0,stroke:function(e,t){var n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){var n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:Fu,mouseup:Fu,click:Fu,dblclick:Fu,mousemove:Ou,mouseleave:Ou,mouseenter:Ou},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},Lu={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Iu=jo({},Lu,{filter:bo}),Bu=jo({},Iu,{size:10}),Pu=jo({},Lu,{show:!1}),Ru='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',zu="bold "+Ru,ju={show:!0,scale:"x",stroke:fa,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:zu,side:2,grid:Iu,ticks:Bu,border:Pu,font:Ru,rotate:0},$u={show:!0,scale:"x",auto:!1,sorted:1,min:po,max:-po,idxs:[]};function Hu(e,t,n,r,i){return t.map((function(e){return null==e?"":Xa(e)}))}function Yu(e,t,n,r,i,a,o){for(var u=[],l=So.get(i)||0,c=n=o?n:Eo(xo(n,i),l);c<=r;c=Eo(c+i,l))u.push(Object.is(c,-0)?0:c);return u}function Vu(e,t,n,r,i,a,o){var u=[],l=e.scales[e.axes[t].scale].log,c=ro((10==l?so:fo)(n));i=lo(l,c),c<0&&(i=Eo(i,-c));var s=n;do{u.push(s),(s=Eo(s+i,So.get(i)))>=i*l&&(i=s)}while(s<=r);return u}function Uu(e,t,n,r,i,a,o){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Vu(e,t,uo(u,n),r,i):[u],c=r>=0&&n<=0?[0]:[];return(n<-u?Vu(e,t,uo(u,-r),-n,i):[u]).reverse().map((function(e){return-e})).concat(c,l)}var qu=/./,Wu=/[12357]/,Qu=/[125]/,Gu=/1/;function Ju(e,t,n,r,i){var a=e.axes[n],o=a.scale,u=e.scales[o];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,c=a._space,s=l(10,o),f=l(9,o)-s>=c?qu:l(7,o)-s>=c?Wu:l(5,o)-s>=c?Qu:Gu;return t.map((function(e){return 4==u.distr&&0==e||f.test(e)?e:null}))}function Zu(e,t){return null==t?"":Xa(t)}var Ku={show:!0,scale:"y",stroke:fa,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:zu,side:3,grid:Iu,ticks:Bu,border:Pu,font:Ru,rotate:0};function Xu(e,t){return Eo((3+2*(e||1))*t,3)}var el={scale:null,auto:!0,sorted:0,min:po,max:-po},tl=function(e,t,n,r,i){return i},nl={show:!0,auto:!0,sorted:0,gaps:tl,alpha:1,facets:[jo({},el,{scale:"x"}),jo({},el,{scale:"y"})]},rl={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:tl,alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,i=n.idxs,a=e._data[0],o=e.valToPos(a[i[0]],r,!0),u=e.valToPos(a[i[1]],r,!0),l=no(u-o)/(e.series[t].points.space*Qi);return i[1]-i[0]<=l},filter:null},values:null,min:po,max:-po,idxs:[],path:null,clip:null};function il(e,t,n,r,i){return n/10}var al={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},ol=jo({},al,{time:!1,ori:1}),ul={};function ll(e,t){var n=ul[e];return n||(n={key:e,plots:[],sub:function(e){n.plots.push(e)},unsub:function(e){n.plots=n.plots.filter((function(t){return t!=e}))},pub:function(e,t,r,i,a,o,u){for(var l=0;l0){o=new Path2D;for(var u=0==t?Dl:wl,l=n,c=0;cs[0]){var f=s[0]-l;f>0&&u(o,l,r,f,r+a),l=s[1]}}var d=n+i-l;d>0&&u(o,l,r,d,r+a)}return o}function pl(e,t,n,r,i,a,o){for(var u=[],l=e.length,c=1==i?n:r;c>=n&&c<=r;c+=i){if(null===t[c]){var s=c,f=c;if(1==i)for(;++c<=r&&null===t[c];)f=c;else for(;--c>=n&&null===t[c];)f=c;var d=a(e[s]),h=f==s?d:a(e[f]),p=s-i;d=o<=0&&p>=0&&p=0&&m>=0&&m=d&&u.push([d,h])}}return u}function ml(e){return 0==e?_o:1==e?io:function(t){return vo(t,e)}}function vl(e){var t=0==e?gl:yl,n=0==e?function(e,t,n,r,i,a){e.arcTo(t,n,r,i,a)}:function(e,t,n,r,i,a){e.arcTo(n,t,i,r,a)},r=0==e?function(e,t,n,r,i){e.rect(t,n,r,i)}:function(e,t,n,r,i){e.rect(n,t,i,r)};return function(e,i,a,o,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,i,a,o,u):(l=oo(l,o/2,u/2),t(e,i+l,a),n(e,i+o,a,i+o,a+u,l),n(e,i+o,a+u,i,a+u,l),n(e,i,a+u,i,a,l),n(e,i,a,i+o,a,l),e.closePath())}}var gl=function(e,t,n){e.moveTo(t,n)},yl=function(e,t,n){e.moveTo(n,t)},_l=function(e,t,n){e.lineTo(t,n)},bl=function(e,t,n){e.lineTo(n,t)},Dl=vl(0),wl=vl(1),kl=function(e,t,n,r,i,a){e.arc(t,n,r,i,a)},xl=function(e,t,n,r,i,a){e.arc(n,t,r,i,a)},Cl=function(e,t,n,r,i,a,o){e.bezierCurveTo(t,n,r,i,a,o)},El=function(e,t,n,r,i,a,o){e.bezierCurveTo(n,t,i,r,o,a)};function Sl(e){return function(e,t,n,r,i){return cl(e,t,(function(t,a,o,u,l,c,s,f,d,h,p){var m,v,g=t.pxRound,y=t.points;0==u.ori?(m=gl,v=kl):(m=yl,v=xl);var _=Eo(y.width*Qi,3),b=(y.size-y.width)/2*Qi,D=Eo(2*b,3),w=new Path2D,k=new Path2D,x=e.bbox,C=x.left,E=x.top,S=x.width,A=x.height;Dl(k,C-D,E-D,S+2*D,A+2*D);var N=function(e){if(null!=o[e]){var t=g(c(a[e],u,h,f)),n=g(s(o[e],l,p,d));m(w,t+b,n),v(w,t,n,b,0,2*to)}};if(i)i.forEach(N);else for(var M=n;M<=r;M++)N(M);return{stroke:_>0?w:null,fill:w,clip:k,flags:3}}))}}function Al(e){return function(t,n,r,i,a,o){r!=i&&(a!=r&&o!=r&&e(t,n,r),a!=i&&o!=i&&e(t,n,i),e(t,n,o))}}var Nl=Al(_l),Ml=Al(bl);function Fl(e){var t=Ja(null===e||void 0===e?void 0:e.alignGaps,0);return function(e,n,r,i){return cl(e,n,(function(a,o,u,l,c,s,f,d,h,p,m){var g,y,b=a.pxRound,D=function(e){return b(s(e,l,p,d))},w=function(e){return b(f(e,c,m,h))};0==l.ori?(g=_l,y=Nl):(g=bl,y=Ml);for(var k,x,C,E=l.dir*(0==l.ori?1:-1),S={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},A=S.stroke,N=po,M=-po,F=D(o[1==E?r:i]),O=$a(u,r,i,1*E),T=$a(u,r,i,-1*E),L=D(o[O]),I=D(o[T]),B=1==E?r:i;B>=r&&B<=i;B+=E){var P=D(o[B]);P==F?null!=u[B]&&(x=w(u[B]),N==po&&(g(A,P,x),k=x),N=oo(x,N),M=uo(x,M)):(N!=po&&(y(A,F,N,M,k,x),C=F),null!=u[B]?(g(A,P,x=w(u[B])),N=M=k=x):(N=po,M=-po),F=P)}N!=po&&N!=M&&C!=F&&y(A,F,N,M,k,x);var R=v(sl(e,n),2),z=R[0],j=R[1];if(null!=a.fill||0!=z){var $=S.fill=new Path2D(A),H=w(a.fillTo(e,n,a.min,a.max,z));g($,I,H),g($,L,H)}if(!a.spanGaps){var Y,V=[];(Y=V).push.apply(Y,_(pl(o,u,r,i,E,D,t))),S.gaps=V=a.gaps(e,n,r,i,V),S.clip=hl(V,l.ori,d,h,p,m)}return 0!=j&&(S.band=2==j?[dl(e,n,r,i,A,-1),dl(e,n,r,i,A,1)]:dl(e,n,r,i,A,j)),S}))}}function Ol(e,t,n,r,i,a){var o=e.length;if(o<2)return null;var u=new Path2D;if(n(u,e[0],t[0]),2==o)r(u,e[1],t[1]);else{for(var l=Array(o),c=Array(o-1),s=Array(o-1),f=Array(o-1),d=0;d0!==c[h]>0?l[h]=0:(l[h]=3*(f[h-1]+f[h])/((2*f[h]+f[h-1])/c[h-1]+(f[h]+2*f[h-1])/c[h]),isFinite(l[h])||(l[h]=0));l[o-1]=c[o-2];for(var p=0;p=i&&a+(l<5?So.get(l):0)<=17)return[l,c]}while(++u0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?ho(e,t.asinh):e)-t._min)/(t._max-t._min)}function o(e,t,n,r){var i=a(e,t);return r+n*(-1==t.dir?1-i:i)}function u(e,t,n,r){var i=a(e,t);return r+n*(-1==t.dir?i:1-i)}function l(e,t,n,r){return 0==t.ori?o(e,t,n,r):u(e,t,n,r)}r.valToPosH=o,r.valToPosV=u;var c=!1;r.status=0;var s=r.root=Na("uplot");(null!=e.id&&(s.id=e.id),Ca(s,e.class),e.title)&&(Na("u-title",s).textContent=e.title);var f=Aa("canvas"),d=r.ctx=f.getContext("2d"),h=Na("u-wrap",s),p=r.under=Na("u-under",h);h.appendChild(f);var m=r.over=Na("u-over",h),g=+Ja((e=zo(e)).pxAlign,1),y=ml(g);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(r,e)||e)}));var _,b,D=e.ms||.001,w=r.series=1==i?Pl(e.series||[],$u,rl,!1):(_=e.series||[null],b=nl,_.map((function(e,t){return 0==t?null:jo({},b,e)}))),k=r.axes=Pl(e.axes||[],ju,Ku,!0),x=r.scales={},C=r.bands=e.bands||[];C.forEach((function(e){e.fill=yo(e.fill||null),e.dir=Ja(e.dir,-1)}));var E=2==i?w[1].facets[0].scale:w[0].scale,S={axes:function(){for(var e=function(){var e=k[t];if(!e.show||!e._show)return"continue";var n,i,a=e.side,o=a%2,u=e.stroke(r,t),c=0==a||3==a?-1:1;if(e.label){var s=e.labelGap*c,f=io((e._lpos+s)*Qi);tt(e.labelFont[0],u,"center",2==a?ua:la),d.save(),1==o?(n=i=0,d.translate(f,io(me+ge/2)),d.rotate((3==a?-to:to)/2)):(n=io(pe+ve/2),i=f),d.fillText(e.label,n,i),d.restore()}var h=v(e._found,2),p=h[0],m=h[1];if(0==m)return"continue";var g=x[e.scale],_=0==o?ve:ge,b=0==o?pe:me,D=io(e.gap*Qi),w=e._splits,C=2==g.distr?w.map((function(e){return Je[e]})):w,E=2==g.distr?Je[w[1]]-Je[w[0]]:p,S=e.ticks,A=e.border,N=S.show?io(S.size*Qi):0,M=e._rotate*-to/180,F=y(e._pos*Qi),O=F+(N+D)*c;i=0==o?O:0,n=1==o?O:0,tt(e.font[0],u,1==e.align?ca:2==e.align?sa:M>0?ca:M<0?sa:0==o?"center":3==a?sa:ca,M||1==o?"middle":2==a?ua:la);for(var T=1.5*e.font[1],L=w.map((function(e){return y(l(e,g,_,b))})),I=e._values,B=0;B0&&(w.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var a=2==i?[0,t[n][0].length-1]:function(e){var t=go(We-1,0,Le-1),n=go(Qe+1,0,Le-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){Ve!=e.alpha&&(d.globalAlpha=Ve=e.alpha),rt(t,!1),e._paths&&it(t,!1),rt(t,!0);var n=e._paths?e._paths.gaps:null,i=e.points.show(r,t,We,Qe,n),a=e.points.filter(r,t,i,n);(i||a)&&(e.points._paths=e.points.paths(r,t,We,Qe,a),it(t,!0)),1!=Ve&&(d.globalAlpha=Ve=1),ln("drawSeries",t)}})))}},A=(e.drawOrder||["axes","series"]).map((function(e){return S[e]}));function N(t){var n=x[t];if(null==n){var r=(e.scales||Mo)[t]||Mo;if(null!=r.from)N(r.from),x[t]=jo({},x[r.from],r,{key:t});else{(n=x[t]=jo({},t==E?al:ol,r)).key=t;var a=n.time,o=n.range,u=To(o);if((t!=E||2==i&&!a)&&(!u||null!=o[0]&&null!=o[1]||(o={min:null==o[0]?qa:{mode:1,hard:o[0],soft:o[0]},max:null==o[1]?qa:{mode:1,hard:o[1],soft:o[1]}},u=!1),!u&&Bo(o))){var l=o;o=function(e,t,n){return null==t?Oo:Ga(t,n,l)}}n.range=yo(o||(a?jl:t==E?3==n.distr?Yl:4==n.distr?Ul:zl:3==n.distr?Hl:4==n.distr?Vl:$l)),n.auto=yo(!u&&n.auto),n.clamp=yo(n.clamp||il),n._min=n._max=null}}}for(var M in N("x"),N("y"),1==i&&w.forEach((function(e){N(e.scale)})),k.forEach((function(e){N(e.scale)})),e.scales)N(M);var F,O,T=x[E],L=T.distr;0==T.ori?(Ca(s,"u-hz"),F=o,O=u):(Ca(s,"u-vt"),F=u,O=o);var I={};for(var B in x){var P=x[B];null==P.min&&null==P.max||(I[B]={min:P.min,max:P.max},P.min=P.max=null)}var R,z=e.tzDate||function(e){return new Date(io(e/D))},j=e.fmtDate||Zo,$=1==D?_u(z):ku(z),H=Cu(z,xu(1==D?yu:wu,j)),Y=Au(z,Su("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",j)),V=[],U=r.legend=jo({},Nu,e.legend),q=U.show,W=U.markers;U.idxs=V,W.width=yo(W.width),W.dash=yo(W.dash),W.stroke=yo(W.stroke),W.fill=yo(W.fill);var Q,G=[],J=[],Z=!1,K={};if(U.live){var X=w[1]?w[1].values:null;for(var ee in Q=(Z=null!=X)?X(r,1,0):{_:0})K[ee]="--"}if(q)if(R=Aa("table","u-legend",s),U.mount(r,R),Z){var te=Aa("tr","u-thead",R);for(var ne in Aa("th",null,te),Q)Aa("th",ia,te).textContent=ne}else Ca(R,"u-inline"),U.live&&Ca(R,"u-live");var re={show:!0},ie={show:!1};var ae=new Map;function oe(e,t,n){var i=ae.get(t)||{},a=Ee.bind[e](r,t,n);a&&(Ra(e,t,i[e]=a),ae.set(t,i))}function ue(e,t,n){var r=ae.get(t)||{};for(var i in r)null!=e&&i!=e||(za(i,t,r[i]),delete r[i]);null==e&&ae.delete(t)}var le=0,ce=0,se=0,fe=0,de=0,he=0,pe=0,me=0,ve=0,ge=0;r.bbox={};var ye=!1,_e=!1,be=!1,De=!1,we=!1,ke=!1;function xe(e,t,n){(n||e!=r.width||t!=r.height)&&Ce(e,t),ft(!1),be=!0,_e=!0,Ee.left>=0&&(De=ke=!0),Ct()}function Ce(e,t){r.width=le=se=e,r.height=ce=fe=t,de=he=0,function(){var e=!1,t=!1,n=!1,r=!1;k.forEach((function(i,a){if(i.show&&i._show){var o=i.side,u=o%2,l=i._size+(null!=i.label?i.labelSize:0);l>0&&(u?(se-=l,3==o?(de+=l,r=!0):n=!0):(fe-=l,0==o?(he+=l,e=!0):t=!0))}})),Oe[0]=e,Oe[1]=n,Oe[2]=t,Oe[3]=r,se-=qe[1]+qe[3],de+=qe[3],fe-=qe[2]+qe[0],he+=qe[0]}(),function(){var e=de+se,t=he+fe,n=de,r=he;function i(i,a){switch(i){case 1:return(e+=a)-a;case 2:return(t+=a)-a;case 3:return(n-=a)+a;case 0:return(r-=a)+a}}k.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=i(n,e._size),null!=e.label&&(e._lpos=i(n,e.labelSize))}}))}();var n=r.bbox;pe=n.left=vo(de*Qi,.5),me=n.top=vo(he*Qi,.5),ve=n.width=vo(se*Qi,.5),ge=n.height=vo(fe*Qi,.5)}r.setSize=function(e){xe(e.width,e.height)};var Ee=r.cursor=jo({},Tu,{drag:{y:2==i}},e.cursor);Ee.idxs=V,Ee._lock=!1;var Se=Ee.points;Se.show=yo(Se.show),Se.size=yo(Se.size),Se.stroke=yo(Se.stroke),Se.width=yo(Se.width),Se.fill=yo(Se.fill);var Ae=r.focus=jo({},e.focus||{alpha:.3},Ee.focus),Ne=Ae.prox>=0,Me=[null];function Fe(e,t){if(1==i||t>0){var n=1==i&&x[e.scale].time,a=e.value;e.value=n?Io(a)?Au(z,Su(a,j)):a||Y:a||Zu,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Il||Do,e.fillTo=yo(e.fillTo||fl),e.pxAlign=+Ja(e.pxAlign,g),e.pxRound=ml(e.pxAlign),e.stroke=yo(e.stroke||null),e.fill=yo(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var o=Xu(e.width,1),u=e.points=jo({},{size:o,width:uo(1,.2*o),stroke:e.stroke,space:2*o,paths:Bl,_stroke:null,_fill:null},e.points);u.show=yo(u.show),u.filter=yo(u.filter),u.fill=yo(u.fill),u.stroke=yo(u.stroke),u.paths=yo(u.paths),u.pxAlign=e.pxAlign}if(q){var l=function(e,t){if(0==t&&(Z||!U.live||2==i))return Oo;var n=[],a=Aa("tr","u-series",R,R.childNodes[t]);Ca(a,e.class),e.show||Ca(a,ra);var o=Aa("th",null,a);if(W.show){var u=Na("u-marker",o);if(t>0){var l=W.width(r,t);l&&(u.style.border=l+"px "+W.dash(r,t)+" "+W.stroke(r,t)),u.style.background=W.fill(r,t)}}var c=Na(ia,o);for(var s in c.textContent=e.label,t>0&&(W.show||(c.style.color=e.width>0?W.stroke(r,t):W.fill(r,t)),oe("click",o,(function(t){if(!Ee._lock){var n=w.indexOf(e);if((t.ctrlKey||t.metaKey)!=U.isolate){var r=w.some((function(e,t){return t>0&&t!=n&&e.show}));w.forEach((function(e,t){t>0&&zt(t,r?t==n?re:ie:re,!0,cn.setSeries)}))}else zt(n,{show:!e.show},!0,cn.setSeries)}})),Ne&&oe(va,o,(function(t){Ee._lock||zt(w.indexOf(e),jt,!0,cn.setSeries)}))),Q){var f=Aa("td","u-value",a);f.textContent="--",n.push(f)}return[a,n]}(e,t);G.splice(t,0,l[0]),J.splice(t,0,l[1]),U.values.push(null)}if(Ee.show){V.splice(t,0,null);var c=function(e,t){if(t>0){var n=Ee.points.show(r,t);if(n)return Ca(n,"u-cursor-pt"),Ca(n,e.class),Fa(n,-10,-10,se,fe),m.insertBefore(n,Me[t]),n}}(e,t);c&&Me.splice(t,0,c)}ln("addSeries",t)}r.addSeries=function(e,t){t=null==t?w.length:t,e=1==i?Rl(e,t,$u,rl):Rl(e,t,null,nl),w.splice(t,0,e),Fe(w[t],t)},r.delSeries=function(e){if(w.splice(e,1),q){U.values.splice(e,1),J.splice(e,1);var t=G.splice(e,1)[0];ue(null,t.firstChild),t.remove()}Ee.show&&(V.splice(e,1),Me.length>1&&Me.splice(e,1)[0].remove()),ln("delSeries",e)};var Oe=[!1,!1,!1,!1];function Te(e,t,n,r){var i=v(n,4),a=i[0],o=i[1],u=i[2],l=i[3],c=t%2,s=0;return 0==c&&(l||o)&&(s=0==t&&!a||2==t&&!u?io(ju.size/3):0),1==c&&(a||u)&&(s=1==t&&!o||3==t&&!l?io(Ku.size/2):0),s}var Le,Ie,Be,Pe,Re,ze,je,$e,He,Ye,Ve,Ue=r.padding=(e.padding||[Te,Te,Te,Te]).map((function(e){return yo(Ja(e,Te))})),qe=r._padding=Ue.map((function(e,t){return e(r,t,Oe,0)})),We=null,Qe=null,Ge=1==i?w[0].idxs:null,Je=null,Ze=!1;function Ke(e,n){if(t=null==e?[]:zo(e,Po),2==i){Le=0;for(var a=1;a=0,ke=!0,Ct()}}function Xe(){var e,n;if(Ze=!0,1==i)if(Le>0){if(We=Ge[0]=0,Qe=Ge[1]=Le-1,e=t[0][We],n=t[0][Qe],2==L)e=We,n=Qe;else if(1==Le)if(3==L){var r=v(Va(e,e,T.log,!1),2);e=r[0],n=r[1]}else if(4==L){var a=v(Ua(e,e,T.log,!1),2);e=a[0],n=a[1]}else if(T.time)n=e+io(86400/D);else{var o=v(Ga(e,n,.1,!0),2);e=o[0],n=o[1]}}else We=Ge[0]=e=null,Qe=Ge[1]=n=null;Rt(E,e,n)}function et(e,t,n,r,i,a){var o,u,l,c,s;null!==(o=e)&&void 0!==o||(e=da),null!==(u=n)&&void 0!==u||(n=Fo),null!==(l=r)&&void 0!==l||(r="butt"),null!==(c=i)&&void 0!==c||(i=da),null!==(s=a)&&void 0!==s||(a="round"),e!=Ie&&(d.strokeStyle=Ie=e),i!=Be&&(d.fillStyle=Be=i),t!=Pe&&(d.lineWidth=Pe=t),a!=ze&&(d.lineJoin=ze=a),r!=je&&(d.lineCap=je=r),n!=Re&&d.setLineDash(Re=n)}function tt(e,t,n,r){t!=Be&&(d.fillStyle=Be=t),e!=$e&&(d.font=$e=e),n!=He&&(d.textAlign=He=n),r!=Ye&&(d.textBaseline=Ye=r)}function nt(e,t,n,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(i.length>0&&e.auto(r,Ze)&&(null==t||null==t.min)){var o=Ja(We,0),u=Ja(Qe,i.length-1),l=null==n.min?3==e.distr?Ya(i,o,u):Ha(i,o,u,a):[n.min,n.max];e.min=oo(e.min,n.min=l[0]),e.max=uo(e.max,n.max=l[1])}}function rt(e,t){var n=t?w[e].points:w[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function it(e,n){var i=n?w[e].points:w[e],a=i._stroke,o=i._fill,u=i._paths,l=u.stroke,c=u.fill,s=u.clip,f=u.flags,h=null,p=Eo(i.width*Qi,3),m=p%2/2;n&&null==o&&(o=p>0?"#fff":a);var v=1==i.pxAlign;if(v&&d.translate(m,m),!n){var g=pe,y=me,_=ve,b=ge,D=p*Qi/2;0==i.min&&(b+=D),0==i.max&&(y-=D,b+=D),(h=new Path2D).rect(g,y,_,b)}n?at(a,p,i.dash,i.cap,o,l,c,f,s):function(e,n,i,a,o,u,l,c,s,f,d){var h=!1;C.forEach((function(p,m){if(p.series[0]==e){var v,g=w[p.series[1]],y=t[p.series[1]],_=(g._paths||Mo).band;To(_)&&(_=1==p.dir?_[0]:_[1]);var b=null;g.show&&_&&function(e,t,n){for(t=Ja(t,0),n=Ja(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(y,We,Qe)?(b=p.fill(r,m)||u,v=g._paths.clip):_=null,at(n,i,a,o,b,l,c,s,f,d,v,_),h=!0}})),h||at(n,i,a,o,u,l,c,s,f,d)}(e,a,p,i.dash,i.cap,o,l,c,f,h,s),v&&d.translate(-m,-m)}r.setData=Ke;function at(e,t,n,r,i,a,o,u,l,c,s,f){et(e,t,n,r,i),(l||c||f)&&(d.save(),l&&d.clip(l),c&&d.clip(c)),f?3==(3&u)?(d.clip(f),s&&d.clip(s),ut(i,o),ot(e,a,t)):2&u?(ut(i,o),d.clip(f),ot(e,a,t)):1&u&&(d.save(),d.clip(f),s&&d.clip(s),ut(i,o),d.restore(),ot(e,a,t)):(ut(i,o),ot(e,a,t)),(l||c||f)&&d.restore()}function ot(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){d.strokeStyle=Ie=t,d.stroke(e)})):null!=t&&e&&d.stroke(t))}function ut(e,t){t instanceof Map?t.forEach((function(e,t){d.fillStyle=Be=t,d.fill(e)})):null!=t&&e&&d.fill(t)}function lt(e,t,n,r,i,a,o,u,l,c){var s=o%2/2;1==g&&d.translate(s,s),et(u,o,l,c,u),d.beginPath();var f,h,p,m,v=i+(0==r||3==r?-a:a);0==n?(h=i,m=v):(f=i,p=v);for(var y=0;y0&&(t._paths=null,e&&(1==i?(t.min=null,t.max=null):t.facets.forEach((function(e){e.min=null,e.max=null}))))}))}var dt,ht,pt,mt,vt,gt,yt,_t,bt,Dt,wt,kt,xt=!1;function Ct(){xt||(Ho(Et),xt=!0)}function Et(){ye&&(!function(){var e=zo(x,Po);for(var n in e){var a=e[n],o=I[n];if(null!=o&&null!=o.min)jo(a,o),n==E&&ft(!0);else if(n!=E||2==i)if(0==Le&&null==a.from){var u=a.range(r,null,null,n);a.min=u[0],a.max=u[1]}else a.min=po,a.max=-po}if(Le>0)for(var l in w.forEach((function(n,a){if(1==i){var o=n.scale,u=e[o],l=I[o];if(0==a){var c=u.range(r,u.min,u.max,o);u.min=c[0],u.max=c[1],We=ja(u.min,t[0]),(Qe=ja(u.max,t[0]))-We>1&&(t[0][We]u.max&&Qe--),n.min=Je[We],n.max=Je[Qe]}else n.show&&n.auto&&nt(u,l,n,t[a],n.sorted);n.idxs[0]=We,n.idxs[1]=Qe}else if(a>0&&n.show&&n.auto){var s=v(n.facets,2),f=s[0],d=s[1],h=f.scale,p=d.scale,m=v(t[a],2),g=m[0],y=m[1];nt(e[h],I[h],f,g,f.sorted),nt(e[p],I[p],d,y,d.sorted),n.min=d.min,n.max=d.max}})),e){var c=e[l],s=I[l];if(null==c.from&&(null==s||null==s.min)){var f=c.range(r,c.min==po?null:c.min,c.max==-po?null:c.max,l);c.min=f[0],c.max=f[1]}}for(var d in e){var h=e[d];if(null!=h.from){var p=e[h.from];if(null==p.min)h.min=h.max=null;else{var m=h.range(r,p.min,p.max,d);h.min=m[0],h.max=m[1]}}}var g={},y=!1;for(var _ in e){var b=e[_],D=x[_];if(D.min!=b.min||D.max!=b.max){D.min=b.min,D.max=b.max;var k=D.distr;D._min=3==k?so(D.min):4==k?ho(D.min,D.asinh):D.min,D._max=3==k?so(D.max):4==k?ho(D.max,D.asinh):D.max,g[_]=y=!0}}if(y){for(var C in w.forEach((function(e,t){2==i?t>0&&g.y&&(e._paths=null):g[e.scale]&&(e._paths=null)})),g)be=!0,ln("setScale",C);Ee.show&&Ee.left>=0&&(De=ke=!0)}for(var S in I)I[S]=null}(),ye=!1),be&&(!function(){for(var e=!1,t=0;!e;){var n=ct(++t),i=st(t);(e=3==t||n&&i)||(Ce(r.width,r.height),_e=!0)}}(),be=!1),_e&&(Sa(p,ca,de),Sa(p,ua,he),Sa(p,aa,se),Sa(p,oa,fe),Sa(m,ca,de),Sa(m,ua,he),Sa(m,aa,se),Sa(m,oa,fe),Sa(h,aa,le),Sa(h,oa,ce),f.width=io(le*Qi),f.height=io(ce*Qi),k.forEach((function(e){var t=e._el,n=e._show,r=e._size,i=e._pos,a=e.side;if(null!=t)if(n){var o=a%2==1;Sa(t,o?"left":"top",i-(3===a||0===a?r:0)),Sa(t,o?"width":"height",r),Sa(t,o?"top":"left",o?he:de),Sa(t,o?"height":"width",o?fe:se),Ea(t,ra)}else Ca(t,ra)})),Ie=Be=Pe=ze=je=$e=He=Ye=Re=null,Ve=1,Jt(!0),ln("setSize"),_e=!1),le>0&&ce>0&&(d.clearRect(0,0,f.width,f.height),ln("drawClear"),A.forEach((function(e){return e()})),ln("draw")),It.show&&we&&(Pt(It),we=!1),Ee.show&&De&&(Qt(null,!0,!1),De=!1),c||(c=!0,r.status=1,ln("ready")),Ze=!1,xt=!1}function St(e,n){var i=x[e];if(null==i.from){if(0==Le){var a=i.range(r,n.min,n.max,e);n.min=a[0],n.max=a[1]}if(n.min>n.max){var o=n.min;n.min=n.max,n.max=o}if(Le>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==E&&2==i.distr&&Le>0&&(n.min=ja(n.min,t[0]),n.max=ja(n.max,t[0]),n.min==n.max&&n.max++),I[e]=n,ye=!0,Ct()}}r.redraw=function(e,t){be=t||!1,!1!==e?Rt(E,T.min,T.max):Ct()},r.setScale=St;var At=!1,Nt=Ee.drag,Mt=Nt.x,Ft=Nt.y;Ee.show&&(Ee.x&&(dt=Na("u-cursor-x",m)),Ee.y&&(ht=Na("u-cursor-y",m)),0==T.ori?(pt=dt,mt=ht):(pt=ht,mt=dt),wt=Ee.left,kt=Ee.top);var Ot,Tt,Lt,It=r.select=jo({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Bt=It.show?Na("u-select",It.over?m:p):null;function Pt(e,t){if(It.show){for(var n in e)It[n]=e[n],n in Xt&&Sa(Bt,n,e[n]);!1!==t&&ln("setSelect")}}function Rt(e,t,n){St(e,{min:t,max:n})}function zt(e,t,n,a){null!=t.focus&&function(e){if(e!=Lt){var t=null==e,n=1!=Ae.alpha;w.forEach((function(r,i){var a=t||0==i||i==e;r._focus=t?null:a,n&&function(e,t){w[e].alpha=t,Ee.show&&Me[e]&&(Me[e].style.opacity=t);q&&G[e]&&(G[e].style.opacity=t)}(i,a?1:Ae.alpha)})),Lt=e,n&&Ct()}}(e),null!=t.show&&w.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=w[e],r=q?G[e]:null;n.show?r&&Ea(r,ra):(r&&Ca(r,ra),Me.length>1&&Fa(Me[e],-10,-10,se,fe))}(r,t.show),Rt(2==i?n.facets[1].scale:n.scale,null,null),Ct())})),!1!==n&&ln("setSeries",e,t),a&&dn("setSeries",r,e,t)}r.setSelect=Pt,r.setSeries=zt,r.addBand=function(e,t){e.fill=yo(e.fill||null),e.dir=Ja(e.dir,-1),t=null==t?C.length:t,C.splice(t,0,e)},r.setBand=function(e,t){jo(C[e],t)},r.delBand=function(e){null==e?C.length=0:C.splice(e,1)};var jt={focus:!0};function $t(e,t,n){var r=x[t];n&&(e=e/Qi-(1==r.ori?he:de));var i=se;1==r.ori&&(e=(i=fe)-e),-1==r.dir&&(e=i-e);var a=r._min,o=a+(r._max-a)*(e/i),u=r.distr;return 3==u?lo(10,o):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return eo.sinh(e)*t}(o,r.asinh):o}function Ht(e,t){Sa(Bt,ca,It.left=e),Sa(Bt,aa,It.width=t)}function Yt(e,t){Sa(Bt,ua,It.top=e),Sa(Bt,oa,It.height=t)}q&&Ne&&Ra(ga,R,(function(e){Ee._lock||null!=Lt&&zt(null,jt,!0,cn.setSeries)})),r.valToIdx=function(e){return ja(e,t[0])},r.posToIdx=function(e,n){return ja($t(e,E,n),t[0],We,Qe)},r.posToVal=$t,r.valToPos=function(e,t,n){return 0==x[t].ori?o(e,x[t],n?ve:se,n?pe:0):u(e,x[t],n?ge:fe,n?me:0)},r.batch=function(e){e(r),Ct()},r.setCursor=function(e,t,n){wt=e.left,kt=e.top,Qt(null,t,n)};var Vt=0==T.ori?Ht:Yt,Ut=1==T.ori?Ht:Yt;function qt(e,t){if(null!=e){var n=e.idx;U.idx=n,w.forEach((function(e,t){(t>0||!Z)&&Wt(t,n)}))}q&&U.live&&function(){if(q&&U.live)for(var e=2==i?1:0;eQe;Ot=po;var c=0==T.ori?se:fe,s=1==T.ori?se:fe;if(wt<0||0==Le||l){o=null;for(var f=0;f0&&Me.length>1&&Fa(Me[f],-10,-10,se,fe);if(Ne&&zt(null,jt,!0,null==e&&cn.setSeries),U.live){V.fill(null),ke=!0;for(var d=0;d0&&g.show){var C=null==D?-10:xo(O(D,1==i?x[g.scale]:x[g.facets[1].scale],s,0),.5);if(C>0&&1==i){var S=no(C-kt);S<=Ot&&(Ot=S,Tt=m)}var A=void 0,N=void 0;if(0==T.ori?(A=k,N=C):(A=C,N=k),ke&&Me.length>1){Ta(Me[m],Ee.points.fill(r,m),Ee.points.stroke(r,m));var M=void 0,L=void 0,I=void 0,B=void 0,P=!0,R=Ee.points.bbox;if(null!=R){P=!1;var z=R(r,m);I=z.left,B=z.top,M=z.width,L=z.height}else I=A,B=N,M=L=Ee.points.size(r,m);Ia(Me[m],M,L,P),Fa(Me[m],I,B,se,fe)}}if(U.live){if(!ke||0==m&&Z)continue;Wt(m,b)}}}if(Ee.idx=o,Ee.left=wt,Ee.top=kt,ke&&(U.idx=o,qt()),It.show&&At)if(null!=e){var j=v(cn.scales,2),$=j[0],H=j[1],Y=v(cn.match,2),q=Y[0],W=Y[1],Q=v(e.cursor.sync.scales,2),G=Q[0],J=Q[1],X=e.cursor.drag;if(Mt=X._x,Ft=X._y,Mt||Ft){var ee,te,ne,re,ie,ae=e.select,oe=ae.left,ue=ae.top,le=ae.width,ce=ae.height,de=e.scales[$].ori,he=e.posToVal,pe=null!=$&&q($,G),me=null!=H&&W(H,J);pe&&Mt?(0==de?(ee=oe,te=le):(ee=ue,te=ce),ne=x[$],re=F(he(ee,G),ne,c,0),ie=F(he(ee+te,G),ne,c,0),Vt(oo(re,ie),no(ie-re))):Vt(0,c),me&&Ft?(1==de?(ee=oe,te=le):(ee=ue,te=ce),ne=x[H],re=O(he(ee,J),ne,s,0),ie=O(he(ee+te,J),ne,s,0),Ut(oo(re,ie),no(ie-re))):Ut(0,s)}else en()}else{var ve=no(bt-vt),ge=no(Dt-gt);if(1==T.ori){var ye=ve;ve=ge,ge=ye}Mt=Nt.x&&ve>=Nt.dist,Ft=Nt.y&&ge>=Nt.dist;var _e,be,De=Nt.uni;null!=De?Mt&&Ft&&(Ft=ge>=De,(Mt=ve>=De)||Ft||(ge>ve?Ft=!0:Mt=!0)):Nt.x&&Nt.y&&(Mt||Ft)&&(Mt=Ft=!0),Mt&&(0==T.ori?(_e=yt,be=wt):(_e=_t,be=kt),Vt(oo(_e,be),no(be-_e)),Ft||Ut(0,s)),Ft&&(1==T.ori?(_e=yt,be=wt):(_e=_t,be=kt),Ut(oo(_e,be),no(be-_e)),Mt||Vt(0,c)),Mt||Ft||(Vt(0,0),Ut(0,0))}if(Nt._x=Mt,Nt._y=Ft,null==e){if(a){if(null!=sn){var we=v(cn.scales,2),xe=we[0],Ce=we[1];cn.values[0]=null!=xe?$t(0==T.ori?wt:kt,xe):null,cn.values[1]=null!=Ce?$t(1==T.ori?wt:kt,Ce):null}dn(ha,r,wt,kt,se,fe,o)}if(Ne){var Se=a&&cn.setSeries,Fe=Ae.prox;null==Lt?Ot<=Fe&&zt(Tt,jt,!0,Se):Ot>Fe?zt(null,jt,!0,Se):Tt!=Lt&&zt(Tt,jt,!0,Se)}}!1!==n&&ln("setCursor")}r.setLegend=qt;var Gt=null;function Jt(e){!0===e?Gt=null:ln("syncRect",Gt=m.getBoundingClientRect())}function Zt(e,t,n,r,i,a,o){Ee._lock||At&&null!=e&&0==e.movementX&&0==e.movementY||(Kt(e,t,n,r,i,a,o,!1,null!=e),null!=e?Qt(null,!0,!0):Qt(t,!0,!1))}function Kt(e,t,n,i,a,o,u,c,s){if(null==Gt&&Jt(!1),null!=e)n=e.clientX-Gt.left,i=e.clientY-Gt.top;else{if(n<0||i<0)return wt=-10,void(kt=-10);var f=v(cn.scales,2),d=f[0],h=f[1],p=t.cursor.sync,m=v(p.values,2),g=m[0],y=m[1],_=v(p.scales,2),b=_[0],D=_[1],w=v(cn.match,2),k=w[0],C=w[1],E=t.axes[0].side%2==1,S=0==T.ori?se:fe,A=1==T.ori?se:fe,N=E?o:a,M=E?a:o,F=E?i:n,O=E?n:i;if(n=null!=b?k(d,b)?l(g,x[d],S,0):-10:S*(F/N),i=null!=D?C(h,D)?l(y,x[h],A,0):-10:A*(O/M),1==T.ori){var L=n;n=i,i=L}}if(s&&((n<=1||n>=se-1)&&(n=vo(n,se)),(i<=1||i>=fe-1)&&(i=vo(i,fe))),c){vt=n,gt=i;var I=v(Ee.move(r,n,i),2);yt=I[0],_t=I[1]}else wt=n,kt=i}var Xt={width:0,height:0,left:0,top:0};function en(){Pt(Xt,!1)}function tn(e,t,n,i,a,o,u){At=!0,Mt=Ft=Nt._x=Nt._y=!1,Kt(e,t,n,i,a,o,0,!0,!1),null!=e&&(oe(ma,wa,nn),dn(pa,r,yt,_t,se,fe,null))}function nn(e,t,n,i,a,o,u){At=Nt._x=Nt._y=!1,Kt(e,t,n,i,a,o,0,!1,!0);var l=It.left,c=It.top,s=It.width,f=It.height,d=s>0||f>0;if(d&&Pt(It),Nt.setScale&&d){var h=l,p=s,m=c,v=f;if(1==T.ori&&(h=c,p=f,m=l,v=s),Mt&&Rt(E,$t(h,E),$t(h+p,E)),Ft)for(var g in x){var y=x[g];g!=E&&null==y.from&&y.min!=po&&Rt(g,$t(m+v,g),$t(m,g))}en()}else Ee.lock&&(Ee._lock=!Ee._lock,Ee._lock||Qt(null,!0,!1));null!=e&&(ue(ma,wa),dn(ma,r,wt,kt,se,fe,null))}function rn(e,t,n,i,a,o,u){Xe(),en(),null!=e&&dn(ya,r,wt,kt,se,fe,null)}function an(){k.forEach(Ql),xe(r.width,r.height,!0)}Ra(ba,ka,an);var on={};on.mousedown=tn,on.mousemove=Zt,on.mouseup=nn,on.dblclick=rn,on.setSeries=function(e,t,n,r){zt(n,r,!0,!1)},Ee.show&&(oe(pa,m,tn),oe(ha,m,Zt),oe(va,m,Jt),oe(ga,m,(function(e,t,n,r,i,a,o){if(!Ee._lock){var u=At;if(At){var l,c,s=!0,f=!0;0==T.ori?(l=Mt,c=Ft):(l=Ft,c=Mt),l&&c&&(s=wt<=10||wt>=se-10,f=kt<=10||kt>=fe-10),l&&s&&(wt=wt=3&&10==i.log?Ju:bo)),e.font=Wl(e.font),e.labelFont=Wl(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Oe[t]=!0,e._el=Na("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(s),hn()):n(r,hn):hn(),r}Gl.assign=jo,Gl.fmtNum=Xa,Gl.rangeNum=Ga,Gl.rangeLog=Va,Gl.rangeAsinh=Ua,Gl.orient=cl,Gl.pxRatio=Qi,Gl.join=function(e,t){for(var n=new Set,r=0;r=o&&I<=u;I+=M){var B=s[I];if(null!=B){var P=C(c[I]),R=E(B);1==t?S(N,P,F):S(N,T,R),S(N,P,R),F=R,T=P}}var z=T;i&&1==t&&S(N,z=k+x,F);var j=v(sl(e,a),2),$=j[0],H=j[1];if(null!=l.fill||0!=$){var Y=A.fill=new Path2D(N),V=E(l.fillTo(e,a,l.min,l.max,$));S(Y,z,V),S(Y,L,V)}if(!l.spanGaps){var U,q=[];(U=q).push.apply(U,_(pl(c,s,o,u,M,C,r)));var W=l.width*Qi/2,Q=n||1==t?W:-W,G=n||-1==t?-W:W;q.forEach((function(e){e[0]+=Q,e[1]+=G})),A.gaps=q=l.gaps(e,a,o,u,q),A.clip=hl(q,f.ori,m,g,y,b)}return 0!=H&&(A.band=2==H?[dl(e,a,o,u,N,-1),dl(e,a,o,u,N,1)]:dl(e,a,o,u,N,H)),A}))}},Jl.bars=function(e){var t=Ja((e=e||Mo).size,[.6,po,1]),n=e.align||0,r=(e.gap||0)*Qi,i=Ja(e.radius,0),a=1-t[0],o=Ja(t[1],po)*Qi,u=Ja(t[2],1)*Qi,l=Ja(e.disp,Mo),c=Ja(e.each,(function(e){})),s=l.fill,f=l.stroke;return function(e,t,d,h){return cl(e,t,(function(p,m,g,y,_,b,D,w,k,x,C){var E,S,A=p.pxRound,N=y.dir*(0==y.ori?1:-1),M=_.dir*(1==_.ori?1:-1),F=0==y.ori?Dl:wl,O=0==y.ori?c:function(e,t,n,r,i,a,o){c(e,t,n,i,r,o,a)},T=v(sl(e,t),2),L=T[0],I=T[1],B=3==_.distr?1==L?_.max:_.min:0,P=D(B,_,C,k),R=A(p.width*Qi),z=!1,j=null,$=null,H=null,Y=null;null==s||0!=R&&null==f||(z=!0,j=s.values(e,t,d,h),$=new Map,new Set(j).forEach((function(e){null!=e&&$.set(e,new Path2D)})),R>0&&(H=f.values(e,t,d,h),Y=new Map,new Set(H).forEach((function(e){null!=e&&Y.set(e,new Path2D)}))));var V=l.x0,U=l.size;if(null!=V&&null!=U){m=V.values(e,t,d,h),2==V.unit&&(m=m.map((function(t){return e.posToVal(w+t*x,y.key,!0)})));var q=U.values(e,t,d,h);S=A((S=2==U.unit?q[0]*x:b(q[0],y,x,w)-b(0,y,x,w))-R),E=1==N?-R/2:S+R/2}else{var W=x;if(m.length>1)for(var Q=null,G=0,J=1/0;G=d&&ae<=h;ae+=N){var oe=g[ae];if(void 0!==oe){var ue=b(2!=y.distr||null!=l?m[ae]:ae,y,x,w),le=D(Ja(oe,B),_,C,k);null!=ie&&null!=oe&&(P=D(ie[ae],_,C,k));var ce=A(ue-E),se=A(uo(le,P)),fe=A(oo(le,P)),de=se-fe,he=i*S;null!=oe&&(z?(R>0&&null!=H[ae]&&F(Y.get(H[ae]),ce,fe+ro(R/2),S,uo(0,de-R),he),null!=j[ae]&&F($.get(j[ae]),ce,fe+ro(R/2),S,uo(0,de-R),he)):F(ee,ce,fe+ro(R/2),S,uo(0,de-R),he),O(e,t,ae,ce-R/2,fe,S+R,de)),0!=I&&(M*I==1?(se=fe,fe=K):(fe=se,se=K),F(te,ce-R/2,fe,S+R,uo(0,de=se-fe),0))}}return R>0&&(X.stroke=z?Y:ee),X.fill=z?$:ee,X}))}},Jl.spline=function(e){return function(e,t){var n=Ja(null===t||void 0===t?void 0:t.alignGaps,0);return function(t,r,i,a){return cl(t,r,(function(o,u,l,c,s,f,d,h,p,m,g){var y,b,D,w=o.pxRound,k=function(e){return w(f(e,c,m,h))},x=function(e){return w(d(e,s,g,p))};0==c.ori?(y=gl,D=_l,b=Cl):(y=yl,D=bl,b=El);var C=c.dir*(0==c.ori?1:-1);i=$a(l,i,a,1),a=$a(l,i,a,-1);for(var E=k(u[1==C?i:a]),S=E,A=[],N=[],M=1==C?i:a;M>=i&&M<=a;M+=C)if(null!=l[M]){var F=k(u[M]);A.push(S=F),N.push(x(l[M]))}var O={stroke:e(A,N,y,D,b,w),fill:null,clip:null,band:null,gaps:null,flags:1},T=O.stroke,L=v(sl(t,r),2),I=L[0],B=L[1];if(null!=o.fill||0!=I){var P=O.fill=new Path2D(T),R=x(o.fillTo(t,r,o.min,o.max,I));D(P,S,R),D(P,E,R)}if(!o.spanGaps){var z,j=[];(z=j).push.apply(z,_(pl(u,l,i,a,C,k,n))),O.gaps=j=o.gaps(t,r,i,a,j),O.clip=hl(j,c.ori,h,p,m,g)}return 0!=B&&(O.band=2==B?[dl(t,r,i,a,T,-1),dl(t,r,i,a,T,1)]:dl(t,r,i,a,T,B)),O}))}}(Ol,e)};var Zl,Kl={legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:function(){return null},dblclick:function(){return null}}}},Xl=function(e,t,n){if(void 0===e||null===e)return"";n=n||0,t=t||0;var r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();var i=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(i)||i>20)&&(i=20),e.toLocaleString("en-US",{minimumSignificantDigits:i,maximumSignificantDigits:i})},ec=function(e,t,n,r){var i,a=e.axes[n];if(r>1)return a._size||60;var o=6+((null===a||void 0===a||null===(i=a.ticks)||void 0===i?void 0:i.size)||0)+(a.gap||0),u=(null!==t&&void 0!==t?t:[]).reduce((function(e,t){return(null===t||void 0===t?void 0:t.length)>e.length?t:e}),"");return""!=u&&(o+=function(e,t){var n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);var r=n.offsetWidth;return n.remove(),r}(u,"10px Arial")),Math.ceil(o)},tc=function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,i=e.u,a=e.setPanning,o=e.setPlotScale;t.preventDefault();var u=t instanceof MouseEvent;a(!0);var l=u?t.clientX:t.touches[0].clientX,c=i.posToVal(1,"x")-i.posToVal(0,"x"),s=i.scales.x.min||0,f=i.scales.x.max||0,d=function(e){var t=e instanceof MouseEvent;if(t||!(e.touches.length>1)){e.preventDefault();var n=t?e.clientX:e.touches[0].clientX,a=c*((n-l)*r);o({u:i,min:s-a,max:f-a})}},h=function e(){a(!1),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",e),document.removeEventListener("touchmove",d),document.removeEventListener("touchend",e)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",h),document.addEventListener("touchmove",d),document.addEventListener("touchend",h)},nc=function(e){for(var t=e.length,n=-1/0;t--;){var r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},rc=function(e){for(var t=e.length,n=1/0;t--;){var r=e[t];Number.isFinite(r)&&r2&&void 0!==arguments[2]?arguments[2]:"",r=t[0],i=t[t.length-1];return n?t.map((function(e){return"".concat(Xl(e,r,i)," ").concat(n)})):t.map((function(e){return Xl(e,r,i)}))}(e,n,t)}};return e?Number(e)%2?i:ot(ot({},i),{},{side:1}):{space:80,values:ic,stroke:r,font:n}}))},oc=function(e,t){if(null==e||null==t)return[-1,1];var n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},uc=n(61),lc=n.n(uc),cc=function(e){var t,n,i,o=e.u,u=e.id,l=e.unit,c=void 0===l?"":l,s=e.metrics,f=e.series,d=e.yRange,h=e.tooltipIdx,p=e.tooltipOffset,m=e.isSticky,g=e.onClose,y=(0,r.useRef)(null),_=v((0,r.useState)({top:-999,left:-999}),2),b=_[0],D=_[1],w=v((0,r.useState)(!1),2),k=w[0],x=w[1],C=v((0,r.useState)(!1),2),E=C[0],S=C[1],A=v((0,r.useState)(h.seriesIdx),2),N=A[0],M=A[1],F=v((0,r.useState)(h.dataIdx),2),O=F[0],T=F[1],L=(0,r.useMemo)((function(){return o.root.querySelector(".u-wrap")}),[o]),I=_t()(o,["data",N,O],0),B=Xl(I,_t()(d,[0]),_t()(d,[1])),P=o.data[0][O],R=a()(1e3*P).tz().format($t),z=(null===(t=f[N])||void 0===t?void 0:t.stroke)+"",j=(null===(n=f[N])||void 0===n?void 0:n.calculations)||{},$=new Set(s.map((function(e){return e.group}))).size>1,H=(null===(i=s[N-1])||void 0===i?void 0:i.group)||0,Y=(0,r.useMemo)((function(){var e,t=(null===(e=s[N-1])||void 0===e?void 0:e.metric)||{},n=Object.keys(t).filter((function(e){return"__name__"!=e})).map((function(e){return"".concat(e,"=").concat(JSON.stringify(t[e]))})),r=t.__name__||"";return n.length>0&&(r+="{"+n.join(",")+"}"),r}),[s,N]),V=function(e){if(k){var t=e.clientX,n=e.clientY;D({top:n,left:t})}},U=function(){x(!1)};return(0,r.useEffect)((function(){var e;if(y.current){var t=o.valToPos(I||0,(null===(e=f[N])||void 0===e?void 0:e.scale)||"1"),n=o.valToPos(P,"x"),r=y.current.getBoundingClientRect(),i=r.width,a=r.height,u=o.over.getBoundingClientRect(),l=n+i>=u.width?i+20:0,c=t+a>=u.height?a+20:0,s={top:t+p.top+10-c,left:n+p.left+10-l};s.left<0&&(s.left=20),s.top<0&&(s.top=20),D(s)}}),[o,I,P,N,p,y]),(0,r.useEffect)((function(){M(h.seriesIdx),T(h.dataIdx)}),[h]),(0,r.useEffect)((function(){return k&&(document.addEventListener("mousemove",V),document.addEventListener("mouseup",U)),function(){document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",U)}}),[k]),!L||h.seriesIdx<0||h.dataIdx<0?null:r.default.createPortal(Lt("div",{className:mr()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":m,"vm-chart-tooltip_moved":E}),ref:y,style:b,children:[Lt("div",{className:"vm-chart-tooltip-header",children:[Lt("div",{className:"vm-chart-tooltip-header__date",children:[$&&Lt("div",{children:["Query ",H]}),R]}),m&&Lt(Ot.HY,{children:[Lt(ei,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Lt(ir,{}),onMouseDown:function(e){S(!0),x(!0);var t=e.clientX,n=e.clientY;D({top:n,left:t})}}),Lt(ei,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Lt(Tn,{}),onClick:function(){g&&g(u)}})]})]}),Lt("div",{className:"vm-chart-tooltip-data",children:[Lt("div",{className:"vm-chart-tooltip-data__marker",style:{background:z}}),Lt("div",{children:[Lt("b",{children:[B,c]}),Lt("br",{}),"median:",Lt("b",{children:j.median}),", min:",Lt("b",{children:j.min}),", max:",Lt("b",{children:j.max})]})]}),Lt("div",{className:"vm-chart-tooltip-info",children:Y})]}),L)};!function(e){e.xRange="xRange",e.yRange="yRange"}(Zl||(Zl={}));var sc,fc=function(e){var t=e.data,n=e.series,i=e.metrics,o=void 0===i?[]:i,u=e.period,l=e.yaxis,c=e.unit,s=e.setPeriod,f=e.container,d=e.height,h=Bt().isDarkTheme,p=(0,r.useRef)(null),m=v((0,r.useState)(!1),2),g=m[0],y=m[1],b=v((0,r.useState)({min:u.start,max:u.end}),2),D=b[0],w=b[1],k=v((0,r.useState)([0,1]),2),x=k[0],C=k[1],E=v((0,r.useState)(),2),S=E[0],A=E[1],N=v((0,r.useState)(0),2),M=N[0],F=N[1],O=hr(f),T=v((0,r.useState)(!1),2),L=T[0],I=T[1],B=v((0,r.useState)({seriesIdx:-1,dataIdx:-1}),2),P=B[0],R=B[1],z=v((0,r.useState)({left:0,top:0}),2),j=z[0],$=z[1],H=v((0,r.useState)([]),2),Y=H[0],V=H[1],U=(0,r.useMemo)((function(){return"".concat(P.seriesIdx,"_").concat(P.dataIdx)}),[P]),q=(0,r.useCallback)(lc()((function(e){var t=e.min,n=e.max;s({from:a()(1e3*t).toDate(),to:a()(1e3*n).toDate()})}),500),[]),W=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);iqt||(t.setScale("x",{min:n,max:r}),w({min:n,max:r}),q({min:n,max:r}))},Q=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,a=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(S&&!a){var o="+"===i||"="===i;if(("-"===i||o)&&!n&&!r){e.preventDefault();var u=(D.max-D.min)/10*(o?1:-1);W({u:S,min:D.min+u,max:D.max-u})}}},G=function(){var e="".concat(P.seriesIdx,"_").concat(P.dataIdx),t={id:e,unit:c,series:n,metrics:o,yRange:x,tooltipIdx:P,tooltipOffset:j};if(!Y.find((function(t){return t.id===e}))){var r=JSON.parse(JSON.stringify(t));V((function(e){return[].concat(_(e),[r])}))}},J=function(e){V((function(t){return t.filter((function(t){return t.id!==e}))}))},Z=function(){return[D.min,D.max]},K=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0;return"1"==r&&C([t,n]),l.limits.enable?l.limits.range[r]:oc(t,n)},X=ot(ot({},Kl),{},{tzDate:function(e){return a()(rn(on(e))).local().toDate()},series:n,axes:ac([{},{scale:"1"}],c),scales:ot({},function(){var e={x:{range:Z}},t=Object.keys(l.limits.range);return(t.length?t:["1"]).forEach((function(t){e[t]={range:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return K(e,n,r,t)}}})),e}()),width:O.width||400,height:d||500,plugins:[{hooks:{ready:function(e){var t=.9;$({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(n){var r=n.ctrlKey,i=n.metaKey;0===n.button&&(r||i)&&tc({u:e,e:n,setPanning:y,setPlotScale:W,factor:t})})),e.over.addEventListener("touchstart",(function(n){tc({u:e,e:n,setPanning:y,setPlotScale:W,factor:t})})),e.over.addEventListener("wheel",(function(n){if(n.ctrlKey||n.metaKey){n.preventDefault();var r=e.over.getBoundingClientRect().width,i=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,a=e.posToVal(i,"x"),o=(e.scales.x.max||0)-(e.scales.x.min||0),u=n.deltaY<0?o*t:o/t,l=a-i/r*u,c=l+u;e.batch((function(){return W({u:e,min:l,max:c})}))}}))},setCursor:function(e){var t,n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;R((function(e){return ot(ot({},e),{},{dataIdx:n})}))},setSeries:function(e,t){var n=null!==t&&void 0!==t?t:-1;R((function(e){return ot(ot({},e),{},{seriesIdx:n})}))}}}],hooks:{setSelect:[function(e){var t=e.posToVal(e.select.left,"x"),n=e.posToVal(e.select.left+e.select.width,"x");W({u:e,min:t,max:n})}]}}),ee=function(e){if(S){switch(e){case Zl.xRange:S.scales.x.range=Z;break;case Zl.yRange:Object.keys(l.limits.range).forEach((function(e){S.scales[e]&&(S.scales[e].range=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return K(t,n,r,e)})}))}g||S.redraw()}};(0,r.useEffect)((function(){return w({min:u.start,max:u.end})}),[u]),(0,r.useEffect)((function(){if(V([]),R({seriesIdx:-1,dataIdx:-1}),p.current){var e=new Gl(X,t,p.current);return A(e),w({min:u.start,max:u.end}),e.destroy}}),[p.current,n,O,d,h]),(0,r.useEffect)((function(){return window.addEventListener("keydown",Q),function(){window.removeEventListener("keydown",Q)}}),[D]);var te=function(e){if(2===e.touches.length){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY;F(Math.sqrt(t*t+n*n))}},ne=function(e){if(2===e.touches.length&&S){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY,r=Math.sqrt(t*t+n*n),i=M-r,a=S.scales.x.max||D.max,o=S.scales.x.min||D.min,u=(a-o)/50*(i>0?-1:1);S.batch((function(){return W({u:S,min:o+u,max:a-u})}))}};return(0,r.useEffect)((function(){return window.addEventListener("touchmove",ne),window.addEventListener("touchstart",te),function(){window.removeEventListener("touchmove",ne),window.removeEventListener("touchstart",te)}}),[S,M]),(0,r.useEffect)((function(){return ee(Zl.xRange)}),[D]),(0,r.useEffect)((function(){return ee(Zl.yRange)}),[l]),(0,r.useEffect)((function(){var e=-1!==P.dataIdx&&-1!==P.seriesIdx;return I(e),e&&window.addEventListener("click",G),function(){window.removeEventListener("click",G)}}),[P,Y]),Lt("div",{className:mr()({"vm-line-chart":!0,"vm-line-chart_panning":g}),style:{minWidth:"".concat(O.width||400,"px"),minHeight:"".concat(d||500,"px")},children:[Lt("div",{className:"vm-line-chart__u-plot",ref:p}),S&&L&&Lt(cc,{unit:c,u:S,series:n,metrics:o,yRange:x,tooltipIdx:P,tooltipOffset:j,id:U}),S&&Y.map((function(e){return(0,r.createElement)(cc,ot(ot({},e),{},{isSticky:!0,u:S,key:e.id,onClose:J}))}))]})},dc=function(e){var t=e.legend,n=e.onChange,i=v((0,r.useState)(""),2),a=i[0],o=i[1],u=(0,r.useMemo)((function(){return function(e){return Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e})).map((function(t){var n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))}(t)}),[t]),l=t.calculations,c=Object.values(l).some((function(e){return e})),s=function(){var e=Wi(Ui().mark((function e(t,n){return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:o(n),setTimeout((function(){return o("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return Lt("div",{className:mr()({"vm-legend-item":!0,"vm-legend-row":!0,"vm-legend-item_hide":!t.checked}),onClick:function(e){return function(t){n(e,t.ctrlKey||t.metaKey)}}(t),children:[Lt("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Lt("div",{className:"vm-legend-item-info",children:Lt("span",{className:"vm-legend-item-info__label",children:[t.freeFormFields.__name__,"{",u.map((function(e,t){return Lt(ai,{open:a===e.id,title:"copied!",placement:"top-center",children:Lt("span",{className:"vm-legend-item-info__free-fields",onClick:(n=e.freeField,r=e.id,function(e){e.stopPropagation(),s(n,r)}),title:"copy to clipboard",children:[e.freeField,t+11;return Lt(Ot.HY,{children:Lt("div",{className:"vm-legend",children:a.map((function(e){return Lt("div",{className:"vm-legend-group",children:Lt(Ri,{defaultExpanded:!0,title:Lt("div",{className:"vm-legend-group-title",children:[o&&Lt("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Lt("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),children:Lt("div",{children:t.filter((function(t){return t.group===e})).map((function(e){return Lt(dc,{legend:e,onChange:i},e.label)}))})})},e)}))})})},pc=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],mc=function(e){var t=16777215,n=1,r=0,i=1;if(e.length>0)for(var a=0;ar&&(r=e[a].charCodeAt(0)),i=parseInt(String(t/r)),n=(n+e[a].charCodeAt(0)*i*49979693)%t;var o=(n*e.length%t).toString(16);return o=o.padEnd(6,o),"#".concat(o)},vc=function(e,t,n){for(var r=[],i=0;i0&&(i=Math.min(i,n[o]),a=Math.max(a,n[o]));for(var u=a-i,l=r.length,c=Array(n.length),s=0;s0&&b[I]>=(o.min||-1/0)&&b[I]<=(o.max||1/0)&&D[I]>=(u.min||-1/0)&&D[I]<=(u.max||1/0)){var B=L[~~(I/S)],P=T[I%S];g(E[x[I]],B,P,F,O)}e.ctx.save(),e.ctx.rect(e.bbox.left,e.bbox.top,e.bbox.width,e.bbox.height),e.ctx.clip(),E.forEach((function(t,n){e.ctx.fillStyle=C[n],e.ctx.fill(t)})),e.ctx.restore()}))}},yc=function(e,t){if(!t)return e;var n=function(e){var t;if(!e.every((function(e){return e.metric.le})))return e;var n,r=e.sort((function(e,t){return parseFloat(e.metric.le)-parseFloat(t.metric.le)})),i=(null===(t=e[0])||void 0===t?void 0:t.group)||1,a={metric:{le:"0"},values:[],group:i},o=[],u=g(r);try{for(u.s();!(n=u.n()).done;){var l,c=n.value,s="".concat(a.metric.le,"..").concat(c.metric.le),f=[],d=g(c.values);try{var h=function(){var e,t=v(l.value,2),n=t[0],r=+t[1]-+((null===(e=a.values.find((function(e){return e[0]===n})))||void 0===e?void 0:e[1])||0);f.push([n,"".concat(r)])};for(d.s();!(l=d.n()).done;)h()}catch(p){d.e(p)}finally{d.f()}o.push({metric:{vmrange:s},values:f,group:i}),a=c}}catch(p){u.e(p)}finally{u.f()}return o}(e),r=n.map((function(e){return e.values})).flat();return n.map((function(e){var t=e.values.map((function(e){var t=r.filter((function(t){return t[0]===e[0]})).reduce((function(e,t){return e+ +t[1]}),0);return[e[0],"".concat(Math.round(+e[1]/t*100))]}));return ot(ot({},e),{},{values:t})}))},_c=function(e){var t=e.min,n=e.max,i=e.value,a=v((0,r.useState)(0),2),o=a[0],u=a[1],l=v((0,r.useState)(""),2),c=l[0],s=l[1],f=v((0,r.useState)(""),2),d=f[0],h=f[1],p=v((0,r.useState)(""),2),m=p[0],g=p[1];return(0,r.useEffect)((function(){u(i?(i-t)/(n-t)*100:0),s(i?"".concat(i,"%"):""),h("".concat(t,"%")),g("".concat(n,"%"))}),[i,t,n]),Lt("div",{className:"vm-legend-heatmap",children:[Lt("div",{className:"vm-legend-heatmap-gradient",style:{background:"linear-gradient(to right, ".concat(vc.join(", "),")")},children:!!i&&Lt("div",{className:"vm-legend-heatmap-gradient__value",style:{left:"".concat(o,"%")},children:Lt("span",{children:c})})}),Lt("div",{className:"vm-legend-heatmap__value",children:d}),Lt("div",{className:"vm-legend-heatmap__value",children:m})]})},bc=["__name__"],Dc=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.metric,i=r.__name__,a=vr(r,bc),o=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(i||"");return 0==Object.keys(a).length?o||"value":"".concat(o,"{").concat(Object.entries(a).map((function(e){return"".concat(e[0],"=").concat(JSON.stringify(e[1]))})).join(", "),"}")},wc=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},kc=function(e){if(e.length<2)return!1;var t=["le","vmrange"];return e.every((function(n){var r=Object.keys(n.metric),i=Object.keys(n.metric).filter((function(e){return!t.includes(e)})),a=r.length>i.length,o=i.every((function(t){return n.metric[t]===e[0].metric[t]}));return a&&o}))},xc=function(){var e={};return function(t,n,r){var i=Dc(t,r[t.group-1]),a=Object.keys(e).length;a>1]}(o),s=function(e){for(var t=e.length;t--;){var n=e[t];if(Number.isFinite(n))return n}}(o);return{label:i,freeFormFields:t.metric,width:1.4,stroke:e[i]||mc(i),show:!Ec(i,n),scale:"1",points:{size:4.2,width:1.4},calculations:{min:Xl(u,u,l),max:Xl(l,u,l),median:Xl(c,u,l),last:Xl(s,u,l)}}}},Cc=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields,calculations:e.calculations}},Ec=function(e,t){return t.includes("".concat(e))},Sc=function(e){var t=e.u,n=e.id,i=e.unit,a=void 0===i?"":i,o=e.cursor,u=e.tooltipOffset,l=e.isSticky,c=e.onClose,s=e.startDate,f=e.endDate,d=e.metricName,h=e.fields,p=e.valueFormat,m=e.value,g=(0,r.useRef)(null),y=v((0,r.useState)({top:-999,left:-999}),2),_=y[0],b=y[1],D=v((0,r.useState)(!1),2),w=D[0],k=D[1],x=v((0,r.useState)(!1),2),C=x[0],E=x[1],S=(0,r.useMemo)((function(){return t.root.querySelector(".u-wrap")}),[t]),A=function(e){if(w){var t=e.clientX,n=e.clientY;b({top:n,left:t})}},N=function(){k(!1)};return(0,r.useEffect)((function(){if(g.current){var e=o.top,n=o.left,r=g.current.getBoundingClientRect(),i=r.width,a=r.height,l=t.over.getBoundingClientRect(),c=n+i>=l.width?i+20:0,s=e+a>=l.height?a+20:0;b({top:e+u.top+10-s,left:n+u.left+10-c})}}),[t,o,u,g]),(0,r.useEffect)((function(){return w&&(document.addEventListener("mousemove",A),document.addEventListener("mouseup",N)),function(){document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",N)}}),[w]),S&&o.left&&o.top&&m?r.default.createPortal(Lt("div",{className:mr()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":l,"vm-chart-tooltip_moved":C}),ref:g,style:_,children:[Lt("div",{className:"vm-chart-tooltip-header",children:[Lt("div",{className:"vm-chart-tooltip-header__date vm-chart-tooltip-header__date_range",children:[Lt("span",{children:s}),Lt("span",{children:f})]}),l&&Lt(Ot.HY,{children:[Lt(ei,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Lt(ir,{}),onMouseDown:function(e){E(!0),k(!0);var t=e.clientX,n=e.clientY;b({top:n,left:t})}}),Lt(ei,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Lt(Tn,{}),onClick:function(){c&&c(n)}})]})]}),Lt("div",{className:"vm-chart-tooltip-data",children:Lt("p",{children:[d,":",Lt("b",{className:"vm-chart-tooltip-data__value",children:p}),a]})}),!!h.length&&Lt("div",{className:"vm-chart-tooltip-info",children:h.map((function(e,t){return Lt("div",{children:e},"".concat(e,"_").concat(t))}))})]}),S):null};!function(e){e.xRange="xRange",e.yRange="yRange"}(sc||(sc={}));var Ac=function(e){var t=e.data,n=e.metrics,i=void 0===n?[]:n,o=e.period,u=e.yaxis,l=e.unit,c=e.setPeriod,s=e.container,f=e.height,d=e.onChangeLegend,h=Bt().isDarkTheme,p=(0,r.useRef)(null),m=v((0,r.useState)(!1),2),g=m[0],y=m[1],b=v((0,r.useState)({min:o.start,max:o.end}),2),D=b[0],w=b[1],k=v((0,r.useState)(),2),x=k[0],C=k[1],E=v((0,r.useState)(0),2),S=E[0],A=E[1],N=hr(s),M=v((0,r.useState)(null),2),F=M[0],O=M[1],T=v((0,r.useState)({left:0,top:0}),2),L=T[0],I=T[1],B=v((0,r.useState)([]),2),P=B[0],R=B[1],z=(0,r.useMemo)((function(){return"".concat(null===F||void 0===F?void 0:F.fields.join(","),"_").concat(null===F||void 0===F?void 0:F.startDate)}),[F]),j=(0,r.useCallback)(lc()((function(e){var t=e.min,n=e.max;isNaN(t)||isNaN(n)||c({from:a()(1e3*t).toDate(),to:a()(1e3*n).toDate()})}),500),[]),$=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);iqt||(t.setScale("x",{min:n,max:r}),w({min:n,max:r}),j({min:n,max:r}))},H=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,a=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(x&&!a){var o="+"===i||"="===i;if(("-"===i||o)&&!n&&!r){e.preventDefault();var u=(D.max-D.min)/10*(o?1:-1);$({u:x,min:D.min+u,max:D.max-u})}}},Y=function(){if(F){var e="".concat(null===F||void 0===F?void 0:F.fields.join(","),"_").concat(null===F||void 0===F?void 0:F.startDate),t=ot({id:e,unit:l,tooltipOffset:L},F);if(!P.find((function(t){return t.id===e}))){var n=JSON.parse(JSON.stringify(t));R((function(e){return[].concat(_(e),[n])}))}}},V=function(e){R((function(t){return t.filter((function(t){return t.id!==e}))}))},U=function(){return[D.min,D.max]},q=ac([{}],l),W=ot(ot({},Kl),{},{mode:2,tzDate:function(e){return a()(rn(on(e))).local().toDate()},series:[{},{paths:gc(),facets:[{scale:"x",auto:!0,sorted:1},{scale:"y",auto:!0}]}],axes:[].concat(_(q),[{scale:"y",stroke:q[0].stroke,font:q[0].font,size:ec,splits:i.map((function(e,t){return t})),values:i.map((function(e){return Object.entries(e.metric).map((function(e){return"".concat(e[0],"=").concat(JSON.stringify(e[1]))}))[0]}))}]),scales:{x:{time:!0},y:{log:2,time:!1,range:function(e,t,n){return[t-1,n+1]}}},width:N.width||400,height:f||500,plugins:[{hooks:{ready:function(e){var t=.9;I({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(n){var r=n.ctrlKey,i=n.metaKey;0===n.button&&(r||i)&&tc({u:e,e:n,setPanning:y,setPlotScale:$,factor:t})})),e.over.addEventListener("touchstart",(function(n){tc({u:e,e:n,setPanning:y,setPlotScale:$,factor:t})})),e.over.addEventListener("wheel",(function(n){if(n.ctrlKey||n.metaKey){n.preventDefault();var r=e.over.getBoundingClientRect().width,i=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,a=e.posToVal(i,"x"),o=(e.scales.x.max||0)-(e.scales.x.min||0),u=n.deltaY<0?o*t:o/t,l=a-i/r*u,c=l+u;e.batch((function(){return $({u:e,min:l,max:c})}))}}))},setCursor:function(e){var t=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,n=e.cursor.top&&e.cursor.top>0?e.cursor.top:0,r=e.data[1][0]||[];if(Array.isArray(r)){var o=e.posToVal(t,"x"),u=e.posToVal(n,"y"),l=r.findIndex((function(e,t){return o>=e&&o0?-1:1);x.batch((function(){return $({u:x,min:o+u,max:a-u})}))}};return(0,r.useEffect)((function(){return window.addEventListener("touchmove",J),window.addEventListener("touchstart",G),function(){window.removeEventListener("touchmove",J),window.removeEventListener("touchstart",G)}}),[x,S]),(0,r.useEffect)((function(){return Q(sc.xRange)}),[D]),(0,r.useEffect)((function(){return Q(sc.yRange)}),[u]),(0,r.useEffect)((function(){return!(null===F||void 0===F||!F.value)&&window.addEventListener("click",Y),function(){window.removeEventListener("click",Y)}}),[F,P]),(0,r.useEffect)((function(){d((null===F||void 0===F?void 0:F.value)||0)}),[F]),Lt("div",{className:mr()({"vm-line-chart":!0,"vm-line-chart_panning":g}),style:{minWidth:"".concat(N.width||400,"px"),minHeight:"".concat(f||500,"px")},children:[Lt("div",{className:"vm-line-chart__u-plot",ref:p}),x&&F&&Lt(Sc,ot(ot({},F),{},{unit:l,u:x,tooltipOffset:L,id:z})),x&&P.map((function(e){return(0,r.createElement)(Sc,ot(ot({},e),{},{isSticky:!0,u:x,key:e.id,onClose:V}))}))]})},Nc=function(e){var t=e.data,n=void 0===t?[]:t,i=e.period,a=e.customStep,o=e.query,u=e.yaxis,l=e.unit,c=e.showLegend,s=void 0===c||c,f=e.setYaxisLimits,d=e.setPeriod,h=e.alias,p=void 0===h?[]:h,m=e.fullWidth,y=void 0===m||m,b=e.height,D=e.isHistogram,w=Hr().isMobile,k=wn().timezone,x=(0,r.useMemo)((function(){return a||i.step||"1s"}),[i.step,a]),C=(0,r.useMemo)((function(){return yc(n,D)}),[D,n]),E=(0,r.useCallback)(xc(),[C]),S=v((0,r.useState)([[]]),2),A=S[0],N=S[1],M=v((0,r.useState)([]),2),F=M[0],O=M[1],T=v((0,r.useState)([]),2),L=T[0],I=T[1],B=v((0,r.useState)([]),2),P=B[0],R=B[1],z=v((0,r.useState)(0),2),j=z[0],$=z[1],H=function(e){var t=function(e,t){var n={},r=Object.values(e).flat(),i=rc(r)||0,a=nc(r)||1;return n[1]=t?oc(i,a):[i,a],n}(e,!D);f(t)};(0,r.useEffect)((function(){var e=[],t={},n=[],r=[{}];null===C||void 0===C||C.forEach((function(i){var a=E(i,P,p);r.push(a),n.push(Cc(a,i.group));var o,u=t[i.group]||[],l=g(i.values);try{for(l.s();!(o=l.n()).done;){var c=o.value;e.push(c[0]),u.push(wc(c[1]))}}catch(s){l.e(s)}finally{l.f()}t[i.group]=u}));var a=function(e,t,n){for(var r=Xt(t)||1,i=Array.from(new Set(e)).sort((function(e,t){return e-t})),a=n.start,o=Zt(n.end+r),u=0,l=[];a<=o;){for(;u=i.length||i[u]>a)&&l.push(a)}for(;l.length<2;)l.push(a),a=Zt(a+r);return l}(e,x,i),o=C.map((function(e){var t,n=[],r=e.values,i=r.length,o=0,u=g(a);try{for(u.s();!(t=u.n()).done;){for(var l=t.value;o1e10*h?n.map((function(){return f})):n}));o.unshift(a),H(t);var u=D?function(e){var t=e.slice(1,e.length),n=[],r=[];t.forEach((function(e,n){e.forEach((function(e,i){var a=i*t.length+n;r[a]=e}))})),e[0].forEach((function(e){var r=new Array(t.length).fill(e);n.push.apply(n,_(r))}));var i=new Array(n.length).fill(0).map((function(e,n){return n%t.length}));return[null,[n,i,r]]}(o):o;N(u),O(r),I(n)}),[C,k,D]),(0,r.useEffect)((function(){var e=[],t=[{}];null===C||void 0===C||C.forEach((function(n){var r=E(n,P,p);t.push(r),e.push(Cc(r,n.group))})),O(t),I(e)}),[P]);var Y=(0,r.useRef)(null);return Lt("div",{className:mr()({"vm-graph-view":!0,"vm-graph-view_full-width":y,"vm-graph-view_full-width_mobile":y&&w}),ref:Y,children:[(null===Y||void 0===Y?void 0:Y.current)&&!D&&Lt(fc,{data:A,series:F,metrics:C,period:i,yaxis:u,unit:l,setPeriod:d,container:null===Y||void 0===Y?void 0:Y.current,height:b}),(null===Y||void 0===Y?void 0:Y.current)&&D&&Lt(Ac,{data:A,metrics:C,period:i,yaxis:u,unit:l,setPeriod:d,container:null===Y||void 0===Y?void 0:Y.current,height:b,onChangeLegend:function(e){$(e)}}),!D&&s&&Lt(hc,{labels:L,query:o,onChange:function(e,t){R(function(e){var t=e.hideSeries,n=e.legend,r=e.metaKey,i=e.series,a=n.label,o=Ec(a,t),u=i.map((function(e){return e.label||""}));return r?o?t.filter((function(e){return e!==a})):[].concat(_(t),[a]):t.length?o?_(u.filter((function(e){return e!==a}))):[]:_(u.filter((function(e){return e!==a})))}({hideSeries:P,legend:e,metaKey:t,series:F}))}}),D&&s&&Lt(_c,{min:u.limits.range[1][0]||0,max:u.limits.range[1][1]||0,value:j})]})},Mc=function(e){var t=e.value,n=e.options,i=e.anchor,a=e.disabled,o=e.maxWords,u=void 0===o?1:o,l=e.minLength,c=void 0===l?2:l,s=e.fullWidth,f=e.selected,d=e.noOptionsText,h=e.label,p=e.disabledFullScreen,m=e.onSelect,g=e.onOpenAutocomplete,y=Hr().isMobile,_=(0,r.useRef)(null),b=v((0,r.useState)(!1),2),D=b[0],w=b[1],k=v((0,r.useState)(-1),2),x=k[0],C=k[1],E=(0,r.useMemo)((function(){if(!D)return[];try{var e=new RegExp(String(t),"i");return n.filter((function(n){return e.test(n)&&n!==t})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(r){return[]}}),[D,n,t]),S=(0,r.useMemo)((function(){return d&&!E.length}),[d,E]),A=function(){w(!1)},N=function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,i=e.shiftKey,a=n||r||i,o=E.length;if("ArrowUp"===t&&!a&&o&&(e.preventDefault(),C((function(e){return e<=0?0:e-1}))),"ArrowDown"===t&&!a&&o){e.preventDefault();var u=E.length-1;C((function(e){return e>=u?u:e+1}))}if("Enter"===t){var l=E[x];l&&m(l),f||A()}"Escape"===t&&A()};return(0,r.useEffect)((function(){var e=(t.match(/[a-zA-Z_:.][a-zA-Z0-9_:.]*/gm)||[]).length;w(t.length>c&&e<=u)}),[t]),(0,r.useEffect)((function(){return function(){if(_.current){var e=_.current.childNodes[x];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}(),window.addEventListener("keydown",N),function(){window.removeEventListener("keydown",N)}}),[x,E]),(0,r.useEffect)((function(){C(-1)}),[E]),(0,r.useEffect)((function(){g&&g(D)}),[D]),Lt(ti,{open:D,buttonRef:i,placement:"bottom-left",onClose:A,fullWidth:s,title:y?h:void 0,disabledFullScreen:p,children:Lt("div",{className:mr()({"vm-autocomplete":!0,"vm-autocomplete_mobile":y&&!p}),ref:_,children:[S&&Lt("div",{className:"vm-autocomplete__no-options",children:d}),E.map((function(e,t){return Lt("div",{className:mr()({"vm-list-item":!0,"vm-list-item_mobile":y,"vm-list-item_active":t===x,"vm-list-item_multiselect":f,"vm-list-item_multiselect_selected":null===f||void 0===f?void 0:f.includes(e)}),id:"$autocomplete$".concat(e),onClick:(n=e,function(){a||(m(n),f||A())}),children:[(null===f||void 0===f?void 0:f.includes(e))&&Lt(er,{}),Lt("span",{children:e})]},e);var n}))]})})},Fc=function(e){var t=e.value,n=e.onChange,i=e.onEnter,a=e.onArrowUp,o=e.onArrowDown,u=e.autocomplete,l=e.error,c=e.options,s=e.label,f=e.disabled,d=void 0!==f&&f,h=v((0,r.useState)(!1),2),p=h[0],m=h[1],g=(0,r.useRef)(null);return Lt("div",{className:"vm-query-editor",ref:g,children:[Lt(di,{value:t,label:s,type:"textarea",autofocus:!!t,error:l,onKeyDown:function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,u=e.shiftKey,l=n||r,c="ArrowDown"===t,s="Enter"===t;"ArrowUp"===t&&l&&(e.preventDefault(),a()),c&&l&&(e.preventDefault(),o()),!s||u||p||i()},onChange:n,disabled:d,inputmode:"search"}),u&&Lt(Mc,{disabledFullScreen:!0,value:t,options:c,anchor:g,onSelect:function(e){n(e)},onOpenAutocomplete:m})]})},Oc=function(e){var t,n=e.value,r=void 0!==n&&n,i=e.disabled,a=void 0!==i&&i,o=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.fullWidth,s=e.onChange;return Lt("div",{className:mr()((it(t={"vm-switch":!0,"vm-switch_full-width":c,"vm-switch_disabled":a,"vm-switch_active":r},"vm-switch_".concat(l,"_active"),r),it(t,"vm-switch_".concat(l),l),t)),onClick:function(){a||s(!r)},children:[Lt("div",{className:"vm-switch-track",children:Lt("div",{className:"vm-switch-track__thumb"})}),o&&Lt("span",{className:"vm-switch__label",children:o})]})},Tc=function(e){var t=e.isMobile,n=An().autocomplete,r=Nn(),i=Nr(),a=i.nocache,o=i.isTracingEnabled,u=Mr();return Lt("div",{className:mr()({"vm-additional-settings":!0,"vm-additional-settings_mobile":t}),children:[Lt(Oc,{label:"Autocomplete",value:n,onChange:function(){r({type:"TOGGLE_AUTOCOMPLETE"})},fullWidth:t}),Lt(Oc,{label:"Disable cache",value:a,onChange:function(){u({type:"TOGGLE_NO_CACHE"})},fullWidth:t}),Lt(Oc,{label:"Trace query",value:o,onChange:function(){u({type:"TOGGLE_QUERY_TRACING"})},fullWidth:t})]})},Lc=function(){var e=Hr().isMobile,t=v((0,r.useState)(!1),2),n=t[0],i=t[1],a=(0,r.useRef)(null);return e?Lt(Ot.HY,{children:[Lt("div",{ref:a,children:Lt(ei,{variant:"outlined",startIcon:Lt(fr,{}),onClick:function(){i((function(e){return!e}))}})}),Lt(ti,{open:n,buttonRef:a,placement:"bottom-left",onClose:function(){i(!1)},title:"Query settings",children:Lt(Tc,{isMobile:e})})]}):Lt(Tc,{})},Ic=function(e,t){return e.length===t.length&&e.every((function(e,n){return e===t[n]}))},Bc=function(e){var t=e.errors,n=e.queryOptions,i=e.onHideQuery,a=e.onRunQuery,o=Hr().isMobile,u=An(),l=u.query,c=u.queryHistory,s=u.autocomplete,f=Nn(),d=kn(),h=v((0,r.useState)(l||[]),2),p=h[0],m=h[1],g=v((0,r.useState)([]),2),y=g[0],b=g[1],D=mi(p),w=function(){f({type:"SET_QUERY_HISTORY",payload:p.map((function(e,t){var n=c[t]||{values:[]},r=e===n.values[n.values.length-1];return{index:n.values.length-Number(r),values:!r&&e?[].concat(_(n.values),[e]):n.values}}))}),f({type:"SET_QUERY",payload:p}),d({type:"RUN_QUERY"}),a()},k=function(e,t){m((function(n){return n.map((function(n,r){return r===t?e:n}))}))},x=function(e,t){return function(){!function(e,t){var n=c[t],r=n.index,i=n.values,a=r+e;a<0||a>=i.length||(k(i[a]||"",t),f({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:i,index:a},queryNumber:t}}))}(e,t)}},C=function(e){return function(t){k(t,e)}},E=function(e){return function(){var t;t=e,m((function(e){return e.filter((function(e,n){return n!==t}))})),b((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):t.map((function(t){return t>e?t-1:t}))}))}},S=function(e){return function(t){!function(e,t){var n=e.ctrlKey,r=e.metaKey;if(n||r){var i=p.map((function(e,t){return t})).filter((function(e){return e!==t}));b((function(e){return Ic(i,e)?[]:i}))}else b((function(e){return e.includes(t)?e.filter((function(e){return e!==t})):[].concat(_(e),[t])}))}(t,e)}};return(0,r.useEffect)((function(){D&&p.length1&&Lt(ai,{title:"Remove Query",children:Lt("div",{className:"vm-query-configurator-list-row__button",children:Lt(ei,{variant:"text",color:"error",startIcon:Lt(Zn,{}),onClick:E(r)})})})]},r)}))}),Lt("div",{className:"vm-query-configurator-settings",children:[Lt(Lc,{}),Lt("div",{className:"vm-query-configurator-settings__buttons",children:[p.length<4&&Lt(ei,{variant:"outlined",onClick:function(){m((function(e){return[].concat(_(e),[""])}))},startIcon:Lt(Kn,{}),children:"Add Query"}),Lt(ei,{variant:"contained",onClick:w,startIcon:Lt(qn,{}),children:o?"Execute":"Execute Query"})]})]})]})};function Pc(e){var t,n,r,i=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new Rc(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function Rc(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return Rc=function(e){this.s=e,this.n=e.next},Rc.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new Rc(e)}var zc=n(936),jc=n.n(zc),$c=0,Hc=function(){function e(t,n){b(this,e),this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=t,this.originalTracing=JSON.parse(JSON.stringify(t)),this.query=n,this.id=$c++;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n)}))}return x(e,[{key:"queryValue",get:function(){return this.query}},{key:"idValue",get:function(){return this.id}},{key:"children",get:function(){return this.tracingChildren}},{key:"message",get:function(){return this.tracing.message}},{key:"duration",get:function(){return this.tracing.duration_msec}},{key:"JSON",get:function(){return JSON.stringify(this.tracing,null,2)}},{key:"originalJSON",get:function(){return JSON.stringify(this.originalTracing,null,2)}},{key:"setTracing",value:function(t){var n=this;this.tracing=t;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n.query)}))}},{key:"setQuery",value:function(e){this.query=e}},{key:"resetTracing",value:function(){this.tracing=this.originalTracing}}]),e}(),Yc=function(e){var t=e.predefinedQuery,n=e.visible,i=e.display,a=e.customStep,o=e.hideQuery,u=e.showAllSeries,l=An().query,c=wn().period,s=Nr(),f=s.displayType,d=s.nocache,h=s.isTracingEnabled,p=s.seriesLimits,m=Bt().serverUrl,g=v((0,r.useState)(!1),2),y=g[0],b=g[1],D=v((0,r.useState)(),2),w=D[0],k=D[1],x=v((0,r.useState)(),2),C=x[0],E=x[1],S=v((0,r.useState)(),2),A=S[0],N=S[1],M=v((0,r.useState)(),2),F=M[0],O=M[1],T=v((0,r.useState)([]),2),L=T[0],I=T[1],B=v((0,r.useState)(),2),P=B[0],R=B[1],z=v((0,r.useState)([]),2),j=z[0],$=z[1],H=v((0,r.useState)(!1),2),Y=H[0],V=H[1],U=function(){var e=Wi(Ui().mark((function e(t){var n,r,i,a,o,u,l,c,s,f,d,h,p,m,v,g,y,D,w,x,C;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.fetchUrl,r=t.fetchQueue,i=t.displayType,a=t.query,o=t.stateSeriesLimits,u=t.showAllSeries,l=t.hideQuery,c=new AbortController,$([].concat(_(r),[c])),e.prev=3,s="chart"===i,f=u?1/0:+o[i]||1/0,d=[],h=[],p=1,m=0,v=!1,g=!1,e.prev=12,D=Ui().mark((function e(){var t,n,r,i,o;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=x.value,!(null===l||void 0===l?void 0:l.includes(p-1))){e.next=5;break}return p++,e.abrupt("return","continue");case 5:return e.next=7,fetch(t,{signal:c.signal});case 7:return n=e.sent,e.next=10,n.json();case 10:r=e.sent,n.ok?(I((function(e){return[].concat(_(e),[""])})),r.trace&&(i=new Hc(r.trace,a[p-1]),h.push(i)),o=f-d.length,r.data.result.slice(0,o).forEach((function(e){e.group=p,d.push(e)})),m+=r.data.result.length):(d.push({metric:{},values:[],group:p}),I((function(e){return[].concat(_(e),["".concat(r.errorType,"\r\n").concat(null===r||void 0===r?void 0:r.error)])}))),p++;case 13:case"end":return e.stop()}}),e)})),w=Pc(n);case 15:return e.next=17,w.next();case 17:if(!(v=!(x=e.sent).done)){e.next=25;break}return e.delegateYield(D(),"t0",19);case 19:if("continue"!==e.t0){e.next=22;break}return e.abrupt("continue",22);case 22:v=!1,e.next=15;break;case 25:e.next=31;break;case 27:e.prev=27,e.t1=e.catch(12),g=!0,y=e.t1;case 31:if(e.prev=31,e.prev=32,!v||null==w.return){e.next=36;break}return e.next=36,w.return();case 36:if(e.prev=36,!g){e.next=39;break}throw y;case 39:return e.finish(36);case 40:return e.finish(31);case 41:C="Showing ".concat(f," series out of ").concat(m," series due to performance reasons. Please narrow down the query, so it returns less series"),R(m>f?C:""),V(s&&kc(d)),s?k(d):E(d),N(h),e.next=51;break;case 48:e.prev=48,e.t2=e.catch(3),e.t2 instanceof Error&&"AbortError"!==e.t2.name&&O("".concat(e.t2.name,": ").concat(e.t2.message));case 51:b(!1);case 52:case"end":return e.stop()}}),e,null,[[3,48],[12,27,31,41],[32,,36,40]])})));return function(t){return e.apply(this,arguments)}}(),q=(0,r.useCallback)(jc()(U,300),[]),W=(0,r.useMemo)((function(){O(""),I([]);var e=null!==t&&void 0!==t?t:l,n="chart"===(i||f);if(c)if(m)if(e.every((function(e){return!e.trim()})))I(e.map((function(){return ut.validQuery})));else{if(Li(m)){var r=ot({},c);return r.step=a,e.map((function(e){return n?function(e,t,n,r,i){return"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(i?"&trace=1":"")}(m,e,r,d,h):function(e,t,n,r){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end).concat(r?"&trace=1":"")}(m,e,r,h)}))}O(ut.validServer)}else O(ut.emptyServer)}),[m,c,f,a,o]),Q=v((0,r.useState)([]),2),G=Q[0],J=Q[1];return(0,r.useEffect)((function(){var e=W===G&&!!t;n&&null!==W&&void 0!==W&&W.length&&!e&&(b(!0),q({fetchUrl:W,fetchQueue:j,displayType:i||f,query:null!==t&&void 0!==t?t:l,stateSeriesLimits:p,showAllSeries:u,hideQuery:o}),J(W))}),[W,n,p,u]),(0,r.useEffect)((function(){var e=j.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),$(j.filter((function(e){return!e.signal.aborted}))))}),[j]),{fetchUrl:W,isLoading:y,graphData:w,liveData:C,error:F,queryErrors:L,warning:P,traces:A,isHistogram:Y}},Vc=function(e){var t=e.data,n=qr().showInfoMessage,i=(0,r.useMemo)((function(){return JSON.stringify(t,null,2)}),[t]);return Lt("div",{className:"vm-json-view",children:[Lt("div",{className:"vm-json-view__copy",children:Lt(ei,{variant:"outlined",onClick:function(){navigator.clipboard.writeText(i),n({text:"Formatted JSON has been copied",type:"success"})},children:"Copy JSON"})}),Lt("pre",{className:"vm-json-view__code",children:Lt("code",{children:i})})]})},Uc=function(e){var t=e.yaxis,n=e.setYaxisLimits,i=e.toggleEnableLimits,a=Hr().isMobile,o=(0,r.useMemo)((function(){return Object.keys(t.limits.range)}),[t.limits.range]),u=(0,r.useCallback)(jc()((function(e,r,i){var a=t.limits.range;a[r][i]=+e,a[r][0]===a[r][1]||a[r][0]>a[r][1]||n(a)}),500),[t.limits.range]),l=function(e,t){return function(n){u(n,e,t)}};return Lt("div",{className:mr()({"vm-axes-limits":!0,"vm-axes-limits_mobile":a}),children:[Lt(Oc,{value:t.limits.enable,onChange:i,label:"Fix the limits for y-axis",fullWidth:a}),Lt("div",{className:"vm-axes-limits-list",children:o.map((function(e){return Lt("div",{className:"vm-axes-limits-list__inputs",children:[Lt(di,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:l(e,0)}),Lt(di,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:l(e,1)})]},e)}))})]})},qc="Axes settings",Wc=function(e){var t=e.yaxis,n=e.setYaxisLimits,i=e.toggleEnableLimits,a=(0,r.useRef)(null),o=v((0,r.useState)(!1),2),u=o[0],l=o[1],c=(0,r.useRef)(null);return Lt("div",{className:"vm-graph-settings",children:[Lt(ai,{title:qc,children:Lt("div",{ref:c,children:Lt(ei,{variant:"text",startIcon:Lt(On,{}),onClick:function(){l((function(e){return!e}))}})})}),Lt(ti,{open:u,buttonRef:c,placement:"bottom-right",onClose:function(){l(!1)},title:qc,children:Lt("div",{className:"vm-graph-settings-popper",ref:a,children:Lt("div",{className:"vm-graph-settings-popper__body",children:Lt(Uc,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:i})})})})]})},Qc=function(e){var t=e.containerStyles,n=void 0===t?{}:t,r=e.message,i=Bt().isDarkTheme;return Lt("div",{className:mr()({"vm-spinner":!0,"vm-spinner_dark":i}),style:n&&{},children:[Lt("div",{className:"half-circle-spinner",children:[Lt("div",{className:"circle circle-1"}),Lt("div",{className:"circle circle-2"})]}),r&&Lt("div",{className:"vm-spinner__message",children:r})]})},Gc=function(e){var t=e.value;return Lt("div",{className:"vm-line-progress",children:[Lt("div",{className:"vm-line-progress-track",children:Lt("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Lt("span",{children:[t.toFixed(2),"%"]})]})},Jc=function e(t){var n=t.trace,i=t.totalMsec,a=Bt().isDarkTheme,o=Hr().isMobile,u=v((0,r.useState)({}),2),l=u[0],c=u[1],s=(0,r.useRef)(null),f=v((0,r.useState)(!1),2),d=f[0],h=f[1],p=v((0,r.useState)(!1),2),m=p[0],g=p[1];(0,r.useEffect)((function(){if(s.current){var e=s.current,t=s.current.children[0].getBoundingClientRect().height;h(t>e.clientHeight)}}),[n]);var y,_=n.children&&!!n.children.length,b=n.duration/i*100;return Lt("div",{className:mr()({"vm-nested-nav":!0,"vm-nested-nav_dark":a,"vm-nested-nav_mobile":o}),children:[Lt("div",{className:"vm-nested-nav-header",onClick:(y=n.idValue,function(){c((function(e){return ot(ot({},e),{},it({},y,!e[y]))}))}),children:[_&&Lt("div",{className:mr()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":l[n.idValue]}),children:Lt(jn,{})}),Lt("div",{className:"vm-nested-nav-header__progress",children:Lt(Gc,{value:b})}),Lt("div",{className:mr()({"vm-nested-nav-header__message":!0,"vm-nested-nav-header__message_show-full":m}),ref:s,children:Lt("span",{children:n.message})}),Lt("div",{className:"vm-nested-nav-header-bottom",children:[Lt("div",{className:"vm-nested-nav-header-bottom__duration",children:"duration: ".concat(n.duration," ms")}),(d||m)&&Lt(ei,{variant:"text",size:"small",onClick:function(e){e.stopPropagation(),g((function(e){return!e}))},children:m?"Hide":"Show more"})]})]}),l[n.idValue]&&Lt("div",{children:_&&n.children.map((function(t){return Lt(e,{trace:t,totalMsec:i},t.duration)}))})]})},Zc=function(e){var t=e.editable,n=void 0!==t&&t,i=e.defaultTile,a=void 0===i?"JSON":i,o=e.displayTitle,u=void 0===o||o,l=e.defaultJson,c=void 0===l?"":l,s=e.resetValue,f=void 0===s?"":s,d=e.onClose,h=e.onUpload,p=qr().showInfoMessage,m=Hr().isMobile,g=v((0,r.useState)(c),2),y=g[0],_=g[1],b=v((0,r.useState)(a),2),D=b[0],w=b[1],k=v((0,r.useState)(""),2),x=k[0],C=k[1],E=v((0,r.useState)(""),2),S=E[0],A=E[1],N=(0,r.useMemo)((function(){try{var e=JSON.parse(y),t=e.trace||e;return t.duration_msec?(new Hc(t,""),""):ut.traceNotFound}catch(n){return n instanceof Error?n.message:"Unknown error"}}),[y]),M=function(){var e=Wi(Ui().mark((function e(){return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(y);case 2:p({text:"Formatted JSON has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),F=function(){A(N),D.trim()||C(ut.emptyTitle),N||x||(h(y,D),d())};return Lt("div",{className:mr()({"vm-json-form":!0,"vm-json-form_one-field":!u,"vm-json-form_one-field_mobile":!u&&m,"vm-json-form_mobile":m}),children:[u&&Lt(di,{value:D,label:"Title",error:x,onEnter:F,onChange:function(e){w(e)}}),Lt(di,{value:y,label:"JSON",type:"textarea",error:S,autofocus:!0,onChange:function(e){A(""),_(e)},disabled:!n}),Lt("div",{className:"vm-json-form-footer",children:[Lt("div",{className:"vm-json-form-footer__controls",children:[Lt(ei,{variant:"outlined",startIcon:Lt(rr,{}),onClick:M,children:"Copy JSON"}),f&&Lt(ei,{variant:"text",startIcon:Lt(Ln,{}),onClick:function(){_(f)},children:"Reset JSON"})]}),Lt("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Lt(ei,{variant:"outlined",color:"error",onClick:d,children:"Cancel"}),Lt(ei,{variant:"contained",onClick:F,children:"apply"})]})]})]})},Kc=function(e){var t=e.traces,n=e.jsonEditor,i=void 0!==n&&n,a=e.onDeleteClick,o=Hr().isMobile,u=v((0,r.useState)(null),2),l=u[0],c=u[1],s=function(){c(null)};if(!t.length)return Lt(Vr,{variant:"info",children:"Please re-run the query to see results of the tracing"});var f=function(e){return function(){a(e)}};return Lt(Ot.HY,{children:[Lt("div",{className:"vm-tracings-view",children:t.map((function(e){return Lt("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Lt("div",{className:"vm-tracings-view-trace-header",children:[Lt("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Lt("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Lt(ai,{title:"Open JSON",children:Lt(ei,{variant:"text",startIcon:Lt(Jn,{}),onClick:(t=e,function(){c(t)})})}),Lt(ai,{title:"Remove trace",children:Lt(ei,{variant:"text",color:"error",startIcon:Lt(Zn,{}),onClick:f(e)})})]}),Lt("nav",{className:mr()({"vm-tracings-view-trace__nav":!0,"vm-tracings-view-trace__nav_mobile":o}),children:Lt(Jc,{trace:e,totalMsec:e.duration})})]},e.idValue);var t}))}),l&&Lt(ii,{title:l.queryValue,onClose:s,children:Lt(Zc,{editable:i,displayTitle:i,defaultTile:l.queryValue,defaultJson:l.JSON,resetValue:l.originalJSON,onClose:s,onUpload:function(e,t){if(i&&l)try{l.setTracing(JSON.parse(e)),l.setQuery(t),c(null)}catch(n){console.error(n)}}})})]})},Xc=function(e,t){return(0,r.useMemo)((function(){var n={};e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return n[e[0]]?n[e[0]].options.add(e[1]):n[e[0]]={options:new Set([e[1]])}}))}));var r=Object.entries(n).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}));return t?r.filter((function(e){return t.includes(e.key)})):r}),[e,t])},es=function(e){var t,n=e.checked,r=void 0!==n&&n,i=e.disabled,a=void 0!==i&&i,o=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Lt("div",{className:mr()((it(t={"vm-checkbox":!0,"vm-checkbox_disabled":a,"vm-checkbox_active":r},"vm-checkbox_".concat(l,"_active"),r),it(t,"vm-checkbox_".concat(l),l),t)),onClick:function(){a||c(!r)},children:[Lt("div",{className:"vm-checkbox-track",children:Lt("div",{className:"vm-checkbox-track__thumb",children:Lt(er,{})})}),o&&Lt("span",{className:"vm-checkbox__label",children:o})]})},ts="Table settings",ns=function(e){var t=e.data,n=e.defaultColumns,i=void 0===n?[]:n,a=e.onChange,o=Hr().isMobile,u=Nr().tableCompact,l=Mr(),c=Xc(t),s=(0,r.useRef)(null),f=v((0,r.useState)(!1),2),d=f[0],h=f[1],p=(0,r.useMemo)((function(){return!c.length}),[c]),m=function(e){return function(){!function(e){a(i.includes(e)?i.filter((function(t){return t!==e})):[].concat(_(i),[e]))}(e)}};return(0,r.useEffect)((function(){var e=c.map((function(e){return e.key}));Ic(e,i)||a(e)}),[c]),Lt("div",{className:"vm-table-settings",children:[Lt(ai,{title:ts,children:Lt("div",{ref:s,children:Lt(ei,{variant:"text",startIcon:Lt(On,{}),onClick:function(){h((function(e){return!e}))},disabled:p})})}),Lt(ti,{open:d,onClose:function(){h(!1)},placement:"bottom-right",buttonRef:s,title:ts,children:Lt("div",{className:mr()({"vm-table-settings-popper":!0,"vm-table-settings-popper_mobile":o}),children:[Lt("div",{className:"vm-table-settings-popper-list vm-table-settings-popper-list_first",children:Lt(Oc,{label:"Compact view",value:u,onChange:function(){l({type:"TOGGLE_TABLE_COMPACT"})}})}),Lt("div",{className:"vm-table-settings-popper-list",children:[Lt("div",{className:"vm-table-settings-popper-list-header",children:[Lt("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Lt(ai,{title:"Reset to default",children:Lt(ei,{color:"primary",variant:"text",size:"small",onClick:function(){h(!1),a(c.map((function(e){return e.key})))},startIcon:Lt(Ln,{})})})]}),c.map((function(e){return Lt("div",{className:"vm-table-settings-popper-list__item",children:Lt(es,{checked:i.includes(e.key),onChange:m(e.key),label:e.key,disabled:u})},e.key)}))]})]})})]})};function rs(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(function(e){return!!e[1]}))}var is=["__name__"],as=function(e){var t=e.data,n=e.displayColumns,i=qr().showInfoMessage,a=Hr().isMobile,o=Nr().tableCompact,u=hr(document.body),l=(0,r.useRef)(null),c=v((0,r.useState)(0),2),s=c[0],f=c[1],d=v((0,r.useState)(0),2),h=d[0],p=d[1],m=v((0,r.useState)(""),2),g=m[0],y=m[1],_=v((0,r.useState)("asc"),2),b=_[0],D=_[1],w=o?Xc([{group:0,metric:{Data:"Data"}}],["Data"]):Xc(t,n),k=function(e){var t=e.__name__,n=vr(e,is);return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},x=new Set(null===t||void 0===t?void 0:t.map((function(e){return e.group}))).size>1,C=(0,r.useMemo)((function(){var e=null===t||void 0===t?void 0:t.map((function(e){return{metadata:w.map((function(t){return o?Dc(e,"",x):e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-",values:e.values?e.values.map((function(e){var t=v(e,2),n=t[0],r=t[1];return"".concat(r," @").concat(n)})):[],copyValue:k(e.metric)}})),n="Value"===g,r=w.findIndex((function(e){return e.key===g}));return n||-1!==r?e.sort((function(e,t){var i=n?Number(e.value):e.metadata[r],a=n?Number(t.value):t.metadata[r];return("asc"===b?ia)?-1:1})):e}),[w,t,g,b,o]),E=(0,r.useMemo)((function(){return C.some((function(e){return e.copyValue}))}),[C]),S=function(){var e=Wi(Ui().mark((function e(t){return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:i({text:"Row has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),A=function(e){return function(){!function(e){D((function(t){return"asc"===t&&g===e?"desc":"asc"})),y(e)}(e)}},N=function(){if(l.current){var e=l.current.getBoundingClientRect().top;p(e<0?window.scrollY-s:0)}};return(0,r.useEffect)((function(){return window.addEventListener("scroll",N),function(){window.removeEventListener("scroll",N)}}),[l,s,u]),(0,r.useEffect)((function(){if(l.current){var e=l.current.getBoundingClientRect().top;f(e+window.scrollY)}}),[l,u]),C.length?Lt("div",{className:mr()({"vm-table-view":!0,"vm-table-view_mobile":a}),children:Lt("table",{className:"vm-table",ref:l,children:[Lt("thead",{className:"vm-table-header",children:Lt("tr",{className:"vm-table__row vm-table__row_header",style:{transform:"translateY(".concat(h,"px)")},children:[w.map((function(e,t){return Lt("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:A(e.key),children:Lt("div",{className:"vm-table-cell__content",children:[e.key,Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":g===e.key,"vm-table__sort-icon_desc":"desc"===b&&g===e.key}),children:Lt($n,{})})]})},t)})),Lt("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:A("Value"),children:Lt("div",{className:"vm-table-cell__content",children:[Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===g,"vm-table__sort-icon_desc":"desc"===b}),children:Lt($n,{})}),"Value"]})}),E&&Lt("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Lt("tbody",{className:"vm-table-body",children:C.map((function(e,t){return Lt("tr",{className:"vm-table__row",children:[e.metadata.map((function(e,n){return Lt("td",{className:mr()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":C[t-1]&&C[t-1].metadata[n]===e}),children:e},n)})),Lt("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((function(e){return Lt("p",{children:e},e)})):e.value}),E&&Lt("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Lt("div",{className:"vm-table-cell__content",children:Lt(ai,{title:"Copy row",children:Lt(ei,{variant:"text",color:"gray",size:"small",startIcon:Lt(rr,{}),onClick:(n=e.copyValue,function(){S(n)})})})})})]},t);var n}))})]})}):Lt(Vr,{variant:"warning",children:"No data to show"})},os=function(e){var t=v((0,r.useState)(!!e),2),n=t[0],i=t[1],a=(0,r.useCallback)((function(){return i(!0)}),[]),o=(0,r.useCallback)((function(){return i(!1)}),[]),u=(0,r.useCallback)((function(){return i((function(e){return!e}))}),[]);return{value:n,setValue:i,setTrue:a,setFalse:o,toggle:u}},us=Lt("code",{children:$r()?"Cmd":"Ctrl"}),ls=[{title:"Zoom in",description:Lt(Ot.HY,{children:["To zoom in, hold down the ",us," + ",Lt("code",{children:"scroll up"}),", or press the ",Lt("code",{children:"+"}),". Also, you can zoom in on a range on the graph by holding down your mouse button and selecting the range."]})},{title:"Zoom out",description:Lt(Ot.HY,{children:["To zoom out, hold down the ",us," + ",Lt("code",{children:"scroll down"}),", or press the ",Lt("code",{children:"-"}),"."]})},{title:"Move horizontal axis",description:Lt(Ot.HY,{children:["To move the graph, hold down the ",us," + ",Lt("code",{children:"drag"})," the graph to the right or left."]})},{title:"Fixing a tooltip",description:Lt(Ot.HY,{children:["To fix the tooltip, ",Lt("code",{children:"click"})," mouse when it's open. Then, you can drag the fixed tooltip by ",Lt("code",{children:"clicking"})," and ",Lt("code",{children:"dragging"})," on the ",Lt(ir,{})," icon."]})},{title:"Set a custom range for the vertical axis",description:Lt(Ot.HY,{children:["To set a custom range for the vertical axis, click on the ",Lt(On,{})," icon located in the upper right corner of the graph, activate the toggle, and set the values."]})}],cs=[{title:"Show/hide a legend item",description:Lt(Ot.HY,{children:[Lt("code",{children:"click"})," on a legend item to isolate it on the graph.",us," + ",Lt("code",{children:"click"})," on a legend item to remove it from the graph. To revert to the previous state, click again."]})},{title:"Copy key-value pairs",description:Lt(Ot.HY,{children:[Lt("code",{children:"click"})," on a key-value pair to save it to the clipboard."]})},{title:"Collapse/Expand the legend group",description:Lt(Ot.HY,{children:[Lt("code",{children:"click"})," on the group name (e.g. ",Lt("b",{children:'Query 1: {name!=""}'}),") to collapse or expand the legend."]})}],ss=ls.concat(cs),fs=function(){var e=os(!1),t=e.value,n=e.setFalse,r=e.setTrue;return Lt(Ot.HY,{children:[Lt(ai,{title:"Show tips on working with the graph",children:Lt(ei,{variant:"text",color:"gray",startIcon:Lt(dr,{}),onClick:r})}),t&&Lt(ii,{title:"Tips on working with the graph and the legend",onClose:n,children:Lt("div",{className:"fc-graph-tips",children:ss.map((function(e){var t=e.title,n=e.description;return Lt("div",{className:"fc-graph-tips-item",children:[Lt("h4",{className:"fc-graph-tips-item__action",children:t}),Lt("p",{className:"fc-graph-tips-item__description",children:n})]},t)}))})})]})},ds=function(e){var t=e.text,n=e.href,r=e.children,i=e.colored,a=void 0===i||i,o=e.underlined,u=void 0!==o&&o;return Lt("a",{href:n,className:mr()({"vm-link":!0,"vm-link_colored":a,"vm-link_underlined":u}),target:"_blank",rel:"noreferrer",children:t||r})},hs=Lt(ds,{text:"last_over_time",href:"https://docs.victoriametrics.com/MetricsQL.html#last_over_time",underlined:!0}),ps=Lt(ds,{text:"instant query",href:"https://docs.victoriametrics.com/keyConcepts.html#instant-query",underlined:!0}),ms=function(){return Lt("div",{children:[Lt("p",{children:["This tab shows ",ps," results for the last 5 minutes ending at the selected time range."]}),Lt("p",{children:["Please wrap the query into ",hs," if you need results over arbitrary lookbehind interval."]})]})},vs=function(){var e=Nr(),t=e.displayType,n=e.isTracingEnabled,i=An().query,a=wn().period,o=kn(),u=Hr().isMobile;!function(){var e=Bt().tenantId,t=Nr().displayType,n=An().query,i=wn(),a=i.duration,o=i.relativeTime,u=i.period,l=u.date,c=u.step,s=Lr().customStep,f=v(nt(),2)[1],d=function(){var r={};n.forEach((function(n,i){var u,f="g".concat(i);r["".concat(f,".expr")]=n,r["".concat(f,".range_input")]=a,r["".concat(f,".end_input")]=l,r["".concat(f,".tab")]=(null===(u=Dr.find((function(e){return e.value===t})))||void 0===u?void 0:u.prometheusCode)||0,r["".concat(f,".relative_time")]=o,r["".concat(f,".tenantID")]=e,c!==s&&s&&(r["".concat(f,".step_input")]=s)})),f(rs(r))};(0,r.useEffect)(d,[e,t,n,a,o,l,c,s]),(0,r.useEffect)(d,[])}();var l=v((0,r.useState)(),2),c=l[0],s=l[1],f=v((0,r.useState)([]),2),d=f[0],h=f[1],p=v((0,r.useState)([]),2),m=p[0],g=p[1],y=v((0,r.useState)(!1),2),b=y[0],D=y[1],w=v((0,r.useState)(!i[0]),2),k=w[0],x=w[1],C=Lr(),E=C.customStep,S=C.yaxis,A=Ir(),N=function(){var e=Bt().serverUrl,t=v((0,r.useState)([]),2),n=t[0],i=t[1],a=function(){var t=Wi(Ui().mark((function t(){var n,r,a;return Ui().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return n="".concat(e,"/api/v1/label/__name__/values"),t.prev=3,t.next=6,fetch(n);case 6:return r=t.sent,t.next=9,r.json();case 9:a=t.sent,r.ok&&i(a.data),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(3),console.error(t.t0);case 16:case"end":return t.stop()}}),t,null,[[3,13]])})));return function(){return t.apply(this,arguments)}}();return(0,r.useEffect)((function(){a()}),[e]),{queryOptions:n}}(),M=N.queryOptions,F=Yc({visible:!0,customStep:E,hideQuery:m,showAllSeries:b}),O=F.isLoading,T=F.liveData,L=F.graphData,I=F.error,B=F.queryErrors,P=F.warning,R=F.traces,z=F.isHistogram,j=function(e){A({type:"SET_YAXIS_LIMITS",payload:e})};return(0,r.useEffect)((function(){R&&h([].concat(_(d),_(R)))}),[R]),(0,r.useEffect)((function(){h([])}),[t]),(0,r.useEffect)((function(){D(!1)}),[i]),(0,r.useEffect)((function(){A({type:"SET_IS_HISTOGRAM",payload:z})}),[z]),Lt("div",{className:mr()({"vm-custom-panel":!0,"vm-custom-panel_mobile":u}),children:[Lt(Bc,{errors:k?[]:B,queryOptions:M,onHideQuery:function(e){g(e)},onRunQuery:function(){x(!1)}}),n&&Lt("div",{className:"vm-custom-panel__trace",children:Lt(Kc,{traces:d,onDeleteClick:function(e){var t=d.filter((function(t){return t.idValue!==e.idValue}));h(_(t))}})}),O&&Lt(Qc,{}),!k&&I&&Lt(Vr,{variant:"error",children:I}),!(null!==T&&void 0!==T&&T.length)&&"chart"!==t&&Lt(Vr,{variant:"info",children:Lt(ms,{})}),P&&Lt(Vr,{variant:"warning",children:Lt("div",{className:mr()({"vm-custom-panel__warning":!0,"vm-custom-panel__warning_mobile":u}),children:[Lt("p",{children:P}),Lt(ei,{color:"warning",variant:"outlined",onClick:function(){D(!0)},children:"Show all"})]})}),Lt("div",{className:mr()({"vm-custom-panel-body":!0,"vm-custom-panel-body_mobile":u,"vm-block":!0,"vm-block_mobile":u}),children:[Lt("div",{className:"vm-custom-panel-body-header",children:[Lt(wr,{}),"chart"===t&&Lt("div",{className:"vm-custom-panel-body-header__left",children:[Lt(fs,{}),Lt(Wc,{yaxis:S,setYaxisLimits:j,toggleEnableLimits:function(){A({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}})]}),"table"===t&&Lt(ns,{data:T||[],defaultColumns:c,onChange:s})]}),L&&a&&"chart"===t&&Lt(Nc,{data:L,period:a,customStep:E,query:i,yaxis:S,setYaxisLimits:j,setPeriod:function(e){var t=e.from,n=e.to;o({type:"SET_PERIOD",payload:{from:t,to:n}})},height:u?.5*window.innerHeight:500,isHistogram:z}),T&&"code"===t&&Lt(Vc,{data:T}),T&&"table"===t&&Lt(as,{data:T,displayColumns:c})]})]})};function gs(){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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var ys={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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var _s=/[&<>"']/,bs=new RegExp(_s.source,"g"),Ds=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,ws=new RegExp(Ds.source,"g"),ks={"&":"&","<":"<",">":">",'"':""","'":"'"},xs=function(e){return ks[e]};function Cs(e,t){if(t){if(_s.test(e))return e.replace(bs,xs)}else if(Ds.test(e))return e.replace(ws,xs);return e}var Es=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Ss(e){return e.replace(Es,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var As=/(^|[^\[])\^/g;function Ns(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(As,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var Ms=/[^\w:]/g,Fs=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Os(e,t,n){if(e){var r;try{r=decodeURIComponent(Ss(n)).replace(Ms,"").toLowerCase()}catch(i){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!Fs.test(n)&&(n=function(e,t){Ts[" "+e]||(Ls.test(e)?Ts[" "+e]=e+"/":Ts[" "+e]=js(e,"/",!0));e=Ts[" "+e];var n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(Is,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(Bs,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(i){return null}return n}var Ts={},Ls=/^[^:]+:\/*[^/]*$/,Is=/^([^:]+:)[\s\S]*$/,Bs=/^([^:]+:\/*[^/]*)[\s\S]*$/;var Ps={exec:function(){}};function Rs(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function Ys(e,t,n,r){var i=t.href,a=t.title?Cs(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var u={type:"link",raw:n,href:i,title:a,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,u}return{type:"image",raw:n,href:i,title:a,text:Cs(o)}}var Vs=function(){function e(t){b(this,e),this.options=t||ys}return x(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:js(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:v(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:r}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=js(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,""),r=this.lexer.state.top;this.lexer.state.top=!0;var i=this.lexer.blockTokens(n);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:i,text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,i,a,o,u,l,c,s,f,d,h,p=t[1].trim(),m=p.length>1,v={type:"list",raw:"",ordered:m,start:m?+p.slice(0,-1):"",loose:!1,items:[]};p=m?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=m?p:"[*+-]");for(var g=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(h=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0].replace(/^\t+/,(function(e){return" ".repeat(3*e.length)})),s=e.split("\n",1)[0],this.options.pedantic?(a=2,d=c.trimLeft()):(a=(a=t[2].search(/[^ ]/))>4?1:a,d=c.slice(a),a+=t[1].length),u=!1,!c&&/^ *$/.test(s)&&(n+=s+"\n",e=e.substring(s.length+1),h=!0),!h)for(var y=new RegExp("^ {0,".concat(Math.min(3,a-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))")),_=new RegExp("^ {0,".concat(Math.min(3,a-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),b=new RegExp("^ {0,".concat(Math.min(3,a-1),"}(?:```|~~~)")),D=new RegExp("^ {0,".concat(Math.min(3,a-1),"}#"));e&&(s=f=e.split("\n",1)[0],this.options.pedantic&&(s=s.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!b.test(s))&&!D.test(s)&&!y.test(s)&&!_.test(e);){if(s.search(/[^ ]/)>=a||!s.trim())d+="\n"+s.slice(a);else{if(u)break;if(c.search(/[^ ]/)>=4)break;if(b.test(c))break;if(D.test(c))break;if(_.test(c))break;d+="\n"+s}u||s.trim()||(u=!0),n+=f+"\n",e=e.substring(f.length+1),c=s.slice(a)}v.loose||(l?v.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d))&&(i="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,"")),v.items.push({type:"list_item",raw:n,task:!!r,checked:i,loose:!1,text:d}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=d.trimRight(),v.raw=v.raw.trimRight();var w=v.items.length;for(o=0;o0&&k.some((function(e){return/\n.*\n/.test(e.raw)}));v.loose=x}if(v.loose)for(o=0;o$/,"$1").replace(this.rules.inline._escapes,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:r,title:i}}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:zs(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,i,a,o,u=n.align.length;for(r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Cs(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var r=js(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var i=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,i=0;i-1){var a=(0===t[0].indexOf("!")?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,a).trim(),t[3]=""}}var o=t[2],u="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],u=l[3])}else u=t[3]?t[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),Ys(t,{href:o?o.replace(this.rules.inline._escapes,"$1"):o,title:u?u.replace(this.rules.inline._escapes,"$1"):u},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])){var i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return Ys(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.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\uDE3F\uDE40\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\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\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\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\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\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\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\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\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-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/))){var i=r[1]||r[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){var a,o,u=r[0].length-1,l=u,c=0,s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=s.exec(t));)if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(o=a.length,r[3]||r[4])l+=o;else if(!((r[5]||r[6])&&u%3)||(u+o)%3){if(!((l-=o)>0)){o=Math.min(o,o+l+c);var f=e.slice(0,u+r.index+(r[0].length-a.length)+o);if(Math.min(u,o)%2){var d=f.slice(1,-1);return{type:"em",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}var h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}else c+=o}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),i=/^ /.test(n)&&/ $/.test(n);return r&&i&&(n=n.substring(1,n.length-1)),n=Cs(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}},{key:"autolink",value:function(e,t){var n,r,i=this.rules.inline.autolink.exec(e);if(i)return r="@"===i[2]?"mailto:"+(n=Cs(this.options.mangle?t(i[1]):i[1])):n=Cs(i[1]),{type:"link",raw:i[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,i;if("@"===n[2])i="mailto:"+(r=Cs(this.options.mangle?t(n[0]):n[0]));else{var a;do{a=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(a!==n[0]);r=Cs(n[0]),i="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Cs(r[0]):r[0]:Cs(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),Us={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 *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Ps,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Us.def=Ns(Us.def).replace("label",Us._label).replace("title",Us._title).getRegex(),Us.bullet=/(?:[*+-]|\d{1,9}[.)])/,Us.listItemStart=Ns(/^( *)(bull) */).replace("bull",Us.bullet).getRegex(),Us.list=Ns(Us.list).replace(/bull/g,Us.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Us.def.source+")").getRegex(),Us._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",Us._comment=/|$)/,Us.html=Ns(Us.html,"i").replace("comment",Us._comment).replace("tag",Us._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Us.paragraph=Ns(Us._paragraph).replace("hr",Us.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",Us._tag).getRegex(),Us.blockquote=Ns(Us.blockquote).replace("paragraph",Us.paragraph).getRegex(),Us.normal=Rs({},Us),Us.gfm=Rs({},Us.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Us.gfm.table=Ns(Us.gfm.table).replace("hr",Us.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",Us._tag).getRegex(),Us.gfm.paragraph=Ns(Us._paragraph).replace("hr",Us.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Us.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",Us._tag).getRegex(),Us.pedantic=Rs({},Us.normal,{html:Ns("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Us._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:Ps,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ns(Us.normal._paragraph).replace("hr",Us.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Us.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var qs={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Ps,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:Ps,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}qs._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",qs.punctuation=Ns(qs.punctuation).replace(/punctuation/g,qs._punctuation).getRegex(),qs.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,qs.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,qs._comment=Ns(Us._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),qs.emStrong.lDelim=Ns(qs.emStrong.lDelim).replace(/punct/g,qs._punctuation).getRegex(),qs.emStrong.rDelimAst=Ns(qs.emStrong.rDelimAst,"g").replace(/punct/g,qs._punctuation).getRegex(),qs.emStrong.rDelimUnd=Ns(qs.emStrong.rDelimUnd,"g").replace(/punct/g,qs._punctuation).getRegex(),qs._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,qs._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,qs._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])?)+(?![-_])/,qs.autolink=Ns(qs.autolink).replace("scheme",qs._scheme).replace("email",qs._email).getRegex(),qs._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,qs.tag=Ns(qs.tag).replace("comment",qs._comment).replace("attribute",qs._attribute).getRegex(),qs._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,qs._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,qs._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,qs.link=Ns(qs.link).replace("label",qs._label).replace("href",qs._href).replace("title",qs._title).getRegex(),qs.reflink=Ns(qs.reflink).replace("label",qs._label).replace("ref",Us._label).getRegex(),qs.nolink=Ns(qs.nolink).replace("ref",Us._label).getRegex(),qs.reflinkSearch=Ns(qs.reflinkSearch,"g").replace("reflink",qs.reflink).replace("nolink",qs.nolink).getRegex(),qs.normal=Rs({},qs),qs.pedantic=Rs({},qs.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:Ns(/^!?\[(label)\]\((.*?)\)/).replace("label",qs._label).getRegex(),reflink:Ns(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",qs._label).getRegex()}),qs.gfm=Rs({},qs.normal,{escape:Ns(qs.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]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));for(var u=function(){if(a.options.extensions&&a.options.extensions.block&&a.options.extensions.block.some((function(n){return!!(t=n.call({lexer:a},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)})))return"continue";if(t=a.tokenizer.space(e))return e=e.substring(t.raw.length),1===t.raw.length&&o.length>0?o[o.length-1].raw+="\n":o.push(t),"continue";if(t=a.tokenizer.code(e))return e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?o.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,a.inlineQueue[a.inlineQueue.length-1].src=n.text),"continue";if(t=a.tokenizer.fences(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.heading(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.hr(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.blockquote(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.list(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.html(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.def(e))return e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?a.tokens.links[t.tag]||(a.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,a.inlineQueue[a.inlineQueue.length-1].src=n.text),"continue";if(t=a.tokenizer.table(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(t=a.tokenizer.lheading(e))return e=e.substring(t.raw.length),o.push(t),"continue";if(r=e,a.options.extensions&&a.options.extensions.startBlock){var u,l=1/0,c=e.slice(1);a.options.extensions.startBlock.forEach((function(e){"number"===typeof(u=e.call({lexer:this},c))&&u>=0&&(l=Math.min(l,u))})),l<1/0&&l>=0&&(r=e.substring(0,l+1))}if(a.state.top&&(t=a.tokenizer.paragraph(r)))return n=o[o.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,a.inlineQueue.pop(),a.inlineQueue[a.inlineQueue.length-1].src=n.text):o.push(t),i=r.length!==e.length,e=e.substring(t.raw.length),"continue";if(t=a.tokenizer.text(e))return e=e.substring(t.raw.length),(n=o[o.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,a.inlineQueue.pop(),a.inlineQueue[a.inlineQueue.length-1].src=n.text):o.push(t),"continue";if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(a.options.silent)return console.error(s),"break";throw new Error(s)}};e;){var l=u();if("continue"!==l&&"break"===l)break}return this.state.top=!0,o}},{key:"inline",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}},{key:"inlineTokens",value:function(e){var t,n,r,i,a,o,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],c=e;if(this.tokens.links){var s=Object.keys(this.tokens.links);if(s.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)s.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+Hs("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+Hs("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,i.index+i[0].length-2)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(var f=function(){if(a||(o=""),a=!1,u.options.extensions&&u.options.extensions.inline&&u.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)})))return"continue";if(t=u.tokenizer.escape(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.tag(e))return e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(t=u.tokenizer.link(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.reflink(e,u.tokens.links))return e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(t=u.tokenizer.emStrong(e,c,o))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.codespan(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.br(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.del(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.autolink(e,Qs))return e=e.substring(t.raw.length),l.push(t),"continue";if(!u.state.inLink&&(t=u.tokenizer.url(e,Qs)))return e=e.substring(t.raw.length),l.push(t),"continue";if(r=e,u.options.extensions&&u.options.extensions.startInline){var i,s=1/0,f=e.slice(1);u.options.extensions.startInline.forEach((function(e){"number"===typeof(i=e.call({lexer:this},f))&&i>=0&&(s=Math.min(s,i))})),s<1/0&&s>=0&&(r=e.substring(0,s+1))}if(t=u.tokenizer.inlineText(r,Ws))return e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),a=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(e){var d="Infinite loop on byte: "+e.charCodeAt(0);if(u.options.silent)return console.error(d),"break";throw new Error(d)}};e;){var d=f();if("continue"!==d&&"break"===d)break}return l}}],[{key:"rules",get:function(){return{block:Us,inline:qs}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),Js=function(){function e(t){b(this,e),this.options=t||ys}return x(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return e=e.replace(/\n$/,"")+"\n",r?'
    '+(n?e:Cs(e,!0))+"
    \n":"
    "+(n?e:Cs(e,!0))+"
    \n"}},{key:"blockquote",value:function(e){return"
    \n".concat(e,"
    \n")}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){if(this.options.headerIds){var i=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}},{key:"hr",value:function(){return this.options.xhtml?"
    \n":"
    \n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}},{key:"listitem",value:function(e){return"
  • ".concat(e,"
  • \n")}},{key:"checkbox",value:function(e){return" "}},{key:"paragraph",value:function(e){return"

    ".concat(e,"

    \n")}},{key:"table",value:function(e,t){return t&&(t="".concat(t,"")),"\n\n"+e+"\n"+t+"
    \n"}},{key:"tablerow",value:function(e){return"\n".concat(e,"\n")}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"\n")}},{key:"strong",value:function(e){return"".concat(e,"")}},{key:"em",value:function(e){return"".concat(e,"")}},{key:"codespan",value:function(e){return"".concat(e,"")}},{key:"br",value:function(){return this.options.xhtml?"
    ":"
    "}},{key:"del",value:function(e){return"".concat(e,"")}},{key:"link",value:function(e,t,n){if(null===(e=Os(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "}},{key:"image",value:function(e,t,n){if(null===(e=Os(this.options.sanitize,this.options.baseUrl,e)))return n;var r='').concat(n,'":">"}},{key:"text",value:function(e){return e}}]),e}(),Zs=function(){function e(){b(this,e)}return x(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),Ks=function(){function e(){b(this,e),this.seen={}}return x(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),Xs=function(){function e(t){b(this,e),this.options=t||ys,this.options.renderer=this.options.renderer||new Js,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Zs,this.slugger=new Ks}return x(e,[{key:"parse",value:function(e){var t,n,r,i,a,o,u,l,c,s,f,d,h,p,m,v,g,y,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],D="",w=e.length;for(t=0;t0&&"paragraph"===m.tokens[0].type?(m.tokens[0].text=y+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=y+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:y}):p+=y),p+=this.parse(m.tokens,h),c+=this.renderer.listitem(p,g,v);D+=this.renderer.list(c,f,d);continue;case"html":D+=this.renderer.html(s.text);continue;case"paragraph":D+=this.renderer.paragraph(this.parseInline(s.tokens));continue;case"text":for(c=s.tokens?this.parseInline(s.tokens):s.text;t+1An error occurred:

    "+Cs(e.message+"",!0)+"
    ";throw e}try{var l=Gs.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(ef.walkTokens(l,t.walkTokens)).then((function(){return Xs.parse(l,t)})).catch(u);ef.walkTokens(l,t.walkTokens)}return Xs.parse(l,t)}catch(c){u(c)}}ef.options=ef.setOptions=function(e){var t;return Rs(ef.defaults,e),t=ef.defaults,ys=t,ef},ef.getDefaults=gs,ef.defaults=ys,ef.use=function(){for(var e=ef.defaults.extensions||{renderers:{},childTokens:{}},t=arguments.length,n=new Array(t),r=0;rAn error occurred:

    "+Cs(r.message+"",!0)+"
    ";throw r}},ef.Parser=Xs,ef.parser=Xs.parse,ef.Renderer=Js,ef.TextRenderer=Zs,ef.Lexer=Gs,ef.lexer=Gs.lex,ef.Tokenizer=Vs,ef.Slugger=Ks,ef.parse=ef;ef.options,ef.setOptions,ef.use,ef.walkTokens,ef.parseInline,Xs.parse,Gs.lex;var tf=function(e){var t=e.title,n=e.description,i=e.unit,a=e.expr,o=e.showLegend,u=e.filename,l=e.alias,c=Hr().isMobile,s=wn().period,f=Lr().customStep,d=kn(),h=(0,r.useRef)(null),p=v((0,r.useState)(!1),2),m=p[0],g=p[1],y=v((0,r.useState)({limits:{enable:!1,range:{1:[0,0]}}}),2),_=y[0],b=y[1],D=(0,r.useMemo)((function(){return Array.isArray(a)&&a.every((function(e){return e}))}),[a]),w=Yc({predefinedQuery:D?a:[],display:"chart",visible:m,customStep:f}),k=w.isLoading,x=w.graphData,C=w.error,E=w.warning,S=function(e){var t=ot({},_);t.limits.range=e,b(t)};return(0,r.useEffect)((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return g(e.isIntersecting)}))}),{threshold:.1});return h.current&&e.observe(h.current),function(){h.current&&e.unobserve(h.current)}}),[h]),D?Lt("div",{className:"vm-predefined-panel",ref:h,children:[Lt("div",{className:"vm-predefined-panel-header",children:[Lt(ai,{title:Lt((function(){return Lt("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Lt(Ot.HY,{children:[Lt("div",{children:[Lt("span",{children:"Description:"}),Lt("div",{dangerouslySetInnerHTML:{__html:ef.parse(n)}})]}),Lt("hr",{})]}),Lt("div",{children:[Lt("span",{children:"Queries:"}),Lt("div",{children:a.map((function(e,t){return Lt("div",{children:e},"".concat(t,"_").concat(e))}))})]})]})}),{}),children:Lt("div",{className:"vm-predefined-panel-header__info",children:Lt(In,{})})}),Lt("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Lt(Wc,{yaxis:_,setYaxisLimits:S,toggleEnableLimits:function(){var e=ot({},_);e.limits.enable=!e.limits.enable,b(e)}})]}),Lt("div",{className:"vm-predefined-panel-body",children:[k&&Lt(Qc,{}),C&&Lt(Vr,{variant:"error",children:C}),E&&Lt(Vr,{variant:"warning",children:E}),x&&Lt(Nc,{data:x,period:s,customStep:f,query:a,yaxis:_,unit:i,alias:l,showLegend:o,setYaxisLimits:S,setPeriod:function(e){var t=e.from,n=e.to;d({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1,height:c?.5*window.innerHeight:500})]})]}):Lt(Vr,{variant:"error",children:[Lt("code",{children:'"expr"'})," not found. Check the configuration file ",Lt("b",{children:u}),"."]})},nf=function(e){var t=e.index,n=e.title,i=e.panels,a=e.filename,o=hr(document.body),u=(0,r.useMemo)((function(){return o.width/12}),[o]),l=v((0,r.useState)(!t),2),c=l[0],s=l[1],f=v((0,r.useState)([]),2),d=f[0],h=f[1];(0,r.useEffect)((function(){h(i&&i.map((function(e){return e.width||12})))}),[i]);var p=v((0,r.useState)({start:0,target:0,enable:!1}),2),m=p[0],g=p[1],y=function(e){if(m.enable){var t=m.start,n=Math.ceil((t-e.clientX)/u);if(!(Math.abs(n)>=12)){var r=d.map((function(e,t){return e-(t===m.target?n:0)}));h(r)}}},_=function(){g(ot(ot({},m),{},{enable:!1}))},b=function(e){return function(t){!function(e,t){g({start:e.clientX,target:t,enable:!0})}(t,e)}};return(0,r.useEffect)((function(){return window.addEventListener("mousemove",y),window.addEventListener("mouseup",_),function(){window.removeEventListener("mousemove",y),window.removeEventListener("mouseup",_)}}),[m]),Lt("div",{className:"vm-predefined-dashboard",children:Lt(Ri,{defaultExpanded:c,onChange:function(e){return s(e)},title:Lt((function(){return Lt("div",{className:mr()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":c}),children:[(n||a)&&Lt("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(a)}),i&&Lt("span",{className:"vm-predefined-dashboard-header__count",children:["(",i.length," panels)"]})]})}),{}),children:Lt("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(i)&&i.length?i.map((function(e,t){return Lt("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(d[t])},children:[Lt(tf,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:a,showLegend:e.showLegend}),Lt("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:b(t)})]},t)})):Lt("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Lt(Vr,{variant:"error",children:[Lt("code",{children:'"panels"'})," not found. Check the configuration file ",Lt("b",{children:a}),"."]})})})})})},rf=function(){!function(){var e=wn(),t=e.duration,n=e.relativeTime,i=e.period.date,a=Lr().customStep,o=v(nt(),2)[1],u=function(){var e,r=rs((it(e={},"g0.range_input",t),it(e,"g0.end_input",i),it(e,"g0.step_input",a),it(e,"g0.relative_time",n),e));o(r)};(0,r.useEffect)(u,[t,n,i,a]),(0,r.useEffect)(u,[])}();var e=Hr().isMobile,t=Jr(),n=t.dashboardsSettings,i=t.dashboardsLoading,a=t.dashboardsError,o=v((0,r.useState)(0),2),u=o[0],l=o[1],c=(0,r.useMemo)((function(){return n.map((function(e,t){return{label:e.title||"",value:t}}))}),[n]),s=(0,r.useMemo)((function(){return n[u]||{}}),[n,u]),f=(0,r.useMemo)((function(){return null===s||void 0===s?void 0:s.rows}),[s]),d=(0,r.useMemo)((function(){return s.title||s.filename||""}),[s]),h=(0,r.useMemo)((function(){return Array.isArray(f)&&!!f.length}),[f]),p=function(e){return function(){!function(e){l(e)}(e)}};return Lt("div",{className:"vm-predefined-panels",children:[i&&Lt(Qc,{}),!n.length&&a&&Lt(Vr,{variant:"error",children:a}),!n.length&&Lt(Vr,{variant:"info",children:"Dashboards not found"}),c.length>1&&Lt("div",{className:mr()({"vm-predefined-panels-tabs":!0,"vm-predefined-panels-tabs_mobile":e}),children:c.map((function(e){return Lt("div",{className:mr()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==u}),onClick:p(e.value),children:e.label},e.value)}))}),Lt("div",{className:"vm-predefined-panels__dashboards",children:[h&&f.map((function(e,t){return Lt(nf,{index:t,filename:d,title:e.title,panels:e.panels},"".concat(u,"_").concat(t))})),!!n.length&&!h&&Lt(Vr,{variant:"error",children:[Lt("code",{children:'"rows"'})," not found. Check the configuration file ",Lt("b",{children:d}),"."]})]})]})},af=function(e,t){var n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)},of=function(){function e(){b(this,e),this.tsdbStatus=void 0,this.tabsNames=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"],this.getDefaultState=this.getDefaultState.bind(this)}return x(e,[{key:"tsdbStatusData",get:function(){return this.tsdbStatus},set:function(e){this.tsdbStatus=e}},{key:"defaultTSDBStatus",get:function(){return{totalSeries:0,totalLabelValuePairs:0,totalSeriesByAll:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}},{key:"keys",value:function(e,t){var n=e&&/__name__=".+"/.test(e),r=e&&/{.+=".+"}/g.test(e),i=e&&/__name__=".+", .+!=""/g.test(e),a=[];return a=t||i?a.concat("seriesCountByFocusLabelValue"):n?a.concat("labelValueCountByLabelName"):r?a.concat("seriesCountByMetricName","seriesCountByLabelName"):a.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair"),a}},{key:"getDefaultState",value:function(e,t){var n=this;return this.keys(e,t).reduce((function(e,t){return ot(ot({},e),{},{tabs:ot(ot({},e.tabs),{},it({},t,n.tabsNames)),containerRefs:ot(ot({},e.containerRefs),{},it({},t,(0,r.useRef)(null)))})}),{tabs:{},containerRefs:{}})}},{key:"sectionsTitles",value:function(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}},{key:"sectionsTips",get:function(){return{seriesCountByMetricName:"\n

    \n This table returns a list of metrics with the highest cardinality.\n The cardinality of a metric is the number of time series associated with that metric,\n where each time series is defined as a unique combination of key-value label pairs.\n

    \n

    \n When looking to reduce the number of active series in your data source,\n you can start by inspecting individual metrics with high cardinality\n (i.e. that have lots of active time series associated with them),\n since that single metric contributes a large fraction of the series that make up your total series count.\n

    ",seriesCountByLabelName:"\n

    \n This table returns a list of the labels with the highest number of series.\n

    \n

    \n Use this table to identify labels that are storing dimensions with high cardinality\n (many different label values).\n

    \n

    \n It is recommended to choose labels such that they have a finite set of values,\n since every unique combination of key-value label pairs creates a new time series\n and therefore can dramatically increase the number of time series in your system.\n

    ",seriesCountByFocusLabelValue:"\n

    \n This table returns a list of unique label values per selected label.\n

    \n

    \n Use this table to identify label values that are storing per each selected series.\n

    ",labelValueCountByLabelName:"",seriesCountByLabelValuePair:"\n

    \n This table returns a list of the label values pairs with the highest number of series.\n

    \n

    \n Use this table to identify unique label values pairs. This helps to identify same labels \n is applied to count timeseries in your system, since every unique combination of key-value label pairs \n creates a new time series and therefore can dramatically increase the number of time series in your system\n

    "}}},{key:"tablesHeaders",get:function(){return{seriesCountByMetricName:uf,seriesCountByLabelName:lf,seriesCountByFocusLabelValue:cf,seriesCountByLabelValuePair:sf,labelValueCountByLabelName:ff}}},{key:"totalSeries",value:function(e){return"labelValueCountByLabelName"===e?-1:this.tsdbStatus.totalSeries}}]),e}(),uf=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of a metric to the total number of series"},{id:"action",label:""}],lf=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label to the total number of series"},{id:"action",label:""}],cf=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total"},{disablePadding:!1,id:"action",label:"",numeric:!1}],sf=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label value pair to the total number of series"},{id:"action",label:""}],ff=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:""}],df={seriesCountByMetricName:function(e){var t=e.query;return hf("__name__",t)},seriesCountByLabelName:function(e){var t=e.query;return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:function(e){var t=e.query,n=e.focusLabel;return hf(n,t)},seriesCountByLabelValuePair:function(e){var t=e.query.split("="),n=t[0],r=t.slice(1).join("=");return hf(n,r)},labelValueCountByLabelName:function(e){var t=e.query,n=e.match;return"".concat(n.replace("}",""),", ").concat(t,'!=""}')}},hf=function(e,t){return e?"{"+e+"="+JSON.stringify(t)+"}":""},pf=function(e){var t,n=e.totalSeries,r=e.totalSeriesAll,i=e.seriesCountByMetricName,a=Hr().isMobile,o=v(nt(),1)[0],u=o.get("match"),l=o.get("focusLabel"),c=/__name__/.test(u||""),s=(null===(t=i[0])||void 0===t?void 0:t.value)/r*100,f=[{title:"Total series",value:n.toLocaleString("en-US"),display:!l,info:'The total number of active time series. \n A time series is uniquely identified by its name plus a set of its labels. \n For example, temperature{city="NY",country="US"} and temperature{city="SF",country="US"} \n are two distinct series, since they differ by the city label.'},{title:"Percentage from total",value:isNaN(s)?"-":"".concat(s.toFixed(2),"%"),display:c,info:"The share of these series in the total number of time series."}].filter((function(e){return e.display}));return f.length?Lt("div",{className:mr()({"vm-cardinality-totals":!0,"vm-cardinality-totals_mobile":a}),children:f.map((function(e){var t=e.title,n=e.value,r=e.info;return Lt("div",{className:"vm-cardinality-totals-card",children:[Lt("div",{className:"vm-cardinality-totals-card-header",children:[r&&Lt(ai,{title:Lt("p",{className:"vm-cardinality-totals-card-header__tooltip",children:r}),children:Lt("div",{className:"vm-cardinality-totals-card-header__info-icon",children:Lt(In,{})})}),Lt("h4",{className:"vm-cardinality-totals-card-header__title",children:t})]}),Lt("span",{className:"vm-cardinality-totals-card__value",children:n})]},t)}))}):null},mf=function(e){var t=Hr().isMobile,n=v(nt(),2),i=n[0],a=n[1],o=i.get("tips")||"",u=v((0,r.useState)(i.get("match")||""),2),l=u[0],c=u[1],s=v((0,r.useState)(i.get("focusLabel")||""),2),f=s[0],d=s[1],h=v((0,r.useState)(+(i.get("topN")||10)),2),p=h[0],m=h[1],g=(0,r.useMemo)((function(){return p<0?"Number must be bigger than zero":""}),[p]),y=function(){i.set("match",l),i.set("topN",p.toString()),i.set("focusLabel",f),a(i)};return(0,r.useEffect)((function(){var e=i.get("match"),t=+(i.get("topN")||10),n=i.get("focusLabel");e!==l&&c(e||""),t!==p&&m(t),n!==f&&d(n||"")}),[i]),Lt("div",{className:mr()({"vm-cardinality-configurator":!0,"vm-cardinality-configurator_mobile":t,"vm-block":!0,"vm-block_mobile":t}),children:[Lt("div",{className:"vm-cardinality-configurator-controls",children:[Lt("div",{className:"vm-cardinality-configurator-controls__query",children:Lt(di,{label:"Time series selector",type:"string",value:l,onChange:c,onEnter:y})}),Lt("div",{className:"vm-cardinality-configurator-controls__item",children:Lt(di,{label:"Focus label",type:"text",value:f||"",onChange:d,onEnter:y,endIcon:Lt(ai,{title:Lt("div",{children:Lt("p",{children:"To identify values with the highest number of series for the selected label."})}),children:Lt(lr,{})})})}),Lt("div",{className:"vm-cardinality-configurator-controls__item vm-cardinality-configurator-controls__item_limit",children:Lt(di,{label:"Limit entries",type:"number",value:p,error:g,onChange:function(e){var t=+e;m(isNaN(t)?0:t)},onEnter:y})})]}),Lt("div",{className:"vm-cardinality-configurator-bottom",children:[Lt(pf,ot({},e)),Lt("div",{className:"vm-cardinality-configurator-bottom-helpful",children:Lt("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/#cardinality-explorer",rel:"help noreferrer",children:[Lt(or,{}),"Documentation"]})}),Lt("div",{className:"vm-cardinality-configurator-bottom__execute",children:[Lt(ai,{title:o?"Hide tips":"Show tips",children:Lt(ei,{variant:"text",color:o?"warning":"gray",startIcon:Lt(dr,{}),onClick:function(){i.get("tips")||""?i.delete("tips"):i.set("tips","true"),a(i)}})}),Lt(ei,{variant:"text",startIcon:Lt(Ln,{}),onClick:function(){i.set("match",""),i.set("focusLabel",""),a(i)},children:"Reset"}),Lt(ei,{startIcon:Lt(qn,{}),onClick:y,children:"Execute Query"})]})]})]})};function vf(e){var t=e.order,n=e.orderBy,r=e.onRequestSort,i=e.headerCells;return Lt("thead",{className:"vm-table-header",children:Lt("tr",{className:"vm-table__row vm-table__row_header",children:i.map((function(e){return Lt("th",{className:mr()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(i=e.id,function(e){r(e,i)}),children:Lt("div",{className:"vm-table-cell__content",children:[e.info?Lt(ai,{title:e.info,children:[Lt("div",{className:"vm-metrics-content-header__tip-icon",children:Lt(In,{})}),e.label]}):Lt(Ot.HY,{children:e.label}),"action"!==e.id&&"percentage"!==e.id&&Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Lt($n,{})})]})},e.id);var i}))})})}function gf(e,t,n){return t[n]e[n]?1:0}function yf(e,t){return"desc"===e?function(e,n){return gf(e,n,t)}:function(e,n){return-gf(e,n,t)}}function _f(e,t){var n=e.map((function(e,t){return[e,t]}));return n.sort((function(e,n){var r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((function(e){return e[0]}))}var bf=function(e){var t=e.rows,n=e.headerCells,i=e.defaultSortColumn,a=e.tableCells,o=v((0,r.useState)("desc"),2),u=o[0],l=o[1],c=v((0,r.useState)(i),2),s=c[0],f=c[1],d=_f(t,yf(u,s));return Lt("table",{className:"vm-table",children:[Lt(vf,{order:u,orderBy:s,onRequestSort:function(e,t){l(s===t&&"asc"===u?"desc":"asc"),f(t)},rowCount:t.length,headerCells:n}),Lt("tbody",{className:"vm-table-header",children:d.map((function(e){return Lt("tr",{className:"vm-table__row",children:a(e)},e.name)}))})]})},Df=function(e){var t=e.row,n=e.totalSeries,r=e.onActionClick,i=n>0?t.value/n*100:-1,a=function(){r(t.name)};return Lt(Ot.HY,{children:[Lt("td",{className:"vm-table-cell",children:Lt("span",{className:"vm-link vm-link_colored",onClick:a,children:t.name})},t.name),Lt("td",{className:"vm-table-cell",children:t.value},t.value),i>0&&Lt("td",{className:"vm-table-cell",children:Lt(Gc,{value:i})},t.progressValue),Lt("td",{className:"vm-table-cell vm-table-cell_right",children:Lt("div",{className:"vm-table-cell__content",children:Lt(ai,{title:"Filter by ".concat(t.name),children:Lt(ei,{variant:"text",size:"small",onClick:a,children:Lt(Wn,{})})})})},"action")]})},wf=function(e){var t=e.data,n=v((0,r.useState)([]),2),i=n[0],a=n[1],o=v((0,r.useState)([0,0]),2),u=o[0],l=o[1];return(0,r.useEffect)((function(){var e=t.sort((function(e,t){return t.value-e.value})),n=function(e){var t=e.map((function(e){return e.value})),n=Math.ceil(t[0]||1),r=n/9;return new Array(11).fill(n+r).map((function(e,t){return Math.round(e-r*t)}))}(e);l(n),a(e.map((function(e){return ot(ot({},e),{},{percentage:e.value/n[0]*100})})))}),[t]),Lt("div",{className:"vm-simple-bar-chart",children:[Lt("div",{className:"vm-simple-bar-chart-y-axis",children:u.map((function(e){return Lt("div",{className:"vm-simple-bar-chart-y-axis__tick",children:e},e)}))}),Lt("div",{className:"vm-simple-bar-chart-data",children:i.map((function(e){var t=e.name,n=e.value,r=e.percentage;return Lt(ai,{title:"".concat(t,": ").concat(n),placement:"top-center",children:Lt("div",{className:"vm-simple-bar-chart-data-item",style:{maxHeight:"".concat(r||0,"%")}})},"".concat(t,"_").concat(n))}))})]})},kf=function(e){var t=e.rows,n=e.tabs,i=void 0===n?[]:n,a=e.chartContainer,o=e.totalSeries,u=e.onActionClick,l=e.sectionTitle,c=e.tip,s=e.tableHeaderCells,f=Hr().isMobile,d=v((0,r.useState)("table"),2),h=d[0],p=d[1],m=(0,r.useMemo)((function(){return i.map((function(e,t){return{value:e,label:e,icon:Lt(0===t?Gn:Qn,{})}}))}),[i]);return Lt("div",{className:mr()({"vm-metrics-content":!0,"vm-metrics-content_mobile":f,"vm-block":!0,"vm-block_mobile":f}),children:[Lt("div",{className:"vm-metrics-content-header vm-section-header",children:[Lt("h5",{className:mr()({"vm-metrics-content-header__title":!0,"vm-section-header__title":!0,"vm-section-header__title_mobile":f}),children:[!f&&c&&Lt(ai,{title:Lt("p",{dangerouslySetInnerHTML:{__html:c},className:"vm-metrics-content-header__tip"}),children:Lt("div",{className:"vm-metrics-content-header__tip-icon",children:Lt(In,{})})}),l]}),Lt("div",{className:"vm-section-header__tabs",children:Lt(br,{activeItem:h,items:m,onChange:p})})]}),"table"===h&&Lt("div",{ref:a,className:mr()({"vm-metrics-content__table":!0,"vm-metrics-content__table_mobile":f}),children:Lt(bf,{rows:t,headerCells:s,defaultSortColumn:"value",tableCells:function(e){return Lt(Df,{row:e,totalSeries:o,onActionClick:u})}})}),"graph"===h&&Lt("div",{className:"vm-metrics-content__chart",children:Lt(wf,{data:t.map((function(e){return{name:e.name,value:e.value}}))})})]})},xf=function(e){var t=e.title,n=e.children;return Lt("div",{className:"vm-cardinality-tip",children:[Lt("div",{className:"vm-cardinality-tip-header",children:[Lt("div",{className:"vm-cardinality-tip-header__tip-icon",children:Lt(dr,{})}),Lt("h4",{className:"vm-cardinality-tip-header__title",children:t||"Tips"})]}),Lt("p",{className:"vm-cardinality-tip__description",children:n})]})},Cf=function(){return Lt(xf,{title:"Metrics with a high number of series",children:Lt("ul",{children:[Lt("li",{children:["Identify and eliminate labels with frequently changed values to reduce their\xa0",Lt(ds,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-cardinality",children:"cardinality"}),"\xa0and\xa0",Lt(ds,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-churn-rate",children:"high churn rate"})]}),Lt("li",{children:["Find unused time series and\xa0",Lt(ds,{href:"https://docs.victoriametrics.com/relabeling.html",children:"drop entire metrics"})]}),Lt("li",{children:["Aggregate time series before they got ingested into the database via\xa0",Lt(ds,{href:"https://docs.victoriametrics.com/stream-aggregation.html",children:"streaming aggregation"})]})]})})},Ef=function(){return Lt(xf,{title:"Labels with a high number of unique values",children:Lt("ul",{children:[Lt("li",{children:"Decrease the number of unique label values to reduce cardinality"}),Lt("li",{children:["Drop the label entirely via\xa0",Lt(ds,{href:"https://docs.victoriametrics.com/relabeling.html",children:"relabeling"})]}),Lt("li",{children:"For volatile label values (such as URL path, user session, etc.) consider printing them to the log file instead of adding to time series"})]})})},Sf=function(){return Lt(xf,{title:"Dashboard of a single metric",children:[Lt("p",{children:"This dashboard helps to understand the cardinality of a single metric."}),Lt("p",{children:"Each time series is a unique combination of key-value label pairs. Therefore a label key with many values can create a lot of time series for a particular metric. If you\u2019re trying to decrease the cardinality of a metric, start by looking at the labels with the highest number of values."}),Lt("p",{children:"Use the series selector at the top of the page to apply additional filters."})]})},Af=function(){return Lt(xf,{title:"Dashboard of a label",children:[Lt("p",{children:"This dashboard helps you understand the count of time series per label."}),Lt("p",{children:"Use the selector at the top of the page to pick a label name you\u2019d like to inspect. For the selected label name, you\u2019ll see the label values that have the highest number of series associated with them. So if you\u2019ve chosen `instance` as your label name, you may see that `657` time series have value \u201chost-1\u201d attached to them and `580` time series have value `host-2` attached to them."}),Lt("p",{children:"This can be helpful in allowing you to determine where the bulk of your time series are coming from. If the label \u201cinstance=host-1\u201d was applied to 657 series and the label \u201cinstance=host-2\u201d was only applied to 580 series, you\u2019d know, for example, that host-01 was responsible for sending the majority of the time series."})]})},Nf=function(){var e=Hr().isMobile,t=v(nt(),2),n=t[0],i=t[1],o=n.get("tips")||"",u=n.get("match")||"",l=n.get("focusLabel")||"",c=function(){var e=new of,t=v(nt(),1)[0],n=t.get("match"),i=t.get("focusLabel"),o=+(t.get("topN")||10),u=t.get("date")||a()().tz().format(zt),l=Bt().serverUrl,c=v((0,r.useState)(!1),2),s=c[0],f=c[1],d=v((0,r.useState)(),2),h=d[0],p=d[1],m=v((0,r.useState)(e.defaultTSDBStatus),2),g=m[0],y=m[1],_=function(){var t=Wi(Ui().mark((function t(r){var i,a,o,u,c,s,d,h,m,v,g;return Ui().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l){t.next=2;break}return t.abrupt("return");case 2:return p(""),f(!0),y(e.defaultTSDBStatus),i={date:r.date,topN:0,match:"",focusLabel:""},a=af(l,r),o=af(l,i),t.prev=8,t.next=11,fetch(a);case 11:return u=t.sent,t.next=14,u.json();case 14:return c=t.sent,t.next=17,fetch(o);case 17:return s=t.sent,t.next=20,s.json();case 20:d=t.sent,u.ok?(h=c.data,m=d.data.totalSeries,(v=ot({},h)).totalSeriesByAll=m,g=null===n||void 0===n?void 0:n.replace(/[{}"]/g,""),v.seriesCountByLabelValuePair=v.seriesCountByLabelValuePair.filter((function(e){return e.name!==g})),y(v),f(!1)):(p(c.error),y(e.defaultTSDBStatus),f(!1)),t.next=28;break;case 24:t.prev=24,t.t0=t.catch(8),f(!1),t.t0 instanceof Error&&p("".concat(t.t0.name,": ").concat(t.t0.message));case 28:case"end":return t.stop()}}),t,null,[[8,24]])})));return function(e){return t.apply(this,arguments)}}();return(0,r.useEffect)((function(){_({topN:o,match:n,date:u,focusLabel:i})}),[l,n,i,o,u]),(0,r.useEffect)((function(){h&&(y(e.defaultTSDBStatus),f(!1))}),[h]),e.tsdbStatusData=g,{isLoading:s,appConfigurator:e,error:h}}(),s=c.isLoading,f=c.appConfigurator,d=c.error,h=f.tsdbStatusData,p=f.getDefaultState,m=f.tablesHeaders,g=f.sectionsTips,y=p(u,l);return Lt("div",{className:mr()({"vm-cardinality-panel":!0,"vm-cardinality-panel_mobile":e}),children:[s&&Lt(Qc,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Lt(mf,{totalSeries:h.totalSeries,totalSeriesAll:h.totalSeriesByAll,totalLabelValuePairs:h.totalLabelValuePairs,seriesCountByMetricName:h.seriesCountByMetricName}),o&&Lt("div",{className:"vm-cardinality-panel-tips",children:[!u&&!l&&Lt(Cf,{}),u&&!l&&Lt(Sf,{}),!u&&!l&&Lt(Ef,{}),l&&Lt(Af,{})]}),d&&Lt(Vr,{variant:"error",children:d}),f.keys(u,l).map((function(e){return Lt(kf,{sectionTitle:f.sectionsTitles(l)[e],tip:g[e],rows:h[e],onActionClick:(t=e,function(e){var r=df[t]({query:e,focusLabel:l,match:u});n.set("match",r),"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||n.set("focusLabel",e),"seriesCountByFocusLabelValue"==t&&n.set("focusLabel",""),i(n)}),tabs:y.tabs[e],chartContainer:y.containerRefs[e],totalSeries:f.totalSeries(e),tableHeaderCells:m[e]},e);var t}))]})},Mf=function(e){var t=e.rows,n=e.columns,i=e.defaultOrderBy,a=v((0,r.useState)(i||"count"),2),o=a[0],u=a[1],l=v((0,r.useState)("desc"),2),c=l[0],s=l[1],f=(0,r.useMemo)((function(){return _f(t,yf(c,o))}),[t,o,c]),d=function(e){return function(){var t;t=e,s((function(e){return"asc"===e&&o===t?"desc":"asc"})),u(t)}};return Lt("table",{className:"vm-table",children:[Lt("thead",{className:"vm-table-header",children:Lt("tr",{className:"vm-table__row vm-table__row_header",children:n.map((function(e){return Lt("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:d(e.key),children:Lt("div",{className:"vm-table-cell__content",children:[e.title||e.key,Lt("div",{className:mr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":o===e.key,"vm-table__sort-icon_desc":"desc"===c&&o===e.key}),children:Lt($n,{})})]})},e.key)}))})}),Lt("tbody",{className:"vm-table-body",children:f.map((function(e,t){return Lt("tr",{className:"vm-table__row",children:n.map((function(t){return Lt("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key)}))},t)}))})]})},Ff=["table","JSON"].map((function(e,t){return{value:String(t),label:e,icon:Lt(0===t?Gn:Jn,{})}})),Of=function(e){var t=e.rows,n=e.title,i=e.columns,a=e.defaultOrderBy,o=Hr().isMobile,u=v((0,r.useState)(0),2),l=u[0],c=u[1];return Lt("div",{className:mr()({"vm-top-queries-panel":!0,"vm-block":!0,"vm-block_mobile":o}),children:[Lt("div",{className:mr()({"vm-top-queries-panel-header":!0,"vm-section-header":!0,"vm-top-queries-panel-header_mobile":o}),children:[Lt("h5",{className:mr()({"vm-section-header__title":!0,"vm-section-header__title_mobile":o}),children:n}),Lt("div",{className:"vm-section-header__tabs",children:Lt(br,{activeItem:String(l),items:Ff,onChange:function(e){c(+e)}})})]}),Lt("div",{className:mr()({"vm-top-queries-panel__table":!0,"vm-top-queries-panel__table_mobile":o}),children:[0===l&&Lt(Mf,{rows:t,columns:i,defaultOrderBy:a}),1===l&&Lt(Vc,{data:t})]})]})},Tf=function(){var e=Hr().isMobile,t=function(){var e=Bt().serverUrl,t=zr(),n=t.topN,i=t.maxLifetime,a=t.runQuery,o=v((0,r.useState)(null),2),u=o[0],l=o[1],c=v((0,r.useState)(!1),2),s=c[0],f=c[1],d=v((0,r.useState)(),2),h=d[0],p=d[1],m=(0,r.useMemo)((function(){return function(e,t,n){return"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||"")}(e,n,i)}),[e,n,i]),g=function(){var e=Wi(Ui().mark((function e(){var t,n;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f(!0),e.prev=1,e.next=4,fetch(m);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,t.ok&&["topByAvgDuration","topByCount","topBySumDuration"].forEach((function(e){var t=n[e];Array.isArray(t)&&t.forEach((function(e){return e.timeRangeHours=+(e.timeRangeSeconds/3600).toFixed(2)}))})),l(t.ok?n:null),p(String(n.error||"")),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&"AbortError"!==e.t0.name&&p("".concat(e.t0.name,": ").concat(e.t0.message));case 16:f(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();return(0,r.useEffect)((function(){g()}),[a]),{data:u,error:h,loading:s}}(),n=t.data,i=t.error,o=t.loading,u=zr(),l=u.topN,c=u.maxLifetime,s=(0,r.useContext)(Rr).dispatch;!function(){var e=zr(),t=e.topN,n=e.maxLifetime,i=v(nt(),2)[1],a=function(){var e=rs({topN:String(t),maxLifetime:n});i(e)};(0,r.useEffect)(a,[t,n]),(0,r.useEffect)(a,[])}();var f=(0,r.useMemo)((function(){var e=c.trim().split(" ").reduce((function(e,t){var n=Kt(t);return n?ot(ot({},e),n):ot({},e)}),{});return!!a().duration(e).asMilliseconds()}),[c]),d=(0,r.useMemo)((function(){return!!l&&l<1}),[l]),h=(0,r.useMemo)((function(){return d?"Number must be bigger than zero":""}),[d]),p=(0,r.useMemo)((function(){return f?"":"Invalid duration value"}),[f]),m=function(e){if(!n)return e;var t=n[e];return"number"===typeof t?Xl(t,t,t):t||e},g=function(){s({type:"SET_RUN_QUERY"})},y=function(e){"Enter"===e.key&&g()};return(0,r.useEffect)((function(){n&&(l||s({type:"SET_TOP_N",payload:+n.topN}),c||s({type:"SET_MAX_LIFE_TIME",payload:n.maxLifetime}))}),[n]),Lt("div",{className:mr()({"vm-top-queries":!0,"vm-top-queries_mobile":e}),children:[o&&Lt(Qc,{containerStyles:{height:"500px"}}),Lt("div",{className:mr()({"vm-top-queries-controls":!0,"vm-block":!0,"vm-block_mobile":e}),children:[Lt("div",{className:"vm-top-queries-controls-fields",children:[Lt("div",{className:"vm-top-queries-controls-fields__item",children:Lt(di,{label:"Max lifetime",value:c,error:p,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:function(e){s({type:"SET_MAX_LIFE_TIME",payload:e})},onKeyDown:y})}),Lt("div",{className:"vm-top-queries-controls-fields__item",children:Lt(di,{label:"Number of returned queries",type:"number",value:l||"",error:h,onChange:function(e){s({type:"SET_TOP_N",payload:+e})},onKeyDown:y})})]}),Lt("div",{className:mr()({"vm-top-queries-controls-bottom":!0,"vm-top-queries-controls-bottom_mobile":e}),children:[Lt("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Lt(ai,{title:"search.queryStats.lastQueriesCount",children:Lt("b",{children:m("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Lt(ai,{title:"search.queryStats.minQueryDuration",children:Lt("b",{children:m("search.queryStats.minQueryDuration")})})]}),Lt("div",{className:"vm-top-queries-controls-bottom__button",children:Lt(ei,{startIcon:Lt(qn,{}),onClick:g,children:"Execute"})})]})]}),i&&Lt(Vr,{variant:"error",children:i}),n&&Lt(Ot.HY,{children:Lt("div",{className:"vm-top-queries-panels",children:[Lt(Of,{rows:n.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}]}),Lt(Of,{rows:n.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Lt(Of,{rows:n.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"})]})})]})},Lf={"color-primary":"#589DF6","color-secondary":"#316eca","color-error":"#e5534b","color-warning":"#c69026","color-info":"#539bf5","color-success":"#57ab5a","color-background-body":"#22272e","color-background-block":"#2d333b","color-background-tooltip":"rgba(22, 22, 22, 0.8)","color-text":"#cdd9e5","color-text-secondary":"#768390","color-text-disabled":"#636e7b","box-shadow":"rgba(0, 0, 0, 0.16) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.2) 0px 2px 8px 0px","border-divider":"1px solid rgba(99, 110, 123, 0.5)","color-hover-black":"rgba(0, 0, 0, 0.12)"},If={"color-primary":"#3F51B5","color-secondary":"#E91E63","color-error":"#FD080E","color-warning":"#FF8308","color-info":"#03A9F4","color-success":"#4CAF50","color-background-body":"#FEFEFF","color-background-block":"#FFFFFF","color-background-tooltip":"rgba(97,97,97, 0.92)","color-text":"#110f0f","color-text-secondary":"#706F6F","color-text-disabled":"#A09F9F","box-shadow":"rgba(0, 0, 0, 0.08) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.1) 0px 2px 8px 0px","border-divider":"1px solid rgba(0, 0, 0, 0.15)","color-hover-black":"rgba(0, 0, 0, 0.06)"},Bf=function(){var e=v((0,r.useState)(At()),2),t=e[0],n=e[1],i=function(e){n(e.matches)};return(0,r.useEffect)((function(){var e=window.matchMedia("(prefers-color-scheme: dark)");return e.addEventListener("change",i),function(){return e.removeEventListener("change",i)}}),[]),t},Pf=["primary","secondary","error","warning","info","success"],Rf=function(e){var t,n=e.onLoaded,i=pt(),a=ht().palette,o=void 0===a?{}:a,u=Bt().theme,l=Bf(),c=Pt(),s=hr(document.body),f=v((0,r.useState)((it(t={},lt.dark,Lf),it(t,lt.light,If),it(t,lt.system,At()?Lf:If),t)),2),d=f[0],h=f[1],p=function(){var e=window,t=e.innerWidth,n=e.innerHeight,r=document.documentElement,i=r.clientWidth,a=r.clientHeight;St("scrollbar-width","".concat(t-i,"px")),St("scrollbar-height","".concat(n-a,"px")),St("vh","".concat(.01*n,"px"))},m=function(){Pf.forEach((function(e,t){var r=function(e){var t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"}(Et("color-".concat(e)));St("".concat(e,"-text"),r),t===Pf.length-1&&(c({type:"SET_DARK_THEME"}),n(!0))}))},g=function(){var e=xt("THEME")||lt.system,t=d[e];Object.entries(t).forEach((function(e){var t=v(e,2),n=t[0],r=t[1];St(n,r)})),m(),i&&(Pf.forEach((function(e){var t=o[e];t&&St("color-".concat(e),t)})),m())};return(0,r.useEffect)((function(){p(),g()}),[d]),(0,r.useEffect)(p,[s]),(0,r.useEffect)((function(){var e=At()?Lf:If;d[lt.system]!==e?h((function(t){return ot(ot({},t),{},it({},lt.system,e))})):g()}),[u,l]),(0,r.useEffect)((function(){i&&c({type:"SET_THEME",payload:lt.light})}),[]),null},zf=function(e){var t=v((0,r.useState)([]),2),n=t[0],i=t[1],a=v((0,r.useState)(!1),2),o=a[0],u=a[1],l=function(e){e.preventDefault(),e.stopPropagation(),"dragenter"===e.type||"dragover"===e.type?u(!0):"dragleave"===e.type&&u(!1)},c=function(e){var t;e.preventDefault(),e.stopPropagation(),u(!1),null!==e&&void 0!==e&&null!==(t=e.dataTransfer)&&void 0!==t&&t.files&&e.dataTransfer.files[0]&&function(e){var t=Array.from(e||[]);i(t)}(e.dataTransfer.files)},s=function(e){var t,n=null===(t=e.clipboardData)||void 0===t?void 0:t.items;if(n){var r=Array.from(n).filter((function(e){return"application/json"===e.type})).map((function(e){return e.getAsFile()})).filter((function(e){return null!==e}));i(r)}};return(0,r.useEffect)((function(){return null===e||void 0===e||e.addEventListener("dragenter",l),null===e||void 0===e||e.addEventListener("dragleave",l),null===e||void 0===e||e.addEventListener("dragover",l),null===e||void 0===e||e.addEventListener("drop",c),null===e||void 0===e||e.addEventListener("paste",s),function(){null===e||void 0===e||e.removeEventListener("dragenter",l),null===e||void 0===e||e.removeEventListener("dragleave",l),null===e||void 0===e||e.removeEventListener("dragover",l),null===e||void 0===e||e.removeEventListener("drop",c),null===e||void 0===e||e.removeEventListener("paste",s)}}),[e]),{files:n,dragging:o}},jf=function(e){var t=e.onOpenModal,n=e.onChange;return Lt("div",{className:"vm-trace-page-controls",children:[Lt(ei,{variant:"outlined",onClick:t,children:"Paste JSON"}),Lt(ai,{title:"The file must contain tracing information in JSON format",children:Lt(ei,{children:["Upload Files",Lt("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:n})]})})]})},$f=function(){var e=v((0,r.useState)(!1),2),t=e[0],n=e[1],i=v((0,r.useState)([]),2),a=i[0],o=i[1],u=v((0,r.useState)([]),2),l=u[0],c=u[1],s=(0,r.useMemo)((function(){return!!a.length}),[a]),f=v(nt(),2)[1],d=function(){n(!0)},h=function(){n(!1)},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";c((function(n){return[{filename:t,text:": ".concat(e.message)}].concat(_(n))}))},m=function(e,t){try{var n=JSON.parse(e),r=n.trace||n;if(!r.duration_msec)return void p(new Error(ut.traceNotFound),t);var i=new Hc(r,t);o((function(e){return[i].concat(_(e))}))}catch(a){a instanceof Error&&p(a,t)}},g=function(e){e.map((function(e){var t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=function(e){var t,r=String(null===(t=e.target)||void 0===t?void 0:t.result);m(r,n)},t.readAsText(e)}))},y=function(e){c([]);var t=Array.from(e.target.files||[]);g(t),e.target.value=""},b=function(e){return function(){!function(e){c((function(t){return t.filter((function(t,n){return n!==e}))}))}(e)}};(0,r.useEffect)((function(){f({})}),[]);var D=zf(document.body),w=D.files,k=D.dragging;return(0,r.useEffect)((function(){g(w)}),[w]),Lt("div",{className:"vm-trace-page",children:[Lt("div",{className:"vm-trace-page-header",children:[Lt("div",{className:"vm-trace-page-header-errors",children:l.map((function(e,t){return Lt("div",{className:"vm-trace-page-header-errors-item",children:[Lt(Vr,{variant:"error",children:[Lt("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Lt("span",{children:e.text})]}),Lt(ei,{className:"vm-trace-page-header-errors-item__close",startIcon:Lt(Tn,{}),variant:"text",color:"error",onClick:b(t)})]},"".concat(e,"_").concat(t))}))}),Lt("div",{children:s&&Lt(jf,{onOpenModal:d,onChange:y})})]}),s&&Lt("div",{children:Lt(Kc,{jsonEditor:!0,traces:a,onDeleteClick:function(e){var t=a.filter((function(t){return t.idValue!==e.idValue}));o(_(t))}})}),!s&&Lt("div",{className:"vm-trace-page-preview",children:[Lt("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Lt("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"help noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload.","\n","Attach files by dragging & dropping, selecting or pasting them."]}),Lt(jf,{onOpenModal:d,onChange:y})]}),t&&Lt(ii,{title:"Paste JSON",onClose:h,children:Lt(Zc,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(a.length+1),onClose:h,onUpload:m})}),k&&Lt("div",{className:"vm-trace-page__dropzone"})]})},Hf=function(e){var t=Bt().serverUrl,n=wn().period,i=v((0,r.useState)([]),2),a=i[0],o=i[1],u=v((0,r.useState)(!1),2),l=u[0],c=u[1],s=v((0,r.useState)(),2),f=s[0],d=s[1],h=(0,r.useMemo)((function(){return function(e,t,n){var r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)}(t,n,e)}),[t,n,e]);return(0,r.useEffect)((function(){if(e){var t=function(){var e=Wi(Ui().mark((function e(){var t,n,r;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.prev=1,e.next=4,fetch(h);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],o(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?d(void 0):d("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&d("".concat(e.t0.name,": ").concat(e.t0.message));case 16:c(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[h]),{instances:a,isLoading:l,error:f}},Yf=function(e,t){var n=Bt().serverUrl,i=wn().period,a=v((0,r.useState)([]),2),o=a[0],u=a[1],l=v((0,r.useState)(!1),2),c=l[0],s=l[1],f=v((0,r.useState)(),2),d=f[0],h=f[1],p=(0,r.useMemo)((function(){return function(e,t,n,r){var i=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=v(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))})).join(","),a="{".concat(i,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(a),"&start=").concat(t.start,"&end=").concat(t.end)}(n,i,e,t)}),[n,i,e,t]);return(0,r.useEffect)((function(){if(e){var t=function(){var e=Wi(Ui().mark((function e(){var t,n,r;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),e.prev=1,e.next=4,fetch(p);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],u(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?h(void 0):h("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&h("".concat(e.t0.name,": ").concat(e.t0.message));case 16:s(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[p]),{names:o,isLoading:c,error:d}},Vf=function(e){var t=e.name,n=e.job,i=e.instance,a=e.rateEnabled,o=e.isBucket,u=e.height,l=Hr().isMobile,c=Lr(),s=c.customStep,f=c.yaxis,d=wn().period,h=Ir(),p=kn(),m=v((0,r.useState)(!1),2),g=m[0],y=m[1],_=(0,r.useMemo)((function(){var e=Object.entries({job:n,instance:i}).filter((function(e){return e[1]})).map((function(e){var t=v(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');var r="{".concat(e.join(","),"}");if(o)return i?'\nlabel_map(\n histogram_quantiles("__name__", 0.5, 0.95, 0.99, sum(rate('.concat(r,')) by (vmrange, le)),\n "__name__",\n "0.5", "q50",\n "0.95", "q95",\n "0.99", "q99",\n)'):"\nwith (q = histogram_quantile(0.95, sum(rate(".concat(r,')) by (instance, vmrange, le))) (\n alias(min(q), "q95min"),\n alias(max(q), "q95max"),\n alias(avg(q), "q95avg"),\n)');var u=a?"rollup_rate(".concat(r,")"):"rollup(".concat(r,")");return"\nwith (q = ".concat(u,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,i,a,o]),b=Yc({predefinedQuery:[_],visible:!0,customStep:s,showAllSeries:g}),D=b.isLoading,w=b.graphData,k=b.error,x=b.warning;return Lt("div",{className:mr()({"vm-explore-metrics-graph":!0,"vm-explore-metrics-graph_mobile":l}),children:[D&&Lt(Qc,{}),k&&Lt(Vr,{variant:"error",children:k}),x&&Lt(Vr,{variant:"warning",children:Lt("div",{className:"vm-explore-metrics-graph__warning",children:[Lt("p",{children:x}),Lt(ei,{color:"warning",variant:"outlined",onClick:function(){y(!0)},children:"Show all"})]})}),w&&d&&Lt(Nc,{data:w,period:d,customStep:s,query:[_],yaxis:f,setYaxisLimits:function(e){h({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:function(e){var t=e.from,n=e.to;p({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:u})]})},Uf=function(e){var t=e.name,n=e.index,i=e.length,a=e.isBucket,o=e.rateEnabled,u=e.onChangeRate,l=e.onRemoveItem,c=e.onChangeOrder,s=Hr().isMobile,f=v((0,r.useState)(!1),2),d=f[0],h=f[1],p=function(){l(t)},m=function(){c(t,n,n+1)},g=function(){c(t,n,n-1)};return Lt("div",s?{className:"vm-explore-metrics-item-header vm-explore-metrics-item-header_mobile",children:[Lt("div",{className:"vm-explore-metrics-item-header__name",children:t}),Lt(ei,{variant:"text",size:"small",startIcon:Lt(sr,{}),onClick:function(){h(!0)}}),d&&Lt(ii,{title:t,onClose:function(){h(!1)},children:Lt("div",{className:"vm-explore-metrics-item-header-modal",children:[Lt("div",{className:"vm-explore-metrics-item-header-modal-order",children:[Lt(ei,{startIcon:Lt(Xn,{}),variant:"outlined",onClick:g,disabled:0===n}),Lt("p",{children:["position:",Lt("span",{className:"vm-explore-metrics-item-header-modal-order__index",children:["#",n+1]})]}),Lt(ei,{endIcon:Lt(Kn,{}),variant:"outlined",onClick:m,disabled:n===i-1})]}),!a&&Lt("div",{className:"vm-explore-metrics-item-header-modal__rate",children:[Lt(Oc,{label:Lt("span",{children:["enable ",Lt("code",{children:"rate()"})]}),value:o,onChange:u,fullWidth:!0}),Lt("p",{children:"calculates the average per-second speed of metrics change"})]}),Lt(ei,{startIcon:Lt(Tn,{}),color:"error",variant:"outlined",onClick:p,fullWidth:!0,children:"Remove graph"})]})})]}:{className:"vm-explore-metrics-item-header",children:[Lt("div",{className:"vm-explore-metrics-item-header-order",children:[Lt(ai,{title:"move graph up",children:Lt(ei,{className:"vm-explore-metrics-item-header-order__up",startIcon:Lt(jn,{}),variant:"text",color:"gray",size:"small",onClick:g})}),Lt("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Lt(ai,{title:"move graph down",children:Lt(ei,{className:"vm-explore-metrics-item-header-order__down",startIcon:Lt(jn,{}),variant:"text",color:"gray",size:"small",onClick:m})})]}),Lt("div",{className:"vm-explore-metrics-item-header__name",children:t}),!a&&Lt("div",{className:"vm-explore-metrics-item-header__rate",children:Lt(ai,{title:"calculates the average per-second speed of metric's change",children:Lt(Oc,{label:Lt("span",{children:["enable ",Lt("code",{children:"rate()"})]}),value:o,onChange:u})})}),Lt("div",{className:"vm-explore-metrics-item-header__close",children:Lt(ai,{title:"close graph",children:Lt(ei,{startIcon:Lt(Tn,{}),variant:"text",color:"gray",size:"small",onClick:p})})})]})},qf=function(e){var t=e.name,n=e.job,i=e.instance,a=e.index,o=e.length,u=e.size,l=e.onRemoveItem,c=e.onChangeOrder,s=(0,r.useMemo)((function(){return/_sum?|_total?|_count?/.test(t)}),[t]),f=(0,r.useMemo)((function(){return/_bucket?/.test(t)}),[t]),d=v((0,r.useState)(s),2),h=d[0],p=d[1],m=hr(document.body),g=(0,r.useMemo)(u.height,[u,m]);return(0,r.useEffect)((function(){p(s)}),[n]),Lt("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Lt(Uf,{name:t,index:a,length:o,isBucket:f,rateEnabled:h,size:u.id,onChangeRate:p,onRemoveItem:l,onChangeOrder:c}),Lt(Vf,{name:t,job:n,instance:i,rateEnabled:h,isBucket:f,height:g},"".concat(t,"_").concat(n,"_").concat(i,"_").concat(h))]})},Wf=function(e){var t=e.values,n=e.onRemoveItem,r=Hr().isMobile;return r?Lt("span",{className:"vm-select-input-content__counter",children:["selected ",t.length]}):Lt(Ot.HY,{children:t.map((function(e){return Lt("div",{className:"vm-select-input-content__selected",children:[Lt("span",{children:e}),Lt("div",{onClick:(t=e,function(e){n(t),e.stopPropagation()}),children:Lt(Tn,{})})]},e);var t}))})},Qf=function(e){var t=e.value,n=e.list,i=e.label,a=e.placeholder,o=e.noOptionsText,u=e.clearable,l=void 0!==u&&u,c=e.searchable,s=void 0!==c&&c,f=e.autofocus,d=e.onChange,h=Bt().isDarkTheme,p=Hr().isMobile,m=v((0,r.useState)(""),2),g=m[0],y=m[1],_=(0,r.useRef)(null),b=v((0,r.useState)(!1),2),D=b[0],w=b[1],k=(0,r.useRef)(null),x=Array.isArray(t),C=Array.isArray(t)?t:void 0,E=p&&x&&!(null===C||void 0===C||!C.length),S=(0,r.useMemo)((function(){return D?g:Array.isArray(t)?"":t}),[t,g,D,x]),A=(0,r.useMemo)((function(){return D?g||"(.+)":""}),[g,D]),N=function(){k.current&&k.current.blur()},M=function(e){d(e),x||(w(!1),N()),x&&k.current&&k.current.focus()},F=function(e){k.current!==e.target&&w(!1)};return(0,r.useEffect)((function(){y(""),D&&k.current&&k.current.focus(),D||N()}),[D,k]),(0,r.useEffect)((function(){f&&k.current&&!p&&k.current.focus()}),[f,k]),(0,r.useEffect)((function(){return window.addEventListener("keyup",F),function(){window.removeEventListener("keyup",F)}}),[]),Lt("div",{className:mr()({"vm-select":!0,"vm-select_dark":h}),children:[Lt("div",{className:"vm-select-input",onClick:function(e){e.target instanceof HTMLInputElement||w((function(e){return!e}))},ref:_,children:[Lt("div",{className:"vm-select-input-content",children:[!(null===C||void 0===C||!C.length)&&Lt(Wf,{values:C,onRemoveItem:M}),!E&&Lt("input",{value:S,type:"text",placeholder:a,onInput:function(e){y(e.target.value)},onFocus:function(){w(!0)},ref:k,readOnly:p||!s})]}),i&&Lt("span",{className:"vm-text-field__label",children:i}),l&&t&&Lt("div",{className:"vm-select-input__icon",onClick:function(e){return function(t){M(e),t.stopPropagation()}}(""),children:Lt(Tn,{})}),Lt("div",{className:mr()({"vm-select-input__icon":!0,"vm-select-input__icon_open":D}),children:Lt($n,{})})]}),Lt(Mc,{label:i,value:A,options:n,anchor:_,selected:C,maxWords:10,minLength:0,fullWidth:!0,noOptionsText:o,onSelect:M,onOpenAutocomplete:w})]})},Gf=Dt.map((function(e){return e.id})),Jf=function(e){var t=e.jobs,n=e.instances,i=e.names,a=e.job,o=e.instance,u=e.size,l=e.selectedMetrics,c=e.onChangeJob,s=e.onChangeInstance,f=e.onToggleMetric,d=e.onChangeSize,h=(0,r.useMemo)((function(){return a?"":"No instances. Please select job"}),[a]),p=(0,r.useMemo)((function(){return a?"":"No metric names. Please select job"}),[a]),m=Hr().isMobile;return Lt("div",{className:mr()({"vm-explore-metrics-header":!0,"vm-explore-metrics-header_mobile":m,"vm-block":!0,"vm-block_mobile":m}),children:[Lt("div",{className:"vm-explore-metrics-header__job",children:Lt(Qf,{value:a,list:t,label:"Job",placeholder:"Please select job",onChange:c,autofocus:!a,searchable:!0})}),Lt("div",{className:"vm-explore-metrics-header__instance",children:Lt(Qf,{value:o,list:n,label:"Instance",placeholder:"Please select instance",onChange:s,noOptionsText:h,clearable:!0,searchable:!0})}),Lt("div",{className:"vm-explore-metrics-header__size",children:Lt(Qf,{label:"Size graphs",value:u,list:Gf,onChange:d})}),Lt("div",{className:"vm-explore-metrics-header-metrics",children:Lt(Qf,{label:"Metrics",value:l,list:i,placeholder:"Search metric name",onChange:f,noOptionsText:p,clearable:!0,searchable:!0})})]})},Zf=wt("job",""),Kf=wt("instance",""),Xf=wt("metrics",""),ed=wt("size",""),td=Dt.find((function(e){return ed?e.id===ed:e.isDefault}))||Dt[0],nd=function(){var e=v((0,r.useState)(Zf),2),t=e[0],n=e[1],i=v((0,r.useState)(Kf),2),a=i[0],o=i[1],u=v((0,r.useState)(Xf?Xf.split("&"):[]),2),l=u[0],c=u[1],s=v((0,r.useState)(td),2),f=s[0],d=s[1];!function(e){var t=e.job,n=e.instance,i=e.metrics,a=e.size,o=wn(),u=o.duration,l=o.relativeTime,c=o.period.date,s=Lr().customStep,f=v(nt(),2)[1],d=function(){var e,r=rs((it(e={},"g0.range_input",u),it(e,"g0.end_input",c),it(e,"g0.step_input",s),it(e,"g0.relative_time",l),it(e,"size",a),it(e,"job",t),it(e,"instance",n),it(e,"metrics",i),e));f(r)};(0,r.useEffect)(d,[u,l,c,s,t,n,i,a]),(0,r.useEffect)(d,[])}({job:t,instance:a,metrics:l.join("&"),size:f.id});var h=function(){var e=Bt().serverUrl,t=wn().period,n=v((0,r.useState)([]),2),i=n[0],a=n[1],o=v((0,r.useState)(!1),2),u=o[0],l=o[1],c=v((0,r.useState)(),2),s=c[0],f=c[1],d=(0,r.useMemo)((function(){return function(e,t){return"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end)}(e,t)}),[e,t]);return(0,r.useEffect)((function(){var e=function(){var e=Wi(Ui().mark((function e(){var t,n,r;return Ui().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],a(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?f(void 0):f("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&f("".concat(e.t0.name,": ").concat(e.t0.message));case 16:l(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();e().catch(console.error)}),[d]),{jobs:i,isLoading:u,error:s}}(),p=h.jobs,m=h.isLoading,g=h.error,y=Hf(t),b=y.instances,D=y.isLoading,w=y.error,k=Yf(t,a),x=k.names,C=k.isLoading,E=k.error,S=(0,r.useMemo)((function(){return m||D||C}),[m,D,C]),A=(0,r.useMemo)((function(){return g||w||E}),[g,w,E]),N=function(e){c(e?function(t){return t.includes(e)?t.filter((function(t){return t!==e})):[].concat(_(t),[e])}:[])},M=function(e,t,n){var r=n>l.length-1;n<0||r||c((function(e){var r=_(e),i=v(r.splice(t,1),1)[0];return r.splice(n,0,i),r}))};return(0,r.useEffect)((function(){a&&b.length&&!b.includes(a)&&o("")}),[b,a]),Lt("div",{className:"vm-explore-metrics",children:[Lt(Jf,{jobs:p,instances:b,names:x,job:t,size:f.id,instance:a,selectedMetrics:l,onChangeJob:n,onChangeSize:function(e){var t=Dt.find((function(t){return t.id===e}));t&&d(t)},onChangeInstance:o,onToggleMetric:N}),S&&Lt(Qc,{}),A&&Lt(Vr,{variant:"error",children:A}),!t&&Lt(Vr,{variant:"info",children:"Please select job to see list of metric names."}),t&&!l.length&&Lt(Vr,{variant:"info",children:"Please select metric names to see the graphs."}),Lt("div",{className:"vm-explore-metrics-body",children:l.map((function(e,n){return Lt(qf,{name:e,job:t,instance:a,index:n,length:l.length,size:f,onRemoveItem:N,onChangeOrder:M},e)}))})]})},rd=function(){var t=qr().showInfoMessage,n=function(e){return function(){var n;n=e,navigator.clipboard.writeText("<".concat(n,"/>")),t({text:"<".concat(n,"/> has been copied"),type:"success"})}};return Lt("div",{className:"vm-preview-icons",children:Object.entries(e).map((function(e){var t=v(e,2),r=t[0],i=t[1];return Lt("div",{className:"vm-preview-icons-item",onClick:n(r),children:[Lt("div",{className:"vm-preview-icons-item__svg",children:i()}),Lt("div",{className:"vm-preview-icons-item__name",children:"<".concat(r,"/>")})]},r)}))})},id=function(){var e=v((0,r.useState)(!1),2),t=e[0],n=e[1];return Lt(Ot.HY,{children:Lt(Ze,{children:Lt(Zr,{children:Lt(Ot.HY,{children:[Lt(Rf,{onLoaded:n}),t&&Lt(Ye,{children:Lt($e,{path:"/",element:Lt(na,{}),children:[Lt($e,{path:dt.home,element:Lt(vs,{})}),Lt($e,{path:dt.metrics,element:Lt(nd,{})}),Lt($e,{path:dt.cardinality,element:Lt(Nf,{})}),Lt($e,{path:dt.topQueries,element:Lt(Tf,{})}),Lt($e,{path:dt.trace,element:Lt($f,{})}),Lt($e,{path:dt.dashboards,element:Lt(rf,{})}),Lt($e,{path:dt.icons,element:Lt(rd,{})})]})})]})})})})},ad=function(e){e&&n.e(27).then(n.bind(n,27)).then((function(t){var n=t.getCLS,r=t.getFID,i=t.getFCP,a=t.getLCP,o=t.getTTFB;n(e),r(e),i(e),a(e),o(e)}))},od=document.getElementById("root");od&&(0,r.render)(Lt(id,{}),od),ad()}()}(); \ No newline at end of file diff --git a/app/vmui/Dockerfile-web b/app/vmui/Dockerfile-web index bf19ceeabf..5ca408acc7 100644 --- a/app/vmui/Dockerfile-web +++ b/app/vmui/Dockerfile-web @@ -1,4 +1,4 @@ -FROM golang:1.20.2 as build-web-stage +FROM golang:1.20.3 as build-web-stage COPY build /build WORKDIR /build diff --git a/app/vmui/packages/vmui/src/components/Chart/GraphTips/contants/tips.tsx b/app/vmui/packages/vmui/src/components/Chart/GraphTips/contants/tips.tsx index bf096b91c7..6957d3f8ce 100644 --- a/app/vmui/packages/vmui/src/components/Chart/GraphTips/contants/tips.tsx +++ b/app/vmui/packages/vmui/src/components/Chart/GraphTips/contants/tips.tsx @@ -51,15 +51,16 @@ const legendTips = [ }, { - title: "Copy key-value pairs", + title: "Copy label key-value pairs", description: <> - click on a key-value pair to save it to the clipboard. + click on a label key-value pair to save it to the clipboard. }, { title: "Collapse/Expand the legend group", description: <> - click on the group name (e.g. Query 1: {name!=""}) to collapse or expand the legend. + click on the group name (e.g. Query 1: {__name__!=""}) + to collapse or expand the legend. }, ]; diff --git a/app/vmui/packages/vmui/src/components/Chart/ChartTooltipHeatmap/ChartTooltipHeatmap.tsx b/app/vmui/packages/vmui/src/components/Chart/Heatmap/ChartTooltipHeatmap/ChartTooltipHeatmap.tsx similarity index 88% rename from app/vmui/packages/vmui/src/components/Chart/ChartTooltipHeatmap/ChartTooltipHeatmap.tsx rename to app/vmui/packages/vmui/src/components/Chart/Heatmap/ChartTooltipHeatmap/ChartTooltipHeatmap.tsx index 6e5d2dd587..3cfeb5a355 100644 --- a/app/vmui/packages/vmui/src/components/Chart/ChartTooltipHeatmap/ChartTooltipHeatmap.tsx +++ b/app/vmui/packages/vmui/src/components/Chart/Heatmap/ChartTooltipHeatmap/ChartTooltipHeatmap.tsx @@ -1,18 +1,17 @@ import React, { FC, useEffect, useMemo, useRef, useState } from "preact/compat"; import uPlot from "uplot"; import ReactDOM from "react-dom"; -import Button from "../../Main/Button/Button"; -import { CloseIcon, DragIcon } from "../../Main/Icons"; +import Button from "../../../Main/Button/Button"; +import { CloseIcon, DragIcon } from "../../../Main/Icons"; import classNames from "classnames"; import { MouseEvent as ReactMouseEvent } from "react"; -import "../ChartTooltip/style.scss"; +import "../../Line/ChartTooltip/style.scss"; export interface TooltipHeatmapProps { cursor: {left: number, top: number} startDate: string, endDate: string, - metricName: string, - fields: string[], + bucket: string, value: number, valueFormat: string } @@ -36,8 +35,7 @@ const ChartTooltipHeatmap: FC = ({ onClose, startDate, endDate, - metricName, - fields, + bucket, valueFormat, value }) => { @@ -141,18 +139,12 @@ const ChartTooltipHeatmap: FC = ({

    - {metricName}: - {valueFormat} - {unit} + value: {valueFormat}{unit}

    - {!!fields.length && ( -
    - {fields.map((f, i) => ( -
    {f}
    - ))} -
    - )} +
    + {bucket} +
    ), targetPortal); }; diff --git a/app/vmui/packages/vmui/src/components/Chart/HeatmapChart/HeatmapChart.tsx b/app/vmui/packages/vmui/src/components/Chart/Heatmap/HeatmapChart/HeatmapChart.tsx similarity index 89% rename from app/vmui/packages/vmui/src/components/Chart/HeatmapChart/HeatmapChart.tsx rename to app/vmui/packages/vmui/src/components/Chart/Heatmap/HeatmapChart/HeatmapChart.tsx index 8f7cbc179e..cdbe20fc58 100644 --- a/app/vmui/packages/vmui/src/components/Chart/HeatmapChart/HeatmapChart.tsx +++ b/app/vmui/packages/vmui/src/components/Chart/Heatmap/HeatmapChart/HeatmapChart.tsx @@ -4,21 +4,21 @@ import uPlot, { Options as uPlotOptions, Range } from "uplot"; -import { defaultOptions, sizeAxis } from "../../../utils/uplot/helpers"; -import { dragChart } from "../../../utils/uplot/events"; -import { getAxes } from "../../../utils/uplot/axes"; -import { MetricResult } from "../../../api/types"; -import { dateFromSeconds, formatDateForNativeInput, limitsDurations } from "../../../utils/time"; +import { defaultOptions, sizeAxis } from "../../../../utils/uplot/helpers"; +import { dragChart } from "../../../../utils/uplot/events"; +import { getAxes } from "../../../../utils/uplot/axes"; +import { MetricResult } from "../../../../api/types"; +import { dateFromSeconds, formatDateForNativeInput, limitsDurations } from "../../../../utils/time"; import throttle from "lodash.throttle"; -import useResize from "../../../hooks/useResize"; -import { TimeParams } from "../../../types"; -import { YaxisState } from "../../../state/graph/reducer"; +import useResize from "../../../../hooks/useResize"; +import { TimeParams } from "../../../../types"; +import { YaxisState } from "../../../../state/graph/reducer"; import "uplot/dist/uPlot.min.css"; import classNames from "classnames"; import dayjs from "dayjs"; -import { useAppState } from "../../../state/common/StateContext"; -import { heatmapPaths } from "../../../utils/uplot/heatmap"; -import { DATE_FULL_TIMEZONE_FORMAT } from "../../../constants/date"; +import { useAppState } from "../../../../state/common/StateContext"; +import { heatmapPaths } from "../../../../utils/uplot/heatmap"; +import { DATE_FULL_TIMEZONE_FORMAT } from "../../../../constants/date"; import ChartTooltipHeatmap, { ChartTooltipHeatmapProps, TooltipHeatmapProps @@ -33,7 +33,7 @@ export interface HeatmapChartProps { setPeriod: ({ from, to }: {from: Date, to: Date}) => void; container: HTMLDivElement | null; height?: number; - onChangeLegend: (val: number) => void; + onChangeLegend: (val: TooltipHeatmapProps) => void; } enum typeChartUpdate {xRange = "xRange", yRange = "yRange"} @@ -62,7 +62,7 @@ const HeatmapChart: FC = ({ const [tooltipOffset, setTooltipOffset] = useState({ left: 0, top: 0 }); const [stickyTooltips, setStickyToolTips] = useState([]); const tooltipId = useMemo(() => { - return `${tooltipProps?.fields.join(",")}_${tooltipProps?.startDate}`; + return `${tooltipProps?.bucket}_${tooltipProps?.startDate}`; }, [tooltipProps]); const setScale = ({ min, max }: { min: number, max: number }): void => { @@ -135,7 +135,7 @@ const HeatmapChart: FC = ({ const handleClick = () => { if (!tooltipProps) return; - const id = `${tooltipProps?.fields.join(",")}_${tooltipProps?.startDate}`; + const id = `${tooltipProps?.bucket}_${tooltipProps?.startDate}`; const props = { id, unit, @@ -171,12 +171,6 @@ const HeatmapChart: FC = ({ return; } - const metric = result?.metric; - const metricName = metric["__name__"] || "value"; - - const labelNames = Object.keys(metric).filter(x => x != "__name__"); - const fields = labelNames.map(key => `${key}=${JSON.stringify(metric[key])}`); - const [endTime = 0, value = ""] = result.values.find(v => v[0] === second) || []; const valueFormat = `${+value}%`; const startTime = xArr[xIdx]; @@ -187,8 +181,7 @@ const HeatmapChart: FC = ({ cursor: { left, top }, startDate, endDate, - metricName, - fields, + bucket: result?.metric?.vmrange || "", value: +value, valueFormat: valueFormat, }); @@ -228,7 +221,7 @@ const HeatmapChart: FC = ({ font: axes[0].font, size: sizeAxis, splits: metrics.map((m, i) => i), - values: metrics.map(m => Object.entries(m.metric).map(e => `${e[0]}=${JSON.stringify(e[1])}`)[0]), + values: metrics.map(m => m.metric.vmrange), } ], scales: { @@ -339,7 +332,7 @@ const HeatmapChart: FC = ({ }, [tooltipProps, stickyTooltips]); useEffect(() => { - onChangeLegend(tooltipProps?.value || 0); + if (tooltipProps) onChangeLegend(tooltipProps); }, [tooltipProps]); return ( diff --git a/app/vmui/packages/vmui/src/components/Chart/Heatmap/LegendHeatmap/LegendHeatmap.tsx b/app/vmui/packages/vmui/src/components/Chart/Heatmap/LegendHeatmap/LegendHeatmap.tsx new file mode 100644 index 0000000000..97824cb3f8 --- /dev/null +++ b/app/vmui/packages/vmui/src/components/Chart/Heatmap/LegendHeatmap/LegendHeatmap.tsx @@ -0,0 +1,68 @@ +import React, { FC, useEffect, useState } from "preact/compat"; +import { gradMetal16 } from "../../../../utils/uplot/heatmap"; +import "./style.scss"; +import { TooltipHeatmapProps } from "../ChartTooltipHeatmap/ChartTooltipHeatmap"; +import { SeriesItem } from "../../../../utils/uplot/series"; +import LegendItem from "../../Line/Legend/LegendItem/LegendItem"; +import { LegendItemType } from "../../../../utils/uplot/types"; + +interface LegendHeatmapProps { + min: number + max: number + legendValue: TooltipHeatmapProps | null, + series: SeriesItem[] +} + +const LegendHeatmap: FC = ( + { + min, + max, + legendValue, + series, + } +) => { + + const [percent, setPercent] = useState(0); + const [valueFormat, setValueFormat] = useState(""); + const [minFormat, setMinFormat] = useState(""); + const [maxFormat, setMaxFormat] = useState(""); + + useEffect(() => { + const value = legendValue?.value || 0; + setPercent(value ? (value - min) / (max - min) * 100 : 0); + setValueFormat(value ? `${value}%` : ""); + setMinFormat(`${min}%`); + setMaxFormat(`${max}%`); + }, [legendValue, min, max]); + + return ( +
    +
    +
    + {!!legendValue?.value && ( +
    + {valueFormat} +
    + )} +
    +
    {minFormat}
    +
    {maxFormat}
    +
    + {series[1] && ( + + )} +
    + ); +}; + +export default LegendHeatmap; diff --git a/app/vmui/packages/vmui/src/components/Chart/LegendHeatmap/style.scss b/app/vmui/packages/vmui/src/components/Chart/Heatmap/LegendHeatmap/style.scss similarity index 86% rename from app/vmui/packages/vmui/src/components/Chart/LegendHeatmap/style.scss rename to app/vmui/packages/vmui/src/components/Chart/Heatmap/LegendHeatmap/style.scss index acba34f2bb..359dda224c 100644 --- a/app/vmui/packages/vmui/src/components/Chart/LegendHeatmap/style.scss +++ b/app/vmui/packages/vmui/src/components/Chart/Heatmap/LegendHeatmap/style.scss @@ -7,6 +7,14 @@ justify-content: space-between; gap: 4px; + &__wrapper { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: $padding-global; + flex-wrap: wrap; + } + &__value { color: $color-text; font-size: $font-size-small; @@ -52,4 +60,8 @@ } } } + + &__labels { + word-break: break-all; + } } diff --git a/app/vmui/packages/vmui/src/components/Chart/LegendHeatmap/LegendHeatmap.tsx b/app/vmui/packages/vmui/src/components/Chart/LegendHeatmap/LegendHeatmap.tsx deleted file mode 100644 index 4747331c63..0000000000 --- a/app/vmui/packages/vmui/src/components/Chart/LegendHeatmap/LegendHeatmap.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import React, { FC, useEffect, useState } from "preact/compat"; -import { gradMetal16 } from "../../../utils/uplot/heatmap"; -import "./style.scss"; - -interface LegendHeatmapProps { - min: number - max: number - value?: number -} - -const LegendHeatmap: FC = ({ min, max, value }) => { - - const [percent, setPercent] = useState(0); - const [valueFormat, setValueFormat] = useState(""); - const [minFormat, setMinFormat] = useState(""); - const [maxFormat, setMaxFormat] = useState(""); - - useEffect(() => { - setPercent(value ? (value - min) / (max - min) * 100 : 0); - setValueFormat(value ? `${value}%` : ""); - setMinFormat(`${min}%`); - setMaxFormat(`${max}%`); - }, [value, min, max]); - - return ( -
    -
    - {!!value && ( -
    - {valueFormat} -
    - )} -
    -
    {minFormat}
    -
    {maxFormat}
    -
    - ); -}; - -export default LegendHeatmap; diff --git a/app/vmui/packages/vmui/src/components/Chart/ChartTooltip/ChartTooltip.tsx b/app/vmui/packages/vmui/src/components/Chart/Line/ChartTooltip/ChartTooltip.tsx similarity index 93% rename from app/vmui/packages/vmui/src/components/Chart/ChartTooltip/ChartTooltip.tsx rename to app/vmui/packages/vmui/src/components/Chart/Line/ChartTooltip/ChartTooltip.tsx index d69a99da7b..23c2a434a3 100644 --- a/app/vmui/packages/vmui/src/components/Chart/ChartTooltip/ChartTooltip.tsx +++ b/app/vmui/packages/vmui/src/components/Chart/Line/ChartTooltip/ChartTooltip.tsx @@ -1,17 +1,17 @@ import React, { FC, useEffect, useMemo, useRef, useState } from "preact/compat"; import uPlot from "uplot"; -import { MetricResult } from "../../../api/types"; -import { formatPrettyNumber } from "../../../utils/uplot/helpers"; +import { MetricResult } from "../../../../api/types"; +import { formatPrettyNumber } from "../../../../utils/uplot/helpers"; import dayjs from "dayjs"; -import { DATE_FULL_TIMEZONE_FORMAT } from "../../../constants/date"; +import { DATE_FULL_TIMEZONE_FORMAT } from "../../../../constants/date"; import ReactDOM from "react-dom"; import get from "lodash.get"; -import Button from "../../Main/Button/Button"; -import { CloseIcon, DragIcon } from "../../Main/Icons"; +import Button from "../../../Main/Button/Button"; +import { CloseIcon, DragIcon } from "../../../Main/Icons"; import classNames from "classnames"; import { MouseEvent as ReactMouseEvent } from "react"; import "./style.scss"; -import { SeriesItem } from "../../../utils/uplot/series"; +import { SeriesItem } from "../../../../utils/uplot/series"; export interface ChartTooltipProps { id: string, diff --git a/app/vmui/packages/vmui/src/components/Chart/ChartTooltip/style.scss b/app/vmui/packages/vmui/src/components/Chart/Line/ChartTooltip/style.scss similarity index 98% rename from app/vmui/packages/vmui/src/components/Chart/ChartTooltip/style.scss rename to app/vmui/packages/vmui/src/components/Chart/Line/ChartTooltip/style.scss index 891bd3125d..e924130d5c 100644 --- a/app/vmui/packages/vmui/src/components/Chart/ChartTooltip/style.scss +++ b/app/vmui/packages/vmui/src/components/Chart/Line/ChartTooltip/style.scss @@ -78,5 +78,6 @@ $chart-tooltip-y: -1 * ($padding-small + $chart-tooltip-half-icon); display: grid; grid-gap: 4px; word-break: break-all; + white-space: pre-wrap; } } diff --git a/app/vmui/packages/vmui/src/components/Chart/Legend/Legend.tsx b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/Legend.tsx similarity index 92% rename from app/vmui/packages/vmui/src/components/Chart/Legend/Legend.tsx rename to app/vmui/packages/vmui/src/components/Chart/Line/Legend/Legend.tsx index 6cdc476327..9cdffff432 100644 --- a/app/vmui/packages/vmui/src/components/Chart/Legend/Legend.tsx +++ b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/Legend.tsx @@ -1,7 +1,7 @@ import React, { FC, useMemo } from "preact/compat"; -import { LegendItemType } from "../../../utils/uplot/types"; +import { LegendItemType } from "../../../../utils/uplot/types"; import LegendItem from "./LegendItem/LegendItem"; -import Accordion from "../../Main/Accordion/Accordion"; +import Accordion from "../../../Main/Accordion/Accordion"; import "./style.scss"; interface LegendProps { diff --git a/app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/LegendItem.tsx b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/LegendItem.tsx similarity index 68% rename from app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/LegendItem.tsx rename to app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/LegendItem.tsx index 813f5933c3..ebc080825d 100644 --- a/app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/LegendItem.tsx +++ b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/LegendItem.tsx @@ -1,19 +1,23 @@ import React, { FC, useState, useMemo } from "preact/compat"; import { MouseEvent } from "react"; -import { LegendItemType } from "../../../../utils/uplot/types"; +import { LegendItemType } from "../../../../../utils/uplot/types"; import "./style.scss"; import classNames from "classnames"; -import Tooltip from "../../../Main/Tooltip/Tooltip"; +import Tooltip from "../../../../Main/Tooltip/Tooltip"; import { getFreeFields } from "./helpers"; interface LegendItemProps { legend: LegendItemType; - onChange: (item: LegendItemType, metaKey: boolean) => void; + onChange?: (item: LegendItemType, metaKey: boolean) => void; + isHeatmap?: boolean; } -const LegendItem: FC = ({ legend, onChange }) => { +const LegendItem: FC = ({ legend, onChange, isHeatmap }) => { const [copiedValue, setCopiedValue] = useState(""); - const freeFormFields = useMemo(() => getFreeFields(legend), [legend]); + const freeFormFields = useMemo(() => { + const result = getFreeFields(legend); + return isHeatmap ? result.filter(f => f.key !== "vmrange") : result; + }, [legend, isHeatmap]); const calculations = legend.calculations; const showCalculations = Object.values(calculations).some(v => v); @@ -24,7 +28,7 @@ const LegendItem: FC = ({ legend, onChange }) => { }; const createHandlerClick = (legend: LegendItemType) => (e: MouseEvent) => { - onChange(legend, e.ctrlKey || e.metaKey); + onChange && onChange(legend, e.ctrlKey || e.metaKey); }; const createHandlerCopy = (freeField: string, id: string) => (e: MouseEvent) => { @@ -37,18 +41,21 @@ const LegendItem: FC = ({ legend, onChange }) => { className={classNames({ "vm-legend-item": true, "vm-legend-row": true, - "vm-legend-item_hide": !legend.checked, + "vm-legend-item_hide": !legend.checked && !isHeatmap, + "vm-legend-item_static": isHeatmap, })} onClick={createHandlerClick(legend)} > -
    + {!isHeatmap && ( +
    + )}
    {legend.freeFormFields["__name__"]} - { + {!!freeFormFields.length && <>{} {freeFormFields.map((f, i) => ( = ({ legend, onChange }) => { ))} - } + {!!freeFormFields.length && <>}}
    - {showCalculations && ( + {!isHeatmap && showCalculations && (
    median:{calculations.median}, min:{calculations.min}, max:{calculations.max}, last:{calculations.last}
    diff --git a/app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/helpers.ts b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/helpers.ts similarity index 84% rename from app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/helpers.ts rename to app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/helpers.ts index 53e6bed59d..6fed3c686c 100644 --- a/app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/helpers.ts +++ b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/helpers.ts @@ -1,4 +1,4 @@ -import { LegendItemType } from "../../../../utils/uplot/types"; +import { LegendItemType } from "../../../../../utils/uplot/types"; export const getFreeFields = (legend: LegendItemType) => { const keys = Object.keys(legend.freeFormFields).filter(f => f !== "__name__"); diff --git a/app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/style.scss b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/style.scss similarity index 84% rename from app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/style.scss rename to app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/style.scss index 4e32bc26f6..7c5e2ed1bc 100644 --- a/app/vmui/packages/vmui/src/components/Chart/Legend/LegendItem/style.scss +++ b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/LegendItem/style.scss @@ -21,6 +21,17 @@ opacity: 0.5; } + &_static { + grid-template-columns: 1fr; + margin: 0; + padding: 0; + cursor: default; + + &:hover { + background-color: $color-background-block; + } + } + &__marker { width: 14px; height: 14px; diff --git a/app/vmui/packages/vmui/src/components/Chart/Legend/style.scss b/app/vmui/packages/vmui/src/components/Chart/Line/Legend/style.scss similarity index 100% rename from app/vmui/packages/vmui/src/components/Chart/Legend/style.scss rename to app/vmui/packages/vmui/src/components/Chart/Line/Legend/style.scss diff --git a/app/vmui/packages/vmui/src/components/Chart/LineChart/LineChart.tsx b/app/vmui/packages/vmui/src/components/Chart/Line/LineChart/LineChart.tsx similarity index 94% rename from app/vmui/packages/vmui/src/components/Chart/LineChart/LineChart.tsx rename to app/vmui/packages/vmui/src/components/Chart/Line/LineChart/LineChart.tsx index f3e41ac55e..7fab79c11e 100644 --- a/app/vmui/packages/vmui/src/components/Chart/LineChart/LineChart.tsx +++ b/app/vmui/packages/vmui/src/components/Chart/Line/LineChart/LineChart.tsx @@ -7,22 +7,22 @@ import uPlot, { Scales, Scale, } from "uplot"; -import { defaultOptions } from "../../../utils/uplot/helpers"; -import { dragChart } from "../../../utils/uplot/events"; -import { getAxes, getMinMaxBuffer } from "../../../utils/uplot/axes"; -import { MetricResult } from "../../../api/types"; -import { dateFromSeconds, formatDateForNativeInput, limitsDurations } from "../../../utils/time"; +import { defaultOptions } from "../../../../utils/uplot/helpers"; +import { dragChart } from "../../../../utils/uplot/events"; +import { getAxes, getMinMaxBuffer } from "../../../../utils/uplot/axes"; +import { MetricResult } from "../../../../api/types"; +import { dateFromSeconds, formatDateForNativeInput, limitsDurations } from "../../../../utils/time"; import throttle from "lodash.throttle"; -import useResize from "../../../hooks/useResize"; -import { TimeParams } from "../../../types"; -import { YaxisState } from "../../../state/graph/reducer"; +import useResize from "../../../../hooks/useResize"; +import { TimeParams } from "../../../../types"; +import { YaxisState } from "../../../../state/graph/reducer"; import "uplot/dist/uPlot.min.css"; import "./style.scss"; import classNames from "classnames"; import ChartTooltip, { ChartTooltipProps } from "../ChartTooltip/ChartTooltip"; import dayjs from "dayjs"; -import { useAppState } from "../../../state/common/StateContext"; -import { SeriesItem } from "../../../utils/uplot/series"; +import { useAppState } from "../../../../state/common/StateContext"; +import { SeriesItem } from "../../../../utils/uplot/series"; export interface LineChartProps { metrics: MetricResult[]; diff --git a/app/vmui/packages/vmui/src/components/Chart/LineChart/style.scss b/app/vmui/packages/vmui/src/components/Chart/Line/LineChart/style.scss similarity index 100% rename from app/vmui/packages/vmui/src/components/Chart/LineChart/style.scss rename to app/vmui/packages/vmui/src/components/Chart/Line/LineChart/style.scss diff --git a/app/vmui/packages/vmui/src/components/Main/ShortcutKeys/ShortcutKeys.tsx b/app/vmui/packages/vmui/src/components/Main/ShortcutKeys/ShortcutKeys.tsx index 1f2f589f2e..3da26c0340 100644 --- a/app/vmui/packages/vmui/src/components/Main/ShortcutKeys/ShortcutKeys.tsx +++ b/app/vmui/packages/vmui/src/components/Main/ShortcutKeys/ShortcutKeys.tsx @@ -1,77 +1,18 @@ -import React, { FC, useState } from "preact/compat"; -import { isMacOs } from "../../../utils/detect-device"; +import React, { FC, useEffect, useState } from "preact/compat"; import { getAppModeEnable } from "../../../utils/app-mode"; import Button from "../Button/Button"; import { KeyboardIcon } from "../Icons"; import Modal from "../Modal/Modal"; import "./style.scss"; import Tooltip from "../Tooltip/Tooltip"; - -const ctrlMeta = isMacOs() ? "Cmd" : "Ctrl"; - -const keyList = [ - { - title: "Query", - list: [ - { - keys: ["Enter"], - description: "Run" - }, - { - keys: ["Shift", "Enter"], - description: "Multi-line queries" - }, - { - keys: [ctrlMeta, "Arrow Up"], - description: "Previous command from the Query history" - }, - { - keys: [ctrlMeta, "Arrow Down"], - description: "Next command from the Query history" - }, - { - keys: [ctrlMeta, "Click by 'Eye'"], - description: "Toggle multiple queries" - } - ] - }, - { - title: "Graph", - list: [ - { - keys: [ctrlMeta, "Scroll Up"], - alt: ["+"], - description: "Zoom in" - }, - { - keys: [ctrlMeta, "Scroll Down"], - alt: ["-"], - description: "Zoom out" - }, - { - keys: [ctrlMeta, "Click and Drag"], - description: "Move the graph left/right" - }, - ] - }, - { - title: "Legend", - list: [ - { - keys: ["Mouse Click"], - description: "Select series" - }, - { - keys: [ctrlMeta, "Mouse Click"], - description: "Toggle multiple series" - } - ] - } -]; +import keyList from "./constants/keyList"; +import { isMacOs } from "../../../utils/detect-device"; const title = "Shortcut keys"; +const isMac = isMacOs(); +const keyOpenHelp = isMac ? "Cmd + /" : "F1"; -const ShortcutKeys: FC<{showTitle?: boolean}> = ({ showTitle }) => { +const ShortcutKeys: FC<{ showTitle?: boolean }> = ({ showTitle }) => { const [openList, setOpenList] = useState(false); const appModeEnable = getAppModeEnable(); @@ -83,10 +24,26 @@ const ShortcutKeys: FC<{showTitle?: boolean}> = ({ showTitle }) => { setOpenList(false); }; + const handleKeyDown = (e: KeyboardEvent) => { + const openOnMac = isMac && e.key === "/" && e.metaKey; + const openOnOther = !isMac && e.key === "F1" && !e.metaKey; + if (openOnMac || openOnOther) { + handleOpen(); + } + }; + + useEffect(() => { + window.addEventListener("keydown", handleKeyDown); + + return () => { + window.removeEventListener("keydown", handleKeyDown); + }; + }, []); + return <>
    Cluster version of VictoriaMetrics:
    @@ -252,6 +253,8 @@ Single-node VictoriaMetrics: curl -d 'metric_name{foo="bar"} 123' -X POST http://localhost:8428/api/v1/import/prometheus ``` +
    + Cluster version of VictoriaMetrics:
    diff --git a/docs/vmalert.md b/docs/vmalert.md index afbe71196e..86e3f2d9ca 100644 --- a/docs/vmalert.md +++ b/docs/vmalert.md @@ -920,7 +920,7 @@ The shortlist of configuration flags is the following: -evaluationInterval duration How often to evaluate the rules (default 1m0s) -external.alert.source string - External Alert Source allows to override the Source link for alerts sent to AlertManager for cases where you want to build a custom link to Grafana, Prometheus or any other service. Supports templating - see https://docs.victoriametrics.com/vmalert.html#templating . For example, link to Grafana: -external.alert.source='explore?orgId=1&left=["now-1h","now","VictoriaMetrics",{"expr":{{$expr|jsonEscape|queryEscape}} },{"mode":"Metrics"},{"ui":[true,true,true,"none"]}]'. Link to VMUI: -external.alert.source='vmui/#/?g0.expr={{.Expr|queryEscape}}'. If empty 'vmalert/alert?group_id={{.GroupID}}&alert_id={{.AlertID}}' is used. + External Alert Source allows to override the Source link for alerts sent to AlertManager for cases where you want to build a custom link to Grafana, Prometheus or any other service. Supports templating - see https://docs.victoriametrics.com/vmalert.html#templating . For example, link to Grafana: -external.alert.source='explore?orgId=1&left={"datasource":"VictoriaMetrics","queries":[{"expr":{{$expr|jsonEscape|queryEscape}},"refId":"A"}],"range":{"from":"now-1h","to":"now"}}'. Link to VMUI: -external.alert.source='vmui/#/?g0.expr={{.Expr|queryEscape}}'. If empty 'vmalert/alert?group_id={{.GroupID}}&alert_id={{.AlertID}}' is used. -external.label array Optional label in the form 'Name=value' to add to all generated recording rules and alerts. Pass multiple -label flags in order to add multiple label sets. Supports an array of values separated by comma or specified via multiple flags. diff --git a/docs/vmbackupmanager.md b/docs/vmbackupmanager.md index e4e7ea78ce..34c43c98d8 100644 --- a/docs/vmbackupmanager.md +++ b/docs/vmbackupmanager.md @@ -279,7 +279,8 @@ If restore mark doesn't exist at `storageDataPath`(restore wasn't requested) `vm ```yaml vmbackup: restore: - onStart: "true" + onStart: + enabled: "true" ``` See operator `VMStorage` schema [here](https://docs.victoriametrics.com/operator/api.html#vmstorage) and `VMSingle` [here](https://docs.victoriametrics.com/operator/api.html#vmsinglespec). 2. Enter container running `vmbackupmanager` @@ -309,7 +310,8 @@ Clusters here are referred to as `source` and `destination`. ```yaml vmbackup: restore: - onStart: "true" + onStart: + enabled: "true" ``` Note: it is safe to leave this section in the cluster configuration, since it will be ignored if restore mark doesn't exist. > Important! Use different `-dst` for *destination* cluster to avoid overwriting backup data of the *source* cluster. diff --git a/go.mod b/go.mod index c0f9002efb..36b4fd42df 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/golang/snappy v0.0.4 github.com/googleapis/gax-go/v2 v2.8.0 github.com/influxdata/influxdb v1.11.0 - github.com/klauspost/compress v1.16.3 + github.com/klauspost/compress v1.16.4 github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-runewidth v0.0.14 // indirect github.com/oklog/ulid v1.3.1 @@ -36,13 +36,13 @@ require ( github.com/valyala/fastjson v1.6.4 github.com/valyala/fastrand v1.1.0 github.com/valyala/fasttemplate v1.2.2 - github.com/valyala/gozstd v1.18.0 + github.com/valyala/gozstd v1.19.0 github.com/valyala/histogram v1.2.0 github.com/valyala/quicktemplate v1.7.0 - golang.org/x/net v0.8.0 + golang.org/x/net v0.9.0 golang.org/x/oauth2 v0.6.0 - golang.org/x/sys v0.6.0 - google.golang.org/api v0.114.0 + golang.org/x/sys v0.7.0 + google.golang.org/api v0.116.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -50,11 +50,11 @@ require ( cloud.google.com/go v0.110.0 // indirect cloud.google.com/go/compute v1.19.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 // indirect + cloud.google.com/go/iam v1.0.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect - github.com/aws/aws-sdk-go v1.44.234 // indirect + github.com/aws/aws-sdk-go v1.44.238 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.13.18 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1 // indirect @@ -109,11 +109,11 @@ require ( go.uber.org/goleak v1.2.1 // indirect golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/text v0.8.0 // indirect + golang.org/x/text v0.9.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633 // indirect + google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd // indirect google.golang.org/grpc v1.54.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index a977113867..1f0368e729 100644 --- a/go.sum +++ b/go.sum @@ -27,8 +27,8 @@ cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGB cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.0.0 h1:hlQJMovyJJwYjZcTohUH4o1L8Z8kYz+E+W/zktiLCBc= +cloud.google.com/go/iam v1.0.0/go.mod h1:ikbQ4f1r91wTmBmmOtBCOtuEOei6taatNXytzB7Cxew= cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= @@ -46,8 +46,8 @@ github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9Eb github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0 h1:rTnT/Jrcm+figWlYz4Ixzt0SJVR2cMC8lvZcimipiEY= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0/go.mod h1:ON4tFdPTwRcgWEaVDrN3584Ef+b7GgSJaXxe5fW9t4M= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 h1:leh5DwKv6Ihwi+h60uHtn6UWAxBbZ0q8DwQVMzf61zw= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 h1:sXr+ck84g/ZlZUOZiNELInmMgOsuGwdjjVkEIde0OtY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 h1:u/LLAOFgsMv7HmNL4Qufg58y+qElGOt5qv0z1mURkRY= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0/go.mod h1:2e8rMJtl2+2j+HXbTBwnyGpm5Nou7KhvSfxOq8JpTag= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= @@ -86,8 +86,8 @@ github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.234 h1:8YbQ5AhpgV/cC7jYX8qS34Am/vcn2ZoIFJ1qIgwOL+0= -github.com/aws/aws-sdk-go v1.44.234/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.44.238 h1:qSWVXr/y/SsYyuvwVHYQpzcMKa2UzOjKgqPp7BTGfbo= +github.com/aws/aws-sdk-go v1.44.238/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.17.7 h1:CLSjnhJSTSogvqUGhIC6LqFKATMRexcxLZ0i/Nzk9Eg= github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= @@ -315,8 +315,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= -github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU= +github.com/klauspost/compress v1.16.4/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -427,8 +427,8 @@ github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/gozstd v1.18.0 h1:f4BskcUZBnDrEJ2F+lVbNCMGOFBoGHEw71RBkCNR4IM= -github.com/valyala/gozstd v1.18.0/go.mod h1:y5Ew47GLlP37EkTB+B4s7r6A5rdaeB7ftbl9zoYiIPQ= +github.com/valyala/gozstd v1.19.0 h1:BS0M7sH3dcuyw2SQBrTLprAdGuNxfiH0c4IAM8kX07c= +github.com/valyala/gozstd v1.19.0/go.mod h1:y5Ew47GLlP37EkTB+B4s7r6A5rdaeB7ftbl9zoYiIPQ= github.com/valyala/histogram v1.2.0 h1:wyYGAZZt3CpwUiIb9AU/Zbllg1llXyrtApRS815OLoQ= github.com/valyala/histogram v1.2.0/go.mod h1:Hb4kBwb4UxsaNbbbh+RRz8ZR6pdodR57tzWUS3BUzXY= github.com/valyala/quicktemplate v1.7.0 h1:LUPTJmlVcb46OOUY3IeD9DojFpAVbsG+5WFTcjMJzCM= @@ -539,8 +539,8 @@ golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -605,12 +605,13 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -619,8 +620,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -692,8 +693,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= -google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.116.0 h1:09tOPVufPwfm5W4aA8EizGHJ7BcoRDsIareM2a15gO4= +google.golang.org/api v0.116.0/go.mod h1:9cD4/t6uvd9naoEJFA+M96d0IuB6BqFuyhpw68+mRGg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -731,8 +732,8 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633 h1:0BOZf6qNozI3pkN3fJLwNubheHJYHhMh91GRFOWWK08= -google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd h1:sLpv7bNL1AsX3fdnWh9WVh7ejIzXdOc1RRHGeAmeStU= +google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/lib/encoding/encoding_pure_test.go b/lib/encoding/encoding_pure_test.go index 0a7aa7a1c8..ba3e40f130 100644 --- a/lib/encoding/encoding_pure_test.go +++ b/lib/encoding/encoding_pure_test.go @@ -21,7 +21,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) { v += int64(r.NormFloat64() * 1e6) va = append(va, v) } - for precisionBits := uint8(1); precisionBits < 17; precisionBits++ { + for precisionBits := uint8(1); precisionBits < 14; precisionBits++ { testMarshalUnmarshalInt64Array(t, va, precisionBits, MarshalTypeZSTDNearestDelta) } for precisionBits := uint8(23); precisionBits < 65; precisionBits++ { diff --git a/lib/promutils/labels.go b/lib/promutils/labels.go index f22c1552f6..b4f9216ebd 100644 --- a/lib/promutils/labels.go +++ b/lib/promutils/labels.go @@ -188,6 +188,22 @@ func (x *Labels) Get(name string) string { return "" } +// Set label value for label with given name +// If the label with the given name doesn't exist, it adds as the new label +func (x *Labels) Set(name, value string) { + if name == "" || value == "" { + return + } + labels := x.GetLabels() + for i, label := range labels { + if label.Name == name { + labels[i].Value = value + return + } + } + x.Add(name, value) +} + // InternStrings interns all the strings used in x labels. func (x *Labels) InternStrings() { labels := x.GetLabels() @@ -306,7 +322,7 @@ func MustNewLabelsFromString(metricWithLabels string) *Labels { // NewLabelsFromString creates labels from s, which can have the form `metric{labels}`. // -// This function must be used only in tests +// This function must be used only in non performance-critical code, since it allocates too much func NewLabelsFromString(metricWithLabels string) (*Labels, error) { stripDummyMetric := false if strings.HasPrefix(metricWithLabels, "{") { diff --git a/lib/promutils/labels_test.go b/lib/promutils/labels_test.go index 83e79040ce..18bdfee4ff 100644 --- a/lib/promutils/labels_test.go +++ b/lib/promutils/labels_test.go @@ -175,3 +175,22 @@ func TestLabelsRemoveLabelsWithDoubleUnderscorePrefix(t *testing.T) { f(`{__meta_foo="bar",a="b",__name__="foo",__vm_filepath="aa"}`, `{a="b"}`) f(`{__meta_foo="bdffr",foo="bar",__meta_xxx="basd"}`, `{foo="bar"}`) } + +func TestLabels_Set(t *testing.T) { + f := func(metric, name, value, resultExpected string) { + t.Helper() + labels := MustNewLabelsFromString(metric) + labels.Set(name, value) + result := labels.String() + if result != resultExpected { + t.Fatalf("unexpected result of RemoveLabelsWithDoubleUnderscorePrefix;\ngot\n%s\nwant\n%s", result, resultExpected) + } + } + f(`{}`, ``, ``, `{}`) + f(`{foo="bar"}`, `bar`, `baz`, `{foo="bar",bar="baz"}`) + f(`{__meta_foo="bar",a="b",__name__="foo",__vm_filepath="aa"}`, `__name__`, `bar`, `{__meta_foo="bar",a="b",__name__="bar",__vm_filepath="aa"}`) + f(`{__meta_foo="bdffr",foo="bar",__meta_xxx="basd"}`, `__name__`, `baz`, `{__meta_foo="bdffr",foo="bar",__meta_xxx="basd",__name__="baz"}`) + f(`http_request_total{a="b"}`, `__name__`, `metric`, `{__name__="metric",a="b"}`) + f(`http_request_total{a="b"}`, `a`, `c`, `{__name__="http_request_total",a="c"}`) + f(`http_request_total{a="b"}`, `ip`, `127.0.0.1`, `{__name__="http_request_total",a="b",ip="127.0.0.1"}`) +} diff --git a/snap/local/Makefile b/snap/local/Makefile index c164348013..46726707ef 100644 --- a/snap/local/Makefile +++ b/snap/local/Makefile @@ -1,4 +1,4 @@ -GO_VERSION ?=1.20.2 +GO_VERSION ?=1.20.3 SNAP_BUILDER_IMAGE := local/snap-builder:2.0.0-$(shell echo $(GO_VERSION) | tr :/ __) diff --git a/vendor/cloud.google.com/go/iam/CHANGES.md b/vendor/cloud.google.com/go/iam/CHANGES.md index 40ae15de52..770be01dd4 100644 --- a/vendor/cloud.google.com/go/iam/CHANGES.md +++ b/vendor/cloud.google.com/go/iam/CHANGES.md @@ -1,5 +1,13 @@ # Changes + +## [1.0.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.13.0...iam/v1.0.0) (2023-04-04) + + +### Features + +* **iam:** Promote to GA ([#7627](https://github.com/googleapis/google-cloud-go/issues/7627)) ([b351906](https://github.com/googleapis/google-cloud-go/commit/b351906a10e17a02d7f7e2551bc1585fd9dc3742)) + ## [0.13.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.12.0...iam/v0.13.0) (2023-03-15) diff --git a/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go b/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go index 21079f65c3..736731d955 100644 --- a/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go +++ b/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.28.1 +// protoc v3.21.12 // source: google/iam/v1/iam_policy.proto package iampb @@ -363,16 +363,16 @@ var file_google_iam_v1_iam_policy_proto_rawDesc = []byte{ 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d, 0x2d, 0x6d, 0x65, 0x74, 0x61, 0x2d, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x86, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, - 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, - 0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x7f, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, + 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, + 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go b/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go index e8a2aca9c7..d41b01107f 100644 --- a/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go +++ b/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.28.1 +// protoc v3.21.12 // source: google/iam/v1/options.proto package iampb @@ -111,16 +111,16 @@ var file_google_iam_v1_options_proto_rawDesc = []byte{ 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x84, 0x01, 0x0a, 0x11, 0x63, - 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, - 0x42, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, - 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, - 0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x7d, 0x0a, 0x11, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, + 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, + 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, + 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go b/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go index e521db60fa..9e2a900eb0 100644 --- a/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go +++ b/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.28.1 +// protoc v3.21.12 // source: google/iam/v1/policy.proto package iampb @@ -214,7 +214,8 @@ func (AuditConfigDelta_Action) EnumDescriptor() ([]byte, []int) { // only if the expression evaluates to `true`. A condition can add constraints // based on attributes of the request, the resource, or both. To learn which // resources support conditions in their IAM policies, see the -// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +// [IAM +// documentation](https://cloud.google.com/iam/help/conditions/resource-policies). // // **JSON example:** // @@ -237,7 +238,8 @@ func (AuditConfigDelta_Action) EnumDescriptor() ([]byte, []int) { // "condition": { // "title": "expirable access", // "description": "Does not grant access after Sep 2020", -// "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", +// "expression": "request.time < +// timestamp('2020-10-01T00:00:00.000Z')", // } // } // ], @@ -279,11 +281,11 @@ type Policy struct { // Any operation that affects conditional role bindings must specify version // `3`. This requirement applies to the following operations: // - // - Getting a policy that includes a conditional role binding - // - Adding a conditional role binding to a policy - // - Changing a conditional role binding in a policy - // - Removing any role binding, with or without a condition, from a policy - // that includes conditions + // * Getting a policy that includes a conditional role binding + // * Adding a conditional role binding to a policy + // * Changing a conditional role binding in a policy + // * Removing any role binding, with or without a condition, from a policy + // that includes conditions // // **Important:** If you use IAM Conditions, you must include the `etag` field // whenever you call `setIamPolicy`. If you omit this field, then IAM allows @@ -294,7 +296,8 @@ type Policy struct { // specify any valid version or leave the field unset. // // To learn which resources support conditions in their IAM policies, see the - // [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + // [IAM + // documentation](https://cloud.google.com/iam/help/conditions/resource-policies). Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` // Associates a list of `members`, or principals, with a `role`. Optionally, // may specify a `condition` that determines how and when the `bindings` are @@ -396,43 +399,47 @@ type Binding struct { // Specifies the principals requesting access for a Cloud Platform resource. // `members` can have the following values: // - // - `allUsers`: A special identifier that represents anyone who is - // on the internet; with or without a Google account. + // * `allUsers`: A special identifier that represents anyone who is + // on the internet; with or without a Google account. // - // - `allAuthenticatedUsers`: A special identifier that represents anyone - // who is authenticated with a Google account or a service account. + // * `allAuthenticatedUsers`: A special identifier that represents anyone + // who is authenticated with a Google account or a service account. // - // - `user:{emailid}`: An email address that represents a specific Google - // account. For example, `alice@example.com` . + // * `user:{emailid}`: An email address that represents a specific Google + // account. For example, `alice@example.com` . // - // - `serviceAccount:{emailid}`: An email address that represents a service - // account. For example, `my-other-app@appspot.gserviceaccount.com`. // - // - `group:{emailid}`: An email address that represents a Google group. - // For example, `admins@example.com`. + // * `serviceAccount:{emailid}`: An email address that represents a service + // account. For example, `my-other-app@appspot.gserviceaccount.com`. // - // - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique - // identifier) representing a user that has been recently deleted. For - // example, `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered user - // retains the role in the binding. + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. // - // - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a service account that has been recently - // deleted. For example, - // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - // If the service account is undeleted, this value reverts to - // `serviceAccount:{emailid}` and the undeleted service account retains the - // role in the binding. + // * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique + // identifier) representing a user that has been recently deleted. For + // example, `alice@example.com?uid=123456789012345678901`. If the user is + // recovered, this value reverts to `user:{emailid}` and the recovered user + // retains the role in the binding. + // + // * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a service account that has been recently + // deleted. For example, + // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + // If the service account is undeleted, this value reverts to + // `serviceAccount:{emailid}` and the undeleted service account retains the + // role in the binding. + // + // * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique + // identifier) representing a Google group that has been recently + // deleted. For example, `admins@example.com?uid=123456789012345678901`. If + // the group is recovered, this value reverts to `group:{emailid}` and the + // recovered group retains the role in the binding. + // + // + // * `domain:{domain}`: The G Suite domain (primary) that represents all the + // users of that domain. For example, `google.com` or `example.com`. // - // - `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique - // identifier) representing a Google group that has been recently - // deleted. For example, `admins@example.com?uid=123456789012345678901`. If - // the group is recovered, this value reverts to `group:{emailid}` and the - // recovered group retains the role in the binding. // - // - `domain:{domain}`: The G Suite domain (primary) that represents all the - // users of that domain. For example, `google.com` or `example.com`. Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` // The condition that is associated with this binding. // @@ -640,7 +647,8 @@ type AuditLogConfig struct { LogType AuditLogConfig_LogType `protobuf:"varint,1,opt,name=log_type,json=logType,proto3,enum=google.iam.v1.AuditLogConfig_LogType" json:"log_type,omitempty"` // Specifies the identities that do not cause logging for this type of // permission. - // Follows the same format of [Binding.members][google.iam.v1.Binding.members]. + // Follows the same format of + // [Binding.members][google.iam.v1.Binding.members]. ExemptedMembers []string `protobuf:"bytes,2,rep,name=exempted_members,json=exemptedMembers,proto3" json:"exempted_members,omitempty"` } @@ -999,16 +1007,15 @@ var file_google_iam_v1_policy_proto_rawDesc = []byte{ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, - 0x45, 0x10, 0x02, 0x42, 0x83, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, - 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x45, 0x10, 0x02, 0x42, 0x7c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, + 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index bc5caf244b..848a8f061a 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -1846,6 +1846,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -3263,9 +3266,15 @@ var awsPartition = partition{ }, "arc-zonal-shift": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, endpointKey{ Region: "ap-northeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, @@ -3290,6 +3299,12 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-2", }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, @@ -5140,6 +5155,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -5155,12 +5173,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -5605,6 +5629,9 @@ var awsPartition = partition{ }, "codepipeline": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, endpointKey{ Region: "ap-east-1", }: endpoint{}, @@ -5635,6 +5662,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, @@ -5695,6 +5725,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, endpointKey{ Region: "sa-east-1", }: endpoint{}, @@ -12402,12 +12435,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -12977,6 +13016,9 @@ var awsPartition = partition{ }, }, Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, @@ -14980,6 +15022,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -14995,12 +15040,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -19601,6 +19652,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, @@ -22049,6 +22103,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -32164,6 +32221,24 @@ var awsusgovPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "appstream2-fips.us-gov-east-1.amazonaws.com", + }, + endpointKey{ + Region: "us-gov-east-1-fips", + }: endpoint{ + Hostname: "appstream2-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{}, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index b13de191c2..ba51da4856 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.234" +const SDKVersion = "1.44.238" diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md index c2c7252fe1..55c8ca4475 100644 --- a/vendor/github.com/klauspost/compress/README.md +++ b/vendor/github.com/klauspost/compress/README.md @@ -615,6 +615,8 @@ Here are other packages of good quality and pure Go (no cgo wrappers or autoconv * [github.com/pierrec/lz4](https://github.com/pierrec/lz4) - strong multithreaded LZ4 compression. * [github.com/cosnicolaou/pbzip2](https://github.com/cosnicolaou/pbzip2) - multithreaded bzip2 decompression. * [github.com/dsnet/compress](https://github.com/dsnet/compress) - brotli decompression, bzip2 writer. +* [github.com/ronanh/intcomp](https://github.com/ronanh/intcomp) - Integer compression. +* [github.com/spenczar/fpc](https://github.com/spenczar/fpc) - Float compression. # license diff --git a/vendor/github.com/klauspost/compress/gzhttp/compress.go b/vendor/github.com/klauspost/compress/gzhttp/compress.go index 6ca11b1c10..a7950b39ad 100644 --- a/vendor/github.com/klauspost/compress/gzhttp/compress.go +++ b/vendor/github.com/klauspost/compress/gzhttp/compress.go @@ -169,6 +169,10 @@ func (w *GzipResponseWriter) Write(b []byte) (int, error) { return len(b), nil } +func (w *GzipResponseWriter) Unwrap() http.ResponseWriter { + return w.ResponseWriter +} + var castagnoliTable = crc32.MakeTable(crc32.Castagnoli) // startGzip initializes a GZIP writer and writes the buffer. @@ -919,6 +923,10 @@ func atoi(s string) (int, bool) { return int(i64), err == nil } +type unwrapper interface { + Unwrap() http.ResponseWriter +} + // newNoGzipResponseWriter will return a response writer that // cleans up compression artifacts. // Depending on whether http.Hijacker is supported the returned will as well. @@ -929,10 +937,12 @@ func newNoGzipResponseWriter(w http.ResponseWriter) http.ResponseWriter { http.ResponseWriter http.Hijacker http.Flusher + unwrapper }{ ResponseWriter: n, Hijacker: hj, Flusher: n, + unwrapper: n, } return x } @@ -982,3 +992,7 @@ func (n *NoGzipResponseWriter) WriteHeader(statusCode int) { } n.ResponseWriter.WriteHeader(statusCode) } + +func (n *NoGzipResponseWriter) Unwrap() http.ResponseWriter { + return n.ResponseWriter +} diff --git a/vendor/github.com/klauspost/compress/s2/decode.go b/vendor/github.com/klauspost/compress/s2/decode.go index b7c9adfdd8..6c7feafcc6 100644 --- a/vendor/github.com/klauspost/compress/s2/decode.go +++ b/vendor/github.com/klauspost/compress/s2/decode.go @@ -9,12 +9,7 @@ import ( "encoding/binary" "errors" "fmt" - "io" - "io/ioutil" - "math" - "runtime" "strconv" - "sync" ) var ( @@ -28,16 +23,6 @@ var ( ErrUnsupported = errors.New("s2: unsupported input") ) -// ErrCantSeek is returned if the stream cannot be seeked. -type ErrCantSeek struct { - Reason string -} - -// Error returns the error as string. -func (e ErrCantSeek) Error() string { - return fmt.Sprintf("s2: Can't seek because %s", e.Reason) -} - // DecodedLen returns the length of the decoded block. func DecodedLen(src []byte) (int, error) { v, _, err := decodedLen(src) @@ -84,1035 +69,6 @@ func Decode(dst, src []byte) ([]byte, error) { return dst, nil } -// NewReader returns a new Reader that decompresses from r, using the framing -// format described at -// https://github.com/google/snappy/blob/master/framing_format.txt with S2 changes. -func NewReader(r io.Reader, opts ...ReaderOption) *Reader { - nr := Reader{ - r: r, - maxBlock: maxBlockSize, - } - for _, opt := range opts { - if err := opt(&nr); err != nil { - nr.err = err - return &nr - } - } - nr.maxBufSize = MaxEncodedLen(nr.maxBlock) + checksumSize - if nr.lazyBuf > 0 { - nr.buf = make([]byte, MaxEncodedLen(nr.lazyBuf)+checksumSize) - } else { - nr.buf = make([]byte, MaxEncodedLen(defaultBlockSize)+checksumSize) - } - nr.readHeader = nr.ignoreStreamID - nr.paramsOK = true - return &nr -} - -// ReaderOption is an option for creating a decoder. -type ReaderOption func(*Reader) error - -// ReaderMaxBlockSize allows to control allocations if the stream -// has been compressed with a smaller WriterBlockSize, or with the default 1MB. -// Blocks must be this size or smaller to decompress, -// otherwise the decoder will return ErrUnsupported. -// -// For streams compressed with Snappy this can safely be set to 64KB (64 << 10). -// -// Default is the maximum limit of 4MB. -func ReaderMaxBlockSize(blockSize int) ReaderOption { - return func(r *Reader) error { - if blockSize > maxBlockSize || blockSize <= 0 { - return errors.New("s2: block size too large. Must be <= 4MB and > 0") - } - if r.lazyBuf == 0 && blockSize < defaultBlockSize { - r.lazyBuf = blockSize - } - r.maxBlock = blockSize - return nil - } -} - -// ReaderAllocBlock allows to control upfront stream allocations -// and not allocate for frames bigger than this initially. -// If frames bigger than this is seen a bigger buffer will be allocated. -// -// Default is 1MB, which is default output size. -func ReaderAllocBlock(blockSize int) ReaderOption { - return func(r *Reader) error { - if blockSize > maxBlockSize || blockSize < 1024 { - return errors.New("s2: invalid ReaderAllocBlock. Must be <= 4MB and >= 1024") - } - r.lazyBuf = blockSize - return nil - } -} - -// ReaderIgnoreStreamIdentifier will make the reader skip the expected -// stream identifier at the beginning of the stream. -// This can be used when serving a stream that has been forwarded to a specific point. -func ReaderIgnoreStreamIdentifier() ReaderOption { - return func(r *Reader) error { - r.ignoreStreamID = true - return nil - } -} - -// ReaderSkippableCB will register a callback for chuncks with the specified ID. -// ID must be a Reserved skippable chunks ID, 0x80-0xfd (inclusive). -// For each chunk with the ID, the callback is called with the content. -// Any returned non-nil error will abort decompression. -// Only one callback per ID is supported, latest sent will be used. -func ReaderSkippableCB(id uint8, fn func(r io.Reader) error) ReaderOption { - return func(r *Reader) error { - if id < 0x80 || id > 0xfd { - return fmt.Errorf("ReaderSkippableCB: Invalid id provided, must be 0x80-0xfd (inclusive)") - } - r.skippableCB[id] = fn - return nil - } -} - -// ReaderIgnoreCRC will make the reader skip CRC calculation and checks. -func ReaderIgnoreCRC() ReaderOption { - return func(r *Reader) error { - r.ignoreCRC = true - return nil - } -} - -// Reader is an io.Reader that can read Snappy-compressed bytes. -type Reader struct { - r io.Reader - err error - decoded []byte - buf []byte - skippableCB [0x80]func(r io.Reader) error - blockStart int64 // Uncompressed offset at start of current. - index *Index - - // decoded[i:j] contains decoded bytes that have not yet been passed on. - i, j int - // maximum block size allowed. - maxBlock int - // maximum expected buffer size. - maxBufSize int - // alloc a buffer this size if > 0. - lazyBuf int - readHeader bool - paramsOK bool - snappyFrame bool - ignoreStreamID bool - ignoreCRC bool -} - -// ensureBufferSize will ensure that the buffer can take at least n bytes. -// If false is returned the buffer exceeds maximum allowed size. -func (r *Reader) ensureBufferSize(n int) bool { - if n > r.maxBufSize { - r.err = ErrCorrupt - return false - } - if cap(r.buf) >= n { - return true - } - // Realloc buffer. - r.buf = make([]byte, n) - return true -} - -// Reset discards any buffered data, resets all state, and switches the Snappy -// reader to read from r. This permits reusing a Reader rather than allocating -// a new one. -func (r *Reader) Reset(reader io.Reader) { - if !r.paramsOK { - return - } - r.index = nil - r.r = reader - r.err = nil - r.i = 0 - r.j = 0 - r.blockStart = 0 - r.readHeader = r.ignoreStreamID -} - -func (r *Reader) readFull(p []byte, allowEOF bool) (ok bool) { - if _, r.err = io.ReadFull(r.r, p); r.err != nil { - if r.err == io.ErrUnexpectedEOF || (r.err == io.EOF && !allowEOF) { - r.err = ErrCorrupt - } - return false - } - return true -} - -// skippable will skip n bytes. -// If the supplied reader supports seeking that is used. -// tmp is used as a temporary buffer for reading. -// The supplied slice does not need to be the size of the read. -func (r *Reader) skippable(tmp []byte, n int, allowEOF bool, id uint8) (ok bool) { - if id < 0x80 { - r.err = fmt.Errorf("interbal error: skippable id < 0x80") - return false - } - if fn := r.skippableCB[id-0x80]; fn != nil { - rd := io.LimitReader(r.r, int64(n)) - r.err = fn(rd) - if r.err != nil { - return false - } - _, r.err = io.CopyBuffer(ioutil.Discard, rd, tmp) - return r.err == nil - } - if rs, ok := r.r.(io.ReadSeeker); ok { - _, err := rs.Seek(int64(n), io.SeekCurrent) - if err == nil { - return true - } - if err == io.ErrUnexpectedEOF || (r.err == io.EOF && !allowEOF) { - r.err = ErrCorrupt - return false - } - } - for n > 0 { - if n < len(tmp) { - tmp = tmp[:n] - } - if _, r.err = io.ReadFull(r.r, tmp); r.err != nil { - if r.err == io.ErrUnexpectedEOF || (r.err == io.EOF && !allowEOF) { - r.err = ErrCorrupt - } - return false - } - n -= len(tmp) - } - return true -} - -// Read satisfies the io.Reader interface. -func (r *Reader) Read(p []byte) (int, error) { - if r.err != nil { - return 0, r.err - } - for { - if r.i < r.j { - n := copy(p, r.decoded[r.i:r.j]) - r.i += n - return n, nil - } - if !r.readFull(r.buf[:4], true) { - return 0, r.err - } - chunkType := r.buf[0] - if !r.readHeader { - if chunkType != chunkTypeStreamIdentifier { - r.err = ErrCorrupt - return 0, r.err - } - r.readHeader = true - } - chunkLen := int(r.buf[1]) | int(r.buf[2])<<8 | int(r.buf[3])<<16 - - // The chunk types are specified at - // https://github.com/google/snappy/blob/master/framing_format.txt - switch chunkType { - case chunkTypeCompressedData: - r.blockStart += int64(r.j) - // Section 4.2. Compressed data (chunk type 0x00). - if chunkLen < checksumSize { - r.err = ErrCorrupt - return 0, r.err - } - if !r.ensureBufferSize(chunkLen) { - if r.err == nil { - r.err = ErrUnsupported - } - return 0, r.err - } - buf := r.buf[:chunkLen] - if !r.readFull(buf, false) { - return 0, r.err - } - checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 - buf = buf[checksumSize:] - - n, err := DecodedLen(buf) - if err != nil { - r.err = err - return 0, r.err - } - if r.snappyFrame && n > maxSnappyBlockSize { - r.err = ErrCorrupt - return 0, r.err - } - - if n > len(r.decoded) { - if n > r.maxBlock { - r.err = ErrCorrupt - return 0, r.err - } - r.decoded = make([]byte, n) - } - if _, err := Decode(r.decoded, buf); err != nil { - r.err = err - return 0, r.err - } - if !r.ignoreCRC && crc(r.decoded[:n]) != checksum { - r.err = ErrCRC - return 0, r.err - } - r.i, r.j = 0, n - continue - - case chunkTypeUncompressedData: - r.blockStart += int64(r.j) - // Section 4.3. Uncompressed data (chunk type 0x01). - if chunkLen < checksumSize { - r.err = ErrCorrupt - return 0, r.err - } - if !r.ensureBufferSize(chunkLen) { - if r.err == nil { - r.err = ErrUnsupported - } - return 0, r.err - } - buf := r.buf[:checksumSize] - if !r.readFull(buf, false) { - return 0, r.err - } - checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 - // Read directly into r.decoded instead of via r.buf. - n := chunkLen - checksumSize - if r.snappyFrame && n > maxSnappyBlockSize { - r.err = ErrCorrupt - return 0, r.err - } - if n > len(r.decoded) { - if n > r.maxBlock { - r.err = ErrCorrupt - return 0, r.err - } - r.decoded = make([]byte, n) - } - if !r.readFull(r.decoded[:n], false) { - return 0, r.err - } - if !r.ignoreCRC && crc(r.decoded[:n]) != checksum { - r.err = ErrCRC - return 0, r.err - } - r.i, r.j = 0, n - continue - - case chunkTypeStreamIdentifier: - // Section 4.1. Stream identifier (chunk type 0xff). - if chunkLen != len(magicBody) { - r.err = ErrCorrupt - return 0, r.err - } - if !r.readFull(r.buf[:len(magicBody)], false) { - return 0, r.err - } - if string(r.buf[:len(magicBody)]) != magicBody { - if string(r.buf[:len(magicBody)]) != magicBodySnappy { - r.err = ErrCorrupt - return 0, r.err - } else { - r.snappyFrame = true - } - } else { - r.snappyFrame = false - } - continue - } - - if chunkType <= 0x7f { - // Section 4.5. Reserved unskippable chunks (chunk types 0x02-0x7f). - // fmt.Printf("ERR chunktype: 0x%x\n", chunkType) - r.err = ErrUnsupported - return 0, r.err - } - // Section 4.4 Padding (chunk type 0xfe). - // Section 4.6. Reserved skippable chunks (chunk types 0x80-0xfd). - if chunkLen > maxChunkSize { - // fmt.Printf("ERR chunkLen: 0x%x\n", chunkLen) - r.err = ErrUnsupported - return 0, r.err - } - - // fmt.Printf("skippable: ID: 0x%x, len: 0x%x\n", chunkType, chunkLen) - if !r.skippable(r.buf, chunkLen, false, chunkType) { - return 0, r.err - } - } -} - -// DecodeConcurrent will decode the full stream to w. -// This function should not be combined with reading, seeking or other operations. -// Up to 'concurrent' goroutines will be used. -// If <= 0, runtime.NumCPU will be used. -// On success the number of bytes decompressed nil and is returned. -// This is mainly intended for bigger streams. -func (r *Reader) DecodeConcurrent(w io.Writer, concurrent int) (written int64, err error) { - if r.i > 0 || r.j > 0 || r.blockStart > 0 { - return 0, errors.New("DecodeConcurrent called after ") - } - if concurrent <= 0 { - concurrent = runtime.NumCPU() - } - - // Write to output - var errMu sync.Mutex - var aErr error - setErr := func(e error) (ok bool) { - errMu.Lock() - defer errMu.Unlock() - if e == nil { - return aErr == nil - } - if aErr == nil { - aErr = e - } - return false - } - hasErr := func() (ok bool) { - errMu.Lock() - v := aErr != nil - errMu.Unlock() - return v - } - - var aWritten int64 - toRead := make(chan []byte, concurrent) - writtenBlocks := make(chan []byte, concurrent) - queue := make(chan chan []byte, concurrent) - reUse := make(chan chan []byte, concurrent) - for i := 0; i < concurrent; i++ { - toRead <- make([]byte, 0, r.maxBufSize) - writtenBlocks <- make([]byte, 0, r.maxBufSize) - reUse <- make(chan []byte, 1) - } - // Writer - var wg sync.WaitGroup - wg.Add(1) - go func() { - defer wg.Done() - for toWrite := range queue { - entry := <-toWrite - reUse <- toWrite - if hasErr() { - writtenBlocks <- entry - continue - } - n, err := w.Write(entry) - want := len(entry) - writtenBlocks <- entry - if err != nil { - setErr(err) - continue - } - if n != want { - setErr(io.ErrShortWrite) - continue - } - aWritten += int64(n) - } - }() - - // Reader - defer func() { - close(queue) - if r.err != nil { - err = r.err - setErr(r.err) - } - wg.Wait() - if err == nil { - err = aErr - } - written = aWritten - }() - - for !hasErr() { - if !r.readFull(r.buf[:4], true) { - if r.err == io.EOF { - r.err = nil - } - return 0, r.err - } - chunkType := r.buf[0] - if !r.readHeader { - if chunkType != chunkTypeStreamIdentifier { - r.err = ErrCorrupt - return 0, r.err - } - r.readHeader = true - } - chunkLen := int(r.buf[1]) | int(r.buf[2])<<8 | int(r.buf[3])<<16 - - // The chunk types are specified at - // https://github.com/google/snappy/blob/master/framing_format.txt - switch chunkType { - case chunkTypeCompressedData: - r.blockStart += int64(r.j) - // Section 4.2. Compressed data (chunk type 0x00). - if chunkLen < checksumSize { - r.err = ErrCorrupt - return 0, r.err - } - if chunkLen > r.maxBufSize { - r.err = ErrCorrupt - return 0, r.err - } - orgBuf := <-toRead - buf := orgBuf[:chunkLen] - - if !r.readFull(buf, false) { - return 0, r.err - } - - checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 - buf = buf[checksumSize:] - - n, err := DecodedLen(buf) - if err != nil { - r.err = err - return 0, r.err - } - if r.snappyFrame && n > maxSnappyBlockSize { - r.err = ErrCorrupt - return 0, r.err - } - - if n > r.maxBlock { - r.err = ErrCorrupt - return 0, r.err - } - wg.Add(1) - - decoded := <-writtenBlocks - entry := <-reUse - queue <- entry - go func() { - defer wg.Done() - decoded = decoded[:n] - _, err := Decode(decoded, buf) - toRead <- orgBuf - if err != nil { - writtenBlocks <- decoded - setErr(err) - return - } - if !r.ignoreCRC && crc(decoded) != checksum { - writtenBlocks <- decoded - setErr(ErrCRC) - return - } - entry <- decoded - }() - continue - - case chunkTypeUncompressedData: - - // Section 4.3. Uncompressed data (chunk type 0x01). - if chunkLen < checksumSize { - r.err = ErrCorrupt - return 0, r.err - } - if chunkLen > r.maxBufSize { - r.err = ErrCorrupt - return 0, r.err - } - // Grab write buffer - orgBuf := <-writtenBlocks - buf := orgBuf[:checksumSize] - if !r.readFull(buf, false) { - return 0, r.err - } - checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 - // Read content. - n := chunkLen - checksumSize - - if r.snappyFrame && n > maxSnappyBlockSize { - r.err = ErrCorrupt - return 0, r.err - } - if n > r.maxBlock { - r.err = ErrCorrupt - return 0, r.err - } - // Read uncompressed - buf = orgBuf[:n] - if !r.readFull(buf, false) { - return 0, r.err - } - - if !r.ignoreCRC && crc(buf) != checksum { - r.err = ErrCRC - return 0, r.err - } - entry := <-reUse - queue <- entry - entry <- buf - continue - - case chunkTypeStreamIdentifier: - // Section 4.1. Stream identifier (chunk type 0xff). - if chunkLen != len(magicBody) { - r.err = ErrCorrupt - return 0, r.err - } - if !r.readFull(r.buf[:len(magicBody)], false) { - return 0, r.err - } - if string(r.buf[:len(magicBody)]) != magicBody { - if string(r.buf[:len(magicBody)]) != magicBodySnappy { - r.err = ErrCorrupt - return 0, r.err - } else { - r.snappyFrame = true - } - } else { - r.snappyFrame = false - } - continue - } - - if chunkType <= 0x7f { - // Section 4.5. Reserved unskippable chunks (chunk types 0x02-0x7f). - // fmt.Printf("ERR chunktype: 0x%x\n", chunkType) - r.err = ErrUnsupported - return 0, r.err - } - // Section 4.4 Padding (chunk type 0xfe). - // Section 4.6. Reserved skippable chunks (chunk types 0x80-0xfd). - if chunkLen > maxChunkSize { - // fmt.Printf("ERR chunkLen: 0x%x\n", chunkLen) - r.err = ErrUnsupported - return 0, r.err - } - - // fmt.Printf("skippable: ID: 0x%x, len: 0x%x\n", chunkType, chunkLen) - if !r.skippable(r.buf, chunkLen, false, chunkType) { - return 0, r.err - } - } - return 0, r.err -} - -// Skip will skip n bytes forward in the decompressed output. -// For larger skips this consumes less CPU and is faster than reading output and discarding it. -// CRC is not checked on skipped blocks. -// io.ErrUnexpectedEOF is returned if the stream ends before all bytes have been skipped. -// If a decoding error is encountered subsequent calls to Read will also fail. -func (r *Reader) Skip(n int64) error { - if n < 0 { - return errors.New("attempted negative skip") - } - if r.err != nil { - return r.err - } - - for n > 0 { - if r.i < r.j { - // Skip in buffer. - // decoded[i:j] contains decoded bytes that have not yet been passed on. - left := int64(r.j - r.i) - if left >= n { - tmp := int64(r.i) + n - if tmp > math.MaxInt32 { - return errors.New("s2: internal overflow in skip") - } - r.i = int(tmp) - return nil - } - n -= int64(r.j - r.i) - r.i = r.j - } - - // Buffer empty; read blocks until we have content. - if !r.readFull(r.buf[:4], true) { - if r.err == io.EOF { - r.err = io.ErrUnexpectedEOF - } - return r.err - } - chunkType := r.buf[0] - if !r.readHeader { - if chunkType != chunkTypeStreamIdentifier { - r.err = ErrCorrupt - return r.err - } - r.readHeader = true - } - chunkLen := int(r.buf[1]) | int(r.buf[2])<<8 | int(r.buf[3])<<16 - - // The chunk types are specified at - // https://github.com/google/snappy/blob/master/framing_format.txt - switch chunkType { - case chunkTypeCompressedData: - r.blockStart += int64(r.j) - // Section 4.2. Compressed data (chunk type 0x00). - if chunkLen < checksumSize { - r.err = ErrCorrupt - return r.err - } - if !r.ensureBufferSize(chunkLen) { - if r.err == nil { - r.err = ErrUnsupported - } - return r.err - } - buf := r.buf[:chunkLen] - if !r.readFull(buf, false) { - return r.err - } - checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 - buf = buf[checksumSize:] - - dLen, err := DecodedLen(buf) - if err != nil { - r.err = err - return r.err - } - if dLen > r.maxBlock { - r.err = ErrCorrupt - return r.err - } - // Check if destination is within this block - if int64(dLen) > n { - if len(r.decoded) < dLen { - r.decoded = make([]byte, dLen) - } - if _, err := Decode(r.decoded, buf); err != nil { - r.err = err - return r.err - } - if crc(r.decoded[:dLen]) != checksum { - r.err = ErrCorrupt - return r.err - } - } else { - // Skip block completely - n -= int64(dLen) - r.blockStart += int64(dLen) - dLen = 0 - } - r.i, r.j = 0, dLen - continue - case chunkTypeUncompressedData: - r.blockStart += int64(r.j) - // Section 4.3. Uncompressed data (chunk type 0x01). - if chunkLen < checksumSize { - r.err = ErrCorrupt - return r.err - } - if !r.ensureBufferSize(chunkLen) { - if r.err != nil { - r.err = ErrUnsupported - } - return r.err - } - buf := r.buf[:checksumSize] - if !r.readFull(buf, false) { - return r.err - } - checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 - // Read directly into r.decoded instead of via r.buf. - n2 := chunkLen - checksumSize - if n2 > len(r.decoded) { - if n2 > r.maxBlock { - r.err = ErrCorrupt - return r.err - } - r.decoded = make([]byte, n2) - } - if !r.readFull(r.decoded[:n2], false) { - return r.err - } - if int64(n2) < n { - if crc(r.decoded[:n2]) != checksum { - r.err = ErrCorrupt - return r.err - } - } - r.i, r.j = 0, n2 - continue - case chunkTypeStreamIdentifier: - // Section 4.1. Stream identifier (chunk type 0xff). - if chunkLen != len(magicBody) { - r.err = ErrCorrupt - return r.err - } - if !r.readFull(r.buf[:len(magicBody)], false) { - return r.err - } - if string(r.buf[:len(magicBody)]) != magicBody { - if string(r.buf[:len(magicBody)]) != magicBodySnappy { - r.err = ErrCorrupt - return r.err - } - } - - continue - } - - if chunkType <= 0x7f { - // Section 4.5. Reserved unskippable chunks (chunk types 0x02-0x7f). - r.err = ErrUnsupported - return r.err - } - if chunkLen > maxChunkSize { - r.err = ErrUnsupported - return r.err - } - // Section 4.4 Padding (chunk type 0xfe). - // Section 4.6. Reserved skippable chunks (chunk types 0x80-0xfd). - if !r.skippable(r.buf, chunkLen, false, chunkType) { - return r.err - } - } - return nil -} - -// ReadSeeker provides random or forward seeking in compressed content. -// See Reader.ReadSeeker -type ReadSeeker struct { - *Reader - readAtMu sync.Mutex -} - -// ReadSeeker will return an io.ReadSeeker and io.ReaderAt -// compatible version of the reader. -// If 'random' is specified the returned io.Seeker can be used for -// random seeking, otherwise only forward seeking is supported. -// Enabling random seeking requires the original input to support -// the io.Seeker interface. -// A custom index can be specified which will be used if supplied. -// When using a custom index, it will not be read from the input stream. -// The ReadAt position will affect regular reads and the current position of Seek. -// So using Read after ReadAt will continue from where the ReadAt stopped. -// No functions should be used concurrently. -// The returned ReadSeeker contains a shallow reference to the existing Reader, -// meaning changes performed to one is reflected in the other. -func (r *Reader) ReadSeeker(random bool, index []byte) (*ReadSeeker, error) { - // Read index if provided. - if len(index) != 0 { - if r.index == nil { - r.index = &Index{} - } - if _, err := r.index.Load(index); err != nil { - return nil, ErrCantSeek{Reason: "loading index returned: " + err.Error()} - } - } - - // Check if input is seekable - rs, ok := r.r.(io.ReadSeeker) - if !ok { - if !random { - return &ReadSeeker{Reader: r}, nil - } - return nil, ErrCantSeek{Reason: "input stream isn't seekable"} - } - - if r.index != nil { - // Seekable and index, ok... - return &ReadSeeker{Reader: r}, nil - } - - // Load from stream. - r.index = &Index{} - - // Read current position. - pos, err := rs.Seek(0, io.SeekCurrent) - if err != nil { - return nil, ErrCantSeek{Reason: "seeking input returned: " + err.Error()} - } - err = r.index.LoadStream(rs) - if err != nil { - if err == ErrUnsupported { - // If we don't require random seeking, reset input and return. - if !random { - _, err = rs.Seek(pos, io.SeekStart) - if err != nil { - return nil, ErrCantSeek{Reason: "resetting stream returned: " + err.Error()} - } - r.index = nil - return &ReadSeeker{Reader: r}, nil - } - return nil, ErrCantSeek{Reason: "input stream does not contain an index"} - } - return nil, ErrCantSeek{Reason: "reading index returned: " + err.Error()} - } - - // reset position. - _, err = rs.Seek(pos, io.SeekStart) - if err != nil { - return nil, ErrCantSeek{Reason: "seeking input returned: " + err.Error()} - } - return &ReadSeeker{Reader: r}, nil -} - -// Seek allows seeking in compressed data. -func (r *ReadSeeker) Seek(offset int64, whence int) (int64, error) { - if r.err != nil { - if !errors.Is(r.err, io.EOF) { - return 0, r.err - } - // Reset on EOF - r.err = nil - } - - // Calculate absolute offset. - absOffset := offset - - switch whence { - case io.SeekStart: - case io.SeekCurrent: - absOffset = r.blockStart + int64(r.i) + offset - case io.SeekEnd: - if r.index == nil { - return 0, ErrUnsupported - } - absOffset = r.index.TotalUncompressed + offset - default: - r.err = ErrUnsupported - return 0, r.err - } - - if absOffset < 0 { - return 0, errors.New("seek before start of file") - } - - if !r.readHeader { - // Make sure we read the header. - _, r.err = r.Read([]byte{}) - if r.err != nil { - return 0, r.err - } - } - - // If we are inside current block no need to seek. - // This includes no offset changes. - if absOffset >= r.blockStart && absOffset < r.blockStart+int64(r.j) { - r.i = int(absOffset - r.blockStart) - return r.blockStart + int64(r.i), nil - } - - rs, ok := r.r.(io.ReadSeeker) - if r.index == nil || !ok { - currOffset := r.blockStart + int64(r.i) - if absOffset >= currOffset { - err := r.Skip(absOffset - currOffset) - return r.blockStart + int64(r.i), err - } - return 0, ErrUnsupported - } - - // We can seek and we have an index. - c, u, err := r.index.Find(absOffset) - if err != nil { - return r.blockStart + int64(r.i), err - } - - // Seek to next block - _, err = rs.Seek(c, io.SeekStart) - if err != nil { - return 0, err - } - - r.i = r.j // Remove rest of current block. - r.blockStart = u - int64(r.j) // Adjust current block start for accounting. - if u < absOffset { - // Forward inside block - return absOffset, r.Skip(absOffset - u) - } - if u > absOffset { - return 0, fmt.Errorf("s2 seek: (internal error) u (%d) > absOffset (%d)", u, absOffset) - } - return absOffset, nil -} - -// ReadAt reads len(p) bytes into p starting at offset off in the -// underlying input source. It returns the number of bytes -// read (0 <= n <= len(p)) and any error encountered. -// -// When ReadAt returns n < len(p), it returns a non-nil error -// explaining why more bytes were not returned. In this respect, -// ReadAt is stricter than Read. -// -// Even if ReadAt returns n < len(p), it may use all of p as scratch -// space during the call. If some data is available but not len(p) bytes, -// ReadAt blocks until either all the data is available or an error occurs. -// In this respect ReadAt is different from Read. -// -// If the n = len(p) bytes returned by ReadAt are at the end of the -// input source, ReadAt may return either err == EOF or err == nil. -// -// If ReadAt is reading from an input source with a seek offset, -// ReadAt should not affect nor be affected by the underlying -// seek offset. -// -// Clients of ReadAt can execute parallel ReadAt calls on the -// same input source. This is however not recommended. -func (r *ReadSeeker) ReadAt(p []byte, offset int64) (int, error) { - r.readAtMu.Lock() - defer r.readAtMu.Unlock() - _, err := r.Seek(offset, io.SeekStart) - if err != nil { - return 0, err - } - n := 0 - for n < len(p) { - n2, err := r.Read(p[n:]) - if err != nil { - // This will include io.EOF - return n + n2, err - } - n += n2 - } - return n, nil -} - -// ReadByte satisfies the io.ByteReader interface. -func (r *Reader) ReadByte() (byte, error) { - if r.err != nil { - return 0, r.err - } - if r.i < r.j { - c := r.decoded[r.i] - r.i++ - return c, nil - } - var tmp [1]byte - for i := 0; i < 10; i++ { - n, err := r.Read(tmp[:]) - if err != nil { - return 0, err - } - if n == 1 { - return tmp[0], nil - } - } - return 0, io.ErrNoProgress -} - -// SkippableCB will register a callback for chunks with the specified ID. -// ID must be a Reserved skippable chunks ID, 0x80-0xfe (inclusive). -// For each chunk with the ID, the callback is called with the content. -// Any returned non-nil error will abort decompression. -// Only one callback per ID is supported, latest sent will be used. -// Sending a nil function will disable previous callbacks. -func (r *Reader) SkippableCB(id uint8, fn func(r io.Reader) error) error { - if id < 0x80 || id > chunkTypePadding { - return fmt.Errorf("ReaderSkippableCB: Invalid id provided, must be 0x80-0xfe (inclusive)") - } - r.skippableCB[id] = fn - return nil -} - // s2DecodeDict writes the decoding of src to dst. It assumes that the varint-encoded // length of the decompressed bytes has already been read, and that len(dst) // equals that length. diff --git a/vendor/github.com/klauspost/compress/s2/encode.go b/vendor/github.com/klauspost/compress/s2/encode.go index c2ca7236a1..e6c2310212 100644 --- a/vendor/github.com/klauspost/compress/s2/encode.go +++ b/vendor/github.com/klauspost/compress/s2/encode.go @@ -6,15 +6,9 @@ package s2 import ( - "crypto/rand" "encoding/binary" - "errors" - "fmt" - "io" "math" "math/bits" - "runtime" - "sync" ) // Encode returns the encoded form of src. The returned slice may be a sub- @@ -355,9 +349,12 @@ const inputMargin = 8 // will be accepted by the encoder. const minNonLiteralBlockSize = 32 +const intReduction = 2 - (1 << (^uint(0) >> 63)) // 1 (32 bits) or 0 (64 bits) + // MaxBlockSize is the maximum value where MaxEncodedLen will return a valid block size. // Blocks this big are highly discouraged, though. -const MaxBlockSize = math.MaxUint32 - binary.MaxVarintLen32 - 5 +// Half the size on 32 bit systems. +const MaxBlockSize = (1<<(32-intReduction) - 1) - binary.MaxVarintLen32 - 5 // MaxEncodedLen returns the maximum length of a snappy block, given its // uncompressed length. @@ -366,7 +363,14 @@ const MaxBlockSize = math.MaxUint32 - binary.MaxVarintLen32 - 5 // 32 bit platforms will have lower thresholds for rejecting big content. func MaxEncodedLen(srcLen int) int { n := uint64(srcLen) - if n > 0xffffffff { + if intReduction == 1 { + // 32 bits + if n > math.MaxInt32 { + // Also includes negative. + return -1 + } + } else if n > 0xffffffff { + // 64 bits // Also includes negative. return -1 } @@ -375,1009 +379,15 @@ func MaxEncodedLen(srcLen int) int { // Add maximum size of encoding block as literals. n += uint64(literalExtraSize(int64(srcLen))) - if n > 0xffffffff { + if intReduction == 1 { + // 32 bits + if n > math.MaxInt32 { + return -1 + } + } else if n > 0xffffffff { + // 64 bits + // Also includes negative. return -1 } return int(n) } - -var errClosed = errors.New("s2: Writer is closed") - -// NewWriter returns a new Writer that compresses to w, using the -// framing format described at -// https://github.com/google/snappy/blob/master/framing_format.txt -// -// Users must call Close to guarantee all data has been forwarded to -// the underlying io.Writer and that resources are released. -// They may also call Flush zero or more times before calling Close. -func NewWriter(w io.Writer, opts ...WriterOption) *Writer { - w2 := Writer{ - blockSize: defaultBlockSize, - concurrency: runtime.GOMAXPROCS(0), - randSrc: rand.Reader, - level: levelFast, - } - for _, opt := range opts { - if err := opt(&w2); err != nil { - w2.errState = err - return &w2 - } - } - w2.obufLen = obufHeaderLen + MaxEncodedLen(w2.blockSize) - w2.paramsOK = true - w2.ibuf = make([]byte, 0, w2.blockSize) - w2.buffers.New = func() interface{} { - return make([]byte, w2.obufLen) - } - w2.Reset(w) - return &w2 -} - -// Writer is an io.Writer that can write Snappy-compressed bytes. -type Writer struct { - errMu sync.Mutex - errState error - - // ibuf is a buffer for the incoming (uncompressed) bytes. - ibuf []byte - - blockSize int - obufLen int - concurrency int - written int64 - uncompWritten int64 // Bytes sent to compression - output chan chan result - buffers sync.Pool - pad int - - writer io.Writer - randSrc io.Reader - writerWg sync.WaitGroup - index Index - customEnc func(dst, src []byte) int - - // wroteStreamHeader is whether we have written the stream header. - wroteStreamHeader bool - paramsOK bool - snappy bool - flushOnWrite bool - appendIndex bool - level uint8 -} - -const ( - levelUncompressed = iota + 1 - levelFast - levelBetter - levelBest -) - -type result struct { - b []byte - // Uncompressed start offset - startOffset int64 -} - -// err returns the previously set error. -// If no error has been set it is set to err if not nil. -func (w *Writer) err(err error) error { - w.errMu.Lock() - errSet := w.errState - if errSet == nil && err != nil { - w.errState = err - errSet = err - } - w.errMu.Unlock() - return errSet -} - -// Reset discards the writer's state and switches the Snappy writer to write to w. -// This permits reusing a Writer rather than allocating a new one. -func (w *Writer) Reset(writer io.Writer) { - if !w.paramsOK { - return - } - // Close previous writer, if any. - if w.output != nil { - close(w.output) - w.writerWg.Wait() - w.output = nil - } - w.errState = nil - w.ibuf = w.ibuf[:0] - w.wroteStreamHeader = false - w.written = 0 - w.writer = writer - w.uncompWritten = 0 - w.index.reset(w.blockSize) - - // If we didn't get a writer, stop here. - if writer == nil { - return - } - // If no concurrency requested, don't spin up writer goroutine. - if w.concurrency == 1 { - return - } - - toWrite := make(chan chan result, w.concurrency) - w.output = toWrite - w.writerWg.Add(1) - - // Start a writer goroutine that will write all output in order. - go func() { - defer w.writerWg.Done() - - // Get a queued write. - for write := range toWrite { - // Wait for the data to be available. - input := <-write - in := input.b - if len(in) > 0 { - if w.err(nil) == nil { - // Don't expose data from previous buffers. - toWrite := in[:len(in):len(in)] - // Write to output. - n, err := writer.Write(toWrite) - if err == nil && n != len(toWrite) { - err = io.ErrShortBuffer - } - _ = w.err(err) - w.err(w.index.add(w.written, input.startOffset)) - w.written += int64(n) - } - } - if cap(in) >= w.obufLen { - w.buffers.Put(in) - } - // close the incoming write request. - // This can be used for synchronizing flushes. - close(write) - } - }() -} - -// Write satisfies the io.Writer interface. -func (w *Writer) Write(p []byte) (nRet int, errRet error) { - if err := w.err(nil); err != nil { - return 0, err - } - if w.flushOnWrite { - return w.write(p) - } - // If we exceed the input buffer size, start writing - for len(p) > (cap(w.ibuf)-len(w.ibuf)) && w.err(nil) == nil { - var n int - if len(w.ibuf) == 0 { - // Large write, empty buffer. - // Write directly from p to avoid copy. - n, _ = w.write(p) - } else { - n = copy(w.ibuf[len(w.ibuf):cap(w.ibuf)], p) - w.ibuf = w.ibuf[:len(w.ibuf)+n] - w.write(w.ibuf) - w.ibuf = w.ibuf[:0] - } - nRet += n - p = p[n:] - } - if err := w.err(nil); err != nil { - return nRet, err - } - // p should always be able to fit into w.ibuf now. - n := copy(w.ibuf[len(w.ibuf):cap(w.ibuf)], p) - w.ibuf = w.ibuf[:len(w.ibuf)+n] - nRet += n - return nRet, nil -} - -// ReadFrom implements the io.ReaderFrom interface. -// Using this is typically more efficient since it avoids a memory copy. -// ReadFrom reads data from r until EOF or error. -// The return value n is the number of bytes read. -// Any error except io.EOF encountered during the read is also returned. -func (w *Writer) ReadFrom(r io.Reader) (n int64, err error) { - if err := w.err(nil); err != nil { - return 0, err - } - if len(w.ibuf) > 0 { - err := w.Flush() - if err != nil { - return 0, err - } - } - if br, ok := r.(byter); ok { - buf := br.Bytes() - if err := w.EncodeBuffer(buf); err != nil { - return 0, err - } - return int64(len(buf)), w.Flush() - } - for { - inbuf := w.buffers.Get().([]byte)[:w.blockSize+obufHeaderLen] - n2, err := io.ReadFull(r, inbuf[obufHeaderLen:]) - if err != nil { - if err == io.ErrUnexpectedEOF { - err = io.EOF - } - if err != io.EOF { - return n, w.err(err) - } - } - if n2 == 0 { - break - } - n += int64(n2) - err2 := w.writeFull(inbuf[:n2+obufHeaderLen]) - if w.err(err2) != nil { - break - } - - if err != nil { - // We got EOF and wrote everything - break - } - } - - return n, w.err(nil) -} - -// AddSkippableBlock will add a skippable block to the stream. -// The ID must be 0x80-0xfe (inclusive). -// Length of the skippable block must be <= 16777215 bytes. -func (w *Writer) AddSkippableBlock(id uint8, data []byte) (err error) { - if err := w.err(nil); err != nil { - return err - } - if len(data) == 0 { - return nil - } - if id < 0x80 || id > chunkTypePadding { - return fmt.Errorf("invalid skippable block id %x", id) - } - if len(data) > maxChunkSize { - return fmt.Errorf("skippable block excessed maximum size") - } - var header [4]byte - chunkLen := 4 + len(data) - header[0] = id - header[1] = uint8(chunkLen >> 0) - header[2] = uint8(chunkLen >> 8) - header[3] = uint8(chunkLen >> 16) - if w.concurrency == 1 { - write := func(b []byte) error { - n, err := w.writer.Write(b) - if err = w.err(err); err != nil { - return err - } - if n != len(data) { - return w.err(io.ErrShortWrite) - } - w.written += int64(n) - return w.err(nil) - } - if !w.wroteStreamHeader { - w.wroteStreamHeader = true - if w.snappy { - if err := write([]byte(magicChunkSnappy)); err != nil { - return err - } - } else { - if err := write([]byte(magicChunk)); err != nil { - return err - } - } - } - if err := write(header[:]); err != nil { - return err - } - if err := write(data); err != nil { - return err - } - } - - // Create output... - if !w.wroteStreamHeader { - w.wroteStreamHeader = true - hWriter := make(chan result) - w.output <- hWriter - if w.snappy { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} - } else { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} - } - } - - // Copy input. - inbuf := w.buffers.Get().([]byte)[:4] - copy(inbuf, header[:]) - inbuf = append(inbuf, data...) - - output := make(chan result, 1) - // Queue output. - w.output <- output - output <- result{startOffset: w.uncompWritten, b: inbuf} - - return nil -} - -// EncodeBuffer will add a buffer to the stream. -// This is the fastest way to encode a stream, -// but the input buffer cannot be written to by the caller -// until Flush or Close has been called when concurrency != 1. -// -// If you cannot control that, use the regular Write function. -// -// Note that input is not buffered. -// This means that each write will result in discrete blocks being created. -// For buffered writes, use the regular Write function. -func (w *Writer) EncodeBuffer(buf []byte) (err error) { - if err := w.err(nil); err != nil { - return err - } - - if w.flushOnWrite { - _, err := w.write(buf) - return err - } - // Flush queued data first. - if len(w.ibuf) > 0 { - err := w.Flush() - if err != nil { - return err - } - } - if w.concurrency == 1 { - _, err := w.writeSync(buf) - return err - } - - // Spawn goroutine and write block to output channel. - if !w.wroteStreamHeader { - w.wroteStreamHeader = true - hWriter := make(chan result) - w.output <- hWriter - if w.snappy { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} - } else { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} - } - } - - for len(buf) > 0 { - // Cut input. - uncompressed := buf - if len(uncompressed) > w.blockSize { - uncompressed = uncompressed[:w.blockSize] - } - buf = buf[len(uncompressed):] - // Get an output buffer. - obuf := w.buffers.Get().([]byte)[:len(uncompressed)+obufHeaderLen] - output := make(chan result) - // Queue output now, so we keep order. - w.output <- output - res := result{ - startOffset: w.uncompWritten, - } - w.uncompWritten += int64(len(uncompressed)) - go func() { - checksum := crc(uncompressed) - - // Set to uncompressed. - chunkType := uint8(chunkTypeUncompressedData) - chunkLen := 4 + len(uncompressed) - - // Attempt compressing. - n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) - n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) - - // Check if we should use this, or store as uncompressed instead. - if n2 > 0 { - chunkType = uint8(chunkTypeCompressedData) - chunkLen = 4 + n + n2 - obuf = obuf[:obufHeaderLen+n+n2] - } else { - // copy uncompressed - copy(obuf[obufHeaderLen:], uncompressed) - } - - // Fill in the per-chunk header that comes before the body. - obuf[0] = chunkType - obuf[1] = uint8(chunkLen >> 0) - obuf[2] = uint8(chunkLen >> 8) - obuf[3] = uint8(chunkLen >> 16) - obuf[4] = uint8(checksum >> 0) - obuf[5] = uint8(checksum >> 8) - obuf[6] = uint8(checksum >> 16) - obuf[7] = uint8(checksum >> 24) - - // Queue final output. - res.b = obuf - output <- res - }() - } - return nil -} - -func (w *Writer) encodeBlock(obuf, uncompressed []byte) int { - if w.customEnc != nil { - return w.customEnc(obuf, uncompressed) - } - if w.snappy { - switch w.level { - case levelFast: - return encodeBlockSnappy(obuf, uncompressed) - case levelBetter: - return encodeBlockBetterSnappy(obuf, uncompressed) - case levelBest: - return encodeBlockBestSnappy(obuf, uncompressed) - } - return 0 - } - switch w.level { - case levelFast: - return encodeBlock(obuf, uncompressed) - case levelBetter: - return encodeBlockBetter(obuf, uncompressed) - case levelBest: - return encodeBlockBest(obuf, uncompressed, nil) - } - return 0 -} - -func (w *Writer) write(p []byte) (nRet int, errRet error) { - if err := w.err(nil); err != nil { - return 0, err - } - if w.concurrency == 1 { - return w.writeSync(p) - } - - // Spawn goroutine and write block to output channel. - for len(p) > 0 { - if !w.wroteStreamHeader { - w.wroteStreamHeader = true - hWriter := make(chan result) - w.output <- hWriter - if w.snappy { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} - } else { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} - } - } - - var uncompressed []byte - if len(p) > w.blockSize { - uncompressed, p = p[:w.blockSize], p[w.blockSize:] - } else { - uncompressed, p = p, nil - } - - // Copy input. - // If the block is incompressible, this is used for the result. - inbuf := w.buffers.Get().([]byte)[:len(uncompressed)+obufHeaderLen] - obuf := w.buffers.Get().([]byte)[:w.obufLen] - copy(inbuf[obufHeaderLen:], uncompressed) - uncompressed = inbuf[obufHeaderLen:] - - output := make(chan result) - // Queue output now, so we keep order. - w.output <- output - res := result{ - startOffset: w.uncompWritten, - } - w.uncompWritten += int64(len(uncompressed)) - - go func() { - checksum := crc(uncompressed) - - // Set to uncompressed. - chunkType := uint8(chunkTypeUncompressedData) - chunkLen := 4 + len(uncompressed) - - // Attempt compressing. - n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) - n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) - - // Check if we should use this, or store as uncompressed instead. - if n2 > 0 { - chunkType = uint8(chunkTypeCompressedData) - chunkLen = 4 + n + n2 - obuf = obuf[:obufHeaderLen+n+n2] - } else { - // Use input as output. - obuf, inbuf = inbuf, obuf - } - - // Fill in the per-chunk header that comes before the body. - obuf[0] = chunkType - obuf[1] = uint8(chunkLen >> 0) - obuf[2] = uint8(chunkLen >> 8) - obuf[3] = uint8(chunkLen >> 16) - obuf[4] = uint8(checksum >> 0) - obuf[5] = uint8(checksum >> 8) - obuf[6] = uint8(checksum >> 16) - obuf[7] = uint8(checksum >> 24) - - // Queue final output. - res.b = obuf - output <- res - - // Put unused buffer back in pool. - w.buffers.Put(inbuf) - }() - nRet += len(uncompressed) - } - return nRet, nil -} - -// writeFull is a special version of write that will always write the full buffer. -// Data to be compressed should start at offset obufHeaderLen and fill the remainder of the buffer. -// The data will be written as a single block. -// The caller is not allowed to use inbuf after this function has been called. -func (w *Writer) writeFull(inbuf []byte) (errRet error) { - if err := w.err(nil); err != nil { - return err - } - - if w.concurrency == 1 { - _, err := w.writeSync(inbuf[obufHeaderLen:]) - return err - } - - // Spawn goroutine and write block to output channel. - if !w.wroteStreamHeader { - w.wroteStreamHeader = true - hWriter := make(chan result) - w.output <- hWriter - if w.snappy { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} - } else { - hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} - } - } - - // Get an output buffer. - obuf := w.buffers.Get().([]byte)[:w.obufLen] - uncompressed := inbuf[obufHeaderLen:] - - output := make(chan result) - // Queue output now, so we keep order. - w.output <- output - res := result{ - startOffset: w.uncompWritten, - } - w.uncompWritten += int64(len(uncompressed)) - - go func() { - checksum := crc(uncompressed) - - // Set to uncompressed. - chunkType := uint8(chunkTypeUncompressedData) - chunkLen := 4 + len(uncompressed) - - // Attempt compressing. - n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) - n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) - - // Check if we should use this, or store as uncompressed instead. - if n2 > 0 { - chunkType = uint8(chunkTypeCompressedData) - chunkLen = 4 + n + n2 - obuf = obuf[:obufHeaderLen+n+n2] - } else { - // Use input as output. - obuf, inbuf = inbuf, obuf - } - - // Fill in the per-chunk header that comes before the body. - obuf[0] = chunkType - obuf[1] = uint8(chunkLen >> 0) - obuf[2] = uint8(chunkLen >> 8) - obuf[3] = uint8(chunkLen >> 16) - obuf[4] = uint8(checksum >> 0) - obuf[5] = uint8(checksum >> 8) - obuf[6] = uint8(checksum >> 16) - obuf[7] = uint8(checksum >> 24) - - // Queue final output. - res.b = obuf - output <- res - - // Put unused buffer back in pool. - w.buffers.Put(inbuf) - }() - return nil -} - -func (w *Writer) writeSync(p []byte) (nRet int, errRet error) { - if err := w.err(nil); err != nil { - return 0, err - } - if !w.wroteStreamHeader { - w.wroteStreamHeader = true - var n int - var err error - if w.snappy { - n, err = w.writer.Write([]byte(magicChunkSnappy)) - } else { - n, err = w.writer.Write([]byte(magicChunk)) - } - if err != nil { - return 0, w.err(err) - } - if n != len(magicChunk) { - return 0, w.err(io.ErrShortWrite) - } - w.written += int64(n) - } - - for len(p) > 0 { - var uncompressed []byte - if len(p) > w.blockSize { - uncompressed, p = p[:w.blockSize], p[w.blockSize:] - } else { - uncompressed, p = p, nil - } - - obuf := w.buffers.Get().([]byte)[:w.obufLen] - checksum := crc(uncompressed) - - // Set to uncompressed. - chunkType := uint8(chunkTypeUncompressedData) - chunkLen := 4 + len(uncompressed) - - // Attempt compressing. - n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) - n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) - - if n2 > 0 { - chunkType = uint8(chunkTypeCompressedData) - chunkLen = 4 + n + n2 - obuf = obuf[:obufHeaderLen+n+n2] - } else { - obuf = obuf[:8] - } - - // Fill in the per-chunk header that comes before the body. - obuf[0] = chunkType - obuf[1] = uint8(chunkLen >> 0) - obuf[2] = uint8(chunkLen >> 8) - obuf[3] = uint8(chunkLen >> 16) - obuf[4] = uint8(checksum >> 0) - obuf[5] = uint8(checksum >> 8) - obuf[6] = uint8(checksum >> 16) - obuf[7] = uint8(checksum >> 24) - - n, err := w.writer.Write(obuf) - if err != nil { - return 0, w.err(err) - } - if n != len(obuf) { - return 0, w.err(io.ErrShortWrite) - } - w.err(w.index.add(w.written, w.uncompWritten)) - w.written += int64(n) - w.uncompWritten += int64(len(uncompressed)) - - if chunkType == chunkTypeUncompressedData { - // Write uncompressed data. - n, err := w.writer.Write(uncompressed) - if err != nil { - return 0, w.err(err) - } - if n != len(uncompressed) { - return 0, w.err(io.ErrShortWrite) - } - w.written += int64(n) - } - w.buffers.Put(obuf) - // Queue final output. - nRet += len(uncompressed) - } - return nRet, nil -} - -// Flush flushes the Writer to its underlying io.Writer. -// This does not apply padding. -func (w *Writer) Flush() error { - if err := w.err(nil); err != nil { - return err - } - - // Queue any data still in input buffer. - if len(w.ibuf) != 0 { - if !w.wroteStreamHeader { - _, err := w.writeSync(w.ibuf) - w.ibuf = w.ibuf[:0] - return w.err(err) - } else { - _, err := w.write(w.ibuf) - w.ibuf = w.ibuf[:0] - err = w.err(err) - if err != nil { - return err - } - } - } - if w.output == nil { - return w.err(nil) - } - - // Send empty buffer - res := make(chan result) - w.output <- res - // Block until this has been picked up. - res <- result{b: nil, startOffset: w.uncompWritten} - // When it is closed, we have flushed. - <-res - return w.err(nil) -} - -// Close calls Flush and then closes the Writer. -// Calling Close multiple times is ok, -// but calling CloseIndex after this will make it not return the index. -func (w *Writer) Close() error { - _, err := w.closeIndex(w.appendIndex) - return err -} - -// CloseIndex calls Close and returns an index on first call. -// This is not required if you are only adding index to a stream. -func (w *Writer) CloseIndex() ([]byte, error) { - return w.closeIndex(true) -} - -func (w *Writer) closeIndex(idx bool) ([]byte, error) { - err := w.Flush() - if w.output != nil { - close(w.output) - w.writerWg.Wait() - w.output = nil - } - - var index []byte - if w.err(nil) == nil && w.writer != nil { - // Create index. - if idx { - compSize := int64(-1) - if w.pad <= 1 { - compSize = w.written - } - index = w.index.appendTo(w.ibuf[:0], w.uncompWritten, compSize) - // Count as written for padding. - if w.appendIndex { - w.written += int64(len(index)) - } - } - - if w.pad > 1 { - tmp := w.ibuf[:0] - if len(index) > 0 { - // Allocate another buffer. - tmp = w.buffers.Get().([]byte)[:0] - defer w.buffers.Put(tmp) - } - add := calcSkippableFrame(w.written, int64(w.pad)) - frame, err := skippableFrame(tmp, add, w.randSrc) - if err = w.err(err); err != nil { - return nil, err - } - n, err2 := w.writer.Write(frame) - if err2 == nil && n != len(frame) { - err2 = io.ErrShortWrite - } - _ = w.err(err2) - } - if len(index) > 0 && w.appendIndex { - n, err2 := w.writer.Write(index) - if err2 == nil && n != len(index) { - err2 = io.ErrShortWrite - } - _ = w.err(err2) - } - } - err = w.err(errClosed) - if err == errClosed { - return index, nil - } - return nil, err -} - -// calcSkippableFrame will return a total size to be added for written -// to be divisible by multiple. -// The value will always be > skippableFrameHeader. -// The function will panic if written < 0 or wantMultiple <= 0. -func calcSkippableFrame(written, wantMultiple int64) int { - if wantMultiple <= 0 { - panic("wantMultiple <= 0") - } - if written < 0 { - panic("written < 0") - } - leftOver := written % wantMultiple - if leftOver == 0 { - return 0 - } - toAdd := wantMultiple - leftOver - for toAdd < skippableFrameHeader { - toAdd += wantMultiple - } - return int(toAdd) -} - -// skippableFrame will add a skippable frame with a total size of bytes. -// total should be >= skippableFrameHeader and < maxBlockSize + skippableFrameHeader -func skippableFrame(dst []byte, total int, r io.Reader) ([]byte, error) { - if total == 0 { - return dst, nil - } - if total < skippableFrameHeader { - return dst, fmt.Errorf("s2: requested skippable frame (%d) < 4", total) - } - if int64(total) >= maxBlockSize+skippableFrameHeader { - return dst, fmt.Errorf("s2: requested skippable frame (%d) >= max 1<<24", total) - } - // Chunk type 0xfe "Section 4.4 Padding (chunk type 0xfe)" - dst = append(dst, chunkTypePadding) - f := uint32(total - skippableFrameHeader) - // Add chunk length. - dst = append(dst, uint8(f), uint8(f>>8), uint8(f>>16)) - // Add data - start := len(dst) - dst = append(dst, make([]byte, f)...) - _, err := io.ReadFull(r, dst[start:]) - return dst, err -} - -// WriterOption is an option for creating a encoder. -type WriterOption func(*Writer) error - -// WriterConcurrency will set the concurrency, -// meaning the maximum number of decoders to run concurrently. -// The value supplied must be at least 1. -// By default this will be set to GOMAXPROCS. -func WriterConcurrency(n int) WriterOption { - return func(w *Writer) error { - if n <= 0 { - return errors.New("concurrency must be at least 1") - } - w.concurrency = n - return nil - } -} - -// WriterAddIndex will append an index to the end of a stream -// when it is closed. -func WriterAddIndex() WriterOption { - return func(w *Writer) error { - w.appendIndex = true - return nil - } -} - -// WriterBetterCompression will enable better compression. -// EncodeBetter compresses better than Encode but typically with a -// 10-40% speed decrease on both compression and decompression. -func WriterBetterCompression() WriterOption { - return func(w *Writer) error { - w.level = levelBetter - return nil - } -} - -// WriterBestCompression will enable better compression. -// EncodeBetter compresses better than Encode but typically with a -// big speed decrease on compression. -func WriterBestCompression() WriterOption { - return func(w *Writer) error { - w.level = levelBest - return nil - } -} - -// WriterUncompressed will bypass compression. -// The stream will be written as uncompressed blocks only. -// If concurrency is > 1 CRC and output will still be done async. -func WriterUncompressed() WriterOption { - return func(w *Writer) error { - w.level = levelUncompressed - return nil - } -} - -// WriterBlockSize allows to override the default block size. -// Blocks will be this size or smaller. -// Minimum size is 4KB and and maximum size is 4MB. -// -// Bigger blocks may give bigger throughput on systems with many cores, -// and will increase compression slightly, but it will limit the possible -// concurrency for smaller payloads for both encoding and decoding. -// Default block size is 1MB. -// -// When writing Snappy compatible output using WriterSnappyCompat, -// the maximum block size is 64KB. -func WriterBlockSize(n int) WriterOption { - return func(w *Writer) error { - if w.snappy && n > maxSnappyBlockSize || n < minBlockSize { - return errors.New("s2: block size too large. Must be <= 64K and >=4KB on for snappy compatible output") - } - if n > maxBlockSize || n < minBlockSize { - return errors.New("s2: block size too large. Must be <= 4MB and >=4KB") - } - w.blockSize = n - return nil - } -} - -// WriterPadding will add padding to all output so the size will be a multiple of n. -// This can be used to obfuscate the exact output size or make blocks of a certain size. -// The contents will be a skippable frame, so it will be invisible by the decoder. -// n must be > 0 and <= 4MB. -// The padded area will be filled with data from crypto/rand.Reader. -// The padding will be applied whenever Close is called on the writer. -func WriterPadding(n int) WriterOption { - return func(w *Writer) error { - if n <= 0 { - return fmt.Errorf("s2: padding must be at least 1") - } - // No need to waste our time. - if n == 1 { - w.pad = 0 - } - if n > maxBlockSize { - return fmt.Errorf("s2: padding must less than 4MB") - } - w.pad = n - return nil - } -} - -// WriterPaddingSrc will get random data for padding from the supplied source. -// By default crypto/rand is used. -func WriterPaddingSrc(reader io.Reader) WriterOption { - return func(w *Writer) error { - w.randSrc = reader - return nil - } -} - -// WriterSnappyCompat will write snappy compatible output. -// The output can be decompressed using either snappy or s2. -// If block size is more than 64KB it is set to that. -func WriterSnappyCompat() WriterOption { - return func(w *Writer) error { - w.snappy = true - if w.blockSize > 64<<10 { - // We choose 8 bytes less than 64K, since that will make literal emits slightly more effective. - // And allows us to skip some size checks. - w.blockSize = (64 << 10) - 8 - } - return nil - } -} - -// WriterFlushOnWrite will compress blocks on each call to the Write function. -// -// This is quite inefficient as blocks size will depend on the write size. -// -// Use WriterConcurrency(1) to also make sure that output is flushed. -// When Write calls return, otherwise they will be written when compression is done. -func WriterFlushOnWrite() WriterOption { - return func(w *Writer) error { - w.flushOnWrite = true - return nil - } -} - -// WriterCustomEncoder allows to override the encoder for blocks on the stream. -// The function must compress 'src' into 'dst' and return the bytes used in dst as an integer. -// Block size (initial varint) should not be added by the encoder. -// Returning value 0 indicates the block could not be compressed. -// The function should expect to be called concurrently. -func WriterCustomEncoder(fn func(dst, src []byte) int) WriterOption { - return func(w *Writer) error { - w.customEnc = fn - return nil - } -} diff --git a/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.s b/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.s index 12a4de3be5..9222d179cc 100644 --- a/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.s +++ b/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.s @@ -52,7 +52,7 @@ search_loop_encodeBlockAsm: SHRL $0x06, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBlockAsm + JAE emit_remainder_encodeBlockAsm MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -90,7 +90,7 @@ search_loop_encodeBlockAsm: repeat_extend_back_loop_encodeBlockAsm: CMPL SI, DI - JLE repeat_extend_back_end_encodeBlockAsm + JBE repeat_extend_back_end_encodeBlockAsm MOVB -1(DX)(BX*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -109,13 +109,13 @@ repeat_extend_back_end_encodeBlockAsm: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeBlockAsm + JB one_byte_repeat_emit_encodeBlockAsm CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeBlockAsm + JB two_bytes_repeat_emit_encodeBlockAsm CMPL BX, $0x00010000 - JLT three_bytes_repeat_emit_encodeBlockAsm + JB three_bytes_repeat_emit_encodeBlockAsm CMPL BX, $0x01000000 - JLT four_bytes_repeat_emit_encodeBlockAsm + JB four_bytes_repeat_emit_encodeBlockAsm MOVB $0xfc, (AX) MOVL BX, 1(AX) ADDQ $0x05, AX @@ -141,7 +141,7 @@ two_bytes_repeat_emit_encodeBlockAsm: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeBlockAsm + JB memmove_repeat_emit_encodeBlockAsm JMP memmove_long_repeat_emit_encodeBlockAsm one_byte_repeat_emit_encodeBlockAsm: @@ -154,7 +154,7 @@ memmove_repeat_emit_encodeBlockAsm: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeBlockAsm_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeBlockAsm_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_repeat_emit_encodeBlockAsm_memmove_move_8through16 CMPQ R8, $0x20 @@ -250,7 +250,7 @@ emit_literal_done_repeat_emit_encodeBlockAsm: // matchLen XORL R11, R11 CMPL R8, $0x08 - JL matchlen_match4_repeat_extend_encodeBlockAsm + JB matchlen_match4_repeat_extend_encodeBlockAsm matchlen_loopback_repeat_extend_encodeBlockAsm: MOVQ (R9)(R11*1), R10 @@ -273,12 +273,12 @@ matchlen_loop_repeat_extend_encodeBlockAsm: LEAL -8(R8), R8 LEAL 8(R11), R11 CMPL R8, $0x08 - JGE matchlen_loopback_repeat_extend_encodeBlockAsm + JAE matchlen_loopback_repeat_extend_encodeBlockAsm JZ repeat_extend_forward_end_encodeBlockAsm matchlen_match4_repeat_extend_encodeBlockAsm: CMPL R8, $0x04 - JL matchlen_match2_repeat_extend_encodeBlockAsm + JB matchlen_match2_repeat_extend_encodeBlockAsm MOVL (R9)(R11*1), R10 CMPL (BX)(R11*1), R10 JNE matchlen_match2_repeat_extend_encodeBlockAsm @@ -287,7 +287,7 @@ matchlen_match4_repeat_extend_encodeBlockAsm: matchlen_match2_repeat_extend_encodeBlockAsm: CMPL R8, $0x02 - JL matchlen_match1_repeat_extend_encodeBlockAsm + JB matchlen_match1_repeat_extend_encodeBlockAsm MOVW (R9)(R11*1), R10 CMPW (BX)(R11*1), R10 JNE matchlen_match1_repeat_extend_encodeBlockAsm @@ -296,7 +296,7 @@ matchlen_match2_repeat_extend_encodeBlockAsm: matchlen_match1_repeat_extend_encodeBlockAsm: CMPL R8, $0x01 - JL repeat_extend_forward_end_encodeBlockAsm + JB repeat_extend_forward_end_encodeBlockAsm MOVB (R9)(R11*1), R10 CMPB (BX)(R11*1), R10 JNE repeat_extend_forward_end_encodeBlockAsm @@ -315,19 +315,19 @@ emit_repeat_again_match_repeat_encodeBlockAsm: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_match_repeat_encodeBlockAsm + JBE repeat_two_match_repeat_encodeBlockAsm CMPL DI, $0x0c - JGE cant_repeat_two_offset_match_repeat_encodeBlockAsm + JAE cant_repeat_two_offset_match_repeat_encodeBlockAsm CMPL SI, $0x00000800 - JLT repeat_two_offset_match_repeat_encodeBlockAsm + JB repeat_two_offset_match_repeat_encodeBlockAsm cant_repeat_two_offset_match_repeat_encodeBlockAsm: CMPL BX, $0x00000104 - JLT repeat_three_match_repeat_encodeBlockAsm + JB repeat_three_match_repeat_encodeBlockAsm CMPL BX, $0x00010100 - JLT repeat_four_match_repeat_encodeBlockAsm + JB repeat_four_match_repeat_encodeBlockAsm CMPL BX, $0x0100ffff - JLT repeat_five_match_repeat_encodeBlockAsm + JB repeat_five_match_repeat_encodeBlockAsm LEAL -16842747(BX), BX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -379,34 +379,34 @@ repeat_two_offset_match_repeat_encodeBlockAsm: repeat_as_copy_encodeBlockAsm: // emitCopy CMPL SI, $0x00010000 - JL two_byte_offset_repeat_as_copy_encodeBlockAsm + JB two_byte_offset_repeat_as_copy_encodeBlockAsm CMPL BX, $0x40 - JLE four_bytes_remain_repeat_as_copy_encodeBlockAsm + JBE four_bytes_remain_repeat_as_copy_encodeBlockAsm MOVB $0xff, (AX) MOVL SI, 1(AX) LEAL -64(BX), BX ADDQ $0x05, AX CMPL BX, $0x04 - JL four_bytes_remain_repeat_as_copy_encodeBlockAsm + JB four_bytes_remain_repeat_as_copy_encodeBlockAsm // emitRepeat emit_repeat_again_repeat_as_copy_encodeBlockAsm_emit_copy: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm_emit_copy + JBE repeat_two_repeat_as_copy_encodeBlockAsm_emit_copy CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm_emit_copy + JB repeat_three_repeat_as_copy_encodeBlockAsm_emit_copy CMPL BX, $0x00010100 - JLT repeat_four_repeat_as_copy_encodeBlockAsm_emit_copy + JB repeat_four_repeat_as_copy_encodeBlockAsm_emit_copy CMPL BX, $0x0100ffff - JLT repeat_five_repeat_as_copy_encodeBlockAsm_emit_copy + JB repeat_five_repeat_as_copy_encodeBlockAsm_emit_copy LEAL -16842747(BX), BX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -467,7 +467,7 @@ four_bytes_remain_repeat_as_copy_encodeBlockAsm: two_byte_offset_repeat_as_copy_encodeBlockAsm: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeBlockAsm + JBE two_byte_offset_short_repeat_as_copy_encodeBlockAsm CMPL SI, $0x00000800 JAE long_offset_short_repeat_as_copy_encodeBlockAsm MOVL $0x00000001, DI @@ -489,19 +489,19 @@ emit_repeat_again_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b + JBE repeat_two_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b + JB repeat_three_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b CMPL BX, $0x00010100 - JLT repeat_four_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b + JB repeat_four_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b CMPL BX, $0x0100ffff - JLT repeat_five_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b + JB repeat_five_repeat_as_copy_encodeBlockAsm_emit_copy_short_2b LEAL -16842747(BX), BX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -561,19 +561,19 @@ emit_repeat_again_repeat_as_copy_encodeBlockAsm_emit_copy_short: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm_emit_copy_short + JBE repeat_two_repeat_as_copy_encodeBlockAsm_emit_copy_short CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm_emit_copy_short: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm_emit_copy_short + JB repeat_three_repeat_as_copy_encodeBlockAsm_emit_copy_short CMPL BX, $0x00010100 - JLT repeat_four_repeat_as_copy_encodeBlockAsm_emit_copy_short + JB repeat_four_repeat_as_copy_encodeBlockAsm_emit_copy_short CMPL BX, $0x0100ffff - JLT repeat_five_repeat_as_copy_encodeBlockAsm_emit_copy_short + JB repeat_five_repeat_as_copy_encodeBlockAsm_emit_copy_short LEAL -16842747(BX), BX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -626,9 +626,9 @@ two_byte_offset_short_repeat_as_copy_encodeBlockAsm: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -679,7 +679,7 @@ candidate_match_encodeBlockAsm: match_extend_back_loop_encodeBlockAsm: CMPL CX, SI - JLE match_extend_back_end_encodeBlockAsm + JBE match_extend_back_end_encodeBlockAsm MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -694,7 +694,7 @@ match_extend_back_end_encodeBlockAsm: SUBL 12(SP), SI LEAQ 5(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBlockAsm + JB match_dst_size_check_encodeBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -709,13 +709,13 @@ match_dst_size_check_encodeBlockAsm: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeBlockAsm + JB one_byte_match_emit_encodeBlockAsm CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeBlockAsm + JB two_bytes_match_emit_encodeBlockAsm CMPL DI, $0x00010000 - JLT three_bytes_match_emit_encodeBlockAsm + JB three_bytes_match_emit_encodeBlockAsm CMPL DI, $0x01000000 - JLT four_bytes_match_emit_encodeBlockAsm + JB four_bytes_match_emit_encodeBlockAsm MOVB $0xfc, (AX) MOVL DI, 1(AX) ADDQ $0x05, AX @@ -741,7 +741,7 @@ two_bytes_match_emit_encodeBlockAsm: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeBlockAsm + JB memmove_match_emit_encodeBlockAsm JMP memmove_long_match_emit_encodeBlockAsm one_byte_match_emit_encodeBlockAsm: @@ -754,7 +754,7 @@ memmove_match_emit_encodeBlockAsm: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeBlockAsm_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeBlockAsm_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeBlockAsm_memmove_move_8through16 CMPQ R8, $0x20 @@ -853,7 +853,7 @@ match_nolit_loop_encodeBlockAsm: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeBlockAsm + JB matchlen_match4_match_nolit_encodeBlockAsm matchlen_loopback_match_nolit_encodeBlockAsm: MOVQ (DI)(R9*1), R8 @@ -876,12 +876,12 @@ matchlen_loop_match_nolit_encodeBlockAsm: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBlockAsm + JAE matchlen_loopback_match_nolit_encodeBlockAsm JZ match_nolit_end_encodeBlockAsm matchlen_match4_match_nolit_encodeBlockAsm: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeBlockAsm + JB matchlen_match2_match_nolit_encodeBlockAsm MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeBlockAsm @@ -890,7 +890,7 @@ matchlen_match4_match_nolit_encodeBlockAsm: matchlen_match2_match_nolit_encodeBlockAsm: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeBlockAsm + JB matchlen_match1_match_nolit_encodeBlockAsm MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeBlockAsm @@ -899,7 +899,7 @@ matchlen_match2_match_nolit_encodeBlockAsm: matchlen_match1_match_nolit_encodeBlockAsm: CMPL SI, $0x01 - JL match_nolit_end_encodeBlockAsm + JB match_nolit_end_encodeBlockAsm MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeBlockAsm @@ -913,34 +913,34 @@ match_nolit_end_encodeBlockAsm: // emitCopy CMPL BX, $0x00010000 - JL two_byte_offset_match_nolit_encodeBlockAsm + JB two_byte_offset_match_nolit_encodeBlockAsm CMPL R9, $0x40 - JLE four_bytes_remain_match_nolit_encodeBlockAsm + JBE four_bytes_remain_match_nolit_encodeBlockAsm MOVB $0xff, (AX) MOVL BX, 1(AX) LEAL -64(R9), R9 ADDQ $0x05, AX CMPL R9, $0x04 - JL four_bytes_remain_match_nolit_encodeBlockAsm + JB four_bytes_remain_match_nolit_encodeBlockAsm // emitRepeat emit_repeat_again_match_nolit_encodeBlockAsm_emit_copy: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm_emit_copy + JBE repeat_two_match_nolit_encodeBlockAsm_emit_copy CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy + JB repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm_emit_copy + JB repeat_three_match_nolit_encodeBlockAsm_emit_copy CMPL R9, $0x00010100 - JLT repeat_four_match_nolit_encodeBlockAsm_emit_copy + JB repeat_four_match_nolit_encodeBlockAsm_emit_copy CMPL R9, $0x0100ffff - JLT repeat_five_match_nolit_encodeBlockAsm_emit_copy + JB repeat_five_match_nolit_encodeBlockAsm_emit_copy LEAL -16842747(R9), R9 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -1001,7 +1001,7 @@ four_bytes_remain_match_nolit_encodeBlockAsm: two_byte_offset_match_nolit_encodeBlockAsm: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBlockAsm + JBE two_byte_offset_short_match_nolit_encodeBlockAsm CMPL BX, $0x00000800 JAE long_offset_short_match_nolit_encodeBlockAsm MOVL $0x00000001, SI @@ -1023,19 +1023,19 @@ emit_repeat_again_match_nolit_encodeBlockAsm_emit_copy_short_2b: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBlockAsm_emit_copy_short_2b CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short_2b CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short_2b: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBlockAsm_emit_copy_short_2b CMPL R9, $0x00010100 - JLT repeat_four_match_nolit_encodeBlockAsm_emit_copy_short_2b + JB repeat_four_match_nolit_encodeBlockAsm_emit_copy_short_2b CMPL R9, $0x0100ffff - JLT repeat_five_match_nolit_encodeBlockAsm_emit_copy_short_2b + JB repeat_five_match_nolit_encodeBlockAsm_emit_copy_short_2b LEAL -16842747(R9), R9 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -1095,19 +1095,19 @@ emit_repeat_again_match_nolit_encodeBlockAsm_emit_copy_short: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm_emit_copy_short + JBE repeat_two_match_nolit_encodeBlockAsm_emit_copy_short CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBlockAsm_emit_copy_short: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm_emit_copy_short + JB repeat_three_match_nolit_encodeBlockAsm_emit_copy_short CMPL R9, $0x00010100 - JLT repeat_four_match_nolit_encodeBlockAsm_emit_copy_short + JB repeat_four_match_nolit_encodeBlockAsm_emit_copy_short CMPL R9, $0x0100ffff - JLT repeat_five_match_nolit_encodeBlockAsm_emit_copy_short + JB repeat_five_match_nolit_encodeBlockAsm_emit_copy_short LEAL -16842747(R9), R9 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -1160,9 +1160,9 @@ two_byte_offset_short_match_nolit_encodeBlockAsm: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeBlockAsm + JAE emit_copy_three_match_nolit_encodeBlockAsm CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBlockAsm + JAE emit_copy_three_match_nolit_encodeBlockAsm LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -1180,10 +1180,10 @@ emit_copy_three_match_nolit_encodeBlockAsm: match_nolit_emitcopy_end_encodeBlockAsm: CMPL CX, 8(SP) - JGE emit_remainder_encodeBlockAsm + JAE emit_remainder_encodeBlockAsm MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBlockAsm + JB match_nolit_dst_ok_encodeBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -1213,7 +1213,7 @@ emit_remainder_encodeBlockAsm: SUBL 12(SP), CX LEAQ 5(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBlockAsm + JB emit_remainder_ok_encodeBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -1228,13 +1228,13 @@ emit_remainder_ok_encodeBlockAsm: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBlockAsm + JB one_byte_emit_remainder_encodeBlockAsm CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBlockAsm + JB two_bytes_emit_remainder_encodeBlockAsm CMPL DX, $0x00010000 - JLT three_bytes_emit_remainder_encodeBlockAsm + JB three_bytes_emit_remainder_encodeBlockAsm CMPL DX, $0x01000000 - JLT four_bytes_emit_remainder_encodeBlockAsm + JB four_bytes_emit_remainder_encodeBlockAsm MOVB $0xfc, (AX) MOVL DX, 1(AX) ADDQ $0x05, AX @@ -1260,7 +1260,7 @@ two_bytes_emit_remainder_encodeBlockAsm: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBlockAsm + JB memmove_emit_remainder_encodeBlockAsm JMP memmove_long_emit_remainder_encodeBlockAsm one_byte_emit_remainder_encodeBlockAsm: @@ -1423,7 +1423,7 @@ search_loop_encodeBlockAsm4MB: SHRL $0x06, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBlockAsm4MB + JAE emit_remainder_encodeBlockAsm4MB MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -1461,7 +1461,7 @@ search_loop_encodeBlockAsm4MB: repeat_extend_back_loop_encodeBlockAsm4MB: CMPL SI, DI - JLE repeat_extend_back_end_encodeBlockAsm4MB + JBE repeat_extend_back_end_encodeBlockAsm4MB MOVB -1(DX)(BX*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -1480,11 +1480,11 @@ repeat_extend_back_end_encodeBlockAsm4MB: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeBlockAsm4MB + JB one_byte_repeat_emit_encodeBlockAsm4MB CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeBlockAsm4MB + JB two_bytes_repeat_emit_encodeBlockAsm4MB CMPL BX, $0x00010000 - JLT three_bytes_repeat_emit_encodeBlockAsm4MB + JB three_bytes_repeat_emit_encodeBlockAsm4MB MOVL BX, R10 SHRL $0x10, R10 MOVB $0xf8, (AX) @@ -1504,7 +1504,7 @@ two_bytes_repeat_emit_encodeBlockAsm4MB: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeBlockAsm4MB + JB memmove_repeat_emit_encodeBlockAsm4MB JMP memmove_long_repeat_emit_encodeBlockAsm4MB one_byte_repeat_emit_encodeBlockAsm4MB: @@ -1517,7 +1517,7 @@ memmove_repeat_emit_encodeBlockAsm4MB: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeBlockAsm4MB_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeBlockAsm4MB_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_repeat_emit_encodeBlockAsm4MB_memmove_move_8through16 CMPQ R8, $0x20 @@ -1613,7 +1613,7 @@ emit_literal_done_repeat_emit_encodeBlockAsm4MB: // matchLen XORL R11, R11 CMPL R8, $0x08 - JL matchlen_match4_repeat_extend_encodeBlockAsm4MB + JB matchlen_match4_repeat_extend_encodeBlockAsm4MB matchlen_loopback_repeat_extend_encodeBlockAsm4MB: MOVQ (R9)(R11*1), R10 @@ -1636,12 +1636,12 @@ matchlen_loop_repeat_extend_encodeBlockAsm4MB: LEAL -8(R8), R8 LEAL 8(R11), R11 CMPL R8, $0x08 - JGE matchlen_loopback_repeat_extend_encodeBlockAsm4MB + JAE matchlen_loopback_repeat_extend_encodeBlockAsm4MB JZ repeat_extend_forward_end_encodeBlockAsm4MB matchlen_match4_repeat_extend_encodeBlockAsm4MB: CMPL R8, $0x04 - JL matchlen_match2_repeat_extend_encodeBlockAsm4MB + JB matchlen_match2_repeat_extend_encodeBlockAsm4MB MOVL (R9)(R11*1), R10 CMPL (BX)(R11*1), R10 JNE matchlen_match2_repeat_extend_encodeBlockAsm4MB @@ -1650,7 +1650,7 @@ matchlen_match4_repeat_extend_encodeBlockAsm4MB: matchlen_match2_repeat_extend_encodeBlockAsm4MB: CMPL R8, $0x02 - JL matchlen_match1_repeat_extend_encodeBlockAsm4MB + JB matchlen_match1_repeat_extend_encodeBlockAsm4MB MOVW (R9)(R11*1), R10 CMPW (BX)(R11*1), R10 JNE matchlen_match1_repeat_extend_encodeBlockAsm4MB @@ -1659,7 +1659,7 @@ matchlen_match2_repeat_extend_encodeBlockAsm4MB: matchlen_match1_repeat_extend_encodeBlockAsm4MB: CMPL R8, $0x01 - JL repeat_extend_forward_end_encodeBlockAsm4MB + JB repeat_extend_forward_end_encodeBlockAsm4MB MOVB (R9)(R11*1), R10 CMPB (BX)(R11*1), R10 JNE repeat_extend_forward_end_encodeBlockAsm4MB @@ -1677,17 +1677,17 @@ repeat_extend_forward_end_encodeBlockAsm4MB: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_match_repeat_encodeBlockAsm4MB + JBE repeat_two_match_repeat_encodeBlockAsm4MB CMPL DI, $0x0c - JGE cant_repeat_two_offset_match_repeat_encodeBlockAsm4MB + JAE cant_repeat_two_offset_match_repeat_encodeBlockAsm4MB CMPL SI, $0x00000800 - JLT repeat_two_offset_match_repeat_encodeBlockAsm4MB + JB repeat_two_offset_match_repeat_encodeBlockAsm4MB cant_repeat_two_offset_match_repeat_encodeBlockAsm4MB: CMPL BX, $0x00000104 - JLT repeat_three_match_repeat_encodeBlockAsm4MB + JB repeat_three_match_repeat_encodeBlockAsm4MB CMPL BX, $0x00010100 - JLT repeat_four_match_repeat_encodeBlockAsm4MB + JB repeat_four_match_repeat_encodeBlockAsm4MB LEAL -65536(BX), BX MOVL BX, SI MOVW $0x001d, (AX) @@ -1732,31 +1732,31 @@ repeat_two_offset_match_repeat_encodeBlockAsm4MB: repeat_as_copy_encodeBlockAsm4MB: // emitCopy CMPL SI, $0x00010000 - JL two_byte_offset_repeat_as_copy_encodeBlockAsm4MB + JB two_byte_offset_repeat_as_copy_encodeBlockAsm4MB CMPL BX, $0x40 - JLE four_bytes_remain_repeat_as_copy_encodeBlockAsm4MB + JBE four_bytes_remain_repeat_as_copy_encodeBlockAsm4MB MOVB $0xff, (AX) MOVL SI, 1(AX) LEAL -64(BX), BX ADDQ $0x05, AX CMPL BX, $0x04 - JL four_bytes_remain_repeat_as_copy_encodeBlockAsm4MB + JB four_bytes_remain_repeat_as_copy_encodeBlockAsm4MB // emitRepeat MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm4MB_emit_copy + JBE repeat_two_repeat_as_copy_encodeBlockAsm4MB_emit_copy CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm4MB_emit_copy + JB repeat_three_repeat_as_copy_encodeBlockAsm4MB_emit_copy CMPL BX, $0x00010100 - JLT repeat_four_repeat_as_copy_encodeBlockAsm4MB_emit_copy + JB repeat_four_repeat_as_copy_encodeBlockAsm4MB_emit_copy LEAL -65536(BX), BX MOVL BX, SI MOVW $0x001d, (AX) @@ -1810,7 +1810,7 @@ four_bytes_remain_repeat_as_copy_encodeBlockAsm4MB: two_byte_offset_repeat_as_copy_encodeBlockAsm4MB: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeBlockAsm4MB + JBE two_byte_offset_short_repeat_as_copy_encodeBlockAsm4MB CMPL SI, $0x00000800 JAE long_offset_short_repeat_as_copy_encodeBlockAsm4MB MOVL $0x00000001, DI @@ -1829,17 +1829,17 @@ two_byte_offset_repeat_as_copy_encodeBlockAsm4MB: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b + JBE repeat_two_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b + JB repeat_three_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b CMPL BX, $0x00010100 - JLT repeat_four_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b + JB repeat_four_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short_2b LEAL -65536(BX), BX MOVL BX, SI MOVW $0x001d, (AX) @@ -1891,17 +1891,17 @@ long_offset_short_repeat_as_copy_encodeBlockAsm4MB: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short + JBE repeat_two_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short + JB repeat_three_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short CMPL BX, $0x00010100 - JLT repeat_four_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short + JB repeat_four_repeat_as_copy_encodeBlockAsm4MB_emit_copy_short LEAL -65536(BX), BX MOVL BX, SI MOVW $0x001d, (AX) @@ -1947,9 +1947,9 @@ two_byte_offset_short_repeat_as_copy_encodeBlockAsm4MB: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm4MB + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm4MB CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm4MB + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm4MB LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -2000,7 +2000,7 @@ candidate_match_encodeBlockAsm4MB: match_extend_back_loop_encodeBlockAsm4MB: CMPL CX, SI - JLE match_extend_back_end_encodeBlockAsm4MB + JBE match_extend_back_end_encodeBlockAsm4MB MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -2015,7 +2015,7 @@ match_extend_back_end_encodeBlockAsm4MB: SUBL 12(SP), SI LEAQ 4(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBlockAsm4MB + JB match_dst_size_check_encodeBlockAsm4MB MOVQ $0x00000000, ret+48(FP) RET @@ -2030,11 +2030,11 @@ match_dst_size_check_encodeBlockAsm4MB: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeBlockAsm4MB + JB one_byte_match_emit_encodeBlockAsm4MB CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeBlockAsm4MB + JB two_bytes_match_emit_encodeBlockAsm4MB CMPL DI, $0x00010000 - JLT three_bytes_match_emit_encodeBlockAsm4MB + JB three_bytes_match_emit_encodeBlockAsm4MB MOVL DI, R9 SHRL $0x10, R9 MOVB $0xf8, (AX) @@ -2054,7 +2054,7 @@ two_bytes_match_emit_encodeBlockAsm4MB: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeBlockAsm4MB + JB memmove_match_emit_encodeBlockAsm4MB JMP memmove_long_match_emit_encodeBlockAsm4MB one_byte_match_emit_encodeBlockAsm4MB: @@ -2067,7 +2067,7 @@ memmove_match_emit_encodeBlockAsm4MB: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeBlockAsm4MB_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeBlockAsm4MB_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeBlockAsm4MB_memmove_move_8through16 CMPQ R8, $0x20 @@ -2166,7 +2166,7 @@ match_nolit_loop_encodeBlockAsm4MB: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeBlockAsm4MB + JB matchlen_match4_match_nolit_encodeBlockAsm4MB matchlen_loopback_match_nolit_encodeBlockAsm4MB: MOVQ (DI)(R9*1), R8 @@ -2189,12 +2189,12 @@ matchlen_loop_match_nolit_encodeBlockAsm4MB: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBlockAsm4MB + JAE matchlen_loopback_match_nolit_encodeBlockAsm4MB JZ match_nolit_end_encodeBlockAsm4MB matchlen_match4_match_nolit_encodeBlockAsm4MB: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeBlockAsm4MB + JB matchlen_match2_match_nolit_encodeBlockAsm4MB MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeBlockAsm4MB @@ -2203,7 +2203,7 @@ matchlen_match4_match_nolit_encodeBlockAsm4MB: matchlen_match2_match_nolit_encodeBlockAsm4MB: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeBlockAsm4MB + JB matchlen_match1_match_nolit_encodeBlockAsm4MB MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeBlockAsm4MB @@ -2212,7 +2212,7 @@ matchlen_match2_match_nolit_encodeBlockAsm4MB: matchlen_match1_match_nolit_encodeBlockAsm4MB: CMPL SI, $0x01 - JL match_nolit_end_encodeBlockAsm4MB + JB match_nolit_end_encodeBlockAsm4MB MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeBlockAsm4MB @@ -2226,31 +2226,31 @@ match_nolit_end_encodeBlockAsm4MB: // emitCopy CMPL BX, $0x00010000 - JL two_byte_offset_match_nolit_encodeBlockAsm4MB + JB two_byte_offset_match_nolit_encodeBlockAsm4MB CMPL R9, $0x40 - JLE four_bytes_remain_match_nolit_encodeBlockAsm4MB + JBE four_bytes_remain_match_nolit_encodeBlockAsm4MB MOVB $0xff, (AX) MOVL BX, 1(AX) LEAL -64(R9), R9 ADDQ $0x05, AX CMPL R9, $0x04 - JL four_bytes_remain_match_nolit_encodeBlockAsm4MB + JB four_bytes_remain_match_nolit_encodeBlockAsm4MB // emitRepeat MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm4MB_emit_copy + JBE repeat_two_match_nolit_encodeBlockAsm4MB_emit_copy CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy + JB repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm4MB_emit_copy + JB repeat_three_match_nolit_encodeBlockAsm4MB_emit_copy CMPL R9, $0x00010100 - JLT repeat_four_match_nolit_encodeBlockAsm4MB_emit_copy + JB repeat_four_match_nolit_encodeBlockAsm4MB_emit_copy LEAL -65536(R9), R9 MOVL R9, BX MOVW $0x001d, (AX) @@ -2304,7 +2304,7 @@ four_bytes_remain_match_nolit_encodeBlockAsm4MB: two_byte_offset_match_nolit_encodeBlockAsm4MB: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBlockAsm4MB + JBE two_byte_offset_short_match_nolit_encodeBlockAsm4MB CMPL BX, $0x00000800 JAE long_offset_short_match_nolit_encodeBlockAsm4MB MOVL $0x00000001, SI @@ -2323,17 +2323,17 @@ two_byte_offset_match_nolit_encodeBlockAsm4MB: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b CMPL R9, $0x00010100 - JLT repeat_four_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b + JB repeat_four_match_nolit_encodeBlockAsm4MB_emit_copy_short_2b LEAL -65536(R9), R9 MOVL R9, BX MOVW $0x001d, (AX) @@ -2385,17 +2385,17 @@ long_offset_short_match_nolit_encodeBlockAsm4MB: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm4MB_emit_copy_short + JBE repeat_two_match_nolit_encodeBlockAsm4MB_emit_copy_short CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBlockAsm4MB_emit_copy_short: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm4MB_emit_copy_short + JB repeat_three_match_nolit_encodeBlockAsm4MB_emit_copy_short CMPL R9, $0x00010100 - JLT repeat_four_match_nolit_encodeBlockAsm4MB_emit_copy_short + JB repeat_four_match_nolit_encodeBlockAsm4MB_emit_copy_short LEAL -65536(R9), R9 MOVL R9, BX MOVW $0x001d, (AX) @@ -2441,9 +2441,9 @@ two_byte_offset_short_match_nolit_encodeBlockAsm4MB: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeBlockAsm4MB + JAE emit_copy_three_match_nolit_encodeBlockAsm4MB CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBlockAsm4MB + JAE emit_copy_three_match_nolit_encodeBlockAsm4MB LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -2461,10 +2461,10 @@ emit_copy_three_match_nolit_encodeBlockAsm4MB: match_nolit_emitcopy_end_encodeBlockAsm4MB: CMPL CX, 8(SP) - JGE emit_remainder_encodeBlockAsm4MB + JAE emit_remainder_encodeBlockAsm4MB MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBlockAsm4MB + JB match_nolit_dst_ok_encodeBlockAsm4MB MOVQ $0x00000000, ret+48(FP) RET @@ -2494,7 +2494,7 @@ emit_remainder_encodeBlockAsm4MB: SUBL 12(SP), CX LEAQ 4(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBlockAsm4MB + JB emit_remainder_ok_encodeBlockAsm4MB MOVQ $0x00000000, ret+48(FP) RET @@ -2509,11 +2509,11 @@ emit_remainder_ok_encodeBlockAsm4MB: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBlockAsm4MB + JB one_byte_emit_remainder_encodeBlockAsm4MB CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBlockAsm4MB + JB two_bytes_emit_remainder_encodeBlockAsm4MB CMPL DX, $0x00010000 - JLT three_bytes_emit_remainder_encodeBlockAsm4MB + JB three_bytes_emit_remainder_encodeBlockAsm4MB MOVL DX, BX SHRL $0x10, BX MOVB $0xf8, (AX) @@ -2533,7 +2533,7 @@ two_bytes_emit_remainder_encodeBlockAsm4MB: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBlockAsm4MB + JB memmove_emit_remainder_encodeBlockAsm4MB JMP memmove_long_emit_remainder_encodeBlockAsm4MB one_byte_emit_remainder_encodeBlockAsm4MB: @@ -2696,7 +2696,7 @@ search_loop_encodeBlockAsm12B: SHRL $0x05, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBlockAsm12B + JAE emit_remainder_encodeBlockAsm12B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x000000cf1bbcdcbb, R8 @@ -2734,7 +2734,7 @@ search_loop_encodeBlockAsm12B: repeat_extend_back_loop_encodeBlockAsm12B: CMPL SI, DI - JLE repeat_extend_back_end_encodeBlockAsm12B + JBE repeat_extend_back_end_encodeBlockAsm12B MOVB -1(DX)(BX*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -2753,9 +2753,12 @@ repeat_extend_back_end_encodeBlockAsm12B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeBlockAsm12B + JB one_byte_repeat_emit_encodeBlockAsm12B CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeBlockAsm12B + JB two_bytes_repeat_emit_encodeBlockAsm12B + JB three_bytes_repeat_emit_encodeBlockAsm12B + +three_bytes_repeat_emit_encodeBlockAsm12B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -2766,7 +2769,7 @@ two_bytes_repeat_emit_encodeBlockAsm12B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeBlockAsm12B + JB memmove_repeat_emit_encodeBlockAsm12B JMP memmove_long_repeat_emit_encodeBlockAsm12B one_byte_repeat_emit_encodeBlockAsm12B: @@ -2779,7 +2782,7 @@ memmove_repeat_emit_encodeBlockAsm12B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeBlockAsm12B_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeBlockAsm12B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_repeat_emit_encodeBlockAsm12B_memmove_move_8through16 CMPQ R8, $0x20 @@ -2875,7 +2878,7 @@ emit_literal_done_repeat_emit_encodeBlockAsm12B: // matchLen XORL R11, R11 CMPL R8, $0x08 - JL matchlen_match4_repeat_extend_encodeBlockAsm12B + JB matchlen_match4_repeat_extend_encodeBlockAsm12B matchlen_loopback_repeat_extend_encodeBlockAsm12B: MOVQ (R9)(R11*1), R10 @@ -2898,12 +2901,12 @@ matchlen_loop_repeat_extend_encodeBlockAsm12B: LEAL -8(R8), R8 LEAL 8(R11), R11 CMPL R8, $0x08 - JGE matchlen_loopback_repeat_extend_encodeBlockAsm12B + JAE matchlen_loopback_repeat_extend_encodeBlockAsm12B JZ repeat_extend_forward_end_encodeBlockAsm12B matchlen_match4_repeat_extend_encodeBlockAsm12B: CMPL R8, $0x04 - JL matchlen_match2_repeat_extend_encodeBlockAsm12B + JB matchlen_match2_repeat_extend_encodeBlockAsm12B MOVL (R9)(R11*1), R10 CMPL (BX)(R11*1), R10 JNE matchlen_match2_repeat_extend_encodeBlockAsm12B @@ -2912,7 +2915,7 @@ matchlen_match4_repeat_extend_encodeBlockAsm12B: matchlen_match2_repeat_extend_encodeBlockAsm12B: CMPL R8, $0x02 - JL matchlen_match1_repeat_extend_encodeBlockAsm12B + JB matchlen_match1_repeat_extend_encodeBlockAsm12B MOVW (R9)(R11*1), R10 CMPW (BX)(R11*1), R10 JNE matchlen_match1_repeat_extend_encodeBlockAsm12B @@ -2921,7 +2924,7 @@ matchlen_match2_repeat_extend_encodeBlockAsm12B: matchlen_match1_repeat_extend_encodeBlockAsm12B: CMPL R8, $0x01 - JL repeat_extend_forward_end_encodeBlockAsm12B + JB repeat_extend_forward_end_encodeBlockAsm12B MOVB (R9)(R11*1), R10 CMPB (BX)(R11*1), R10 JNE repeat_extend_forward_end_encodeBlockAsm12B @@ -2939,15 +2942,15 @@ repeat_extend_forward_end_encodeBlockAsm12B: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_match_repeat_encodeBlockAsm12B + JBE repeat_two_match_repeat_encodeBlockAsm12B CMPL DI, $0x0c - JGE cant_repeat_two_offset_match_repeat_encodeBlockAsm12B + JAE cant_repeat_two_offset_match_repeat_encodeBlockAsm12B CMPL SI, $0x00000800 - JLT repeat_two_offset_match_repeat_encodeBlockAsm12B + JB repeat_two_offset_match_repeat_encodeBlockAsm12B cant_repeat_two_offset_match_repeat_encodeBlockAsm12B: CMPL BX, $0x00000104 - JLT repeat_three_match_repeat_encodeBlockAsm12B + JB repeat_three_match_repeat_encodeBlockAsm12B LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -2982,7 +2985,7 @@ repeat_two_offset_match_repeat_encodeBlockAsm12B: repeat_as_copy_encodeBlockAsm12B: // emitCopy CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeBlockAsm12B + JBE two_byte_offset_short_repeat_as_copy_encodeBlockAsm12B CMPL SI, $0x00000800 JAE long_offset_short_repeat_as_copy_encodeBlockAsm12B MOVL $0x00000001, DI @@ -3001,15 +3004,15 @@ repeat_as_copy_encodeBlockAsm12B: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b + JBE repeat_two_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b + JB repeat_three_repeat_as_copy_encodeBlockAsm12B_emit_copy_short_2b LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -3051,15 +3054,15 @@ long_offset_short_repeat_as_copy_encodeBlockAsm12B: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm12B_emit_copy_short + JBE repeat_two_repeat_as_copy_encodeBlockAsm12B_emit_copy_short CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm12B_emit_copy_short: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm12B_emit_copy_short + JB repeat_three_repeat_as_copy_encodeBlockAsm12B_emit_copy_short LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -3095,9 +3098,9 @@ two_byte_offset_short_repeat_as_copy_encodeBlockAsm12B: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm12B + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm12B CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm12B + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm12B LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -3148,7 +3151,7 @@ candidate_match_encodeBlockAsm12B: match_extend_back_loop_encodeBlockAsm12B: CMPL CX, SI - JLE match_extend_back_end_encodeBlockAsm12B + JBE match_extend_back_end_encodeBlockAsm12B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -3163,7 +3166,7 @@ match_extend_back_end_encodeBlockAsm12B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBlockAsm12B + JB match_dst_size_check_encodeBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -3178,9 +3181,12 @@ match_dst_size_check_encodeBlockAsm12B: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeBlockAsm12B + JB one_byte_match_emit_encodeBlockAsm12B CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeBlockAsm12B + JB two_bytes_match_emit_encodeBlockAsm12B + JB three_bytes_match_emit_encodeBlockAsm12B + +three_bytes_match_emit_encodeBlockAsm12B: MOVB $0xf4, (AX) MOVW DI, 1(AX) ADDQ $0x03, AX @@ -3191,7 +3197,7 @@ two_bytes_match_emit_encodeBlockAsm12B: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeBlockAsm12B + JB memmove_match_emit_encodeBlockAsm12B JMP memmove_long_match_emit_encodeBlockAsm12B one_byte_match_emit_encodeBlockAsm12B: @@ -3204,7 +3210,7 @@ memmove_match_emit_encodeBlockAsm12B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeBlockAsm12B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeBlockAsm12B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeBlockAsm12B_memmove_move_8through16 CMPQ R8, $0x20 @@ -3303,7 +3309,7 @@ match_nolit_loop_encodeBlockAsm12B: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeBlockAsm12B + JB matchlen_match4_match_nolit_encodeBlockAsm12B matchlen_loopback_match_nolit_encodeBlockAsm12B: MOVQ (DI)(R9*1), R8 @@ -3326,12 +3332,12 @@ matchlen_loop_match_nolit_encodeBlockAsm12B: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBlockAsm12B + JAE matchlen_loopback_match_nolit_encodeBlockAsm12B JZ match_nolit_end_encodeBlockAsm12B matchlen_match4_match_nolit_encodeBlockAsm12B: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeBlockAsm12B + JB matchlen_match2_match_nolit_encodeBlockAsm12B MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeBlockAsm12B @@ -3340,7 +3346,7 @@ matchlen_match4_match_nolit_encodeBlockAsm12B: matchlen_match2_match_nolit_encodeBlockAsm12B: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeBlockAsm12B + JB matchlen_match1_match_nolit_encodeBlockAsm12B MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeBlockAsm12B @@ -3349,7 +3355,7 @@ matchlen_match2_match_nolit_encodeBlockAsm12B: matchlen_match1_match_nolit_encodeBlockAsm12B: CMPL SI, $0x01 - JL match_nolit_end_encodeBlockAsm12B + JB match_nolit_end_encodeBlockAsm12B MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeBlockAsm12B @@ -3363,7 +3369,7 @@ match_nolit_end_encodeBlockAsm12B: // emitCopy CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBlockAsm12B + JBE two_byte_offset_short_match_nolit_encodeBlockAsm12B CMPL BX, $0x00000800 JAE long_offset_short_match_nolit_encodeBlockAsm12B MOVL $0x00000001, SI @@ -3382,15 +3388,15 @@ match_nolit_end_encodeBlockAsm12B: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm12B_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBlockAsm12B_emit_copy_short_2b CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short_2b CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short_2b: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm12B_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBlockAsm12B_emit_copy_short_2b LEAL -256(R9), R9 MOVW $0x0019, (AX) MOVW R9, 2(AX) @@ -3432,15 +3438,15 @@ long_offset_short_match_nolit_encodeBlockAsm12B: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm12B_emit_copy_short + JBE repeat_two_match_nolit_encodeBlockAsm12B_emit_copy_short CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBlockAsm12B_emit_copy_short: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm12B_emit_copy_short + JB repeat_three_match_nolit_encodeBlockAsm12B_emit_copy_short LEAL -256(R9), R9 MOVW $0x0019, (AX) MOVW R9, 2(AX) @@ -3476,9 +3482,9 @@ two_byte_offset_short_match_nolit_encodeBlockAsm12B: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeBlockAsm12B + JAE emit_copy_three_match_nolit_encodeBlockAsm12B CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBlockAsm12B + JAE emit_copy_three_match_nolit_encodeBlockAsm12B LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -3496,10 +3502,10 @@ emit_copy_three_match_nolit_encodeBlockAsm12B: match_nolit_emitcopy_end_encodeBlockAsm12B: CMPL CX, 8(SP) - JGE emit_remainder_encodeBlockAsm12B + JAE emit_remainder_encodeBlockAsm12B MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBlockAsm12B + JB match_nolit_dst_ok_encodeBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -3529,7 +3535,7 @@ emit_remainder_encodeBlockAsm12B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBlockAsm12B + JB emit_remainder_ok_encodeBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -3544,9 +3550,12 @@ emit_remainder_ok_encodeBlockAsm12B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBlockAsm12B + JB one_byte_emit_remainder_encodeBlockAsm12B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBlockAsm12B + JB two_bytes_emit_remainder_encodeBlockAsm12B + JB three_bytes_emit_remainder_encodeBlockAsm12B + +three_bytes_emit_remainder_encodeBlockAsm12B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -3557,7 +3566,7 @@ two_bytes_emit_remainder_encodeBlockAsm12B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBlockAsm12B + JB memmove_emit_remainder_encodeBlockAsm12B JMP memmove_long_emit_remainder_encodeBlockAsm12B one_byte_emit_remainder_encodeBlockAsm12B: @@ -3720,7 +3729,7 @@ search_loop_encodeBlockAsm10B: SHRL $0x05, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBlockAsm10B + JAE emit_remainder_encodeBlockAsm10B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x9e3779b1, R8 @@ -3758,7 +3767,7 @@ search_loop_encodeBlockAsm10B: repeat_extend_back_loop_encodeBlockAsm10B: CMPL SI, DI - JLE repeat_extend_back_end_encodeBlockAsm10B + JBE repeat_extend_back_end_encodeBlockAsm10B MOVB -1(DX)(BX*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -3777,9 +3786,12 @@ repeat_extend_back_end_encodeBlockAsm10B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeBlockAsm10B + JB one_byte_repeat_emit_encodeBlockAsm10B CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeBlockAsm10B + JB two_bytes_repeat_emit_encodeBlockAsm10B + JB three_bytes_repeat_emit_encodeBlockAsm10B + +three_bytes_repeat_emit_encodeBlockAsm10B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -3790,7 +3802,7 @@ two_bytes_repeat_emit_encodeBlockAsm10B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeBlockAsm10B + JB memmove_repeat_emit_encodeBlockAsm10B JMP memmove_long_repeat_emit_encodeBlockAsm10B one_byte_repeat_emit_encodeBlockAsm10B: @@ -3803,7 +3815,7 @@ memmove_repeat_emit_encodeBlockAsm10B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeBlockAsm10B_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeBlockAsm10B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_repeat_emit_encodeBlockAsm10B_memmove_move_8through16 CMPQ R8, $0x20 @@ -3899,7 +3911,7 @@ emit_literal_done_repeat_emit_encodeBlockAsm10B: // matchLen XORL R11, R11 CMPL R8, $0x08 - JL matchlen_match4_repeat_extend_encodeBlockAsm10B + JB matchlen_match4_repeat_extend_encodeBlockAsm10B matchlen_loopback_repeat_extend_encodeBlockAsm10B: MOVQ (R9)(R11*1), R10 @@ -3922,12 +3934,12 @@ matchlen_loop_repeat_extend_encodeBlockAsm10B: LEAL -8(R8), R8 LEAL 8(R11), R11 CMPL R8, $0x08 - JGE matchlen_loopback_repeat_extend_encodeBlockAsm10B + JAE matchlen_loopback_repeat_extend_encodeBlockAsm10B JZ repeat_extend_forward_end_encodeBlockAsm10B matchlen_match4_repeat_extend_encodeBlockAsm10B: CMPL R8, $0x04 - JL matchlen_match2_repeat_extend_encodeBlockAsm10B + JB matchlen_match2_repeat_extend_encodeBlockAsm10B MOVL (R9)(R11*1), R10 CMPL (BX)(R11*1), R10 JNE matchlen_match2_repeat_extend_encodeBlockAsm10B @@ -3936,7 +3948,7 @@ matchlen_match4_repeat_extend_encodeBlockAsm10B: matchlen_match2_repeat_extend_encodeBlockAsm10B: CMPL R8, $0x02 - JL matchlen_match1_repeat_extend_encodeBlockAsm10B + JB matchlen_match1_repeat_extend_encodeBlockAsm10B MOVW (R9)(R11*1), R10 CMPW (BX)(R11*1), R10 JNE matchlen_match1_repeat_extend_encodeBlockAsm10B @@ -3945,7 +3957,7 @@ matchlen_match2_repeat_extend_encodeBlockAsm10B: matchlen_match1_repeat_extend_encodeBlockAsm10B: CMPL R8, $0x01 - JL repeat_extend_forward_end_encodeBlockAsm10B + JB repeat_extend_forward_end_encodeBlockAsm10B MOVB (R9)(R11*1), R10 CMPB (BX)(R11*1), R10 JNE repeat_extend_forward_end_encodeBlockAsm10B @@ -3963,15 +3975,15 @@ repeat_extend_forward_end_encodeBlockAsm10B: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_match_repeat_encodeBlockAsm10B + JBE repeat_two_match_repeat_encodeBlockAsm10B CMPL DI, $0x0c - JGE cant_repeat_two_offset_match_repeat_encodeBlockAsm10B + JAE cant_repeat_two_offset_match_repeat_encodeBlockAsm10B CMPL SI, $0x00000800 - JLT repeat_two_offset_match_repeat_encodeBlockAsm10B + JB repeat_two_offset_match_repeat_encodeBlockAsm10B cant_repeat_two_offset_match_repeat_encodeBlockAsm10B: CMPL BX, $0x00000104 - JLT repeat_three_match_repeat_encodeBlockAsm10B + JB repeat_three_match_repeat_encodeBlockAsm10B LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -4006,7 +4018,7 @@ repeat_two_offset_match_repeat_encodeBlockAsm10B: repeat_as_copy_encodeBlockAsm10B: // emitCopy CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeBlockAsm10B + JBE two_byte_offset_short_repeat_as_copy_encodeBlockAsm10B CMPL SI, $0x00000800 JAE long_offset_short_repeat_as_copy_encodeBlockAsm10B MOVL $0x00000001, DI @@ -4025,15 +4037,15 @@ repeat_as_copy_encodeBlockAsm10B: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b + JBE repeat_two_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b + JB repeat_three_repeat_as_copy_encodeBlockAsm10B_emit_copy_short_2b LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -4075,15 +4087,15 @@ long_offset_short_repeat_as_copy_encodeBlockAsm10B: MOVL BX, DI LEAL -4(BX), BX CMPL DI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm10B_emit_copy_short + JBE repeat_two_repeat_as_copy_encodeBlockAsm10B_emit_copy_short CMPL DI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short CMPL SI, $0x00000800 - JLT repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short + JB repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm10B_emit_copy_short: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm10B_emit_copy_short + JB repeat_three_repeat_as_copy_encodeBlockAsm10B_emit_copy_short LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -4119,9 +4131,9 @@ two_byte_offset_short_repeat_as_copy_encodeBlockAsm10B: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm10B + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm10B CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm10B + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm10B LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -4172,7 +4184,7 @@ candidate_match_encodeBlockAsm10B: match_extend_back_loop_encodeBlockAsm10B: CMPL CX, SI - JLE match_extend_back_end_encodeBlockAsm10B + JBE match_extend_back_end_encodeBlockAsm10B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -4187,7 +4199,7 @@ match_extend_back_end_encodeBlockAsm10B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBlockAsm10B + JB match_dst_size_check_encodeBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -4202,9 +4214,12 @@ match_dst_size_check_encodeBlockAsm10B: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeBlockAsm10B + JB one_byte_match_emit_encodeBlockAsm10B CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeBlockAsm10B + JB two_bytes_match_emit_encodeBlockAsm10B + JB three_bytes_match_emit_encodeBlockAsm10B + +three_bytes_match_emit_encodeBlockAsm10B: MOVB $0xf4, (AX) MOVW DI, 1(AX) ADDQ $0x03, AX @@ -4215,7 +4230,7 @@ two_bytes_match_emit_encodeBlockAsm10B: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeBlockAsm10B + JB memmove_match_emit_encodeBlockAsm10B JMP memmove_long_match_emit_encodeBlockAsm10B one_byte_match_emit_encodeBlockAsm10B: @@ -4228,7 +4243,7 @@ memmove_match_emit_encodeBlockAsm10B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeBlockAsm10B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeBlockAsm10B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeBlockAsm10B_memmove_move_8through16 CMPQ R8, $0x20 @@ -4327,7 +4342,7 @@ match_nolit_loop_encodeBlockAsm10B: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeBlockAsm10B + JB matchlen_match4_match_nolit_encodeBlockAsm10B matchlen_loopback_match_nolit_encodeBlockAsm10B: MOVQ (DI)(R9*1), R8 @@ -4350,12 +4365,12 @@ matchlen_loop_match_nolit_encodeBlockAsm10B: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBlockAsm10B + JAE matchlen_loopback_match_nolit_encodeBlockAsm10B JZ match_nolit_end_encodeBlockAsm10B matchlen_match4_match_nolit_encodeBlockAsm10B: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeBlockAsm10B + JB matchlen_match2_match_nolit_encodeBlockAsm10B MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeBlockAsm10B @@ -4364,7 +4379,7 @@ matchlen_match4_match_nolit_encodeBlockAsm10B: matchlen_match2_match_nolit_encodeBlockAsm10B: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeBlockAsm10B + JB matchlen_match1_match_nolit_encodeBlockAsm10B MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeBlockAsm10B @@ -4373,7 +4388,7 @@ matchlen_match2_match_nolit_encodeBlockAsm10B: matchlen_match1_match_nolit_encodeBlockAsm10B: CMPL SI, $0x01 - JL match_nolit_end_encodeBlockAsm10B + JB match_nolit_end_encodeBlockAsm10B MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeBlockAsm10B @@ -4387,7 +4402,7 @@ match_nolit_end_encodeBlockAsm10B: // emitCopy CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBlockAsm10B + JBE two_byte_offset_short_match_nolit_encodeBlockAsm10B CMPL BX, $0x00000800 JAE long_offset_short_match_nolit_encodeBlockAsm10B MOVL $0x00000001, SI @@ -4406,15 +4421,15 @@ match_nolit_end_encodeBlockAsm10B: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm10B_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBlockAsm10B_emit_copy_short_2b CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short_2b CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short_2b: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm10B_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBlockAsm10B_emit_copy_short_2b LEAL -256(R9), R9 MOVW $0x0019, (AX) MOVW R9, 2(AX) @@ -4456,15 +4471,15 @@ long_offset_short_match_nolit_encodeBlockAsm10B: MOVL R9, SI LEAL -4(R9), R9 CMPL SI, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm10B_emit_copy_short + JBE repeat_two_match_nolit_encodeBlockAsm10B_emit_copy_short CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short CMPL BX, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBlockAsm10B_emit_copy_short: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm10B_emit_copy_short + JB repeat_three_match_nolit_encodeBlockAsm10B_emit_copy_short LEAL -256(R9), R9 MOVW $0x0019, (AX) MOVW R9, 2(AX) @@ -4500,9 +4515,9 @@ two_byte_offset_short_match_nolit_encodeBlockAsm10B: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeBlockAsm10B + JAE emit_copy_three_match_nolit_encodeBlockAsm10B CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBlockAsm10B + JAE emit_copy_three_match_nolit_encodeBlockAsm10B LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -4520,10 +4535,10 @@ emit_copy_three_match_nolit_encodeBlockAsm10B: match_nolit_emitcopy_end_encodeBlockAsm10B: CMPL CX, 8(SP) - JGE emit_remainder_encodeBlockAsm10B + JAE emit_remainder_encodeBlockAsm10B MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBlockAsm10B + JB match_nolit_dst_ok_encodeBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -4553,7 +4568,7 @@ emit_remainder_encodeBlockAsm10B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBlockAsm10B + JB emit_remainder_ok_encodeBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -4568,9 +4583,12 @@ emit_remainder_ok_encodeBlockAsm10B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBlockAsm10B + JB one_byte_emit_remainder_encodeBlockAsm10B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBlockAsm10B + JB two_bytes_emit_remainder_encodeBlockAsm10B + JB three_bytes_emit_remainder_encodeBlockAsm10B + +three_bytes_emit_remainder_encodeBlockAsm10B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -4581,7 +4599,7 @@ two_bytes_emit_remainder_encodeBlockAsm10B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBlockAsm10B + JB memmove_emit_remainder_encodeBlockAsm10B JMP memmove_long_emit_remainder_encodeBlockAsm10B one_byte_emit_remainder_encodeBlockAsm10B: @@ -4744,7 +4762,7 @@ search_loop_encodeBlockAsm8B: SHRL $0x04, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBlockAsm8B + JAE emit_remainder_encodeBlockAsm8B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x9e3779b1, R8 @@ -4782,7 +4800,7 @@ search_loop_encodeBlockAsm8B: repeat_extend_back_loop_encodeBlockAsm8B: CMPL SI, DI - JLE repeat_extend_back_end_encodeBlockAsm8B + JBE repeat_extend_back_end_encodeBlockAsm8B MOVB -1(DX)(BX*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -4801,9 +4819,12 @@ repeat_extend_back_end_encodeBlockAsm8B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeBlockAsm8B + JB one_byte_repeat_emit_encodeBlockAsm8B CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeBlockAsm8B + JB two_bytes_repeat_emit_encodeBlockAsm8B + JB three_bytes_repeat_emit_encodeBlockAsm8B + +three_bytes_repeat_emit_encodeBlockAsm8B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -4814,7 +4835,7 @@ two_bytes_repeat_emit_encodeBlockAsm8B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeBlockAsm8B + JB memmove_repeat_emit_encodeBlockAsm8B JMP memmove_long_repeat_emit_encodeBlockAsm8B one_byte_repeat_emit_encodeBlockAsm8B: @@ -4827,7 +4848,7 @@ memmove_repeat_emit_encodeBlockAsm8B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeBlockAsm8B_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeBlockAsm8B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_repeat_emit_encodeBlockAsm8B_memmove_move_8through16 CMPQ R8, $0x20 @@ -4923,7 +4944,7 @@ emit_literal_done_repeat_emit_encodeBlockAsm8B: // matchLen XORL R11, R11 CMPL R8, $0x08 - JL matchlen_match4_repeat_extend_encodeBlockAsm8B + JB matchlen_match4_repeat_extend_encodeBlockAsm8B matchlen_loopback_repeat_extend_encodeBlockAsm8B: MOVQ (R9)(R11*1), R10 @@ -4946,12 +4967,12 @@ matchlen_loop_repeat_extend_encodeBlockAsm8B: LEAL -8(R8), R8 LEAL 8(R11), R11 CMPL R8, $0x08 - JGE matchlen_loopback_repeat_extend_encodeBlockAsm8B + JAE matchlen_loopback_repeat_extend_encodeBlockAsm8B JZ repeat_extend_forward_end_encodeBlockAsm8B matchlen_match4_repeat_extend_encodeBlockAsm8B: CMPL R8, $0x04 - JL matchlen_match2_repeat_extend_encodeBlockAsm8B + JB matchlen_match2_repeat_extend_encodeBlockAsm8B MOVL (R9)(R11*1), R10 CMPL (BX)(R11*1), R10 JNE matchlen_match2_repeat_extend_encodeBlockAsm8B @@ -4960,7 +4981,7 @@ matchlen_match4_repeat_extend_encodeBlockAsm8B: matchlen_match2_repeat_extend_encodeBlockAsm8B: CMPL R8, $0x02 - JL matchlen_match1_repeat_extend_encodeBlockAsm8B + JB matchlen_match1_repeat_extend_encodeBlockAsm8B MOVW (R9)(R11*1), R10 CMPW (BX)(R11*1), R10 JNE matchlen_match1_repeat_extend_encodeBlockAsm8B @@ -4969,7 +4990,7 @@ matchlen_match2_repeat_extend_encodeBlockAsm8B: matchlen_match1_repeat_extend_encodeBlockAsm8B: CMPL R8, $0x01 - JL repeat_extend_forward_end_encodeBlockAsm8B + JB repeat_extend_forward_end_encodeBlockAsm8B MOVB (R9)(R11*1), R10 CMPB (BX)(R11*1), R10 JNE repeat_extend_forward_end_encodeBlockAsm8B @@ -4987,13 +5008,13 @@ repeat_extend_forward_end_encodeBlockAsm8B: MOVL BX, SI LEAL -4(BX), BX CMPL SI, $0x08 - JLE repeat_two_match_repeat_encodeBlockAsm8B + JBE repeat_two_match_repeat_encodeBlockAsm8B CMPL SI, $0x0c - JGE cant_repeat_two_offset_match_repeat_encodeBlockAsm8B + JAE cant_repeat_two_offset_match_repeat_encodeBlockAsm8B cant_repeat_two_offset_match_repeat_encodeBlockAsm8B: CMPL BX, $0x00000104 - JLT repeat_three_match_repeat_encodeBlockAsm8B + JB repeat_three_match_repeat_encodeBlockAsm8B LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -5026,7 +5047,7 @@ repeat_two_match_repeat_encodeBlockAsm8B: repeat_as_copy_encodeBlockAsm8B: // emitCopy CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeBlockAsm8B + JBE two_byte_offset_short_repeat_as_copy_encodeBlockAsm8B CMPL SI, $0x00000800 JAE long_offset_short_repeat_as_copy_encodeBlockAsm8B MOVL $0x00000001, DI @@ -5045,13 +5066,13 @@ repeat_as_copy_encodeBlockAsm8B: MOVL BX, SI LEAL -4(BX), BX CMPL SI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm8B_emit_copy_short_2b + JBE repeat_two_repeat_as_copy_encodeBlockAsm8B_emit_copy_short_2b CMPL SI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm8B_emit_copy_short_2b + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm8B_emit_copy_short_2b cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm8B_emit_copy_short_2b: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm8B_emit_copy_short_2b + JB repeat_three_repeat_as_copy_encodeBlockAsm8B_emit_copy_short_2b LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -5091,13 +5112,13 @@ long_offset_short_repeat_as_copy_encodeBlockAsm8B: MOVL BX, SI LEAL -4(BX), BX CMPL SI, $0x08 - JLE repeat_two_repeat_as_copy_encodeBlockAsm8B_emit_copy_short + JBE repeat_two_repeat_as_copy_encodeBlockAsm8B_emit_copy_short CMPL SI, $0x0c - JGE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm8B_emit_copy_short + JAE cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm8B_emit_copy_short cant_repeat_two_offset_repeat_as_copy_encodeBlockAsm8B_emit_copy_short: CMPL BX, $0x00000104 - JLT repeat_three_repeat_as_copy_encodeBlockAsm8B_emit_copy_short + JB repeat_three_repeat_as_copy_encodeBlockAsm8B_emit_copy_short LEAL -256(BX), BX MOVW $0x0019, (AX) MOVW BX, 2(AX) @@ -5131,7 +5152,7 @@ two_byte_offset_short_repeat_as_copy_encodeBlockAsm8B: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeBlockAsm8B + JAE emit_copy_three_repeat_as_copy_encodeBlockAsm8B LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -5182,7 +5203,7 @@ candidate_match_encodeBlockAsm8B: match_extend_back_loop_encodeBlockAsm8B: CMPL CX, SI - JLE match_extend_back_end_encodeBlockAsm8B + JBE match_extend_back_end_encodeBlockAsm8B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -5197,7 +5218,7 @@ match_extend_back_end_encodeBlockAsm8B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBlockAsm8B + JB match_dst_size_check_encodeBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -5212,9 +5233,12 @@ match_dst_size_check_encodeBlockAsm8B: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeBlockAsm8B + JB one_byte_match_emit_encodeBlockAsm8B CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeBlockAsm8B + JB two_bytes_match_emit_encodeBlockAsm8B + JB three_bytes_match_emit_encodeBlockAsm8B + +three_bytes_match_emit_encodeBlockAsm8B: MOVB $0xf4, (AX) MOVW DI, 1(AX) ADDQ $0x03, AX @@ -5225,7 +5249,7 @@ two_bytes_match_emit_encodeBlockAsm8B: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeBlockAsm8B + JB memmove_match_emit_encodeBlockAsm8B JMP memmove_long_match_emit_encodeBlockAsm8B one_byte_match_emit_encodeBlockAsm8B: @@ -5238,7 +5262,7 @@ memmove_match_emit_encodeBlockAsm8B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeBlockAsm8B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeBlockAsm8B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeBlockAsm8B_memmove_move_8through16 CMPQ R8, $0x20 @@ -5337,7 +5361,7 @@ match_nolit_loop_encodeBlockAsm8B: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeBlockAsm8B + JB matchlen_match4_match_nolit_encodeBlockAsm8B matchlen_loopback_match_nolit_encodeBlockAsm8B: MOVQ (DI)(R9*1), R8 @@ -5360,12 +5384,12 @@ matchlen_loop_match_nolit_encodeBlockAsm8B: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBlockAsm8B + JAE matchlen_loopback_match_nolit_encodeBlockAsm8B JZ match_nolit_end_encodeBlockAsm8B matchlen_match4_match_nolit_encodeBlockAsm8B: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeBlockAsm8B + JB matchlen_match2_match_nolit_encodeBlockAsm8B MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeBlockAsm8B @@ -5374,7 +5398,7 @@ matchlen_match4_match_nolit_encodeBlockAsm8B: matchlen_match2_match_nolit_encodeBlockAsm8B: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeBlockAsm8B + JB matchlen_match1_match_nolit_encodeBlockAsm8B MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeBlockAsm8B @@ -5383,7 +5407,7 @@ matchlen_match2_match_nolit_encodeBlockAsm8B: matchlen_match1_match_nolit_encodeBlockAsm8B: CMPL SI, $0x01 - JL match_nolit_end_encodeBlockAsm8B + JB match_nolit_end_encodeBlockAsm8B MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeBlockAsm8B @@ -5397,7 +5421,7 @@ match_nolit_end_encodeBlockAsm8B: // emitCopy CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBlockAsm8B + JBE two_byte_offset_short_match_nolit_encodeBlockAsm8B CMPL BX, $0x00000800 JAE long_offset_short_match_nolit_encodeBlockAsm8B MOVL $0x00000001, SI @@ -5416,13 +5440,13 @@ match_nolit_end_encodeBlockAsm8B: MOVL R9, BX LEAL -4(R9), R9 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm8B_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBlockAsm8B_emit_copy_short_2b CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm8B_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm8B_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBlockAsm8B_emit_copy_short_2b: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm8B_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBlockAsm8B_emit_copy_short_2b LEAL -256(R9), R9 MOVW $0x0019, (AX) MOVW R9, 2(AX) @@ -5462,13 +5486,13 @@ long_offset_short_match_nolit_encodeBlockAsm8B: MOVL R9, BX LEAL -4(R9), R9 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBlockAsm8B_emit_copy_short + JBE repeat_two_match_nolit_encodeBlockAsm8B_emit_copy_short CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBlockAsm8B_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBlockAsm8B_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBlockAsm8B_emit_copy_short: CMPL R9, $0x00000104 - JLT repeat_three_match_nolit_encodeBlockAsm8B_emit_copy_short + JB repeat_three_match_nolit_encodeBlockAsm8B_emit_copy_short LEAL -256(R9), R9 MOVW $0x0019, (AX) MOVW R9, 2(AX) @@ -5502,7 +5526,7 @@ two_byte_offset_short_match_nolit_encodeBlockAsm8B: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeBlockAsm8B + JAE emit_copy_three_match_nolit_encodeBlockAsm8B LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -5520,10 +5544,10 @@ emit_copy_three_match_nolit_encodeBlockAsm8B: match_nolit_emitcopy_end_encodeBlockAsm8B: CMPL CX, 8(SP) - JGE emit_remainder_encodeBlockAsm8B + JAE emit_remainder_encodeBlockAsm8B MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBlockAsm8B + JB match_nolit_dst_ok_encodeBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -5553,7 +5577,7 @@ emit_remainder_encodeBlockAsm8B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBlockAsm8B + JB emit_remainder_ok_encodeBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -5568,9 +5592,12 @@ emit_remainder_ok_encodeBlockAsm8B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBlockAsm8B + JB one_byte_emit_remainder_encodeBlockAsm8B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBlockAsm8B + JB two_bytes_emit_remainder_encodeBlockAsm8B + JB three_bytes_emit_remainder_encodeBlockAsm8B + +three_bytes_emit_remainder_encodeBlockAsm8B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -5581,7 +5608,7 @@ two_bytes_emit_remainder_encodeBlockAsm8B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBlockAsm8B + JB memmove_emit_remainder_encodeBlockAsm8B JMP memmove_long_emit_remainder_encodeBlockAsm8B one_byte_emit_remainder_encodeBlockAsm8B: @@ -5743,7 +5770,7 @@ search_loop_encodeBetterBlockAsm: SUBL 12(SP), BX SHRL $0x07, BX CMPL BX, $0x63 - JLE check_maxskip_ok_encodeBetterBlockAsm + JBE check_maxskip_ok_encodeBetterBlockAsm LEAL 100(CX), BX JMP check_maxskip_cont_encodeBetterBlockAsm @@ -5752,7 +5779,7 @@ check_maxskip_ok_encodeBetterBlockAsm: check_maxskip_cont_encodeBetterBlockAsm: CMPL BX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm + JAE emit_remainder_encodeBetterBlockAsm MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x00cf1bbcdcbfa563, R8 @@ -5807,7 +5834,7 @@ candidate_match_encodeBetterBlockAsm: match_extend_back_loop_encodeBetterBlockAsm: CMPL CX, SI - JLE match_extend_back_end_encodeBetterBlockAsm + JBE match_extend_back_end_encodeBetterBlockAsm MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -5822,7 +5849,7 @@ match_extend_back_end_encodeBetterBlockAsm: SUBL 12(SP), SI LEAQ 5(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBetterBlockAsm + JB match_dst_size_check_encodeBetterBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -5838,7 +5865,7 @@ match_dst_size_check_encodeBetterBlockAsm: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeBetterBlockAsm + JB matchlen_match4_match_nolit_encodeBetterBlockAsm matchlen_loopback_match_nolit_encodeBetterBlockAsm: MOVQ (R8)(R11*1), R10 @@ -5861,12 +5888,12 @@ matchlen_loop_match_nolit_encodeBetterBlockAsm: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBetterBlockAsm + JAE matchlen_loopback_match_nolit_encodeBetterBlockAsm JZ match_nolit_end_encodeBetterBlockAsm matchlen_match4_match_nolit_encodeBetterBlockAsm: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeBetterBlockAsm + JB matchlen_match2_match_nolit_encodeBetterBlockAsm MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeBetterBlockAsm @@ -5875,7 +5902,7 @@ matchlen_match4_match_nolit_encodeBetterBlockAsm: matchlen_match2_match_nolit_encodeBetterBlockAsm: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeBetterBlockAsm + JB matchlen_match1_match_nolit_encodeBetterBlockAsm MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeBetterBlockAsm @@ -5884,7 +5911,7 @@ matchlen_match2_match_nolit_encodeBetterBlockAsm: matchlen_match1_match_nolit_encodeBetterBlockAsm: CMPL DI, $0x01 - JL match_nolit_end_encodeBetterBlockAsm + JB match_nolit_end_encodeBetterBlockAsm MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeBetterBlockAsm @@ -5898,9 +5925,9 @@ match_nolit_end_encodeBetterBlockAsm: CMPL 16(SP), DI JEQ match_is_repeat_encodeBetterBlockAsm CMPL R11, $0x01 - JG match_length_ok_encodeBetterBlockAsm + JA match_length_ok_encodeBetterBlockAsm CMPL DI, $0x0000ffff - JLE match_length_ok_encodeBetterBlockAsm + JBE match_length_ok_encodeBetterBlockAsm MOVL 20(SP), CX INCL CX JMP search_loop_encodeBetterBlockAsm @@ -5916,13 +5943,13 @@ match_length_ok_encodeBetterBlockAsm: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeBetterBlockAsm + JB one_byte_match_emit_encodeBetterBlockAsm CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeBetterBlockAsm + JB two_bytes_match_emit_encodeBetterBlockAsm CMPL BX, $0x00010000 - JLT three_bytes_match_emit_encodeBetterBlockAsm + JB three_bytes_match_emit_encodeBetterBlockAsm CMPL BX, $0x01000000 - JLT four_bytes_match_emit_encodeBetterBlockAsm + JB four_bytes_match_emit_encodeBetterBlockAsm MOVB $0xfc, (AX) MOVL BX, 1(AX) ADDQ $0x05, AX @@ -5948,7 +5975,7 @@ two_bytes_match_emit_encodeBetterBlockAsm: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeBetterBlockAsm + JB memmove_match_emit_encodeBetterBlockAsm JMP memmove_long_match_emit_encodeBetterBlockAsm one_byte_match_emit_encodeBetterBlockAsm: @@ -5961,7 +5988,7 @@ memmove_match_emit_encodeBetterBlockAsm: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_encodeBetterBlockAsm_memmove_move_4 + JBE emit_lit_memmove_match_emit_encodeBetterBlockAsm_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_encodeBetterBlockAsm_memmove_move_4through7 CMPQ R8, $0x10 @@ -6061,34 +6088,34 @@ emit_literal_done_match_emit_encodeBetterBlockAsm: // emitCopy CMPL DI, $0x00010000 - JL two_byte_offset_match_nolit_encodeBetterBlockAsm + JB two_byte_offset_match_nolit_encodeBetterBlockAsm CMPL R11, $0x40 - JLE four_bytes_remain_match_nolit_encodeBetterBlockAsm + JBE four_bytes_remain_match_nolit_encodeBetterBlockAsm MOVB $0xff, (AX) MOVL DI, 1(AX) LEAL -64(R11), R11 ADDQ $0x05, AX CMPL R11, $0x04 - JL four_bytes_remain_match_nolit_encodeBetterBlockAsm + JB four_bytes_remain_match_nolit_encodeBetterBlockAsm // emitRepeat emit_repeat_again_match_nolit_encodeBetterBlockAsm_emit_copy: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm_emit_copy + JBE repeat_two_match_nolit_encodeBetterBlockAsm_emit_copy CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm_emit_copy + JB repeat_three_match_nolit_encodeBetterBlockAsm_emit_copy CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_encodeBetterBlockAsm_emit_copy + JB repeat_four_match_nolit_encodeBetterBlockAsm_emit_copy CMPL R11, $0x0100ffff - JLT repeat_five_match_nolit_encodeBetterBlockAsm_emit_copy + JB repeat_five_match_nolit_encodeBetterBlockAsm_emit_copy LEAL -16842747(R11), R11 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -6149,7 +6176,7 @@ four_bytes_remain_match_nolit_encodeBetterBlockAsm: two_byte_offset_match_nolit_encodeBetterBlockAsm: CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBetterBlockAsm + JBE two_byte_offset_short_match_nolit_encodeBetterBlockAsm CMPL DI, $0x00000800 JAE long_offset_short_match_nolit_encodeBetterBlockAsm MOVL $0x00000001, BX @@ -6171,19 +6198,19 @@ emit_repeat_again_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b + JB repeat_four_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b CMPL R11, $0x0100ffff - JLT repeat_five_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b + JB repeat_five_match_nolit_encodeBetterBlockAsm_emit_copy_short_2b LEAL -16842747(R11), R11 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -6243,19 +6270,19 @@ emit_repeat_again_match_nolit_encodeBetterBlockAsm_emit_copy_short: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm_emit_copy_short + JBE repeat_two_match_nolit_encodeBetterBlockAsm_emit_copy_short CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm_emit_copy_short: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm_emit_copy_short + JB repeat_three_match_nolit_encodeBetterBlockAsm_emit_copy_short CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_encodeBetterBlockAsm_emit_copy_short + JB repeat_four_match_nolit_encodeBetterBlockAsm_emit_copy_short CMPL R11, $0x0100ffff - JLT repeat_five_match_nolit_encodeBetterBlockAsm_emit_copy_short + JB repeat_five_match_nolit_encodeBetterBlockAsm_emit_copy_short LEAL -16842747(R11), R11 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -6308,9 +6335,9 @@ two_byte_offset_short_match_nolit_encodeBetterBlockAsm: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -6337,13 +6364,13 @@ match_is_repeat_encodeBetterBlockAsm: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_repeat_encodeBetterBlockAsm + JB one_byte_match_emit_repeat_encodeBetterBlockAsm CMPL BX, $0x00000100 - JLT two_bytes_match_emit_repeat_encodeBetterBlockAsm + JB two_bytes_match_emit_repeat_encodeBetterBlockAsm CMPL BX, $0x00010000 - JLT three_bytes_match_emit_repeat_encodeBetterBlockAsm + JB three_bytes_match_emit_repeat_encodeBetterBlockAsm CMPL BX, $0x01000000 - JLT four_bytes_match_emit_repeat_encodeBetterBlockAsm + JB four_bytes_match_emit_repeat_encodeBetterBlockAsm MOVB $0xfc, (AX) MOVL BX, 1(AX) ADDQ $0x05, AX @@ -6369,7 +6396,7 @@ two_bytes_match_emit_repeat_encodeBetterBlockAsm: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_repeat_encodeBetterBlockAsm + JB memmove_match_emit_repeat_encodeBetterBlockAsm JMP memmove_long_match_emit_repeat_encodeBetterBlockAsm one_byte_match_emit_repeat_encodeBetterBlockAsm: @@ -6382,7 +6409,7 @@ memmove_match_emit_repeat_encodeBetterBlockAsm: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm_memmove_move_4 + JBE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm_memmove_move_4through7 CMPQ R8, $0x10 @@ -6485,19 +6512,19 @@ emit_repeat_again_match_nolit_repeat_encodeBetterBlockAsm: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_repeat_encodeBetterBlockAsm + JBE repeat_two_match_nolit_repeat_encodeBetterBlockAsm CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm + JAE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm + JB repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_repeat_encodeBetterBlockAsm + JB repeat_three_match_nolit_repeat_encodeBetterBlockAsm CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_repeat_encodeBetterBlockAsm + JB repeat_four_match_nolit_repeat_encodeBetterBlockAsm CMPL R11, $0x0100ffff - JLT repeat_five_match_nolit_repeat_encodeBetterBlockAsm + JB repeat_five_match_nolit_repeat_encodeBetterBlockAsm LEAL -16842747(R11), R11 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -6547,9 +6574,9 @@ repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm: match_nolit_emitcopy_end_encodeBetterBlockAsm: CMPL CX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm + JAE emit_remainder_encodeBetterBlockAsm CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBetterBlockAsm + JB match_nolit_dst_ok_encodeBetterBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -6605,7 +6632,7 @@ emit_remainder_encodeBetterBlockAsm: SUBL 12(SP), CX LEAQ 5(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBetterBlockAsm + JB emit_remainder_ok_encodeBetterBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -6620,13 +6647,13 @@ emit_remainder_ok_encodeBetterBlockAsm: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBetterBlockAsm + JB one_byte_emit_remainder_encodeBetterBlockAsm CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBetterBlockAsm + JB two_bytes_emit_remainder_encodeBetterBlockAsm CMPL DX, $0x00010000 - JLT three_bytes_emit_remainder_encodeBetterBlockAsm + JB three_bytes_emit_remainder_encodeBetterBlockAsm CMPL DX, $0x01000000 - JLT four_bytes_emit_remainder_encodeBetterBlockAsm + JB four_bytes_emit_remainder_encodeBetterBlockAsm MOVB $0xfc, (AX) MOVL DX, 1(AX) ADDQ $0x05, AX @@ -6652,7 +6679,7 @@ two_bytes_emit_remainder_encodeBetterBlockAsm: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBetterBlockAsm + JB memmove_emit_remainder_encodeBetterBlockAsm JMP memmove_long_emit_remainder_encodeBetterBlockAsm one_byte_emit_remainder_encodeBetterBlockAsm: @@ -6814,7 +6841,7 @@ search_loop_encodeBetterBlockAsm4MB: SUBL 12(SP), BX SHRL $0x07, BX CMPL BX, $0x63 - JLE check_maxskip_ok_encodeBetterBlockAsm4MB + JBE check_maxskip_ok_encodeBetterBlockAsm4MB LEAL 100(CX), BX JMP check_maxskip_cont_encodeBetterBlockAsm4MB @@ -6823,7 +6850,7 @@ check_maxskip_ok_encodeBetterBlockAsm4MB: check_maxskip_cont_encodeBetterBlockAsm4MB: CMPL BX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm4MB + JAE emit_remainder_encodeBetterBlockAsm4MB MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x00cf1bbcdcbfa563, R8 @@ -6878,7 +6905,7 @@ candidate_match_encodeBetterBlockAsm4MB: match_extend_back_loop_encodeBetterBlockAsm4MB: CMPL CX, SI - JLE match_extend_back_end_encodeBetterBlockAsm4MB + JBE match_extend_back_end_encodeBetterBlockAsm4MB MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -6893,7 +6920,7 @@ match_extend_back_end_encodeBetterBlockAsm4MB: SUBL 12(SP), SI LEAQ 4(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBetterBlockAsm4MB + JB match_dst_size_check_encodeBetterBlockAsm4MB MOVQ $0x00000000, ret+48(FP) RET @@ -6909,7 +6936,7 @@ match_dst_size_check_encodeBetterBlockAsm4MB: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeBetterBlockAsm4MB + JB matchlen_match4_match_nolit_encodeBetterBlockAsm4MB matchlen_loopback_match_nolit_encodeBetterBlockAsm4MB: MOVQ (R8)(R11*1), R10 @@ -6932,12 +6959,12 @@ matchlen_loop_match_nolit_encodeBetterBlockAsm4MB: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBetterBlockAsm4MB + JAE matchlen_loopback_match_nolit_encodeBetterBlockAsm4MB JZ match_nolit_end_encodeBetterBlockAsm4MB matchlen_match4_match_nolit_encodeBetterBlockAsm4MB: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeBetterBlockAsm4MB + JB matchlen_match2_match_nolit_encodeBetterBlockAsm4MB MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeBetterBlockAsm4MB @@ -6946,7 +6973,7 @@ matchlen_match4_match_nolit_encodeBetterBlockAsm4MB: matchlen_match2_match_nolit_encodeBetterBlockAsm4MB: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeBetterBlockAsm4MB + JB matchlen_match1_match_nolit_encodeBetterBlockAsm4MB MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeBetterBlockAsm4MB @@ -6955,7 +6982,7 @@ matchlen_match2_match_nolit_encodeBetterBlockAsm4MB: matchlen_match1_match_nolit_encodeBetterBlockAsm4MB: CMPL DI, $0x01 - JL match_nolit_end_encodeBetterBlockAsm4MB + JB match_nolit_end_encodeBetterBlockAsm4MB MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeBetterBlockAsm4MB @@ -6969,9 +6996,9 @@ match_nolit_end_encodeBetterBlockAsm4MB: CMPL 16(SP), DI JEQ match_is_repeat_encodeBetterBlockAsm4MB CMPL R11, $0x01 - JG match_length_ok_encodeBetterBlockAsm4MB + JA match_length_ok_encodeBetterBlockAsm4MB CMPL DI, $0x0000ffff - JLE match_length_ok_encodeBetterBlockAsm4MB + JBE match_length_ok_encodeBetterBlockAsm4MB MOVL 20(SP), CX INCL CX JMP search_loop_encodeBetterBlockAsm4MB @@ -6987,11 +7014,11 @@ match_length_ok_encodeBetterBlockAsm4MB: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeBetterBlockAsm4MB + JB one_byte_match_emit_encodeBetterBlockAsm4MB CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeBetterBlockAsm4MB + JB two_bytes_match_emit_encodeBetterBlockAsm4MB CMPL BX, $0x00010000 - JLT three_bytes_match_emit_encodeBetterBlockAsm4MB + JB three_bytes_match_emit_encodeBetterBlockAsm4MB MOVL BX, R10 SHRL $0x10, R10 MOVB $0xf8, (AX) @@ -7011,7 +7038,7 @@ two_bytes_match_emit_encodeBetterBlockAsm4MB: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeBetterBlockAsm4MB + JB memmove_match_emit_encodeBetterBlockAsm4MB JMP memmove_long_match_emit_encodeBetterBlockAsm4MB one_byte_match_emit_encodeBetterBlockAsm4MB: @@ -7024,7 +7051,7 @@ memmove_match_emit_encodeBetterBlockAsm4MB: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_encodeBetterBlockAsm4MB_memmove_move_4 + JBE emit_lit_memmove_match_emit_encodeBetterBlockAsm4MB_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_encodeBetterBlockAsm4MB_memmove_move_4through7 CMPQ R8, $0x10 @@ -7124,31 +7151,31 @@ emit_literal_done_match_emit_encodeBetterBlockAsm4MB: // emitCopy CMPL DI, $0x00010000 - JL two_byte_offset_match_nolit_encodeBetterBlockAsm4MB + JB two_byte_offset_match_nolit_encodeBetterBlockAsm4MB CMPL R11, $0x40 - JLE four_bytes_remain_match_nolit_encodeBetterBlockAsm4MB + JBE four_bytes_remain_match_nolit_encodeBetterBlockAsm4MB MOVB $0xff, (AX) MOVL DI, 1(AX) LEAL -64(R11), R11 ADDQ $0x05, AX CMPL R11, $0x04 - JL four_bytes_remain_match_nolit_encodeBetterBlockAsm4MB + JB four_bytes_remain_match_nolit_encodeBetterBlockAsm4MB // emitRepeat MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm4MB_emit_copy + JBE repeat_two_match_nolit_encodeBetterBlockAsm4MB_emit_copy CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm4MB_emit_copy + JB repeat_three_match_nolit_encodeBetterBlockAsm4MB_emit_copy CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_encodeBetterBlockAsm4MB_emit_copy + JB repeat_four_match_nolit_encodeBetterBlockAsm4MB_emit_copy LEAL -65536(R11), R11 MOVL R11, DI MOVW $0x001d, (AX) @@ -7202,7 +7229,7 @@ four_bytes_remain_match_nolit_encodeBetterBlockAsm4MB: two_byte_offset_match_nolit_encodeBetterBlockAsm4MB: CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBetterBlockAsm4MB + JBE two_byte_offset_short_match_nolit_encodeBetterBlockAsm4MB CMPL DI, $0x00000800 JAE long_offset_short_match_nolit_encodeBetterBlockAsm4MB MOVL $0x00000001, BX @@ -7221,17 +7248,17 @@ two_byte_offset_match_nolit_encodeBetterBlockAsm4MB: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b + JB repeat_four_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short_2b LEAL -65536(R11), R11 MOVL R11, DI MOVW $0x001d, (AX) @@ -7283,17 +7310,17 @@ long_offset_short_match_nolit_encodeBetterBlockAsm4MB: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short + JBE repeat_two_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short + JB repeat_three_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short + JB repeat_four_match_nolit_encodeBetterBlockAsm4MB_emit_copy_short LEAL -65536(R11), R11 MOVL R11, DI MOVW $0x001d, (AX) @@ -7339,9 +7366,9 @@ two_byte_offset_short_match_nolit_encodeBetterBlockAsm4MB: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm4MB + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm4MB CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm4MB + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm4MB LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -7368,11 +7395,11 @@ match_is_repeat_encodeBetterBlockAsm4MB: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_repeat_encodeBetterBlockAsm4MB + JB one_byte_match_emit_repeat_encodeBetterBlockAsm4MB CMPL BX, $0x00000100 - JLT two_bytes_match_emit_repeat_encodeBetterBlockAsm4MB + JB two_bytes_match_emit_repeat_encodeBetterBlockAsm4MB CMPL BX, $0x00010000 - JLT three_bytes_match_emit_repeat_encodeBetterBlockAsm4MB + JB three_bytes_match_emit_repeat_encodeBetterBlockAsm4MB MOVL BX, R10 SHRL $0x10, R10 MOVB $0xf8, (AX) @@ -7392,7 +7419,7 @@ two_bytes_match_emit_repeat_encodeBetterBlockAsm4MB: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_repeat_encodeBetterBlockAsm4MB + JB memmove_match_emit_repeat_encodeBetterBlockAsm4MB JMP memmove_long_match_emit_repeat_encodeBetterBlockAsm4MB one_byte_match_emit_repeat_encodeBetterBlockAsm4MB: @@ -7405,7 +7432,7 @@ memmove_match_emit_repeat_encodeBetterBlockAsm4MB: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm4MB_memmove_move_4 + JBE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm4MB_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm4MB_memmove_move_4through7 CMPQ R8, $0x10 @@ -7507,17 +7534,17 @@ emit_literal_done_match_emit_repeat_encodeBetterBlockAsm4MB: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_repeat_encodeBetterBlockAsm4MB + JBE repeat_two_match_nolit_repeat_encodeBetterBlockAsm4MB CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm4MB + JAE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm4MB CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm4MB + JB repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm4MB cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm4MB: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_repeat_encodeBetterBlockAsm4MB + JB repeat_three_match_nolit_repeat_encodeBetterBlockAsm4MB CMPL R11, $0x00010100 - JLT repeat_four_match_nolit_repeat_encodeBetterBlockAsm4MB + JB repeat_four_match_nolit_repeat_encodeBetterBlockAsm4MB LEAL -65536(R11), R11 MOVL R11, DI MOVW $0x001d, (AX) @@ -7560,9 +7587,9 @@ repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm4MB: match_nolit_emitcopy_end_encodeBetterBlockAsm4MB: CMPL CX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm4MB + JAE emit_remainder_encodeBetterBlockAsm4MB CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBetterBlockAsm4MB + JB match_nolit_dst_ok_encodeBetterBlockAsm4MB MOVQ $0x00000000, ret+48(FP) RET @@ -7618,7 +7645,7 @@ emit_remainder_encodeBetterBlockAsm4MB: SUBL 12(SP), CX LEAQ 4(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBetterBlockAsm4MB + JB emit_remainder_ok_encodeBetterBlockAsm4MB MOVQ $0x00000000, ret+48(FP) RET @@ -7633,11 +7660,11 @@ emit_remainder_ok_encodeBetterBlockAsm4MB: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBetterBlockAsm4MB + JB one_byte_emit_remainder_encodeBetterBlockAsm4MB CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBetterBlockAsm4MB + JB two_bytes_emit_remainder_encodeBetterBlockAsm4MB CMPL DX, $0x00010000 - JLT three_bytes_emit_remainder_encodeBetterBlockAsm4MB + JB three_bytes_emit_remainder_encodeBetterBlockAsm4MB MOVL DX, BX SHRL $0x10, BX MOVB $0xf8, (AX) @@ -7657,7 +7684,7 @@ two_bytes_emit_remainder_encodeBetterBlockAsm4MB: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBetterBlockAsm4MB + JB memmove_emit_remainder_encodeBetterBlockAsm4MB JMP memmove_long_emit_remainder_encodeBetterBlockAsm4MB one_byte_emit_remainder_encodeBetterBlockAsm4MB: @@ -7820,7 +7847,7 @@ search_loop_encodeBetterBlockAsm12B: SHRL $0x06, BX LEAL 1(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm12B + JAE emit_remainder_encodeBetterBlockAsm12B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -7875,7 +7902,7 @@ candidate_match_encodeBetterBlockAsm12B: match_extend_back_loop_encodeBetterBlockAsm12B: CMPL CX, SI - JLE match_extend_back_end_encodeBetterBlockAsm12B + JBE match_extend_back_end_encodeBetterBlockAsm12B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -7890,7 +7917,7 @@ match_extend_back_end_encodeBetterBlockAsm12B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBetterBlockAsm12B + JB match_dst_size_check_encodeBetterBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -7906,7 +7933,7 @@ match_dst_size_check_encodeBetterBlockAsm12B: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeBetterBlockAsm12B + JB matchlen_match4_match_nolit_encodeBetterBlockAsm12B matchlen_loopback_match_nolit_encodeBetterBlockAsm12B: MOVQ (R8)(R11*1), R10 @@ -7929,12 +7956,12 @@ matchlen_loop_match_nolit_encodeBetterBlockAsm12B: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBetterBlockAsm12B + JAE matchlen_loopback_match_nolit_encodeBetterBlockAsm12B JZ match_nolit_end_encodeBetterBlockAsm12B matchlen_match4_match_nolit_encodeBetterBlockAsm12B: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeBetterBlockAsm12B + JB matchlen_match2_match_nolit_encodeBetterBlockAsm12B MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeBetterBlockAsm12B @@ -7943,7 +7970,7 @@ matchlen_match4_match_nolit_encodeBetterBlockAsm12B: matchlen_match2_match_nolit_encodeBetterBlockAsm12B: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeBetterBlockAsm12B + JB matchlen_match1_match_nolit_encodeBetterBlockAsm12B MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeBetterBlockAsm12B @@ -7952,7 +7979,7 @@ matchlen_match2_match_nolit_encodeBetterBlockAsm12B: matchlen_match1_match_nolit_encodeBetterBlockAsm12B: CMPL DI, $0x01 - JL match_nolit_end_encodeBetterBlockAsm12B + JB match_nolit_end_encodeBetterBlockAsm12B MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeBetterBlockAsm12B @@ -7975,9 +8002,12 @@ match_nolit_end_encodeBetterBlockAsm12B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeBetterBlockAsm12B + JB one_byte_match_emit_encodeBetterBlockAsm12B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeBetterBlockAsm12B + JB two_bytes_match_emit_encodeBetterBlockAsm12B + JB three_bytes_match_emit_encodeBetterBlockAsm12B + +three_bytes_match_emit_encodeBetterBlockAsm12B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -7988,7 +8018,7 @@ two_bytes_match_emit_encodeBetterBlockAsm12B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeBetterBlockAsm12B + JB memmove_match_emit_encodeBetterBlockAsm12B JMP memmove_long_match_emit_encodeBetterBlockAsm12B one_byte_match_emit_encodeBetterBlockAsm12B: @@ -8001,7 +8031,7 @@ memmove_match_emit_encodeBetterBlockAsm12B: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_encodeBetterBlockAsm12B_memmove_move_4 + JBE emit_lit_memmove_match_emit_encodeBetterBlockAsm12B_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_encodeBetterBlockAsm12B_memmove_move_4through7 CMPQ R8, $0x10 @@ -8101,7 +8131,7 @@ emit_literal_done_match_emit_encodeBetterBlockAsm12B: // emitCopy CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBetterBlockAsm12B + JBE two_byte_offset_short_match_nolit_encodeBetterBlockAsm12B CMPL DI, $0x00000800 JAE long_offset_short_match_nolit_encodeBetterBlockAsm12B MOVL $0x00000001, BX @@ -8120,15 +8150,15 @@ emit_literal_done_match_emit_encodeBetterBlockAsm12B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBetterBlockAsm12B_emit_copy_short_2b LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -8170,15 +8200,15 @@ long_offset_short_match_nolit_encodeBetterBlockAsm12B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm12B_emit_copy_short + JBE repeat_two_match_nolit_encodeBetterBlockAsm12B_emit_copy_short CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm12B_emit_copy_short: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm12B_emit_copy_short + JB repeat_three_match_nolit_encodeBetterBlockAsm12B_emit_copy_short LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -8214,9 +8244,9 @@ two_byte_offset_short_match_nolit_encodeBetterBlockAsm12B: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm12B + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm12B CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm12B + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm12B LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -8243,9 +8273,12 @@ match_is_repeat_encodeBetterBlockAsm12B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_repeat_encodeBetterBlockAsm12B + JB one_byte_match_emit_repeat_encodeBetterBlockAsm12B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_repeat_encodeBetterBlockAsm12B + JB two_bytes_match_emit_repeat_encodeBetterBlockAsm12B + JB three_bytes_match_emit_repeat_encodeBetterBlockAsm12B + +three_bytes_match_emit_repeat_encodeBetterBlockAsm12B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -8256,7 +8289,7 @@ two_bytes_match_emit_repeat_encodeBetterBlockAsm12B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_repeat_encodeBetterBlockAsm12B + JB memmove_match_emit_repeat_encodeBetterBlockAsm12B JMP memmove_long_match_emit_repeat_encodeBetterBlockAsm12B one_byte_match_emit_repeat_encodeBetterBlockAsm12B: @@ -8269,7 +8302,7 @@ memmove_match_emit_repeat_encodeBetterBlockAsm12B: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm12B_memmove_move_4 + JBE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm12B_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm12B_memmove_move_4through7 CMPQ R8, $0x10 @@ -8371,15 +8404,15 @@ emit_literal_done_match_emit_repeat_encodeBetterBlockAsm12B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_repeat_encodeBetterBlockAsm12B + JBE repeat_two_match_nolit_repeat_encodeBetterBlockAsm12B CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm12B + JAE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm12B CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm12B + JB repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm12B cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm12B: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_repeat_encodeBetterBlockAsm12B + JB repeat_three_match_nolit_repeat_encodeBetterBlockAsm12B LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -8412,9 +8445,9 @@ repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm12B: match_nolit_emitcopy_end_encodeBetterBlockAsm12B: CMPL CX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm12B + JAE emit_remainder_encodeBetterBlockAsm12B CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBetterBlockAsm12B + JB match_nolit_dst_ok_encodeBetterBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -8470,7 +8503,7 @@ emit_remainder_encodeBetterBlockAsm12B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBetterBlockAsm12B + JB emit_remainder_ok_encodeBetterBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -8485,9 +8518,12 @@ emit_remainder_ok_encodeBetterBlockAsm12B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBetterBlockAsm12B + JB one_byte_emit_remainder_encodeBetterBlockAsm12B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBetterBlockAsm12B + JB two_bytes_emit_remainder_encodeBetterBlockAsm12B + JB three_bytes_emit_remainder_encodeBetterBlockAsm12B + +three_bytes_emit_remainder_encodeBetterBlockAsm12B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -8498,7 +8534,7 @@ two_bytes_emit_remainder_encodeBetterBlockAsm12B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBetterBlockAsm12B + JB memmove_emit_remainder_encodeBetterBlockAsm12B JMP memmove_long_emit_remainder_encodeBetterBlockAsm12B one_byte_emit_remainder_encodeBetterBlockAsm12B: @@ -8661,7 +8697,7 @@ search_loop_encodeBetterBlockAsm10B: SHRL $0x05, BX LEAL 1(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm10B + JAE emit_remainder_encodeBetterBlockAsm10B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -8716,7 +8752,7 @@ candidate_match_encodeBetterBlockAsm10B: match_extend_back_loop_encodeBetterBlockAsm10B: CMPL CX, SI - JLE match_extend_back_end_encodeBetterBlockAsm10B + JBE match_extend_back_end_encodeBetterBlockAsm10B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -8731,7 +8767,7 @@ match_extend_back_end_encodeBetterBlockAsm10B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBetterBlockAsm10B + JB match_dst_size_check_encodeBetterBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -8747,7 +8783,7 @@ match_dst_size_check_encodeBetterBlockAsm10B: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeBetterBlockAsm10B + JB matchlen_match4_match_nolit_encodeBetterBlockAsm10B matchlen_loopback_match_nolit_encodeBetterBlockAsm10B: MOVQ (R8)(R11*1), R10 @@ -8770,12 +8806,12 @@ matchlen_loop_match_nolit_encodeBetterBlockAsm10B: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBetterBlockAsm10B + JAE matchlen_loopback_match_nolit_encodeBetterBlockAsm10B JZ match_nolit_end_encodeBetterBlockAsm10B matchlen_match4_match_nolit_encodeBetterBlockAsm10B: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeBetterBlockAsm10B + JB matchlen_match2_match_nolit_encodeBetterBlockAsm10B MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeBetterBlockAsm10B @@ -8784,7 +8820,7 @@ matchlen_match4_match_nolit_encodeBetterBlockAsm10B: matchlen_match2_match_nolit_encodeBetterBlockAsm10B: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeBetterBlockAsm10B + JB matchlen_match1_match_nolit_encodeBetterBlockAsm10B MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeBetterBlockAsm10B @@ -8793,7 +8829,7 @@ matchlen_match2_match_nolit_encodeBetterBlockAsm10B: matchlen_match1_match_nolit_encodeBetterBlockAsm10B: CMPL DI, $0x01 - JL match_nolit_end_encodeBetterBlockAsm10B + JB match_nolit_end_encodeBetterBlockAsm10B MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeBetterBlockAsm10B @@ -8816,9 +8852,12 @@ match_nolit_end_encodeBetterBlockAsm10B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeBetterBlockAsm10B + JB one_byte_match_emit_encodeBetterBlockAsm10B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeBetterBlockAsm10B + JB two_bytes_match_emit_encodeBetterBlockAsm10B + JB three_bytes_match_emit_encodeBetterBlockAsm10B + +three_bytes_match_emit_encodeBetterBlockAsm10B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -8829,7 +8868,7 @@ two_bytes_match_emit_encodeBetterBlockAsm10B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeBetterBlockAsm10B + JB memmove_match_emit_encodeBetterBlockAsm10B JMP memmove_long_match_emit_encodeBetterBlockAsm10B one_byte_match_emit_encodeBetterBlockAsm10B: @@ -8842,7 +8881,7 @@ memmove_match_emit_encodeBetterBlockAsm10B: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_encodeBetterBlockAsm10B_memmove_move_4 + JBE emit_lit_memmove_match_emit_encodeBetterBlockAsm10B_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_encodeBetterBlockAsm10B_memmove_move_4through7 CMPQ R8, $0x10 @@ -8942,7 +8981,7 @@ emit_literal_done_match_emit_encodeBetterBlockAsm10B: // emitCopy CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBetterBlockAsm10B + JBE two_byte_offset_short_match_nolit_encodeBetterBlockAsm10B CMPL DI, $0x00000800 JAE long_offset_short_match_nolit_encodeBetterBlockAsm10B MOVL $0x00000001, BX @@ -8961,15 +9000,15 @@ emit_literal_done_match_emit_encodeBetterBlockAsm10B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBetterBlockAsm10B_emit_copy_short_2b LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -9011,15 +9050,15 @@ long_offset_short_match_nolit_encodeBetterBlockAsm10B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm10B_emit_copy_short + JBE repeat_two_match_nolit_encodeBetterBlockAsm10B_emit_copy_short CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short + JB repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm10B_emit_copy_short: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm10B_emit_copy_short + JB repeat_three_match_nolit_encodeBetterBlockAsm10B_emit_copy_short LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -9055,9 +9094,9 @@ two_byte_offset_short_match_nolit_encodeBetterBlockAsm10B: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm10B + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm10B CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm10B + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm10B LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -9084,9 +9123,12 @@ match_is_repeat_encodeBetterBlockAsm10B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_repeat_encodeBetterBlockAsm10B + JB one_byte_match_emit_repeat_encodeBetterBlockAsm10B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_repeat_encodeBetterBlockAsm10B + JB two_bytes_match_emit_repeat_encodeBetterBlockAsm10B + JB three_bytes_match_emit_repeat_encodeBetterBlockAsm10B + +three_bytes_match_emit_repeat_encodeBetterBlockAsm10B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -9097,7 +9139,7 @@ two_bytes_match_emit_repeat_encodeBetterBlockAsm10B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_repeat_encodeBetterBlockAsm10B + JB memmove_match_emit_repeat_encodeBetterBlockAsm10B JMP memmove_long_match_emit_repeat_encodeBetterBlockAsm10B one_byte_match_emit_repeat_encodeBetterBlockAsm10B: @@ -9110,7 +9152,7 @@ memmove_match_emit_repeat_encodeBetterBlockAsm10B: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm10B_memmove_move_4 + JBE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm10B_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm10B_memmove_move_4through7 CMPQ R8, $0x10 @@ -9212,15 +9254,15 @@ emit_literal_done_match_emit_repeat_encodeBetterBlockAsm10B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_repeat_encodeBetterBlockAsm10B + JBE repeat_two_match_nolit_repeat_encodeBetterBlockAsm10B CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm10B + JAE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm10B CMPL DI, $0x00000800 - JLT repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm10B + JB repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm10B cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm10B: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_repeat_encodeBetterBlockAsm10B + JB repeat_three_match_nolit_repeat_encodeBetterBlockAsm10B LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -9253,9 +9295,9 @@ repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm10B: match_nolit_emitcopy_end_encodeBetterBlockAsm10B: CMPL CX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm10B + JAE emit_remainder_encodeBetterBlockAsm10B CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBetterBlockAsm10B + JB match_nolit_dst_ok_encodeBetterBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -9311,7 +9353,7 @@ emit_remainder_encodeBetterBlockAsm10B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBetterBlockAsm10B + JB emit_remainder_ok_encodeBetterBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -9326,9 +9368,12 @@ emit_remainder_ok_encodeBetterBlockAsm10B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBetterBlockAsm10B + JB one_byte_emit_remainder_encodeBetterBlockAsm10B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBetterBlockAsm10B + JB two_bytes_emit_remainder_encodeBetterBlockAsm10B + JB three_bytes_emit_remainder_encodeBetterBlockAsm10B + +three_bytes_emit_remainder_encodeBetterBlockAsm10B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -9339,7 +9384,7 @@ two_bytes_emit_remainder_encodeBetterBlockAsm10B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBetterBlockAsm10B + JB memmove_emit_remainder_encodeBetterBlockAsm10B JMP memmove_long_emit_remainder_encodeBetterBlockAsm10B one_byte_emit_remainder_encodeBetterBlockAsm10B: @@ -9502,7 +9547,7 @@ search_loop_encodeBetterBlockAsm8B: SHRL $0x04, BX LEAL 1(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm8B + JAE emit_remainder_encodeBetterBlockAsm8B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -9557,7 +9602,7 @@ candidate_match_encodeBetterBlockAsm8B: match_extend_back_loop_encodeBetterBlockAsm8B: CMPL CX, SI - JLE match_extend_back_end_encodeBetterBlockAsm8B + JBE match_extend_back_end_encodeBetterBlockAsm8B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -9572,7 +9617,7 @@ match_extend_back_end_encodeBetterBlockAsm8B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeBetterBlockAsm8B + JB match_dst_size_check_encodeBetterBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -9588,7 +9633,7 @@ match_dst_size_check_encodeBetterBlockAsm8B: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeBetterBlockAsm8B + JB matchlen_match4_match_nolit_encodeBetterBlockAsm8B matchlen_loopback_match_nolit_encodeBetterBlockAsm8B: MOVQ (R8)(R11*1), R10 @@ -9611,12 +9656,12 @@ matchlen_loop_match_nolit_encodeBetterBlockAsm8B: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeBetterBlockAsm8B + JAE matchlen_loopback_match_nolit_encodeBetterBlockAsm8B JZ match_nolit_end_encodeBetterBlockAsm8B matchlen_match4_match_nolit_encodeBetterBlockAsm8B: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeBetterBlockAsm8B + JB matchlen_match2_match_nolit_encodeBetterBlockAsm8B MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeBetterBlockAsm8B @@ -9625,7 +9670,7 @@ matchlen_match4_match_nolit_encodeBetterBlockAsm8B: matchlen_match2_match_nolit_encodeBetterBlockAsm8B: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeBetterBlockAsm8B + JB matchlen_match1_match_nolit_encodeBetterBlockAsm8B MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeBetterBlockAsm8B @@ -9634,7 +9679,7 @@ matchlen_match2_match_nolit_encodeBetterBlockAsm8B: matchlen_match1_match_nolit_encodeBetterBlockAsm8B: CMPL DI, $0x01 - JL match_nolit_end_encodeBetterBlockAsm8B + JB match_nolit_end_encodeBetterBlockAsm8B MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeBetterBlockAsm8B @@ -9657,9 +9702,12 @@ match_nolit_end_encodeBetterBlockAsm8B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeBetterBlockAsm8B + JB one_byte_match_emit_encodeBetterBlockAsm8B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeBetterBlockAsm8B + JB two_bytes_match_emit_encodeBetterBlockAsm8B + JB three_bytes_match_emit_encodeBetterBlockAsm8B + +three_bytes_match_emit_encodeBetterBlockAsm8B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -9670,7 +9718,7 @@ two_bytes_match_emit_encodeBetterBlockAsm8B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeBetterBlockAsm8B + JB memmove_match_emit_encodeBetterBlockAsm8B JMP memmove_long_match_emit_encodeBetterBlockAsm8B one_byte_match_emit_encodeBetterBlockAsm8B: @@ -9683,7 +9731,7 @@ memmove_match_emit_encodeBetterBlockAsm8B: // genMemMoveShort CMPQ R8, $0x04 - JLE emit_lit_memmove_match_emit_encodeBetterBlockAsm8B_memmove_move_4 + JBE emit_lit_memmove_match_emit_encodeBetterBlockAsm8B_memmove_move_4 CMPQ R8, $0x08 JB emit_lit_memmove_match_emit_encodeBetterBlockAsm8B_memmove_move_4through7 CMPQ R8, $0x10 @@ -9783,7 +9831,7 @@ emit_literal_done_match_emit_encodeBetterBlockAsm8B: // emitCopy CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeBetterBlockAsm8B + JBE two_byte_offset_short_match_nolit_encodeBetterBlockAsm8B CMPL DI, $0x00000800 JAE long_offset_short_match_nolit_encodeBetterBlockAsm8B MOVL $0x00000001, BX @@ -9802,13 +9850,13 @@ emit_literal_done_match_emit_encodeBetterBlockAsm8B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm8B_emit_copy_short_2b + JBE repeat_two_match_nolit_encodeBetterBlockAsm8B_emit_copy_short_2b CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm8B_emit_copy_short_2b + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm8B_emit_copy_short_2b cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm8B_emit_copy_short_2b: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm8B_emit_copy_short_2b + JB repeat_three_match_nolit_encodeBetterBlockAsm8B_emit_copy_short_2b LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -9848,13 +9896,13 @@ long_offset_short_match_nolit_encodeBetterBlockAsm8B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_encodeBetterBlockAsm8B_emit_copy_short + JBE repeat_two_match_nolit_encodeBetterBlockAsm8B_emit_copy_short CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm8B_emit_copy_short + JAE cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm8B_emit_copy_short cant_repeat_two_offset_match_nolit_encodeBetterBlockAsm8B_emit_copy_short: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_encodeBetterBlockAsm8B_emit_copy_short + JB repeat_three_match_nolit_encodeBetterBlockAsm8B_emit_copy_short LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -9888,7 +9936,7 @@ two_byte_offset_short_match_nolit_encodeBetterBlockAsm8B: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeBetterBlockAsm8B + JAE emit_copy_three_match_nolit_encodeBetterBlockAsm8B LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -9915,9 +9963,12 @@ match_is_repeat_encodeBetterBlockAsm8B: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_match_emit_repeat_encodeBetterBlockAsm8B + JB one_byte_match_emit_repeat_encodeBetterBlockAsm8B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_repeat_encodeBetterBlockAsm8B + JB two_bytes_match_emit_repeat_encodeBetterBlockAsm8B + JB three_bytes_match_emit_repeat_encodeBetterBlockAsm8B + +three_bytes_match_emit_repeat_encodeBetterBlockAsm8B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -9928,7 +9979,7 @@ two_bytes_match_emit_repeat_encodeBetterBlockAsm8B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_repeat_encodeBetterBlockAsm8B + JB memmove_match_emit_repeat_encodeBetterBlockAsm8B JMP memmove_long_match_emit_repeat_encodeBetterBlockAsm8B one_byte_match_emit_repeat_encodeBetterBlockAsm8B: @@ -9941,7 +9992,7 @@ memmove_match_emit_repeat_encodeBetterBlockAsm8B: // genMemMoveShort CMPQ DI, $0x04 - JLE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm8B_memmove_move_4 + JBE emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm8B_memmove_move_4 CMPQ DI, $0x08 JB emit_lit_memmove_match_emit_repeat_encodeBetterBlockAsm8B_memmove_move_4through7 CMPQ DI, $0x10 @@ -10043,13 +10094,13 @@ emit_literal_done_match_emit_repeat_encodeBetterBlockAsm8B: MOVL R11, BX LEAL -4(R11), R11 CMPL BX, $0x08 - JLE repeat_two_match_nolit_repeat_encodeBetterBlockAsm8B + JBE repeat_two_match_nolit_repeat_encodeBetterBlockAsm8B CMPL BX, $0x0c - JGE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm8B + JAE cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm8B cant_repeat_two_offset_match_nolit_repeat_encodeBetterBlockAsm8B: CMPL R11, $0x00000104 - JLT repeat_three_match_nolit_repeat_encodeBetterBlockAsm8B + JB repeat_three_match_nolit_repeat_encodeBetterBlockAsm8B LEAL -256(R11), R11 MOVW $0x0019, (AX) MOVW R11, 2(AX) @@ -10080,9 +10131,9 @@ repeat_two_match_nolit_repeat_encodeBetterBlockAsm8B: match_nolit_emitcopy_end_encodeBetterBlockAsm8B: CMPL CX, 8(SP) - JGE emit_remainder_encodeBetterBlockAsm8B + JAE emit_remainder_encodeBetterBlockAsm8B CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeBetterBlockAsm8B + JB match_nolit_dst_ok_encodeBetterBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -10138,7 +10189,7 @@ emit_remainder_encodeBetterBlockAsm8B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeBetterBlockAsm8B + JB emit_remainder_ok_encodeBetterBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -10153,9 +10204,12 @@ emit_remainder_ok_encodeBetterBlockAsm8B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeBetterBlockAsm8B + JB one_byte_emit_remainder_encodeBetterBlockAsm8B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeBetterBlockAsm8B + JB two_bytes_emit_remainder_encodeBetterBlockAsm8B + JB three_bytes_emit_remainder_encodeBetterBlockAsm8B + +three_bytes_emit_remainder_encodeBetterBlockAsm8B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -10166,7 +10220,7 @@ two_bytes_emit_remainder_encodeBetterBlockAsm8B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeBetterBlockAsm8B + JB memmove_emit_remainder_encodeBetterBlockAsm8B JMP memmove_long_emit_remainder_encodeBetterBlockAsm8B one_byte_emit_remainder_encodeBetterBlockAsm8B: @@ -10329,7 +10383,7 @@ search_loop_encodeSnappyBlockAsm: SHRL $0x06, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm + JAE emit_remainder_encodeSnappyBlockAsm MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -10367,7 +10421,7 @@ search_loop_encodeSnappyBlockAsm: repeat_extend_back_loop_encodeSnappyBlockAsm: CMPL SI, BX - JLE repeat_extend_back_end_encodeSnappyBlockAsm + JBE repeat_extend_back_end_encodeSnappyBlockAsm MOVB -1(DX)(DI*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -10386,13 +10440,13 @@ repeat_extend_back_end_encodeSnappyBlockAsm: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeSnappyBlockAsm + JB one_byte_repeat_emit_encodeSnappyBlockAsm CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeSnappyBlockAsm + JB two_bytes_repeat_emit_encodeSnappyBlockAsm CMPL BX, $0x00010000 - JLT three_bytes_repeat_emit_encodeSnappyBlockAsm + JB three_bytes_repeat_emit_encodeSnappyBlockAsm CMPL BX, $0x01000000 - JLT four_bytes_repeat_emit_encodeSnappyBlockAsm + JB four_bytes_repeat_emit_encodeSnappyBlockAsm MOVB $0xfc, (AX) MOVL BX, 1(AX) ADDQ $0x05, AX @@ -10418,7 +10472,7 @@ two_bytes_repeat_emit_encodeSnappyBlockAsm: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeSnappyBlockAsm + JB memmove_repeat_emit_encodeSnappyBlockAsm JMP memmove_long_repeat_emit_encodeSnappyBlockAsm one_byte_repeat_emit_encodeSnappyBlockAsm: @@ -10431,7 +10485,7 @@ memmove_repeat_emit_encodeSnappyBlockAsm: // genMemMoveShort CMPQ DI, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm_memmove_move_8 CMPQ DI, $0x10 JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm_memmove_move_8through16 CMPQ DI, $0x20 @@ -10527,7 +10581,7 @@ emit_literal_done_repeat_emit_encodeSnappyBlockAsm: // matchLen XORL R10, R10 CMPL DI, $0x08 - JL matchlen_match4_repeat_extend_encodeSnappyBlockAsm + JB matchlen_match4_repeat_extend_encodeSnappyBlockAsm matchlen_loopback_repeat_extend_encodeSnappyBlockAsm: MOVQ (R8)(R10*1), R9 @@ -10550,12 +10604,12 @@ matchlen_loop_repeat_extend_encodeSnappyBlockAsm: LEAL -8(DI), DI LEAL 8(R10), R10 CMPL DI, $0x08 - JGE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm + JAE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm JZ repeat_extend_forward_end_encodeSnappyBlockAsm matchlen_match4_repeat_extend_encodeSnappyBlockAsm: CMPL DI, $0x04 - JL matchlen_match2_repeat_extend_encodeSnappyBlockAsm + JB matchlen_match2_repeat_extend_encodeSnappyBlockAsm MOVL (R8)(R10*1), R9 CMPL (BX)(R10*1), R9 JNE matchlen_match2_repeat_extend_encodeSnappyBlockAsm @@ -10564,7 +10618,7 @@ matchlen_match4_repeat_extend_encodeSnappyBlockAsm: matchlen_match2_repeat_extend_encodeSnappyBlockAsm: CMPL DI, $0x02 - JL matchlen_match1_repeat_extend_encodeSnappyBlockAsm + JB matchlen_match1_repeat_extend_encodeSnappyBlockAsm MOVW (R8)(R10*1), R9 CMPW (BX)(R10*1), R9 JNE matchlen_match1_repeat_extend_encodeSnappyBlockAsm @@ -10573,7 +10627,7 @@ matchlen_match2_repeat_extend_encodeSnappyBlockAsm: matchlen_match1_repeat_extend_encodeSnappyBlockAsm: CMPL DI, $0x01 - JL repeat_extend_forward_end_encodeSnappyBlockAsm + JB repeat_extend_forward_end_encodeSnappyBlockAsm MOVB (R8)(R10*1), R9 CMPB (BX)(R10*1), R9 JNE repeat_extend_forward_end_encodeSnappyBlockAsm @@ -10587,17 +10641,17 @@ repeat_extend_forward_end_encodeSnappyBlockAsm: // emitCopy CMPL SI, $0x00010000 - JL two_byte_offset_repeat_as_copy_encodeSnappyBlockAsm + JB two_byte_offset_repeat_as_copy_encodeSnappyBlockAsm four_bytes_loop_back_repeat_as_copy_encodeSnappyBlockAsm: CMPL BX, $0x40 - JLE four_bytes_remain_repeat_as_copy_encodeSnappyBlockAsm + JBE four_bytes_remain_repeat_as_copy_encodeSnappyBlockAsm MOVB $0xff, (AX) MOVL SI, 1(AX) LEAL -64(BX), BX ADDQ $0x05, AX CMPL BX, $0x04 - JL four_bytes_remain_repeat_as_copy_encodeSnappyBlockAsm + JB four_bytes_remain_repeat_as_copy_encodeSnappyBlockAsm JMP four_bytes_loop_back_repeat_as_copy_encodeSnappyBlockAsm four_bytes_remain_repeat_as_copy_encodeSnappyBlockAsm: @@ -10612,7 +10666,7 @@ four_bytes_remain_repeat_as_copy_encodeSnappyBlockAsm: two_byte_offset_repeat_as_copy_encodeSnappyBlockAsm: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm + JBE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm MOVB $0xee, (AX) MOVW SI, 1(AX) LEAL -60(BX), BX @@ -10623,9 +10677,9 @@ two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -10676,7 +10730,7 @@ candidate_match_encodeSnappyBlockAsm: match_extend_back_loop_encodeSnappyBlockAsm: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBlockAsm + JBE match_extend_back_end_encodeSnappyBlockAsm MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -10691,7 +10745,7 @@ match_extend_back_end_encodeSnappyBlockAsm: SUBL 12(SP), SI LEAQ 5(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBlockAsm + JB match_dst_size_check_encodeSnappyBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -10706,13 +10760,13 @@ match_dst_size_check_encodeSnappyBlockAsm: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeSnappyBlockAsm + JB one_byte_match_emit_encodeSnappyBlockAsm CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBlockAsm + JB two_bytes_match_emit_encodeSnappyBlockAsm CMPL DI, $0x00010000 - JLT three_bytes_match_emit_encodeSnappyBlockAsm + JB three_bytes_match_emit_encodeSnappyBlockAsm CMPL DI, $0x01000000 - JLT four_bytes_match_emit_encodeSnappyBlockAsm + JB four_bytes_match_emit_encodeSnappyBlockAsm MOVB $0xfc, (AX) MOVL DI, 1(AX) ADDQ $0x05, AX @@ -10738,7 +10792,7 @@ two_bytes_match_emit_encodeSnappyBlockAsm: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeSnappyBlockAsm + JB memmove_match_emit_encodeSnappyBlockAsm JMP memmove_long_match_emit_encodeSnappyBlockAsm one_byte_match_emit_encodeSnappyBlockAsm: @@ -10751,7 +10805,7 @@ memmove_match_emit_encodeSnappyBlockAsm: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBlockAsm_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm_memmove_move_8through16 CMPQ R8, $0x20 @@ -10850,7 +10904,7 @@ match_nolit_loop_encodeSnappyBlockAsm: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBlockAsm + JB matchlen_match4_match_nolit_encodeSnappyBlockAsm matchlen_loopback_match_nolit_encodeSnappyBlockAsm: MOVQ (DI)(R9*1), R8 @@ -10873,12 +10927,12 @@ matchlen_loop_match_nolit_encodeSnappyBlockAsm: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBlockAsm + JAE matchlen_loopback_match_nolit_encodeSnappyBlockAsm JZ match_nolit_end_encodeSnappyBlockAsm matchlen_match4_match_nolit_encodeSnappyBlockAsm: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBlockAsm + JB matchlen_match2_match_nolit_encodeSnappyBlockAsm MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeSnappyBlockAsm @@ -10887,7 +10941,7 @@ matchlen_match4_match_nolit_encodeSnappyBlockAsm: matchlen_match2_match_nolit_encodeSnappyBlockAsm: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBlockAsm + JB matchlen_match1_match_nolit_encodeSnappyBlockAsm MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeSnappyBlockAsm @@ -10896,7 +10950,7 @@ matchlen_match2_match_nolit_encodeSnappyBlockAsm: matchlen_match1_match_nolit_encodeSnappyBlockAsm: CMPL SI, $0x01 - JL match_nolit_end_encodeSnappyBlockAsm + JB match_nolit_end_encodeSnappyBlockAsm MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeSnappyBlockAsm @@ -10910,17 +10964,17 @@ match_nolit_end_encodeSnappyBlockAsm: // emitCopy CMPL BX, $0x00010000 - JL two_byte_offset_match_nolit_encodeSnappyBlockAsm + JB two_byte_offset_match_nolit_encodeSnappyBlockAsm four_bytes_loop_back_match_nolit_encodeSnappyBlockAsm: CMPL R9, $0x40 - JLE four_bytes_remain_match_nolit_encodeSnappyBlockAsm + JBE four_bytes_remain_match_nolit_encodeSnappyBlockAsm MOVB $0xff, (AX) MOVL BX, 1(AX) LEAL -64(R9), R9 ADDQ $0x05, AX CMPL R9, $0x04 - JL four_bytes_remain_match_nolit_encodeSnappyBlockAsm + JB four_bytes_remain_match_nolit_encodeSnappyBlockAsm JMP four_bytes_loop_back_match_nolit_encodeSnappyBlockAsm four_bytes_remain_match_nolit_encodeSnappyBlockAsm: @@ -10935,7 +10989,7 @@ four_bytes_remain_match_nolit_encodeSnappyBlockAsm: two_byte_offset_match_nolit_encodeSnappyBlockAsm: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm + JBE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm MOVB $0xee, (AX) MOVW BX, 1(AX) LEAL -60(R9), R9 @@ -10946,9 +11000,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBlockAsm: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -10966,10 +11020,10 @@ emit_copy_three_match_nolit_encodeSnappyBlockAsm: match_nolit_emitcopy_end_encodeSnappyBlockAsm: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm + JAE emit_remainder_encodeSnappyBlockAsm MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBlockAsm + JB match_nolit_dst_ok_encodeSnappyBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -10999,7 +11053,7 @@ emit_remainder_encodeSnappyBlockAsm: SUBL 12(SP), CX LEAQ 5(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBlockAsm + JB emit_remainder_ok_encodeSnappyBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -11014,13 +11068,13 @@ emit_remainder_ok_encodeSnappyBlockAsm: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBlockAsm + JB one_byte_emit_remainder_encodeSnappyBlockAsm CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBlockAsm + JB two_bytes_emit_remainder_encodeSnappyBlockAsm CMPL DX, $0x00010000 - JLT three_bytes_emit_remainder_encodeSnappyBlockAsm + JB three_bytes_emit_remainder_encodeSnappyBlockAsm CMPL DX, $0x01000000 - JLT four_bytes_emit_remainder_encodeSnappyBlockAsm + JB four_bytes_emit_remainder_encodeSnappyBlockAsm MOVB $0xfc, (AX) MOVL DX, 1(AX) ADDQ $0x05, AX @@ -11046,7 +11100,7 @@ two_bytes_emit_remainder_encodeSnappyBlockAsm: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBlockAsm + JB memmove_emit_remainder_encodeSnappyBlockAsm JMP memmove_long_emit_remainder_encodeSnappyBlockAsm one_byte_emit_remainder_encodeSnappyBlockAsm: @@ -11209,7 +11263,7 @@ search_loop_encodeSnappyBlockAsm64K: SHRL $0x06, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm64K + JAE emit_remainder_encodeSnappyBlockAsm64K MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -11247,7 +11301,7 @@ search_loop_encodeSnappyBlockAsm64K: repeat_extend_back_loop_encodeSnappyBlockAsm64K: CMPL SI, BX - JLE repeat_extend_back_end_encodeSnappyBlockAsm64K + JBE repeat_extend_back_end_encodeSnappyBlockAsm64K MOVB -1(DX)(DI*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -11266,9 +11320,12 @@ repeat_extend_back_end_encodeSnappyBlockAsm64K: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeSnappyBlockAsm64K + JB one_byte_repeat_emit_encodeSnappyBlockAsm64K CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeSnappyBlockAsm64K + JB two_bytes_repeat_emit_encodeSnappyBlockAsm64K + JB three_bytes_repeat_emit_encodeSnappyBlockAsm64K + +three_bytes_repeat_emit_encodeSnappyBlockAsm64K: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -11279,7 +11336,7 @@ two_bytes_repeat_emit_encodeSnappyBlockAsm64K: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeSnappyBlockAsm64K + JB memmove_repeat_emit_encodeSnappyBlockAsm64K JMP memmove_long_repeat_emit_encodeSnappyBlockAsm64K one_byte_repeat_emit_encodeSnappyBlockAsm64K: @@ -11292,7 +11349,7 @@ memmove_repeat_emit_encodeSnappyBlockAsm64K: // genMemMoveShort CMPQ DI, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm64K_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm64K_memmove_move_8 CMPQ DI, $0x10 JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm64K_memmove_move_8through16 CMPQ DI, $0x20 @@ -11388,7 +11445,7 @@ emit_literal_done_repeat_emit_encodeSnappyBlockAsm64K: // matchLen XORL R10, R10 CMPL DI, $0x08 - JL matchlen_match4_repeat_extend_encodeSnappyBlockAsm64K + JB matchlen_match4_repeat_extend_encodeSnappyBlockAsm64K matchlen_loopback_repeat_extend_encodeSnappyBlockAsm64K: MOVQ (R8)(R10*1), R9 @@ -11411,12 +11468,12 @@ matchlen_loop_repeat_extend_encodeSnappyBlockAsm64K: LEAL -8(DI), DI LEAL 8(R10), R10 CMPL DI, $0x08 - JGE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm64K + JAE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm64K JZ repeat_extend_forward_end_encodeSnappyBlockAsm64K matchlen_match4_repeat_extend_encodeSnappyBlockAsm64K: CMPL DI, $0x04 - JL matchlen_match2_repeat_extend_encodeSnappyBlockAsm64K + JB matchlen_match2_repeat_extend_encodeSnappyBlockAsm64K MOVL (R8)(R10*1), R9 CMPL (BX)(R10*1), R9 JNE matchlen_match2_repeat_extend_encodeSnappyBlockAsm64K @@ -11425,7 +11482,7 @@ matchlen_match4_repeat_extend_encodeSnappyBlockAsm64K: matchlen_match2_repeat_extend_encodeSnappyBlockAsm64K: CMPL DI, $0x02 - JL matchlen_match1_repeat_extend_encodeSnappyBlockAsm64K + JB matchlen_match1_repeat_extend_encodeSnappyBlockAsm64K MOVW (R8)(R10*1), R9 CMPW (BX)(R10*1), R9 JNE matchlen_match1_repeat_extend_encodeSnappyBlockAsm64K @@ -11434,7 +11491,7 @@ matchlen_match2_repeat_extend_encodeSnappyBlockAsm64K: matchlen_match1_repeat_extend_encodeSnappyBlockAsm64K: CMPL DI, $0x01 - JL repeat_extend_forward_end_encodeSnappyBlockAsm64K + JB repeat_extend_forward_end_encodeSnappyBlockAsm64K MOVB (R8)(R10*1), R9 CMPB (BX)(R10*1), R9 JNE repeat_extend_forward_end_encodeSnappyBlockAsm64K @@ -11449,7 +11506,7 @@ repeat_extend_forward_end_encodeSnappyBlockAsm64K: // emitCopy two_byte_offset_repeat_as_copy_encodeSnappyBlockAsm64K: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm64K + JBE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm64K MOVB $0xee, (AX) MOVW SI, 1(AX) LEAL -60(BX), BX @@ -11460,9 +11517,9 @@ two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm64K: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm64K + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm64K CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm64K + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm64K LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -11513,7 +11570,7 @@ candidate_match_encodeSnappyBlockAsm64K: match_extend_back_loop_encodeSnappyBlockAsm64K: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBlockAsm64K + JBE match_extend_back_end_encodeSnappyBlockAsm64K MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -11528,7 +11585,7 @@ match_extend_back_end_encodeSnappyBlockAsm64K: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBlockAsm64K + JB match_dst_size_check_encodeSnappyBlockAsm64K MOVQ $0x00000000, ret+48(FP) RET @@ -11543,9 +11600,12 @@ match_dst_size_check_encodeSnappyBlockAsm64K: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeSnappyBlockAsm64K + JB one_byte_match_emit_encodeSnappyBlockAsm64K CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBlockAsm64K + JB two_bytes_match_emit_encodeSnappyBlockAsm64K + JB three_bytes_match_emit_encodeSnappyBlockAsm64K + +three_bytes_match_emit_encodeSnappyBlockAsm64K: MOVB $0xf4, (AX) MOVW DI, 1(AX) ADDQ $0x03, AX @@ -11556,7 +11616,7 @@ two_bytes_match_emit_encodeSnappyBlockAsm64K: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeSnappyBlockAsm64K + JB memmove_match_emit_encodeSnappyBlockAsm64K JMP memmove_long_match_emit_encodeSnappyBlockAsm64K one_byte_match_emit_encodeSnappyBlockAsm64K: @@ -11569,7 +11629,7 @@ memmove_match_emit_encodeSnappyBlockAsm64K: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBlockAsm64K_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm64K_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm64K_memmove_move_8through16 CMPQ R8, $0x20 @@ -11668,7 +11728,7 @@ match_nolit_loop_encodeSnappyBlockAsm64K: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBlockAsm64K + JB matchlen_match4_match_nolit_encodeSnappyBlockAsm64K matchlen_loopback_match_nolit_encodeSnappyBlockAsm64K: MOVQ (DI)(R9*1), R8 @@ -11691,12 +11751,12 @@ matchlen_loop_match_nolit_encodeSnappyBlockAsm64K: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBlockAsm64K + JAE matchlen_loopback_match_nolit_encodeSnappyBlockAsm64K JZ match_nolit_end_encodeSnappyBlockAsm64K matchlen_match4_match_nolit_encodeSnappyBlockAsm64K: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBlockAsm64K + JB matchlen_match2_match_nolit_encodeSnappyBlockAsm64K MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeSnappyBlockAsm64K @@ -11705,7 +11765,7 @@ matchlen_match4_match_nolit_encodeSnappyBlockAsm64K: matchlen_match2_match_nolit_encodeSnappyBlockAsm64K: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBlockAsm64K + JB matchlen_match1_match_nolit_encodeSnappyBlockAsm64K MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeSnappyBlockAsm64K @@ -11714,7 +11774,7 @@ matchlen_match2_match_nolit_encodeSnappyBlockAsm64K: matchlen_match1_match_nolit_encodeSnappyBlockAsm64K: CMPL SI, $0x01 - JL match_nolit_end_encodeSnappyBlockAsm64K + JB match_nolit_end_encodeSnappyBlockAsm64K MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeSnappyBlockAsm64K @@ -11729,7 +11789,7 @@ match_nolit_end_encodeSnappyBlockAsm64K: // emitCopy two_byte_offset_match_nolit_encodeSnappyBlockAsm64K: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm64K + JBE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm64K MOVB $0xee, (AX) MOVW BX, 1(AX) LEAL -60(R9), R9 @@ -11740,9 +11800,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBlockAsm64K: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm64K + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm64K CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm64K + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm64K LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -11760,10 +11820,10 @@ emit_copy_three_match_nolit_encodeSnappyBlockAsm64K: match_nolit_emitcopy_end_encodeSnappyBlockAsm64K: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm64K + JAE emit_remainder_encodeSnappyBlockAsm64K MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBlockAsm64K + JB match_nolit_dst_ok_encodeSnappyBlockAsm64K MOVQ $0x00000000, ret+48(FP) RET @@ -11793,7 +11853,7 @@ emit_remainder_encodeSnappyBlockAsm64K: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBlockAsm64K + JB emit_remainder_ok_encodeSnappyBlockAsm64K MOVQ $0x00000000, ret+48(FP) RET @@ -11808,9 +11868,12 @@ emit_remainder_ok_encodeSnappyBlockAsm64K: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBlockAsm64K + JB one_byte_emit_remainder_encodeSnappyBlockAsm64K CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBlockAsm64K + JB two_bytes_emit_remainder_encodeSnappyBlockAsm64K + JB three_bytes_emit_remainder_encodeSnappyBlockAsm64K + +three_bytes_emit_remainder_encodeSnappyBlockAsm64K: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -11821,7 +11884,7 @@ two_bytes_emit_remainder_encodeSnappyBlockAsm64K: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBlockAsm64K + JB memmove_emit_remainder_encodeSnappyBlockAsm64K JMP memmove_long_emit_remainder_encodeSnappyBlockAsm64K one_byte_emit_remainder_encodeSnappyBlockAsm64K: @@ -11984,7 +12047,7 @@ search_loop_encodeSnappyBlockAsm12B: SHRL $0x05, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm12B + JAE emit_remainder_encodeSnappyBlockAsm12B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x000000cf1bbcdcbb, R8 @@ -12022,7 +12085,7 @@ search_loop_encodeSnappyBlockAsm12B: repeat_extend_back_loop_encodeSnappyBlockAsm12B: CMPL SI, BX - JLE repeat_extend_back_end_encodeSnappyBlockAsm12B + JBE repeat_extend_back_end_encodeSnappyBlockAsm12B MOVB -1(DX)(DI*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -12041,9 +12104,12 @@ repeat_extend_back_end_encodeSnappyBlockAsm12B: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeSnappyBlockAsm12B + JB one_byte_repeat_emit_encodeSnappyBlockAsm12B CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeSnappyBlockAsm12B + JB two_bytes_repeat_emit_encodeSnappyBlockAsm12B + JB three_bytes_repeat_emit_encodeSnappyBlockAsm12B + +three_bytes_repeat_emit_encodeSnappyBlockAsm12B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -12054,7 +12120,7 @@ two_bytes_repeat_emit_encodeSnappyBlockAsm12B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeSnappyBlockAsm12B + JB memmove_repeat_emit_encodeSnappyBlockAsm12B JMP memmove_long_repeat_emit_encodeSnappyBlockAsm12B one_byte_repeat_emit_encodeSnappyBlockAsm12B: @@ -12067,7 +12133,7 @@ memmove_repeat_emit_encodeSnappyBlockAsm12B: // genMemMoveShort CMPQ DI, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm12B_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm12B_memmove_move_8 CMPQ DI, $0x10 JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm12B_memmove_move_8through16 CMPQ DI, $0x20 @@ -12163,7 +12229,7 @@ emit_literal_done_repeat_emit_encodeSnappyBlockAsm12B: // matchLen XORL R10, R10 CMPL DI, $0x08 - JL matchlen_match4_repeat_extend_encodeSnappyBlockAsm12B + JB matchlen_match4_repeat_extend_encodeSnappyBlockAsm12B matchlen_loopback_repeat_extend_encodeSnappyBlockAsm12B: MOVQ (R8)(R10*1), R9 @@ -12186,12 +12252,12 @@ matchlen_loop_repeat_extend_encodeSnappyBlockAsm12B: LEAL -8(DI), DI LEAL 8(R10), R10 CMPL DI, $0x08 - JGE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm12B + JAE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm12B JZ repeat_extend_forward_end_encodeSnappyBlockAsm12B matchlen_match4_repeat_extend_encodeSnappyBlockAsm12B: CMPL DI, $0x04 - JL matchlen_match2_repeat_extend_encodeSnappyBlockAsm12B + JB matchlen_match2_repeat_extend_encodeSnappyBlockAsm12B MOVL (R8)(R10*1), R9 CMPL (BX)(R10*1), R9 JNE matchlen_match2_repeat_extend_encodeSnappyBlockAsm12B @@ -12200,7 +12266,7 @@ matchlen_match4_repeat_extend_encodeSnappyBlockAsm12B: matchlen_match2_repeat_extend_encodeSnappyBlockAsm12B: CMPL DI, $0x02 - JL matchlen_match1_repeat_extend_encodeSnappyBlockAsm12B + JB matchlen_match1_repeat_extend_encodeSnappyBlockAsm12B MOVW (R8)(R10*1), R9 CMPW (BX)(R10*1), R9 JNE matchlen_match1_repeat_extend_encodeSnappyBlockAsm12B @@ -12209,7 +12275,7 @@ matchlen_match2_repeat_extend_encodeSnappyBlockAsm12B: matchlen_match1_repeat_extend_encodeSnappyBlockAsm12B: CMPL DI, $0x01 - JL repeat_extend_forward_end_encodeSnappyBlockAsm12B + JB repeat_extend_forward_end_encodeSnappyBlockAsm12B MOVB (R8)(R10*1), R9 CMPB (BX)(R10*1), R9 JNE repeat_extend_forward_end_encodeSnappyBlockAsm12B @@ -12224,7 +12290,7 @@ repeat_extend_forward_end_encodeSnappyBlockAsm12B: // emitCopy two_byte_offset_repeat_as_copy_encodeSnappyBlockAsm12B: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm12B + JBE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm12B MOVB $0xee, (AX) MOVW SI, 1(AX) LEAL -60(BX), BX @@ -12235,9 +12301,9 @@ two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm12B: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm12B + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm12B CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm12B + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm12B LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -12288,7 +12354,7 @@ candidate_match_encodeSnappyBlockAsm12B: match_extend_back_loop_encodeSnappyBlockAsm12B: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBlockAsm12B + JBE match_extend_back_end_encodeSnappyBlockAsm12B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -12303,7 +12369,7 @@ match_extend_back_end_encodeSnappyBlockAsm12B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBlockAsm12B + JB match_dst_size_check_encodeSnappyBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -12318,9 +12384,12 @@ match_dst_size_check_encodeSnappyBlockAsm12B: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeSnappyBlockAsm12B + JB one_byte_match_emit_encodeSnappyBlockAsm12B CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBlockAsm12B + JB two_bytes_match_emit_encodeSnappyBlockAsm12B + JB three_bytes_match_emit_encodeSnappyBlockAsm12B + +three_bytes_match_emit_encodeSnappyBlockAsm12B: MOVB $0xf4, (AX) MOVW DI, 1(AX) ADDQ $0x03, AX @@ -12331,7 +12400,7 @@ two_bytes_match_emit_encodeSnappyBlockAsm12B: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeSnappyBlockAsm12B + JB memmove_match_emit_encodeSnappyBlockAsm12B JMP memmove_long_match_emit_encodeSnappyBlockAsm12B one_byte_match_emit_encodeSnappyBlockAsm12B: @@ -12344,7 +12413,7 @@ memmove_match_emit_encodeSnappyBlockAsm12B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBlockAsm12B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm12B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm12B_memmove_move_8through16 CMPQ R8, $0x20 @@ -12443,7 +12512,7 @@ match_nolit_loop_encodeSnappyBlockAsm12B: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBlockAsm12B + JB matchlen_match4_match_nolit_encodeSnappyBlockAsm12B matchlen_loopback_match_nolit_encodeSnappyBlockAsm12B: MOVQ (DI)(R9*1), R8 @@ -12466,12 +12535,12 @@ matchlen_loop_match_nolit_encodeSnappyBlockAsm12B: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBlockAsm12B + JAE matchlen_loopback_match_nolit_encodeSnappyBlockAsm12B JZ match_nolit_end_encodeSnappyBlockAsm12B matchlen_match4_match_nolit_encodeSnappyBlockAsm12B: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBlockAsm12B + JB matchlen_match2_match_nolit_encodeSnappyBlockAsm12B MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeSnappyBlockAsm12B @@ -12480,7 +12549,7 @@ matchlen_match4_match_nolit_encodeSnappyBlockAsm12B: matchlen_match2_match_nolit_encodeSnappyBlockAsm12B: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBlockAsm12B + JB matchlen_match1_match_nolit_encodeSnappyBlockAsm12B MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeSnappyBlockAsm12B @@ -12489,7 +12558,7 @@ matchlen_match2_match_nolit_encodeSnappyBlockAsm12B: matchlen_match1_match_nolit_encodeSnappyBlockAsm12B: CMPL SI, $0x01 - JL match_nolit_end_encodeSnappyBlockAsm12B + JB match_nolit_end_encodeSnappyBlockAsm12B MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeSnappyBlockAsm12B @@ -12504,7 +12573,7 @@ match_nolit_end_encodeSnappyBlockAsm12B: // emitCopy two_byte_offset_match_nolit_encodeSnappyBlockAsm12B: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm12B + JBE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm12B MOVB $0xee, (AX) MOVW BX, 1(AX) LEAL -60(R9), R9 @@ -12515,9 +12584,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBlockAsm12B: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm12B + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm12B CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm12B + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm12B LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -12535,10 +12604,10 @@ emit_copy_three_match_nolit_encodeSnappyBlockAsm12B: match_nolit_emitcopy_end_encodeSnappyBlockAsm12B: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm12B + JAE emit_remainder_encodeSnappyBlockAsm12B MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBlockAsm12B + JB match_nolit_dst_ok_encodeSnappyBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -12568,7 +12637,7 @@ emit_remainder_encodeSnappyBlockAsm12B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBlockAsm12B + JB emit_remainder_ok_encodeSnappyBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -12583,9 +12652,12 @@ emit_remainder_ok_encodeSnappyBlockAsm12B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBlockAsm12B + JB one_byte_emit_remainder_encodeSnappyBlockAsm12B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBlockAsm12B + JB two_bytes_emit_remainder_encodeSnappyBlockAsm12B + JB three_bytes_emit_remainder_encodeSnappyBlockAsm12B + +three_bytes_emit_remainder_encodeSnappyBlockAsm12B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -12596,7 +12668,7 @@ two_bytes_emit_remainder_encodeSnappyBlockAsm12B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBlockAsm12B + JB memmove_emit_remainder_encodeSnappyBlockAsm12B JMP memmove_long_emit_remainder_encodeSnappyBlockAsm12B one_byte_emit_remainder_encodeSnappyBlockAsm12B: @@ -12759,7 +12831,7 @@ search_loop_encodeSnappyBlockAsm10B: SHRL $0x05, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm10B + JAE emit_remainder_encodeSnappyBlockAsm10B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x9e3779b1, R8 @@ -12797,7 +12869,7 @@ search_loop_encodeSnappyBlockAsm10B: repeat_extend_back_loop_encodeSnappyBlockAsm10B: CMPL SI, BX - JLE repeat_extend_back_end_encodeSnappyBlockAsm10B + JBE repeat_extend_back_end_encodeSnappyBlockAsm10B MOVB -1(DX)(DI*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -12816,9 +12888,12 @@ repeat_extend_back_end_encodeSnappyBlockAsm10B: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeSnappyBlockAsm10B + JB one_byte_repeat_emit_encodeSnappyBlockAsm10B CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeSnappyBlockAsm10B + JB two_bytes_repeat_emit_encodeSnappyBlockAsm10B + JB three_bytes_repeat_emit_encodeSnappyBlockAsm10B + +three_bytes_repeat_emit_encodeSnappyBlockAsm10B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -12829,7 +12904,7 @@ two_bytes_repeat_emit_encodeSnappyBlockAsm10B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeSnappyBlockAsm10B + JB memmove_repeat_emit_encodeSnappyBlockAsm10B JMP memmove_long_repeat_emit_encodeSnappyBlockAsm10B one_byte_repeat_emit_encodeSnappyBlockAsm10B: @@ -12842,7 +12917,7 @@ memmove_repeat_emit_encodeSnappyBlockAsm10B: // genMemMoveShort CMPQ DI, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm10B_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm10B_memmove_move_8 CMPQ DI, $0x10 JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm10B_memmove_move_8through16 CMPQ DI, $0x20 @@ -12938,7 +13013,7 @@ emit_literal_done_repeat_emit_encodeSnappyBlockAsm10B: // matchLen XORL R10, R10 CMPL DI, $0x08 - JL matchlen_match4_repeat_extend_encodeSnappyBlockAsm10B + JB matchlen_match4_repeat_extend_encodeSnappyBlockAsm10B matchlen_loopback_repeat_extend_encodeSnappyBlockAsm10B: MOVQ (R8)(R10*1), R9 @@ -12961,12 +13036,12 @@ matchlen_loop_repeat_extend_encodeSnappyBlockAsm10B: LEAL -8(DI), DI LEAL 8(R10), R10 CMPL DI, $0x08 - JGE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm10B + JAE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm10B JZ repeat_extend_forward_end_encodeSnappyBlockAsm10B matchlen_match4_repeat_extend_encodeSnappyBlockAsm10B: CMPL DI, $0x04 - JL matchlen_match2_repeat_extend_encodeSnappyBlockAsm10B + JB matchlen_match2_repeat_extend_encodeSnappyBlockAsm10B MOVL (R8)(R10*1), R9 CMPL (BX)(R10*1), R9 JNE matchlen_match2_repeat_extend_encodeSnappyBlockAsm10B @@ -12975,7 +13050,7 @@ matchlen_match4_repeat_extend_encodeSnappyBlockAsm10B: matchlen_match2_repeat_extend_encodeSnappyBlockAsm10B: CMPL DI, $0x02 - JL matchlen_match1_repeat_extend_encodeSnappyBlockAsm10B + JB matchlen_match1_repeat_extend_encodeSnappyBlockAsm10B MOVW (R8)(R10*1), R9 CMPW (BX)(R10*1), R9 JNE matchlen_match1_repeat_extend_encodeSnappyBlockAsm10B @@ -12984,7 +13059,7 @@ matchlen_match2_repeat_extend_encodeSnappyBlockAsm10B: matchlen_match1_repeat_extend_encodeSnappyBlockAsm10B: CMPL DI, $0x01 - JL repeat_extend_forward_end_encodeSnappyBlockAsm10B + JB repeat_extend_forward_end_encodeSnappyBlockAsm10B MOVB (R8)(R10*1), R9 CMPB (BX)(R10*1), R9 JNE repeat_extend_forward_end_encodeSnappyBlockAsm10B @@ -12999,7 +13074,7 @@ repeat_extend_forward_end_encodeSnappyBlockAsm10B: // emitCopy two_byte_offset_repeat_as_copy_encodeSnappyBlockAsm10B: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm10B + JBE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm10B MOVB $0xee, (AX) MOVW SI, 1(AX) LEAL -60(BX), BX @@ -13010,9 +13085,9 @@ two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm10B: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm10B + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm10B CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm10B + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm10B LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -13063,7 +13138,7 @@ candidate_match_encodeSnappyBlockAsm10B: match_extend_back_loop_encodeSnappyBlockAsm10B: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBlockAsm10B + JBE match_extend_back_end_encodeSnappyBlockAsm10B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -13078,7 +13153,7 @@ match_extend_back_end_encodeSnappyBlockAsm10B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBlockAsm10B + JB match_dst_size_check_encodeSnappyBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -13093,9 +13168,12 @@ match_dst_size_check_encodeSnappyBlockAsm10B: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeSnappyBlockAsm10B + JB one_byte_match_emit_encodeSnappyBlockAsm10B CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBlockAsm10B + JB two_bytes_match_emit_encodeSnappyBlockAsm10B + JB three_bytes_match_emit_encodeSnappyBlockAsm10B + +three_bytes_match_emit_encodeSnappyBlockAsm10B: MOVB $0xf4, (AX) MOVW DI, 1(AX) ADDQ $0x03, AX @@ -13106,7 +13184,7 @@ two_bytes_match_emit_encodeSnappyBlockAsm10B: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeSnappyBlockAsm10B + JB memmove_match_emit_encodeSnappyBlockAsm10B JMP memmove_long_match_emit_encodeSnappyBlockAsm10B one_byte_match_emit_encodeSnappyBlockAsm10B: @@ -13119,7 +13197,7 @@ memmove_match_emit_encodeSnappyBlockAsm10B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBlockAsm10B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm10B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm10B_memmove_move_8through16 CMPQ R8, $0x20 @@ -13218,7 +13296,7 @@ match_nolit_loop_encodeSnappyBlockAsm10B: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBlockAsm10B + JB matchlen_match4_match_nolit_encodeSnappyBlockAsm10B matchlen_loopback_match_nolit_encodeSnappyBlockAsm10B: MOVQ (DI)(R9*1), R8 @@ -13241,12 +13319,12 @@ matchlen_loop_match_nolit_encodeSnappyBlockAsm10B: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBlockAsm10B + JAE matchlen_loopback_match_nolit_encodeSnappyBlockAsm10B JZ match_nolit_end_encodeSnappyBlockAsm10B matchlen_match4_match_nolit_encodeSnappyBlockAsm10B: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBlockAsm10B + JB matchlen_match2_match_nolit_encodeSnappyBlockAsm10B MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeSnappyBlockAsm10B @@ -13255,7 +13333,7 @@ matchlen_match4_match_nolit_encodeSnappyBlockAsm10B: matchlen_match2_match_nolit_encodeSnappyBlockAsm10B: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBlockAsm10B + JB matchlen_match1_match_nolit_encodeSnappyBlockAsm10B MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeSnappyBlockAsm10B @@ -13264,7 +13342,7 @@ matchlen_match2_match_nolit_encodeSnappyBlockAsm10B: matchlen_match1_match_nolit_encodeSnappyBlockAsm10B: CMPL SI, $0x01 - JL match_nolit_end_encodeSnappyBlockAsm10B + JB match_nolit_end_encodeSnappyBlockAsm10B MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeSnappyBlockAsm10B @@ -13279,7 +13357,7 @@ match_nolit_end_encodeSnappyBlockAsm10B: // emitCopy two_byte_offset_match_nolit_encodeSnappyBlockAsm10B: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm10B + JBE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm10B MOVB $0xee, (AX) MOVW BX, 1(AX) LEAL -60(R9), R9 @@ -13290,9 +13368,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBlockAsm10B: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm10B + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm10B CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm10B + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm10B LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -13310,10 +13388,10 @@ emit_copy_three_match_nolit_encodeSnappyBlockAsm10B: match_nolit_emitcopy_end_encodeSnappyBlockAsm10B: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm10B + JAE emit_remainder_encodeSnappyBlockAsm10B MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBlockAsm10B + JB match_nolit_dst_ok_encodeSnappyBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -13343,7 +13421,7 @@ emit_remainder_encodeSnappyBlockAsm10B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBlockAsm10B + JB emit_remainder_ok_encodeSnappyBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -13358,9 +13436,12 @@ emit_remainder_ok_encodeSnappyBlockAsm10B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBlockAsm10B + JB one_byte_emit_remainder_encodeSnappyBlockAsm10B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBlockAsm10B + JB two_bytes_emit_remainder_encodeSnappyBlockAsm10B + JB three_bytes_emit_remainder_encodeSnappyBlockAsm10B + +three_bytes_emit_remainder_encodeSnappyBlockAsm10B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -13371,7 +13452,7 @@ two_bytes_emit_remainder_encodeSnappyBlockAsm10B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBlockAsm10B + JB memmove_emit_remainder_encodeSnappyBlockAsm10B JMP memmove_long_emit_remainder_encodeSnappyBlockAsm10B one_byte_emit_remainder_encodeSnappyBlockAsm10B: @@ -13534,7 +13615,7 @@ search_loop_encodeSnappyBlockAsm8B: SHRL $0x04, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm8B + JAE emit_remainder_encodeSnappyBlockAsm8B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x9e3779b1, R8 @@ -13572,7 +13653,7 @@ search_loop_encodeSnappyBlockAsm8B: repeat_extend_back_loop_encodeSnappyBlockAsm8B: CMPL SI, BX - JLE repeat_extend_back_end_encodeSnappyBlockAsm8B + JBE repeat_extend_back_end_encodeSnappyBlockAsm8B MOVB -1(DX)(DI*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -13591,9 +13672,12 @@ repeat_extend_back_end_encodeSnappyBlockAsm8B: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_encodeSnappyBlockAsm8B + JB one_byte_repeat_emit_encodeSnappyBlockAsm8B CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_encodeSnappyBlockAsm8B + JB two_bytes_repeat_emit_encodeSnappyBlockAsm8B + JB three_bytes_repeat_emit_encodeSnappyBlockAsm8B + +three_bytes_repeat_emit_encodeSnappyBlockAsm8B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -13604,7 +13688,7 @@ two_bytes_repeat_emit_encodeSnappyBlockAsm8B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_encodeSnappyBlockAsm8B + JB memmove_repeat_emit_encodeSnappyBlockAsm8B JMP memmove_long_repeat_emit_encodeSnappyBlockAsm8B one_byte_repeat_emit_encodeSnappyBlockAsm8B: @@ -13617,7 +13701,7 @@ memmove_repeat_emit_encodeSnappyBlockAsm8B: // genMemMoveShort CMPQ DI, $0x08 - JLE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm8B_memmove_move_8 + JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm8B_memmove_move_8 CMPQ DI, $0x10 JBE emit_lit_memmove_repeat_emit_encodeSnappyBlockAsm8B_memmove_move_8through16 CMPQ DI, $0x20 @@ -13713,7 +13797,7 @@ emit_literal_done_repeat_emit_encodeSnappyBlockAsm8B: // matchLen XORL R10, R10 CMPL DI, $0x08 - JL matchlen_match4_repeat_extend_encodeSnappyBlockAsm8B + JB matchlen_match4_repeat_extend_encodeSnappyBlockAsm8B matchlen_loopback_repeat_extend_encodeSnappyBlockAsm8B: MOVQ (R8)(R10*1), R9 @@ -13736,12 +13820,12 @@ matchlen_loop_repeat_extend_encodeSnappyBlockAsm8B: LEAL -8(DI), DI LEAL 8(R10), R10 CMPL DI, $0x08 - JGE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm8B + JAE matchlen_loopback_repeat_extend_encodeSnappyBlockAsm8B JZ repeat_extend_forward_end_encodeSnappyBlockAsm8B matchlen_match4_repeat_extend_encodeSnappyBlockAsm8B: CMPL DI, $0x04 - JL matchlen_match2_repeat_extend_encodeSnappyBlockAsm8B + JB matchlen_match2_repeat_extend_encodeSnappyBlockAsm8B MOVL (R8)(R10*1), R9 CMPL (BX)(R10*1), R9 JNE matchlen_match2_repeat_extend_encodeSnappyBlockAsm8B @@ -13750,7 +13834,7 @@ matchlen_match4_repeat_extend_encodeSnappyBlockAsm8B: matchlen_match2_repeat_extend_encodeSnappyBlockAsm8B: CMPL DI, $0x02 - JL matchlen_match1_repeat_extend_encodeSnappyBlockAsm8B + JB matchlen_match1_repeat_extend_encodeSnappyBlockAsm8B MOVW (R8)(R10*1), R9 CMPW (BX)(R10*1), R9 JNE matchlen_match1_repeat_extend_encodeSnappyBlockAsm8B @@ -13759,7 +13843,7 @@ matchlen_match2_repeat_extend_encodeSnappyBlockAsm8B: matchlen_match1_repeat_extend_encodeSnappyBlockAsm8B: CMPL DI, $0x01 - JL repeat_extend_forward_end_encodeSnappyBlockAsm8B + JB repeat_extend_forward_end_encodeSnappyBlockAsm8B MOVB (R8)(R10*1), R9 CMPB (BX)(R10*1), R9 JNE repeat_extend_forward_end_encodeSnappyBlockAsm8B @@ -13774,7 +13858,7 @@ repeat_extend_forward_end_encodeSnappyBlockAsm8B: // emitCopy two_byte_offset_repeat_as_copy_encodeSnappyBlockAsm8B: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm8B + JBE two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm8B MOVB $0xee, (AX) MOVW SI, 1(AX) LEAL -60(BX), BX @@ -13785,7 +13869,7 @@ two_byte_offset_short_repeat_as_copy_encodeSnappyBlockAsm8B: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm8B + JAE emit_copy_three_repeat_as_copy_encodeSnappyBlockAsm8B LEAL -15(DI), DI MOVB SI, 1(AX) SHRL $0x08, SI @@ -13836,7 +13920,7 @@ candidate_match_encodeSnappyBlockAsm8B: match_extend_back_loop_encodeSnappyBlockAsm8B: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBlockAsm8B + JBE match_extend_back_end_encodeSnappyBlockAsm8B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -13851,7 +13935,7 @@ match_extend_back_end_encodeSnappyBlockAsm8B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBlockAsm8B + JB match_dst_size_check_encodeSnappyBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -13866,9 +13950,12 @@ match_dst_size_check_encodeSnappyBlockAsm8B: SUBL DI, R8 LEAL -1(R8), DI CMPL DI, $0x3c - JLT one_byte_match_emit_encodeSnappyBlockAsm8B + JB one_byte_match_emit_encodeSnappyBlockAsm8B CMPL DI, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBlockAsm8B + JB two_bytes_match_emit_encodeSnappyBlockAsm8B + JB three_bytes_match_emit_encodeSnappyBlockAsm8B + +three_bytes_match_emit_encodeSnappyBlockAsm8B: MOVB $0xf4, (AX) MOVW DI, 1(AX) ADDQ $0x03, AX @@ -13879,7 +13966,7 @@ two_bytes_match_emit_encodeSnappyBlockAsm8B: MOVB DI, 1(AX) ADDQ $0x02, AX CMPL DI, $0x40 - JL memmove_match_emit_encodeSnappyBlockAsm8B + JB memmove_match_emit_encodeSnappyBlockAsm8B JMP memmove_long_match_emit_encodeSnappyBlockAsm8B one_byte_match_emit_encodeSnappyBlockAsm8B: @@ -13892,7 +13979,7 @@ memmove_match_emit_encodeSnappyBlockAsm8B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBlockAsm8B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm8B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBlockAsm8B_memmove_move_8through16 CMPQ R8, $0x20 @@ -13991,7 +14078,7 @@ match_nolit_loop_encodeSnappyBlockAsm8B: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBlockAsm8B + JB matchlen_match4_match_nolit_encodeSnappyBlockAsm8B matchlen_loopback_match_nolit_encodeSnappyBlockAsm8B: MOVQ (DI)(R9*1), R8 @@ -14014,12 +14101,12 @@ matchlen_loop_match_nolit_encodeSnappyBlockAsm8B: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBlockAsm8B + JAE matchlen_loopback_match_nolit_encodeSnappyBlockAsm8B JZ match_nolit_end_encodeSnappyBlockAsm8B matchlen_match4_match_nolit_encodeSnappyBlockAsm8B: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBlockAsm8B + JB matchlen_match2_match_nolit_encodeSnappyBlockAsm8B MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_encodeSnappyBlockAsm8B @@ -14028,7 +14115,7 @@ matchlen_match4_match_nolit_encodeSnappyBlockAsm8B: matchlen_match2_match_nolit_encodeSnappyBlockAsm8B: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBlockAsm8B + JB matchlen_match1_match_nolit_encodeSnappyBlockAsm8B MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_encodeSnappyBlockAsm8B @@ -14037,7 +14124,7 @@ matchlen_match2_match_nolit_encodeSnappyBlockAsm8B: matchlen_match1_match_nolit_encodeSnappyBlockAsm8B: CMPL SI, $0x01 - JL match_nolit_end_encodeSnappyBlockAsm8B + JB match_nolit_end_encodeSnappyBlockAsm8B MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_encodeSnappyBlockAsm8B @@ -14052,7 +14139,7 @@ match_nolit_end_encodeSnappyBlockAsm8B: // emitCopy two_byte_offset_match_nolit_encodeSnappyBlockAsm8B: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm8B + JBE two_byte_offset_short_match_nolit_encodeSnappyBlockAsm8B MOVB $0xee, (AX) MOVW BX, 1(AX) LEAL -60(R9), R9 @@ -14063,7 +14150,7 @@ two_byte_offset_short_match_nolit_encodeSnappyBlockAsm8B: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBlockAsm8B + JAE emit_copy_three_match_nolit_encodeSnappyBlockAsm8B LEAL -15(SI), SI MOVB BL, 1(AX) SHRL $0x08, BX @@ -14081,10 +14168,10 @@ emit_copy_three_match_nolit_encodeSnappyBlockAsm8B: match_nolit_emitcopy_end_encodeSnappyBlockAsm8B: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBlockAsm8B + JAE emit_remainder_encodeSnappyBlockAsm8B MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBlockAsm8B + JB match_nolit_dst_ok_encodeSnappyBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -14114,7 +14201,7 @@ emit_remainder_encodeSnappyBlockAsm8B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBlockAsm8B + JB emit_remainder_ok_encodeSnappyBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -14129,9 +14216,12 @@ emit_remainder_ok_encodeSnappyBlockAsm8B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBlockAsm8B + JB one_byte_emit_remainder_encodeSnappyBlockAsm8B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBlockAsm8B + JB two_bytes_emit_remainder_encodeSnappyBlockAsm8B + JB three_bytes_emit_remainder_encodeSnappyBlockAsm8B + +three_bytes_emit_remainder_encodeSnappyBlockAsm8B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -14142,7 +14232,7 @@ two_bytes_emit_remainder_encodeSnappyBlockAsm8B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBlockAsm8B + JB memmove_emit_remainder_encodeSnappyBlockAsm8B JMP memmove_long_emit_remainder_encodeSnappyBlockAsm8B one_byte_emit_remainder_encodeSnappyBlockAsm8B: @@ -14304,7 +14394,7 @@ search_loop_encodeSnappyBetterBlockAsm: SUBL 12(SP), BX SHRL $0x07, BX CMPL BX, $0x63 - JLE check_maxskip_ok_encodeSnappyBetterBlockAsm + JBE check_maxskip_ok_encodeSnappyBetterBlockAsm LEAL 100(CX), BX JMP check_maxskip_cont_encodeSnappyBetterBlockAsm @@ -14313,7 +14403,7 @@ check_maxskip_ok_encodeSnappyBetterBlockAsm: check_maxskip_cont_encodeSnappyBetterBlockAsm: CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm + JAE emit_remainder_encodeSnappyBetterBlockAsm MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x00cf1bbcdcbfa563, R8 @@ -14368,7 +14458,7 @@ candidate_match_encodeSnappyBetterBlockAsm: match_extend_back_loop_encodeSnappyBetterBlockAsm: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBetterBlockAsm + JBE match_extend_back_end_encodeSnappyBetterBlockAsm MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -14383,7 +14473,7 @@ match_extend_back_end_encodeSnappyBetterBlockAsm: SUBL 12(SP), SI LEAQ 5(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBetterBlockAsm + JB match_dst_size_check_encodeSnappyBetterBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -14399,7 +14489,7 @@ match_dst_size_check_encodeSnappyBetterBlockAsm: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm + JB matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm: MOVQ (R8)(R11*1), R10 @@ -14422,12 +14512,12 @@ matchlen_loop_match_nolit_encodeSnappyBetterBlockAsm: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm + JAE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm JZ match_nolit_end_encodeSnappyBetterBlockAsm matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm + JB matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm @@ -14436,7 +14526,7 @@ matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm: matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm + JB matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm @@ -14445,7 +14535,7 @@ matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm: matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm: CMPL DI, $0x01 - JL match_nolit_end_encodeSnappyBetterBlockAsm + JB match_nolit_end_encodeSnappyBetterBlockAsm MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeSnappyBetterBlockAsm @@ -14457,9 +14547,9 @@ match_nolit_end_encodeSnappyBetterBlockAsm: // Check if repeat CMPL R11, $0x01 - JG match_length_ok_encodeSnappyBetterBlockAsm + JA match_length_ok_encodeSnappyBetterBlockAsm CMPL DI, $0x0000ffff - JLE match_length_ok_encodeSnappyBetterBlockAsm + JBE match_length_ok_encodeSnappyBetterBlockAsm MOVL 20(SP), CX INCL CX JMP search_loop_encodeSnappyBetterBlockAsm @@ -14475,13 +14565,13 @@ match_length_ok_encodeSnappyBetterBlockAsm: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeSnappyBetterBlockAsm + JB one_byte_match_emit_encodeSnappyBetterBlockAsm CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBetterBlockAsm + JB two_bytes_match_emit_encodeSnappyBetterBlockAsm CMPL BX, $0x00010000 - JLT three_bytes_match_emit_encodeSnappyBetterBlockAsm + JB three_bytes_match_emit_encodeSnappyBetterBlockAsm CMPL BX, $0x01000000 - JLT four_bytes_match_emit_encodeSnappyBetterBlockAsm + JB four_bytes_match_emit_encodeSnappyBetterBlockAsm MOVB $0xfc, (AX) MOVL BX, 1(AX) ADDQ $0x05, AX @@ -14507,7 +14597,7 @@ two_bytes_match_emit_encodeSnappyBetterBlockAsm: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeSnappyBetterBlockAsm + JB memmove_match_emit_encodeSnappyBetterBlockAsm JMP memmove_long_match_emit_encodeSnappyBetterBlockAsm one_byte_match_emit_encodeSnappyBetterBlockAsm: @@ -14520,7 +14610,7 @@ memmove_match_emit_encodeSnappyBetterBlockAsm: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm_memmove_move_8through16 CMPQ R8, $0x20 @@ -14611,17 +14701,17 @@ emit_literal_done_match_emit_encodeSnappyBetterBlockAsm: // emitCopy CMPL DI, $0x00010000 - JL two_byte_offset_match_nolit_encodeSnappyBetterBlockAsm + JB two_byte_offset_match_nolit_encodeSnappyBetterBlockAsm four_bytes_loop_back_match_nolit_encodeSnappyBetterBlockAsm: CMPL R11, $0x40 - JLE four_bytes_remain_match_nolit_encodeSnappyBetterBlockAsm + JBE four_bytes_remain_match_nolit_encodeSnappyBetterBlockAsm MOVB $0xff, (AX) MOVL DI, 1(AX) LEAL -64(R11), R11 ADDQ $0x05, AX CMPL R11, $0x04 - JL four_bytes_remain_match_nolit_encodeSnappyBetterBlockAsm + JB four_bytes_remain_match_nolit_encodeSnappyBetterBlockAsm JMP four_bytes_loop_back_match_nolit_encodeSnappyBetterBlockAsm four_bytes_remain_match_nolit_encodeSnappyBetterBlockAsm: @@ -14636,7 +14726,7 @@ four_bytes_remain_match_nolit_encodeSnappyBetterBlockAsm: two_byte_offset_match_nolit_encodeSnappyBetterBlockAsm: CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm + JBE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm MOVB $0xee, (AX) MOVW DI, 1(AX) LEAL -60(R11), R11 @@ -14647,9 +14737,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -14667,9 +14757,9 @@ emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm: match_nolit_emitcopy_end_encodeSnappyBetterBlockAsm: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm + JAE emit_remainder_encodeSnappyBetterBlockAsm CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBetterBlockAsm + JB match_nolit_dst_ok_encodeSnappyBetterBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -14725,7 +14815,7 @@ emit_remainder_encodeSnappyBetterBlockAsm: SUBL 12(SP), CX LEAQ 5(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBetterBlockAsm + JB emit_remainder_ok_encodeSnappyBetterBlockAsm MOVQ $0x00000000, ret+48(FP) RET @@ -14740,13 +14830,13 @@ emit_remainder_ok_encodeSnappyBetterBlockAsm: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBetterBlockAsm + JB one_byte_emit_remainder_encodeSnappyBetterBlockAsm CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBetterBlockAsm + JB two_bytes_emit_remainder_encodeSnappyBetterBlockAsm CMPL DX, $0x00010000 - JLT three_bytes_emit_remainder_encodeSnappyBetterBlockAsm + JB three_bytes_emit_remainder_encodeSnappyBetterBlockAsm CMPL DX, $0x01000000 - JLT four_bytes_emit_remainder_encodeSnappyBetterBlockAsm + JB four_bytes_emit_remainder_encodeSnappyBetterBlockAsm MOVB $0xfc, (AX) MOVL DX, 1(AX) ADDQ $0x05, AX @@ -14772,7 +14862,7 @@ two_bytes_emit_remainder_encodeSnappyBetterBlockAsm: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBetterBlockAsm + JB memmove_emit_remainder_encodeSnappyBetterBlockAsm JMP memmove_long_emit_remainder_encodeSnappyBetterBlockAsm one_byte_emit_remainder_encodeSnappyBetterBlockAsm: @@ -14935,7 +15025,7 @@ search_loop_encodeSnappyBetterBlockAsm64K: SHRL $0x07, BX LEAL 1(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm64K + JAE emit_remainder_encodeSnappyBetterBlockAsm64K MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x00cf1bbcdcbfa563, R8 @@ -14990,7 +15080,7 @@ candidate_match_encodeSnappyBetterBlockAsm64K: match_extend_back_loop_encodeSnappyBetterBlockAsm64K: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBetterBlockAsm64K + JBE match_extend_back_end_encodeSnappyBetterBlockAsm64K MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -15005,7 +15095,7 @@ match_extend_back_end_encodeSnappyBetterBlockAsm64K: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBetterBlockAsm64K + JB match_dst_size_check_encodeSnappyBetterBlockAsm64K MOVQ $0x00000000, ret+48(FP) RET @@ -15021,7 +15111,7 @@ match_dst_size_check_encodeSnappyBetterBlockAsm64K: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm64K + JB matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm64K matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm64K: MOVQ (R8)(R11*1), R10 @@ -15044,12 +15134,12 @@ matchlen_loop_match_nolit_encodeSnappyBetterBlockAsm64K: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm64K + JAE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm64K JZ match_nolit_end_encodeSnappyBetterBlockAsm64K matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm64K: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm64K + JB matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm64K MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm64K @@ -15058,7 +15148,7 @@ matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm64K: matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm64K: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm64K + JB matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm64K MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm64K @@ -15067,7 +15157,7 @@ matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm64K: matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm64K: CMPL DI, $0x01 - JL match_nolit_end_encodeSnappyBetterBlockAsm64K + JB match_nolit_end_encodeSnappyBetterBlockAsm64K MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeSnappyBetterBlockAsm64K @@ -15088,9 +15178,12 @@ match_nolit_end_encodeSnappyBetterBlockAsm64K: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeSnappyBetterBlockAsm64K + JB one_byte_match_emit_encodeSnappyBetterBlockAsm64K CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBetterBlockAsm64K + JB two_bytes_match_emit_encodeSnappyBetterBlockAsm64K + JB three_bytes_match_emit_encodeSnappyBetterBlockAsm64K + +three_bytes_match_emit_encodeSnappyBetterBlockAsm64K: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -15101,7 +15194,7 @@ two_bytes_match_emit_encodeSnappyBetterBlockAsm64K: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeSnappyBetterBlockAsm64K + JB memmove_match_emit_encodeSnappyBetterBlockAsm64K JMP memmove_long_match_emit_encodeSnappyBetterBlockAsm64K one_byte_match_emit_encodeSnappyBetterBlockAsm64K: @@ -15114,7 +15207,7 @@ memmove_match_emit_encodeSnappyBetterBlockAsm64K: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm64K_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm64K_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm64K_memmove_move_8through16 CMPQ R8, $0x20 @@ -15206,7 +15299,7 @@ emit_literal_done_match_emit_encodeSnappyBetterBlockAsm64K: // emitCopy two_byte_offset_match_nolit_encodeSnappyBetterBlockAsm64K: CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm64K + JBE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm64K MOVB $0xee, (AX) MOVW DI, 1(AX) LEAL -60(R11), R11 @@ -15217,9 +15310,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm64K: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm64K + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm64K CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm64K + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm64K LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -15237,9 +15330,9 @@ emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm64K: match_nolit_emitcopy_end_encodeSnappyBetterBlockAsm64K: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm64K + JAE emit_remainder_encodeSnappyBetterBlockAsm64K CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBetterBlockAsm64K + JB match_nolit_dst_ok_encodeSnappyBetterBlockAsm64K MOVQ $0x00000000, ret+48(FP) RET @@ -15295,7 +15388,7 @@ emit_remainder_encodeSnappyBetterBlockAsm64K: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBetterBlockAsm64K + JB emit_remainder_ok_encodeSnappyBetterBlockAsm64K MOVQ $0x00000000, ret+48(FP) RET @@ -15310,9 +15403,12 @@ emit_remainder_ok_encodeSnappyBetterBlockAsm64K: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBetterBlockAsm64K + JB one_byte_emit_remainder_encodeSnappyBetterBlockAsm64K CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBetterBlockAsm64K + JB two_bytes_emit_remainder_encodeSnappyBetterBlockAsm64K + JB three_bytes_emit_remainder_encodeSnappyBetterBlockAsm64K + +three_bytes_emit_remainder_encodeSnappyBetterBlockAsm64K: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -15323,7 +15419,7 @@ two_bytes_emit_remainder_encodeSnappyBetterBlockAsm64K: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBetterBlockAsm64K + JB memmove_emit_remainder_encodeSnappyBetterBlockAsm64K JMP memmove_long_emit_remainder_encodeSnappyBetterBlockAsm64K one_byte_emit_remainder_encodeSnappyBetterBlockAsm64K: @@ -15486,7 +15582,7 @@ search_loop_encodeSnappyBetterBlockAsm12B: SHRL $0x06, BX LEAL 1(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm12B + JAE emit_remainder_encodeSnappyBetterBlockAsm12B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -15541,7 +15637,7 @@ candidate_match_encodeSnappyBetterBlockAsm12B: match_extend_back_loop_encodeSnappyBetterBlockAsm12B: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBetterBlockAsm12B + JBE match_extend_back_end_encodeSnappyBetterBlockAsm12B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -15556,7 +15652,7 @@ match_extend_back_end_encodeSnappyBetterBlockAsm12B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBetterBlockAsm12B + JB match_dst_size_check_encodeSnappyBetterBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -15572,7 +15668,7 @@ match_dst_size_check_encodeSnappyBetterBlockAsm12B: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm12B + JB matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm12B matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm12B: MOVQ (R8)(R11*1), R10 @@ -15595,12 +15691,12 @@ matchlen_loop_match_nolit_encodeSnappyBetterBlockAsm12B: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm12B + JAE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm12B JZ match_nolit_end_encodeSnappyBetterBlockAsm12B matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm12B: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm12B + JB matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm12B MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm12B @@ -15609,7 +15705,7 @@ matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm12B: matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm12B: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm12B + JB matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm12B MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm12B @@ -15618,7 +15714,7 @@ matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm12B: matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm12B: CMPL DI, $0x01 - JL match_nolit_end_encodeSnappyBetterBlockAsm12B + JB match_nolit_end_encodeSnappyBetterBlockAsm12B MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeSnappyBetterBlockAsm12B @@ -15639,9 +15735,12 @@ match_nolit_end_encodeSnappyBetterBlockAsm12B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeSnappyBetterBlockAsm12B + JB one_byte_match_emit_encodeSnappyBetterBlockAsm12B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBetterBlockAsm12B + JB two_bytes_match_emit_encodeSnappyBetterBlockAsm12B + JB three_bytes_match_emit_encodeSnappyBetterBlockAsm12B + +three_bytes_match_emit_encodeSnappyBetterBlockAsm12B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -15652,7 +15751,7 @@ two_bytes_match_emit_encodeSnappyBetterBlockAsm12B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeSnappyBetterBlockAsm12B + JB memmove_match_emit_encodeSnappyBetterBlockAsm12B JMP memmove_long_match_emit_encodeSnappyBetterBlockAsm12B one_byte_match_emit_encodeSnappyBetterBlockAsm12B: @@ -15665,7 +15764,7 @@ memmove_match_emit_encodeSnappyBetterBlockAsm12B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm12B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm12B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm12B_memmove_move_8through16 CMPQ R8, $0x20 @@ -15757,7 +15856,7 @@ emit_literal_done_match_emit_encodeSnappyBetterBlockAsm12B: // emitCopy two_byte_offset_match_nolit_encodeSnappyBetterBlockAsm12B: CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm12B + JBE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm12B MOVB $0xee, (AX) MOVW DI, 1(AX) LEAL -60(R11), R11 @@ -15768,9 +15867,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm12B: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm12B + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm12B CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm12B + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm12B LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -15788,9 +15887,9 @@ emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm12B: match_nolit_emitcopy_end_encodeSnappyBetterBlockAsm12B: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm12B + JAE emit_remainder_encodeSnappyBetterBlockAsm12B CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBetterBlockAsm12B + JB match_nolit_dst_ok_encodeSnappyBetterBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -15846,7 +15945,7 @@ emit_remainder_encodeSnappyBetterBlockAsm12B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBetterBlockAsm12B + JB emit_remainder_ok_encodeSnappyBetterBlockAsm12B MOVQ $0x00000000, ret+48(FP) RET @@ -15861,9 +15960,12 @@ emit_remainder_ok_encodeSnappyBetterBlockAsm12B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBetterBlockAsm12B + JB one_byte_emit_remainder_encodeSnappyBetterBlockAsm12B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBetterBlockAsm12B + JB two_bytes_emit_remainder_encodeSnappyBetterBlockAsm12B + JB three_bytes_emit_remainder_encodeSnappyBetterBlockAsm12B + +three_bytes_emit_remainder_encodeSnappyBetterBlockAsm12B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -15874,7 +15976,7 @@ two_bytes_emit_remainder_encodeSnappyBetterBlockAsm12B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBetterBlockAsm12B + JB memmove_emit_remainder_encodeSnappyBetterBlockAsm12B JMP memmove_long_emit_remainder_encodeSnappyBetterBlockAsm12B one_byte_emit_remainder_encodeSnappyBetterBlockAsm12B: @@ -16037,7 +16139,7 @@ search_loop_encodeSnappyBetterBlockAsm10B: SHRL $0x05, BX LEAL 1(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm10B + JAE emit_remainder_encodeSnappyBetterBlockAsm10B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -16092,7 +16194,7 @@ candidate_match_encodeSnappyBetterBlockAsm10B: match_extend_back_loop_encodeSnappyBetterBlockAsm10B: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBetterBlockAsm10B + JBE match_extend_back_end_encodeSnappyBetterBlockAsm10B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -16107,7 +16209,7 @@ match_extend_back_end_encodeSnappyBetterBlockAsm10B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBetterBlockAsm10B + JB match_dst_size_check_encodeSnappyBetterBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -16123,7 +16225,7 @@ match_dst_size_check_encodeSnappyBetterBlockAsm10B: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm10B + JB matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm10B matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm10B: MOVQ (R8)(R11*1), R10 @@ -16146,12 +16248,12 @@ matchlen_loop_match_nolit_encodeSnappyBetterBlockAsm10B: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm10B + JAE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm10B JZ match_nolit_end_encodeSnappyBetterBlockAsm10B matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm10B: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm10B + JB matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm10B MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm10B @@ -16160,7 +16262,7 @@ matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm10B: matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm10B: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm10B + JB matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm10B MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm10B @@ -16169,7 +16271,7 @@ matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm10B: matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm10B: CMPL DI, $0x01 - JL match_nolit_end_encodeSnappyBetterBlockAsm10B + JB match_nolit_end_encodeSnappyBetterBlockAsm10B MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeSnappyBetterBlockAsm10B @@ -16190,9 +16292,12 @@ match_nolit_end_encodeSnappyBetterBlockAsm10B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeSnappyBetterBlockAsm10B + JB one_byte_match_emit_encodeSnappyBetterBlockAsm10B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBetterBlockAsm10B + JB two_bytes_match_emit_encodeSnappyBetterBlockAsm10B + JB three_bytes_match_emit_encodeSnappyBetterBlockAsm10B + +three_bytes_match_emit_encodeSnappyBetterBlockAsm10B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -16203,7 +16308,7 @@ two_bytes_match_emit_encodeSnappyBetterBlockAsm10B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeSnappyBetterBlockAsm10B + JB memmove_match_emit_encodeSnappyBetterBlockAsm10B JMP memmove_long_match_emit_encodeSnappyBetterBlockAsm10B one_byte_match_emit_encodeSnappyBetterBlockAsm10B: @@ -16216,7 +16321,7 @@ memmove_match_emit_encodeSnappyBetterBlockAsm10B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm10B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm10B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm10B_memmove_move_8through16 CMPQ R8, $0x20 @@ -16308,7 +16413,7 @@ emit_literal_done_match_emit_encodeSnappyBetterBlockAsm10B: // emitCopy two_byte_offset_match_nolit_encodeSnappyBetterBlockAsm10B: CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm10B + JBE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm10B MOVB $0xee, (AX) MOVW DI, 1(AX) LEAL -60(R11), R11 @@ -16319,9 +16424,9 @@ two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm10B: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm10B + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm10B CMPL DI, $0x00000800 - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm10B + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm10B LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -16339,9 +16444,9 @@ emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm10B: match_nolit_emitcopy_end_encodeSnappyBetterBlockAsm10B: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm10B + JAE emit_remainder_encodeSnappyBetterBlockAsm10B CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBetterBlockAsm10B + JB match_nolit_dst_ok_encodeSnappyBetterBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -16397,7 +16502,7 @@ emit_remainder_encodeSnappyBetterBlockAsm10B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBetterBlockAsm10B + JB emit_remainder_ok_encodeSnappyBetterBlockAsm10B MOVQ $0x00000000, ret+48(FP) RET @@ -16412,9 +16517,12 @@ emit_remainder_ok_encodeSnappyBetterBlockAsm10B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBetterBlockAsm10B + JB one_byte_emit_remainder_encodeSnappyBetterBlockAsm10B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBetterBlockAsm10B + JB two_bytes_emit_remainder_encodeSnappyBetterBlockAsm10B + JB three_bytes_emit_remainder_encodeSnappyBetterBlockAsm10B + +three_bytes_emit_remainder_encodeSnappyBetterBlockAsm10B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -16425,7 +16533,7 @@ two_bytes_emit_remainder_encodeSnappyBetterBlockAsm10B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBetterBlockAsm10B + JB memmove_emit_remainder_encodeSnappyBetterBlockAsm10B JMP memmove_long_emit_remainder_encodeSnappyBetterBlockAsm10B one_byte_emit_remainder_encodeSnappyBetterBlockAsm10B: @@ -16588,7 +16696,7 @@ search_loop_encodeSnappyBetterBlockAsm8B: SHRL $0x04, BX LEAL 1(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm8B + JAE emit_remainder_encodeSnappyBetterBlockAsm8B MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -16643,7 +16751,7 @@ candidate_match_encodeSnappyBetterBlockAsm8B: match_extend_back_loop_encodeSnappyBetterBlockAsm8B: CMPL CX, SI - JLE match_extend_back_end_encodeSnappyBetterBlockAsm8B + JBE match_extend_back_end_encodeSnappyBetterBlockAsm8B MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -16658,7 +16766,7 @@ match_extend_back_end_encodeSnappyBetterBlockAsm8B: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_encodeSnappyBetterBlockAsm8B + JB match_dst_size_check_encodeSnappyBetterBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -16674,7 +16782,7 @@ match_dst_size_check_encodeSnappyBetterBlockAsm8B: // matchLen XORL R11, R11 CMPL DI, $0x08 - JL matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm8B + JB matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm8B matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm8B: MOVQ (R8)(R11*1), R10 @@ -16697,12 +16805,12 @@ matchlen_loop_match_nolit_encodeSnappyBetterBlockAsm8B: LEAL -8(DI), DI LEAL 8(R11), R11 CMPL DI, $0x08 - JGE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm8B + JAE matchlen_loopback_match_nolit_encodeSnappyBetterBlockAsm8B JZ match_nolit_end_encodeSnappyBetterBlockAsm8B matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm8B: CMPL DI, $0x04 - JL matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm8B + JB matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm8B MOVL (R8)(R11*1), R10 CMPL (R9)(R11*1), R10 JNE matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm8B @@ -16711,7 +16819,7 @@ matchlen_match4_match_nolit_encodeSnappyBetterBlockAsm8B: matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm8B: CMPL DI, $0x02 - JL matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm8B + JB matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm8B MOVW (R8)(R11*1), R10 CMPW (R9)(R11*1), R10 JNE matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm8B @@ -16720,7 +16828,7 @@ matchlen_match2_match_nolit_encodeSnappyBetterBlockAsm8B: matchlen_match1_match_nolit_encodeSnappyBetterBlockAsm8B: CMPL DI, $0x01 - JL match_nolit_end_encodeSnappyBetterBlockAsm8B + JB match_nolit_end_encodeSnappyBetterBlockAsm8B MOVB (R8)(R11*1), R10 CMPB (R9)(R11*1), R10 JNE match_nolit_end_encodeSnappyBetterBlockAsm8B @@ -16741,9 +16849,12 @@ match_nolit_end_encodeSnappyBetterBlockAsm8B: SUBL BX, R8 LEAL -1(R8), BX CMPL BX, $0x3c - JLT one_byte_match_emit_encodeSnappyBetterBlockAsm8B + JB one_byte_match_emit_encodeSnappyBetterBlockAsm8B CMPL BX, $0x00000100 - JLT two_bytes_match_emit_encodeSnappyBetterBlockAsm8B + JB two_bytes_match_emit_encodeSnappyBetterBlockAsm8B + JB three_bytes_match_emit_encodeSnappyBetterBlockAsm8B + +three_bytes_match_emit_encodeSnappyBetterBlockAsm8B: MOVB $0xf4, (AX) MOVW BX, 1(AX) ADDQ $0x03, AX @@ -16754,7 +16865,7 @@ two_bytes_match_emit_encodeSnappyBetterBlockAsm8B: MOVB BL, 1(AX) ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_match_emit_encodeSnappyBetterBlockAsm8B + JB memmove_match_emit_encodeSnappyBetterBlockAsm8B JMP memmove_long_match_emit_encodeSnappyBetterBlockAsm8B one_byte_match_emit_encodeSnappyBetterBlockAsm8B: @@ -16767,7 +16878,7 @@ memmove_match_emit_encodeSnappyBetterBlockAsm8B: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm8B_memmove_move_8 + JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm8B_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_match_emit_encodeSnappyBetterBlockAsm8B_memmove_move_8through16 CMPQ R8, $0x20 @@ -16859,7 +16970,7 @@ emit_literal_done_match_emit_encodeSnappyBetterBlockAsm8B: // emitCopy two_byte_offset_match_nolit_encodeSnappyBetterBlockAsm8B: CMPL R11, $0x40 - JLE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm8B + JBE two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm8B MOVB $0xee, (AX) MOVW DI, 1(AX) LEAL -60(R11), R11 @@ -16870,7 +16981,7 @@ two_byte_offset_short_match_nolit_encodeSnappyBetterBlockAsm8B: MOVL R11, BX SHLL $0x02, BX CMPL R11, $0x0c - JGE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm8B + JAE emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm8B LEAL -15(BX), BX MOVB DI, 1(AX) SHRL $0x08, DI @@ -16888,9 +16999,9 @@ emit_copy_three_match_nolit_encodeSnappyBetterBlockAsm8B: match_nolit_emitcopy_end_encodeSnappyBetterBlockAsm8B: CMPL CX, 8(SP) - JGE emit_remainder_encodeSnappyBetterBlockAsm8B + JAE emit_remainder_encodeSnappyBetterBlockAsm8B CMPQ AX, (SP) - JL match_nolit_dst_ok_encodeSnappyBetterBlockAsm8B + JB match_nolit_dst_ok_encodeSnappyBetterBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -16946,7 +17057,7 @@ emit_remainder_encodeSnappyBetterBlockAsm8B: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_encodeSnappyBetterBlockAsm8B + JB emit_remainder_ok_encodeSnappyBetterBlockAsm8B MOVQ $0x00000000, ret+48(FP) RET @@ -16961,9 +17072,12 @@ emit_remainder_ok_encodeSnappyBetterBlockAsm8B: SUBL BX, SI LEAL -1(SI), DX CMPL DX, $0x3c - JLT one_byte_emit_remainder_encodeSnappyBetterBlockAsm8B + JB one_byte_emit_remainder_encodeSnappyBetterBlockAsm8B CMPL DX, $0x00000100 - JLT two_bytes_emit_remainder_encodeSnappyBetterBlockAsm8B + JB two_bytes_emit_remainder_encodeSnappyBetterBlockAsm8B + JB three_bytes_emit_remainder_encodeSnappyBetterBlockAsm8B + +three_bytes_emit_remainder_encodeSnappyBetterBlockAsm8B: MOVB $0xf4, (AX) MOVW DX, 1(AX) ADDQ $0x03, AX @@ -16974,7 +17088,7 @@ two_bytes_emit_remainder_encodeSnappyBetterBlockAsm8B: MOVB DL, 1(AX) ADDQ $0x02, AX CMPL DX, $0x40 - JL memmove_emit_remainder_encodeSnappyBetterBlockAsm8B + JB memmove_emit_remainder_encodeSnappyBetterBlockAsm8B JMP memmove_long_emit_remainder_encodeSnappyBetterBlockAsm8B one_byte_emit_remainder_encodeSnappyBetterBlockAsm8B: @@ -17137,7 +17251,7 @@ search_loop_calcBlockSize: SHRL $0x05, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_calcBlockSize + JAE emit_remainder_calcBlockSize MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x0000cf1bbcdcbf9b, R8 @@ -17175,7 +17289,7 @@ search_loop_calcBlockSize: repeat_extend_back_loop_calcBlockSize: CMPL SI, BX - JLE repeat_extend_back_end_calcBlockSize + JBE repeat_extend_back_end_calcBlockSize MOVB -1(DX)(DI*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -17194,13 +17308,13 @@ repeat_extend_back_end_calcBlockSize: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_calcBlockSize + JB one_byte_repeat_emit_calcBlockSize CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_calcBlockSize + JB two_bytes_repeat_emit_calcBlockSize CMPL BX, $0x00010000 - JLT three_bytes_repeat_emit_calcBlockSize + JB three_bytes_repeat_emit_calcBlockSize CMPL BX, $0x01000000 - JLT four_bytes_repeat_emit_calcBlockSize + JB four_bytes_repeat_emit_calcBlockSize ADDQ $0x05, AX JMP memmove_long_repeat_emit_calcBlockSize @@ -17215,7 +17329,7 @@ three_bytes_repeat_emit_calcBlockSize: two_bytes_repeat_emit_calcBlockSize: ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_calcBlockSize + JB memmove_repeat_emit_calcBlockSize JMP memmove_long_repeat_emit_calcBlockSize one_byte_repeat_emit_calcBlockSize: @@ -17240,7 +17354,7 @@ emit_literal_done_repeat_emit_calcBlockSize: // matchLen XORL R10, R10 CMPL DI, $0x08 - JL matchlen_match4_repeat_extend_calcBlockSize + JB matchlen_match4_repeat_extend_calcBlockSize matchlen_loopback_repeat_extend_calcBlockSize: MOVQ (R8)(R10*1), R9 @@ -17263,12 +17377,12 @@ matchlen_loop_repeat_extend_calcBlockSize: LEAL -8(DI), DI LEAL 8(R10), R10 CMPL DI, $0x08 - JGE matchlen_loopback_repeat_extend_calcBlockSize + JAE matchlen_loopback_repeat_extend_calcBlockSize JZ repeat_extend_forward_end_calcBlockSize matchlen_match4_repeat_extend_calcBlockSize: CMPL DI, $0x04 - JL matchlen_match2_repeat_extend_calcBlockSize + JB matchlen_match2_repeat_extend_calcBlockSize MOVL (R8)(R10*1), R9 CMPL (BX)(R10*1), R9 JNE matchlen_match2_repeat_extend_calcBlockSize @@ -17277,7 +17391,7 @@ matchlen_match4_repeat_extend_calcBlockSize: matchlen_match2_repeat_extend_calcBlockSize: CMPL DI, $0x02 - JL matchlen_match1_repeat_extend_calcBlockSize + JB matchlen_match1_repeat_extend_calcBlockSize MOVW (R8)(R10*1), R9 CMPW (BX)(R10*1), R9 JNE matchlen_match1_repeat_extend_calcBlockSize @@ -17286,7 +17400,7 @@ matchlen_match2_repeat_extend_calcBlockSize: matchlen_match1_repeat_extend_calcBlockSize: CMPL DI, $0x01 - JL repeat_extend_forward_end_calcBlockSize + JB repeat_extend_forward_end_calcBlockSize MOVB (R8)(R10*1), R9 CMPB (BX)(R10*1), R9 JNE repeat_extend_forward_end_calcBlockSize @@ -17300,15 +17414,15 @@ repeat_extend_forward_end_calcBlockSize: // emitCopy CMPL SI, $0x00010000 - JL two_byte_offset_repeat_as_copy_calcBlockSize + JB two_byte_offset_repeat_as_copy_calcBlockSize four_bytes_loop_back_repeat_as_copy_calcBlockSize: CMPL BX, $0x40 - JLE four_bytes_remain_repeat_as_copy_calcBlockSize + JBE four_bytes_remain_repeat_as_copy_calcBlockSize LEAL -64(BX), BX ADDQ $0x05, AX CMPL BX, $0x04 - JL four_bytes_remain_repeat_as_copy_calcBlockSize + JB four_bytes_remain_repeat_as_copy_calcBlockSize JMP four_bytes_loop_back_repeat_as_copy_calcBlockSize four_bytes_remain_repeat_as_copy_calcBlockSize: @@ -17320,7 +17434,7 @@ four_bytes_remain_repeat_as_copy_calcBlockSize: two_byte_offset_repeat_as_copy_calcBlockSize: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_calcBlockSize + JBE two_byte_offset_short_repeat_as_copy_calcBlockSize LEAL -60(BX), BX ADDQ $0x03, AX JMP two_byte_offset_repeat_as_copy_calcBlockSize @@ -17329,9 +17443,9 @@ two_byte_offset_short_repeat_as_copy_calcBlockSize: MOVL BX, DI SHLL $0x02, DI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_calcBlockSize + JAE emit_copy_three_repeat_as_copy_calcBlockSize CMPL SI, $0x00000800 - JGE emit_copy_three_repeat_as_copy_calcBlockSize + JAE emit_copy_three_repeat_as_copy_calcBlockSize ADDQ $0x02, AX JMP repeat_end_emit_calcBlockSize @@ -17373,7 +17487,7 @@ candidate_match_calcBlockSize: match_extend_back_loop_calcBlockSize: CMPL CX, SI - JLE match_extend_back_end_calcBlockSize + JBE match_extend_back_end_calcBlockSize MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -17388,7 +17502,7 @@ match_extend_back_end_calcBlockSize: SUBL 12(SP), SI LEAQ 5(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_calcBlockSize + JB match_dst_size_check_calcBlockSize MOVQ $0x00000000, ret+24(FP) RET @@ -17403,13 +17517,13 @@ match_dst_size_check_calcBlockSize: SUBL DI, R8 LEAL -1(R8), SI CMPL SI, $0x3c - JLT one_byte_match_emit_calcBlockSize + JB one_byte_match_emit_calcBlockSize CMPL SI, $0x00000100 - JLT two_bytes_match_emit_calcBlockSize + JB two_bytes_match_emit_calcBlockSize CMPL SI, $0x00010000 - JLT three_bytes_match_emit_calcBlockSize + JB three_bytes_match_emit_calcBlockSize CMPL SI, $0x01000000 - JLT four_bytes_match_emit_calcBlockSize + JB four_bytes_match_emit_calcBlockSize ADDQ $0x05, AX JMP memmove_long_match_emit_calcBlockSize @@ -17424,7 +17538,7 @@ three_bytes_match_emit_calcBlockSize: two_bytes_match_emit_calcBlockSize: ADDQ $0x02, AX CMPL SI, $0x40 - JL memmove_match_emit_calcBlockSize + JB memmove_match_emit_calcBlockSize JMP memmove_long_match_emit_calcBlockSize one_byte_match_emit_calcBlockSize: @@ -17452,7 +17566,7 @@ match_nolit_loop_calcBlockSize: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_calcBlockSize + JB matchlen_match4_match_nolit_calcBlockSize matchlen_loopback_match_nolit_calcBlockSize: MOVQ (DI)(R9*1), R8 @@ -17475,12 +17589,12 @@ matchlen_loop_match_nolit_calcBlockSize: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_calcBlockSize + JAE matchlen_loopback_match_nolit_calcBlockSize JZ match_nolit_end_calcBlockSize matchlen_match4_match_nolit_calcBlockSize: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_calcBlockSize + JB matchlen_match2_match_nolit_calcBlockSize MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_calcBlockSize @@ -17489,7 +17603,7 @@ matchlen_match4_match_nolit_calcBlockSize: matchlen_match2_match_nolit_calcBlockSize: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_calcBlockSize + JB matchlen_match1_match_nolit_calcBlockSize MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_calcBlockSize @@ -17498,7 +17612,7 @@ matchlen_match2_match_nolit_calcBlockSize: matchlen_match1_match_nolit_calcBlockSize: CMPL SI, $0x01 - JL match_nolit_end_calcBlockSize + JB match_nolit_end_calcBlockSize MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_calcBlockSize @@ -17512,15 +17626,15 @@ match_nolit_end_calcBlockSize: // emitCopy CMPL BX, $0x00010000 - JL two_byte_offset_match_nolit_calcBlockSize + JB two_byte_offset_match_nolit_calcBlockSize four_bytes_loop_back_match_nolit_calcBlockSize: CMPL R9, $0x40 - JLE four_bytes_remain_match_nolit_calcBlockSize + JBE four_bytes_remain_match_nolit_calcBlockSize LEAL -64(R9), R9 ADDQ $0x05, AX CMPL R9, $0x04 - JL four_bytes_remain_match_nolit_calcBlockSize + JB four_bytes_remain_match_nolit_calcBlockSize JMP four_bytes_loop_back_match_nolit_calcBlockSize four_bytes_remain_match_nolit_calcBlockSize: @@ -17532,7 +17646,7 @@ four_bytes_remain_match_nolit_calcBlockSize: two_byte_offset_match_nolit_calcBlockSize: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_calcBlockSize + JBE two_byte_offset_short_match_nolit_calcBlockSize LEAL -60(R9), R9 ADDQ $0x03, AX JMP two_byte_offset_match_nolit_calcBlockSize @@ -17541,9 +17655,9 @@ two_byte_offset_short_match_nolit_calcBlockSize: MOVL R9, SI SHLL $0x02, SI CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_calcBlockSize + JAE emit_copy_three_match_nolit_calcBlockSize CMPL BX, $0x00000800 - JGE emit_copy_three_match_nolit_calcBlockSize + JAE emit_copy_three_match_nolit_calcBlockSize ADDQ $0x02, AX JMP match_nolit_emitcopy_end_calcBlockSize @@ -17552,10 +17666,10 @@ emit_copy_three_match_nolit_calcBlockSize: match_nolit_emitcopy_end_calcBlockSize: CMPL CX, 8(SP) - JGE emit_remainder_calcBlockSize + JAE emit_remainder_calcBlockSize MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_calcBlockSize + JB match_nolit_dst_ok_calcBlockSize MOVQ $0x00000000, ret+24(FP) RET @@ -17585,7 +17699,7 @@ emit_remainder_calcBlockSize: SUBL 12(SP), CX LEAQ 5(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_calcBlockSize + JB emit_remainder_ok_calcBlockSize MOVQ $0x00000000, ret+24(FP) RET @@ -17600,13 +17714,13 @@ emit_remainder_ok_calcBlockSize: SUBL BX, SI LEAL -1(SI), CX CMPL CX, $0x3c - JLT one_byte_emit_remainder_calcBlockSize + JB one_byte_emit_remainder_calcBlockSize CMPL CX, $0x00000100 - JLT two_bytes_emit_remainder_calcBlockSize + JB two_bytes_emit_remainder_calcBlockSize CMPL CX, $0x00010000 - JLT three_bytes_emit_remainder_calcBlockSize + JB three_bytes_emit_remainder_calcBlockSize CMPL CX, $0x01000000 - JLT four_bytes_emit_remainder_calcBlockSize + JB four_bytes_emit_remainder_calcBlockSize ADDQ $0x05, AX JMP memmove_long_emit_remainder_calcBlockSize @@ -17621,7 +17735,7 @@ three_bytes_emit_remainder_calcBlockSize: two_bytes_emit_remainder_calcBlockSize: ADDQ $0x02, AX CMPL CX, $0x40 - JL memmove_emit_remainder_calcBlockSize + JB memmove_emit_remainder_calcBlockSize JMP memmove_long_emit_remainder_calcBlockSize one_byte_emit_remainder_calcBlockSize: @@ -17677,7 +17791,7 @@ search_loop_calcBlockSizeSmall: SHRL $0x04, BX LEAL 4(CX)(BX*1), BX CMPL BX, 8(SP) - JGE emit_remainder_calcBlockSizeSmall + JAE emit_remainder_calcBlockSizeSmall MOVQ (DX)(CX*1), SI MOVL BX, 20(SP) MOVQ $0x9e3779b1, R8 @@ -17715,7 +17829,7 @@ search_loop_calcBlockSizeSmall: repeat_extend_back_loop_calcBlockSizeSmall: CMPL SI, BX - JLE repeat_extend_back_end_calcBlockSizeSmall + JBE repeat_extend_back_end_calcBlockSizeSmall MOVB -1(DX)(DI*1), R8 MOVB -1(DX)(SI*1), R9 CMPB R8, R9 @@ -17734,16 +17848,19 @@ repeat_extend_back_end_calcBlockSizeSmall: SUBL BX, DI LEAL -1(DI), BX CMPL BX, $0x3c - JLT one_byte_repeat_emit_calcBlockSizeSmall + JB one_byte_repeat_emit_calcBlockSizeSmall CMPL BX, $0x00000100 - JLT two_bytes_repeat_emit_calcBlockSizeSmall + JB two_bytes_repeat_emit_calcBlockSizeSmall + JB three_bytes_repeat_emit_calcBlockSizeSmall + +three_bytes_repeat_emit_calcBlockSizeSmall: ADDQ $0x03, AX JMP memmove_long_repeat_emit_calcBlockSizeSmall two_bytes_repeat_emit_calcBlockSizeSmall: ADDQ $0x02, AX CMPL BX, $0x40 - JL memmove_repeat_emit_calcBlockSizeSmall + JB memmove_repeat_emit_calcBlockSizeSmall JMP memmove_long_repeat_emit_calcBlockSizeSmall one_byte_repeat_emit_calcBlockSizeSmall: @@ -17768,7 +17885,7 @@ emit_literal_done_repeat_emit_calcBlockSizeSmall: // matchLen XORL R10, R10 CMPL DI, $0x08 - JL matchlen_match4_repeat_extend_calcBlockSizeSmall + JB matchlen_match4_repeat_extend_calcBlockSizeSmall matchlen_loopback_repeat_extend_calcBlockSizeSmall: MOVQ (R8)(R10*1), R9 @@ -17791,12 +17908,12 @@ matchlen_loop_repeat_extend_calcBlockSizeSmall: LEAL -8(DI), DI LEAL 8(R10), R10 CMPL DI, $0x08 - JGE matchlen_loopback_repeat_extend_calcBlockSizeSmall + JAE matchlen_loopback_repeat_extend_calcBlockSizeSmall JZ repeat_extend_forward_end_calcBlockSizeSmall matchlen_match4_repeat_extend_calcBlockSizeSmall: CMPL DI, $0x04 - JL matchlen_match2_repeat_extend_calcBlockSizeSmall + JB matchlen_match2_repeat_extend_calcBlockSizeSmall MOVL (R8)(R10*1), R9 CMPL (BX)(R10*1), R9 JNE matchlen_match2_repeat_extend_calcBlockSizeSmall @@ -17805,7 +17922,7 @@ matchlen_match4_repeat_extend_calcBlockSizeSmall: matchlen_match2_repeat_extend_calcBlockSizeSmall: CMPL DI, $0x02 - JL matchlen_match1_repeat_extend_calcBlockSizeSmall + JB matchlen_match1_repeat_extend_calcBlockSizeSmall MOVW (R8)(R10*1), R9 CMPW (BX)(R10*1), R9 JNE matchlen_match1_repeat_extend_calcBlockSizeSmall @@ -17814,7 +17931,7 @@ matchlen_match2_repeat_extend_calcBlockSizeSmall: matchlen_match1_repeat_extend_calcBlockSizeSmall: CMPL DI, $0x01 - JL repeat_extend_forward_end_calcBlockSizeSmall + JB repeat_extend_forward_end_calcBlockSizeSmall MOVB (R8)(R10*1), R9 CMPB (BX)(R10*1), R9 JNE repeat_extend_forward_end_calcBlockSizeSmall @@ -17829,7 +17946,7 @@ repeat_extend_forward_end_calcBlockSizeSmall: // emitCopy two_byte_offset_repeat_as_copy_calcBlockSizeSmall: CMPL BX, $0x40 - JLE two_byte_offset_short_repeat_as_copy_calcBlockSizeSmall + JBE two_byte_offset_short_repeat_as_copy_calcBlockSizeSmall LEAL -60(BX), BX ADDQ $0x03, AX JMP two_byte_offset_repeat_as_copy_calcBlockSizeSmall @@ -17838,7 +17955,7 @@ two_byte_offset_short_repeat_as_copy_calcBlockSizeSmall: MOVL BX, SI SHLL $0x02, SI CMPL BX, $0x0c - JGE emit_copy_three_repeat_as_copy_calcBlockSizeSmall + JAE emit_copy_three_repeat_as_copy_calcBlockSizeSmall ADDQ $0x02, AX JMP repeat_end_emit_calcBlockSizeSmall @@ -17880,7 +17997,7 @@ candidate_match_calcBlockSizeSmall: match_extend_back_loop_calcBlockSizeSmall: CMPL CX, SI - JLE match_extend_back_end_calcBlockSizeSmall + JBE match_extend_back_end_calcBlockSizeSmall MOVB -1(DX)(BX*1), DI MOVB -1(DX)(CX*1), R8 CMPB DI, R8 @@ -17895,7 +18012,7 @@ match_extend_back_end_calcBlockSizeSmall: SUBL 12(SP), SI LEAQ 3(AX)(SI*1), SI CMPQ SI, (SP) - JL match_dst_size_check_calcBlockSizeSmall + JB match_dst_size_check_calcBlockSizeSmall MOVQ $0x00000000, ret+24(FP) RET @@ -17910,16 +18027,19 @@ match_dst_size_check_calcBlockSizeSmall: SUBL DI, R8 LEAL -1(R8), SI CMPL SI, $0x3c - JLT one_byte_match_emit_calcBlockSizeSmall + JB one_byte_match_emit_calcBlockSizeSmall CMPL SI, $0x00000100 - JLT two_bytes_match_emit_calcBlockSizeSmall + JB two_bytes_match_emit_calcBlockSizeSmall + JB three_bytes_match_emit_calcBlockSizeSmall + +three_bytes_match_emit_calcBlockSizeSmall: ADDQ $0x03, AX JMP memmove_long_match_emit_calcBlockSizeSmall two_bytes_match_emit_calcBlockSizeSmall: ADDQ $0x02, AX CMPL SI, $0x40 - JL memmove_match_emit_calcBlockSizeSmall + JB memmove_match_emit_calcBlockSizeSmall JMP memmove_long_match_emit_calcBlockSizeSmall one_byte_match_emit_calcBlockSizeSmall: @@ -17947,7 +18067,7 @@ match_nolit_loop_calcBlockSizeSmall: // matchLen XORL R9, R9 CMPL SI, $0x08 - JL matchlen_match4_match_nolit_calcBlockSizeSmall + JB matchlen_match4_match_nolit_calcBlockSizeSmall matchlen_loopback_match_nolit_calcBlockSizeSmall: MOVQ (DI)(R9*1), R8 @@ -17970,12 +18090,12 @@ matchlen_loop_match_nolit_calcBlockSizeSmall: LEAL -8(SI), SI LEAL 8(R9), R9 CMPL SI, $0x08 - JGE matchlen_loopback_match_nolit_calcBlockSizeSmall + JAE matchlen_loopback_match_nolit_calcBlockSizeSmall JZ match_nolit_end_calcBlockSizeSmall matchlen_match4_match_nolit_calcBlockSizeSmall: CMPL SI, $0x04 - JL matchlen_match2_match_nolit_calcBlockSizeSmall + JB matchlen_match2_match_nolit_calcBlockSizeSmall MOVL (DI)(R9*1), R8 CMPL (BX)(R9*1), R8 JNE matchlen_match2_match_nolit_calcBlockSizeSmall @@ -17984,7 +18104,7 @@ matchlen_match4_match_nolit_calcBlockSizeSmall: matchlen_match2_match_nolit_calcBlockSizeSmall: CMPL SI, $0x02 - JL matchlen_match1_match_nolit_calcBlockSizeSmall + JB matchlen_match1_match_nolit_calcBlockSizeSmall MOVW (DI)(R9*1), R8 CMPW (BX)(R9*1), R8 JNE matchlen_match1_match_nolit_calcBlockSizeSmall @@ -17993,7 +18113,7 @@ matchlen_match2_match_nolit_calcBlockSizeSmall: matchlen_match1_match_nolit_calcBlockSizeSmall: CMPL SI, $0x01 - JL match_nolit_end_calcBlockSizeSmall + JB match_nolit_end_calcBlockSizeSmall MOVB (DI)(R9*1), R8 CMPB (BX)(R9*1), R8 JNE match_nolit_end_calcBlockSizeSmall @@ -18008,7 +18128,7 @@ match_nolit_end_calcBlockSizeSmall: // emitCopy two_byte_offset_match_nolit_calcBlockSizeSmall: CMPL R9, $0x40 - JLE two_byte_offset_short_match_nolit_calcBlockSizeSmall + JBE two_byte_offset_short_match_nolit_calcBlockSizeSmall LEAL -60(R9), R9 ADDQ $0x03, AX JMP two_byte_offset_match_nolit_calcBlockSizeSmall @@ -18017,7 +18137,7 @@ two_byte_offset_short_match_nolit_calcBlockSizeSmall: MOVL R9, BX SHLL $0x02, BX CMPL R9, $0x0c - JGE emit_copy_three_match_nolit_calcBlockSizeSmall + JAE emit_copy_three_match_nolit_calcBlockSizeSmall ADDQ $0x02, AX JMP match_nolit_emitcopy_end_calcBlockSizeSmall @@ -18026,10 +18146,10 @@ emit_copy_three_match_nolit_calcBlockSizeSmall: match_nolit_emitcopy_end_calcBlockSizeSmall: CMPL CX, 8(SP) - JGE emit_remainder_calcBlockSizeSmall + JAE emit_remainder_calcBlockSizeSmall MOVQ -2(DX)(CX*1), SI CMPQ AX, (SP) - JL match_nolit_dst_ok_calcBlockSizeSmall + JB match_nolit_dst_ok_calcBlockSizeSmall MOVQ $0x00000000, ret+24(FP) RET @@ -18059,7 +18179,7 @@ emit_remainder_calcBlockSizeSmall: SUBL 12(SP), CX LEAQ 3(AX)(CX*1), CX CMPQ CX, (SP) - JL emit_remainder_ok_calcBlockSizeSmall + JB emit_remainder_ok_calcBlockSizeSmall MOVQ $0x00000000, ret+24(FP) RET @@ -18074,16 +18194,19 @@ emit_remainder_ok_calcBlockSizeSmall: SUBL BX, SI LEAL -1(SI), CX CMPL CX, $0x3c - JLT one_byte_emit_remainder_calcBlockSizeSmall + JB one_byte_emit_remainder_calcBlockSizeSmall CMPL CX, $0x00000100 - JLT two_bytes_emit_remainder_calcBlockSizeSmall + JB two_bytes_emit_remainder_calcBlockSizeSmall + JB three_bytes_emit_remainder_calcBlockSizeSmall + +three_bytes_emit_remainder_calcBlockSizeSmall: ADDQ $0x03, AX JMP memmove_long_emit_remainder_calcBlockSizeSmall two_bytes_emit_remainder_calcBlockSizeSmall: ADDQ $0x02, AX CMPL CX, $0x40 - JL memmove_emit_remainder_calcBlockSizeSmall + JB memmove_emit_remainder_calcBlockSizeSmall JMP memmove_long_emit_remainder_calcBlockSizeSmall one_byte_emit_remainder_calcBlockSizeSmall: @@ -18111,13 +18234,13 @@ TEXT ·emitLiteral(SB), NOSPLIT, $0-56 MOVL DX, BX LEAL -1(DX), SI CMPL SI, $0x3c - JLT one_byte_standalone + JB one_byte_standalone CMPL SI, $0x00000100 - JLT two_bytes_standalone + JB two_bytes_standalone CMPL SI, $0x00010000 - JLT three_bytes_standalone + JB three_bytes_standalone CMPL SI, $0x01000000 - JLT four_bytes_standalone + JB four_bytes_standalone MOVB $0xfc, (AX) MOVL SI, 1(AX) ADDQ $0x05, BX @@ -18147,7 +18270,7 @@ two_bytes_standalone: ADDQ $0x02, BX ADDQ $0x02, AX CMPL SI, $0x40 - JL memmove_standalone + JB memmove_standalone JMP memmove_long_standalone one_byte_standalone: @@ -18278,19 +18401,19 @@ emit_repeat_again_standalone: MOVL DX, SI LEAL -4(DX), DX CMPL SI, $0x08 - JLE repeat_two_standalone + JBE repeat_two_standalone CMPL SI, $0x0c - JGE cant_repeat_two_offset_standalone + JAE cant_repeat_two_offset_standalone CMPL CX, $0x00000800 - JLT repeat_two_offset_standalone + JB repeat_two_offset_standalone cant_repeat_two_offset_standalone: CMPL DX, $0x00000104 - JLT repeat_three_standalone + JB repeat_three_standalone CMPL DX, $0x00010100 - JLT repeat_four_standalone + JB repeat_four_standalone CMPL DX, $0x0100ffff - JLT repeat_five_standalone + JB repeat_five_standalone LEAL -16842747(DX), DX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -18357,35 +18480,35 @@ TEXT ·emitCopy(SB), NOSPLIT, $0-48 // emitCopy CMPL CX, $0x00010000 - JL two_byte_offset_standalone + JB two_byte_offset_standalone CMPL DX, $0x40 - JLE four_bytes_remain_standalone + JBE four_bytes_remain_standalone MOVB $0xff, (AX) MOVL CX, 1(AX) LEAL -64(DX), DX ADDQ $0x05, BX ADDQ $0x05, AX CMPL DX, $0x04 - JL four_bytes_remain_standalone + JB four_bytes_remain_standalone // emitRepeat emit_repeat_again_standalone_emit_copy: MOVL DX, SI LEAL -4(DX), DX CMPL SI, $0x08 - JLE repeat_two_standalone_emit_copy + JBE repeat_two_standalone_emit_copy CMPL SI, $0x0c - JGE cant_repeat_two_offset_standalone_emit_copy + JAE cant_repeat_two_offset_standalone_emit_copy CMPL CX, $0x00000800 - JLT repeat_two_offset_standalone_emit_copy + JB repeat_two_offset_standalone_emit_copy cant_repeat_two_offset_standalone_emit_copy: CMPL DX, $0x00000104 - JLT repeat_three_standalone_emit_copy + JB repeat_three_standalone_emit_copy CMPL DX, $0x00010100 - JLT repeat_four_standalone_emit_copy + JB repeat_four_standalone_emit_copy CMPL DX, $0x0100ffff - JLT repeat_five_standalone_emit_copy + JB repeat_five_standalone_emit_copy LEAL -16842747(DX), DX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -18453,7 +18576,7 @@ four_bytes_remain_standalone: two_byte_offset_standalone: CMPL DX, $0x40 - JLE two_byte_offset_short_standalone + JBE two_byte_offset_short_standalone CMPL CX, $0x00000800 JAE long_offset_short_standalone MOVL $0x00000001, SI @@ -18476,19 +18599,19 @@ emit_repeat_again_standalone_emit_copy_short_2b: MOVL DX, SI LEAL -4(DX), DX CMPL SI, $0x08 - JLE repeat_two_standalone_emit_copy_short_2b + JBE repeat_two_standalone_emit_copy_short_2b CMPL SI, $0x0c - JGE cant_repeat_two_offset_standalone_emit_copy_short_2b + JAE cant_repeat_two_offset_standalone_emit_copy_short_2b CMPL CX, $0x00000800 - JLT repeat_two_offset_standalone_emit_copy_short_2b + JB repeat_two_offset_standalone_emit_copy_short_2b cant_repeat_two_offset_standalone_emit_copy_short_2b: CMPL DX, $0x00000104 - JLT repeat_three_standalone_emit_copy_short_2b + JB repeat_three_standalone_emit_copy_short_2b CMPL DX, $0x00010100 - JLT repeat_four_standalone_emit_copy_short_2b + JB repeat_four_standalone_emit_copy_short_2b CMPL DX, $0x0100ffff - JLT repeat_five_standalone_emit_copy_short_2b + JB repeat_five_standalone_emit_copy_short_2b LEAL -16842747(DX), DX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -18555,19 +18678,19 @@ emit_repeat_again_standalone_emit_copy_short: MOVL DX, SI LEAL -4(DX), DX CMPL SI, $0x08 - JLE repeat_two_standalone_emit_copy_short + JBE repeat_two_standalone_emit_copy_short CMPL SI, $0x0c - JGE cant_repeat_two_offset_standalone_emit_copy_short + JAE cant_repeat_two_offset_standalone_emit_copy_short CMPL CX, $0x00000800 - JLT repeat_two_offset_standalone_emit_copy_short + JB repeat_two_offset_standalone_emit_copy_short cant_repeat_two_offset_standalone_emit_copy_short: CMPL DX, $0x00000104 - JLT repeat_three_standalone_emit_copy_short + JB repeat_three_standalone_emit_copy_short CMPL DX, $0x00010100 - JLT repeat_four_standalone_emit_copy_short + JB repeat_four_standalone_emit_copy_short CMPL DX, $0x0100ffff - JLT repeat_five_standalone_emit_copy_short + JB repeat_five_standalone_emit_copy_short LEAL -16842747(DX), DX MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -18626,9 +18749,9 @@ two_byte_offset_short_standalone: MOVL DX, SI SHLL $0x02, SI CMPL DX, $0x0c - JGE emit_copy_three_standalone + JAE emit_copy_three_standalone CMPL CX, $0x00000800 - JGE emit_copy_three_standalone + JAE emit_copy_three_standalone LEAL -15(SI), SI MOVB CL, 1(AX) SHRL $0x08, CX @@ -18659,18 +18782,18 @@ TEXT ·emitCopyNoRepeat(SB), NOSPLIT, $0-48 // emitCopy CMPL CX, $0x00010000 - JL two_byte_offset_standalone_snappy + JB two_byte_offset_standalone_snappy four_bytes_loop_back_standalone_snappy: CMPL DX, $0x40 - JLE four_bytes_remain_standalone_snappy + JBE four_bytes_remain_standalone_snappy MOVB $0xff, (AX) MOVL CX, 1(AX) LEAL -64(DX), DX ADDQ $0x05, BX ADDQ $0x05, AX CMPL DX, $0x04 - JL four_bytes_remain_standalone_snappy + JB four_bytes_remain_standalone_snappy JMP four_bytes_loop_back_standalone_snappy four_bytes_remain_standalone_snappy: @@ -18686,7 +18809,7 @@ four_bytes_remain_standalone_snappy: two_byte_offset_standalone_snappy: CMPL DX, $0x40 - JLE two_byte_offset_short_standalone_snappy + JBE two_byte_offset_short_standalone_snappy MOVB $0xee, (AX) MOVW CX, 1(AX) LEAL -60(DX), DX @@ -18698,9 +18821,9 @@ two_byte_offset_short_standalone_snappy: MOVL DX, SI SHLL $0x02, SI CMPL DX, $0x0c - JGE emit_copy_three_standalone_snappy + JAE emit_copy_three_standalone_snappy CMPL CX, $0x00000800 - JGE emit_copy_three_standalone_snappy + JAE emit_copy_three_standalone_snappy LEAL -15(SI), SI MOVB CL, 1(AX) SHRL $0x08, CX @@ -18732,7 +18855,7 @@ TEXT ·matchLen(SB), NOSPLIT, $0-56 // matchLen XORL SI, SI CMPL DX, $0x08 - JL matchlen_match4_standalone + JB matchlen_match4_standalone matchlen_loopback_standalone: MOVQ (AX)(SI*1), BX @@ -18755,12 +18878,12 @@ matchlen_loop_standalone: LEAL -8(DX), DX LEAL 8(SI), SI CMPL DX, $0x08 - JGE matchlen_loopback_standalone + JAE matchlen_loopback_standalone JZ gen_match_len_end matchlen_match4_standalone: CMPL DX, $0x04 - JL matchlen_match2_standalone + JB matchlen_match2_standalone MOVL (AX)(SI*1), BX CMPL (CX)(SI*1), BX JNE matchlen_match2_standalone @@ -18769,7 +18892,7 @@ matchlen_match4_standalone: matchlen_match2_standalone: CMPL DX, $0x02 - JL matchlen_match1_standalone + JB matchlen_match1_standalone MOVW (AX)(SI*1), BX CMPW (CX)(SI*1), BX JNE matchlen_match1_standalone @@ -18778,7 +18901,7 @@ matchlen_match2_standalone: matchlen_match1_standalone: CMPL DX, $0x01 - JL gen_match_len_end + JB gen_match_len_end MOVB (AX)(SI*1), BL CMPB (CX)(SI*1), BL JNE gen_match_len_end @@ -18837,13 +18960,13 @@ lz4_s2_ll_end: ADDQ R9, SI LEAL -1(R9), R11 CMPL R11, $0x3c - JLT one_byte_lz4_s2 + JB one_byte_lz4_s2 CMPL R11, $0x00000100 - JLT two_bytes_lz4_s2 + JB two_bytes_lz4_s2 CMPL R11, $0x00010000 - JLT three_bytes_lz4_s2 + JB three_bytes_lz4_s2 CMPL R11, $0x01000000 - JLT four_bytes_lz4_s2 + JB four_bytes_lz4_s2 MOVB $0xfc, (AX) MOVL R11, 1(AX) ADDQ $0x05, AX @@ -18869,7 +18992,7 @@ two_bytes_lz4_s2: MOVB R11, 1(AX) ADDQ $0x02, AX CMPL R11, $0x40 - JL memmove_lz4_s2 + JB memmove_lz4_s2 JMP memmove_long_lz4_s2 one_byte_lz4_s2: @@ -18882,7 +19005,7 @@ memmove_lz4_s2: // genMemMoveShort CMPQ R9, $0x08 - JLE emit_lit_memmove_lz4_s2_memmove_move_8 + JBE emit_lit_memmove_lz4_s2_memmove_move_8 CMPQ R9, $0x10 JBE emit_lit_memmove_lz4_s2_memmove_move_8through16 CMPQ R9, $0x20 @@ -19008,19 +19131,19 @@ emit_repeat_again_lz4_s2: MOVL R10, R8 LEAL -4(R10), R10 CMPL R8, $0x08 - JLE repeat_two_lz4_s2 + JBE repeat_two_lz4_s2 CMPL R8, $0x0c - JGE cant_repeat_two_offset_lz4_s2 + JAE cant_repeat_two_offset_lz4_s2 CMPL R9, $0x00000800 - JLT repeat_two_offset_lz4_s2 + JB repeat_two_offset_lz4_s2 cant_repeat_two_offset_lz4_s2: CMPL R10, $0x00000104 - JLT repeat_three_lz4_s2 + JB repeat_three_lz4_s2 CMPL R10, $0x00010100 - JLT repeat_four_lz4_s2 + JB repeat_four_lz4_s2 CMPL R10, $0x0100ffff - JLT repeat_five_lz4_s2 + JB repeat_five_lz4_s2 LEAL -16842747(R10), R10 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -19074,7 +19197,7 @@ lz4_s2_docopy: // emitCopy CMPL R10, $0x40 - JLE two_byte_offset_short_lz4_s2 + JBE two_byte_offset_short_lz4_s2 CMPL R9, $0x00000800 JAE long_offset_short_lz4_s2 MOVL $0x00000001, R8 @@ -19096,19 +19219,19 @@ emit_repeat_again_lz4_s2_emit_copy_short_2b: MOVL R10, R8 LEAL -4(R10), R10 CMPL R8, $0x08 - JLE repeat_two_lz4_s2_emit_copy_short_2b + JBE repeat_two_lz4_s2_emit_copy_short_2b CMPL R8, $0x0c - JGE cant_repeat_two_offset_lz4_s2_emit_copy_short_2b + JAE cant_repeat_two_offset_lz4_s2_emit_copy_short_2b CMPL R9, $0x00000800 - JLT repeat_two_offset_lz4_s2_emit_copy_short_2b + JB repeat_two_offset_lz4_s2_emit_copy_short_2b cant_repeat_two_offset_lz4_s2_emit_copy_short_2b: CMPL R10, $0x00000104 - JLT repeat_three_lz4_s2_emit_copy_short_2b + JB repeat_three_lz4_s2_emit_copy_short_2b CMPL R10, $0x00010100 - JLT repeat_four_lz4_s2_emit_copy_short_2b + JB repeat_four_lz4_s2_emit_copy_short_2b CMPL R10, $0x0100ffff - JLT repeat_five_lz4_s2_emit_copy_short_2b + JB repeat_five_lz4_s2_emit_copy_short_2b LEAL -16842747(R10), R10 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -19168,19 +19291,19 @@ emit_repeat_again_lz4_s2_emit_copy_short: MOVL R10, R8 LEAL -4(R10), R10 CMPL R8, $0x08 - JLE repeat_two_lz4_s2_emit_copy_short + JBE repeat_two_lz4_s2_emit_copy_short CMPL R8, $0x0c - JGE cant_repeat_two_offset_lz4_s2_emit_copy_short + JAE cant_repeat_two_offset_lz4_s2_emit_copy_short CMPL R9, $0x00000800 - JLT repeat_two_offset_lz4_s2_emit_copy_short + JB repeat_two_offset_lz4_s2_emit_copy_short cant_repeat_two_offset_lz4_s2_emit_copy_short: CMPL R10, $0x00000104 - JLT repeat_three_lz4_s2_emit_copy_short + JB repeat_three_lz4_s2_emit_copy_short CMPL R10, $0x00010100 - JLT repeat_four_lz4_s2_emit_copy_short + JB repeat_four_lz4_s2_emit_copy_short CMPL R10, $0x0100ffff - JLT repeat_five_lz4_s2_emit_copy_short + JB repeat_five_lz4_s2_emit_copy_short LEAL -16842747(R10), R10 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -19233,9 +19356,9 @@ two_byte_offset_short_lz4_s2: MOVL R10, R8 SHLL $0x02, R8 CMPL R10, $0x0c - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 CMPL R9, $0x00000800 - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 LEAL -15(R8), R8 MOVB R9, 1(AX) SHRL $0x08, R9 @@ -19320,13 +19443,13 @@ lz4s_s2_ll_end: ADDQ R9, SI LEAL -1(R9), R11 CMPL R11, $0x3c - JLT one_byte_lz4s_s2 + JB one_byte_lz4s_s2 CMPL R11, $0x00000100 - JLT two_bytes_lz4s_s2 + JB two_bytes_lz4s_s2 CMPL R11, $0x00010000 - JLT three_bytes_lz4s_s2 + JB three_bytes_lz4s_s2 CMPL R11, $0x01000000 - JLT four_bytes_lz4s_s2 + JB four_bytes_lz4s_s2 MOVB $0xfc, (AX) MOVL R11, 1(AX) ADDQ $0x05, AX @@ -19352,7 +19475,7 @@ two_bytes_lz4s_s2: MOVB R11, 1(AX) ADDQ $0x02, AX CMPL R11, $0x40 - JL memmove_lz4s_s2 + JB memmove_lz4s_s2 JMP memmove_long_lz4s_s2 one_byte_lz4s_s2: @@ -19365,7 +19488,7 @@ memmove_lz4s_s2: // genMemMoveShort CMPQ R9, $0x08 - JLE emit_lit_memmove_lz4s_s2_memmove_move_8 + JBE emit_lit_memmove_lz4s_s2_memmove_move_8 CMPQ R9, $0x10 JBE emit_lit_memmove_lz4s_s2_memmove_move_8through16 CMPQ R9, $0x20 @@ -19493,19 +19616,19 @@ emit_repeat_again_lz4_s2: MOVL R10, R8 LEAL -4(R10), R10 CMPL R8, $0x08 - JLE repeat_two_lz4_s2 + JBE repeat_two_lz4_s2 CMPL R8, $0x0c - JGE cant_repeat_two_offset_lz4_s2 + JAE cant_repeat_two_offset_lz4_s2 CMPL R9, $0x00000800 - JLT repeat_two_offset_lz4_s2 + JB repeat_two_offset_lz4_s2 cant_repeat_two_offset_lz4_s2: CMPL R10, $0x00000104 - JLT repeat_three_lz4_s2 + JB repeat_three_lz4_s2 CMPL R10, $0x00010100 - JLT repeat_four_lz4_s2 + JB repeat_four_lz4_s2 CMPL R10, $0x0100ffff - JLT repeat_five_lz4_s2 + JB repeat_five_lz4_s2 LEAL -16842747(R10), R10 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -19559,7 +19682,7 @@ lz4s_s2_docopy: // emitCopy CMPL R10, $0x40 - JLE two_byte_offset_short_lz4_s2 + JBE two_byte_offset_short_lz4_s2 CMPL R9, $0x00000800 JAE long_offset_short_lz4_s2 MOVL $0x00000001, R8 @@ -19581,19 +19704,19 @@ emit_repeat_again_lz4_s2_emit_copy_short_2b: MOVL R10, R8 LEAL -4(R10), R10 CMPL R8, $0x08 - JLE repeat_two_lz4_s2_emit_copy_short_2b + JBE repeat_two_lz4_s2_emit_copy_short_2b CMPL R8, $0x0c - JGE cant_repeat_two_offset_lz4_s2_emit_copy_short_2b + JAE cant_repeat_two_offset_lz4_s2_emit_copy_short_2b CMPL R9, $0x00000800 - JLT repeat_two_offset_lz4_s2_emit_copy_short_2b + JB repeat_two_offset_lz4_s2_emit_copy_short_2b cant_repeat_two_offset_lz4_s2_emit_copy_short_2b: CMPL R10, $0x00000104 - JLT repeat_three_lz4_s2_emit_copy_short_2b + JB repeat_three_lz4_s2_emit_copy_short_2b CMPL R10, $0x00010100 - JLT repeat_four_lz4_s2_emit_copy_short_2b + JB repeat_four_lz4_s2_emit_copy_short_2b CMPL R10, $0x0100ffff - JLT repeat_five_lz4_s2_emit_copy_short_2b + JB repeat_five_lz4_s2_emit_copy_short_2b LEAL -16842747(R10), R10 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -19653,19 +19776,19 @@ emit_repeat_again_lz4_s2_emit_copy_short: MOVL R10, R8 LEAL -4(R10), R10 CMPL R8, $0x08 - JLE repeat_two_lz4_s2_emit_copy_short + JBE repeat_two_lz4_s2_emit_copy_short CMPL R8, $0x0c - JGE cant_repeat_two_offset_lz4_s2_emit_copy_short + JAE cant_repeat_two_offset_lz4_s2_emit_copy_short CMPL R9, $0x00000800 - JLT repeat_two_offset_lz4_s2_emit_copy_short + JB repeat_two_offset_lz4_s2_emit_copy_short cant_repeat_two_offset_lz4_s2_emit_copy_short: CMPL R10, $0x00000104 - JLT repeat_three_lz4_s2_emit_copy_short + JB repeat_three_lz4_s2_emit_copy_short CMPL R10, $0x00010100 - JLT repeat_four_lz4_s2_emit_copy_short + JB repeat_four_lz4_s2_emit_copy_short CMPL R10, $0x0100ffff - JLT repeat_five_lz4_s2_emit_copy_short + JB repeat_five_lz4_s2_emit_copy_short LEAL -16842747(R10), R10 MOVL $0xfffb001d, (AX) MOVB $0xff, 4(AX) @@ -19718,9 +19841,9 @@ two_byte_offset_short_lz4_s2: MOVL R10, R8 SHLL $0x02, R8 CMPL R10, $0x0c - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 CMPL R9, $0x00000800 - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 LEAL -15(R8), R8 MOVB R9, 1(AX) SHRL $0x08, R9 @@ -19804,13 +19927,13 @@ lz4_snappy_ll_end: ADDQ R8, SI LEAL -1(R8), R10 CMPL R10, $0x3c - JLT one_byte_lz4_snappy + JB one_byte_lz4_snappy CMPL R10, $0x00000100 - JLT two_bytes_lz4_snappy + JB two_bytes_lz4_snappy CMPL R10, $0x00010000 - JLT three_bytes_lz4_snappy + JB three_bytes_lz4_snappy CMPL R10, $0x01000000 - JLT four_bytes_lz4_snappy + JB four_bytes_lz4_snappy MOVB $0xfc, (AX) MOVL R10, 1(AX) ADDQ $0x05, AX @@ -19836,7 +19959,7 @@ two_bytes_lz4_snappy: MOVB R10, 1(AX) ADDQ $0x02, AX CMPL R10, $0x40 - JL memmove_lz4_snappy + JB memmove_lz4_snappy JMP memmove_long_lz4_snappy one_byte_lz4_snappy: @@ -19849,7 +19972,7 @@ memmove_lz4_snappy: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_lz4_snappy_memmove_move_8 + JBE emit_lit_memmove_lz4_snappy_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_lz4_snappy_memmove_move_8through16 CMPQ R8, $0x20 @@ -19971,7 +20094,7 @@ lz4_snappy_ml_done: // emitCopy two_byte_offset_lz4_s2: CMPL R9, $0x40 - JLE two_byte_offset_short_lz4_s2 + JBE two_byte_offset_short_lz4_s2 MOVB $0xee, (AX) MOVW R8, 1(AX) LEAL -60(R9), R9 @@ -19984,9 +20107,9 @@ two_byte_offset_short_lz4_s2: MOVL R9, DI SHLL $0x02, DI CMPL R9, $0x0c - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 CMPL R8, $0x00000800 - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 LEAL -15(DI), DI MOVB R8, 1(AX) SHRL $0x08, R8 @@ -20070,13 +20193,13 @@ lz4s_snappy_ll_end: ADDQ R8, SI LEAL -1(R8), R10 CMPL R10, $0x3c - JLT one_byte_lz4s_snappy + JB one_byte_lz4s_snappy CMPL R10, $0x00000100 - JLT two_bytes_lz4s_snappy + JB two_bytes_lz4s_snappy CMPL R10, $0x00010000 - JLT three_bytes_lz4s_snappy + JB three_bytes_lz4s_snappy CMPL R10, $0x01000000 - JLT four_bytes_lz4s_snappy + JB four_bytes_lz4s_snappy MOVB $0xfc, (AX) MOVL R10, 1(AX) ADDQ $0x05, AX @@ -20102,7 +20225,7 @@ two_bytes_lz4s_snappy: MOVB R10, 1(AX) ADDQ $0x02, AX CMPL R10, $0x40 - JL memmove_lz4s_snappy + JB memmove_lz4s_snappy JMP memmove_long_lz4s_snappy one_byte_lz4s_snappy: @@ -20115,7 +20238,7 @@ memmove_lz4s_snappy: // genMemMoveShort CMPQ R8, $0x08 - JLE emit_lit_memmove_lz4s_snappy_memmove_move_8 + JBE emit_lit_memmove_lz4s_snappy_memmove_move_8 CMPQ R8, $0x10 JBE emit_lit_memmove_lz4s_snappy_memmove_move_8through16 CMPQ R8, $0x20 @@ -20239,7 +20362,7 @@ lz4s_snappy_ml_done: // emitCopy two_byte_offset_lz4_s2: CMPL R9, $0x40 - JLE two_byte_offset_short_lz4_s2 + JBE two_byte_offset_short_lz4_s2 MOVB $0xee, (AX) MOVW R8, 1(AX) LEAL -60(R9), R9 @@ -20252,9 +20375,9 @@ two_byte_offset_short_lz4_s2: MOVL R9, DI SHLL $0x02, DI CMPL R9, $0x0c - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 CMPL R8, $0x00000800 - JGE emit_copy_three_lz4_s2 + JAE emit_copy_three_lz4_s2 LEAL -15(DI), DI MOVB R8, 1(AX) SHRL $0x08, R8 diff --git a/vendor/github.com/klauspost/compress/s2/reader.go b/vendor/github.com/klauspost/compress/s2/reader.go new file mode 100644 index 0000000000..8b84baa6d2 --- /dev/null +++ b/vendor/github.com/klauspost/compress/s2/reader.go @@ -0,0 +1,1055 @@ +// Copyright 2011 The Snappy-Go Authors. All rights reserved. +// Copyright (c) 2019+ Klaus Post. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package s2 + +import ( + "errors" + "fmt" + "io" + "io/ioutil" + "math" + "runtime" + "sync" +) + +// ErrCantSeek is returned if the stream cannot be seeked. +type ErrCantSeek struct { + Reason string +} + +// Error returns the error as string. +func (e ErrCantSeek) Error() string { + return fmt.Sprintf("s2: Can't seek because %s", e.Reason) +} + +// NewReader returns a new Reader that decompresses from r, using the framing +// format described at +// https://github.com/google/snappy/blob/master/framing_format.txt with S2 changes. +func NewReader(r io.Reader, opts ...ReaderOption) *Reader { + nr := Reader{ + r: r, + maxBlock: maxBlockSize, + } + for _, opt := range opts { + if err := opt(&nr); err != nil { + nr.err = err + return &nr + } + } + nr.maxBufSize = MaxEncodedLen(nr.maxBlock) + checksumSize + if nr.lazyBuf > 0 { + nr.buf = make([]byte, MaxEncodedLen(nr.lazyBuf)+checksumSize) + } else { + nr.buf = make([]byte, MaxEncodedLen(defaultBlockSize)+checksumSize) + } + nr.readHeader = nr.ignoreStreamID + nr.paramsOK = true + return &nr +} + +// ReaderOption is an option for creating a decoder. +type ReaderOption func(*Reader) error + +// ReaderMaxBlockSize allows to control allocations if the stream +// has been compressed with a smaller WriterBlockSize, or with the default 1MB. +// Blocks must be this size or smaller to decompress, +// otherwise the decoder will return ErrUnsupported. +// +// For streams compressed with Snappy this can safely be set to 64KB (64 << 10). +// +// Default is the maximum limit of 4MB. +func ReaderMaxBlockSize(blockSize int) ReaderOption { + return func(r *Reader) error { + if blockSize > maxBlockSize || blockSize <= 0 { + return errors.New("s2: block size too large. Must be <= 4MB and > 0") + } + if r.lazyBuf == 0 && blockSize < defaultBlockSize { + r.lazyBuf = blockSize + } + r.maxBlock = blockSize + return nil + } +} + +// ReaderAllocBlock allows to control upfront stream allocations +// and not allocate for frames bigger than this initially. +// If frames bigger than this is seen a bigger buffer will be allocated. +// +// Default is 1MB, which is default output size. +func ReaderAllocBlock(blockSize int) ReaderOption { + return func(r *Reader) error { + if blockSize > maxBlockSize || blockSize < 1024 { + return errors.New("s2: invalid ReaderAllocBlock. Must be <= 4MB and >= 1024") + } + r.lazyBuf = blockSize + return nil + } +} + +// ReaderIgnoreStreamIdentifier will make the reader skip the expected +// stream identifier at the beginning of the stream. +// This can be used when serving a stream that has been forwarded to a specific point. +func ReaderIgnoreStreamIdentifier() ReaderOption { + return func(r *Reader) error { + r.ignoreStreamID = true + return nil + } +} + +// ReaderSkippableCB will register a callback for chuncks with the specified ID. +// ID must be a Reserved skippable chunks ID, 0x80-0xfd (inclusive). +// For each chunk with the ID, the callback is called with the content. +// Any returned non-nil error will abort decompression. +// Only one callback per ID is supported, latest sent will be used. +func ReaderSkippableCB(id uint8, fn func(r io.Reader) error) ReaderOption { + return func(r *Reader) error { + if id < 0x80 || id > 0xfd { + return fmt.Errorf("ReaderSkippableCB: Invalid id provided, must be 0x80-0xfd (inclusive)") + } + r.skippableCB[id] = fn + return nil + } +} + +// ReaderIgnoreCRC will make the reader skip CRC calculation and checks. +func ReaderIgnoreCRC() ReaderOption { + return func(r *Reader) error { + r.ignoreCRC = true + return nil + } +} + +// Reader is an io.Reader that can read Snappy-compressed bytes. +type Reader struct { + r io.Reader + err error + decoded []byte + buf []byte + skippableCB [0x80]func(r io.Reader) error + blockStart int64 // Uncompressed offset at start of current. + index *Index + + // decoded[i:j] contains decoded bytes that have not yet been passed on. + i, j int + // maximum block size allowed. + maxBlock int + // maximum expected buffer size. + maxBufSize int + // alloc a buffer this size if > 0. + lazyBuf int + readHeader bool + paramsOK bool + snappyFrame bool + ignoreStreamID bool + ignoreCRC bool +} + +// ensureBufferSize will ensure that the buffer can take at least n bytes. +// If false is returned the buffer exceeds maximum allowed size. +func (r *Reader) ensureBufferSize(n int) bool { + if n > r.maxBufSize { + r.err = ErrCorrupt + return false + } + if cap(r.buf) >= n { + return true + } + // Realloc buffer. + r.buf = make([]byte, n) + return true +} + +// Reset discards any buffered data, resets all state, and switches the Snappy +// reader to read from r. This permits reusing a Reader rather than allocating +// a new one. +func (r *Reader) Reset(reader io.Reader) { + if !r.paramsOK { + return + } + r.index = nil + r.r = reader + r.err = nil + r.i = 0 + r.j = 0 + r.blockStart = 0 + r.readHeader = r.ignoreStreamID +} + +func (r *Reader) readFull(p []byte, allowEOF bool) (ok bool) { + if _, r.err = io.ReadFull(r.r, p); r.err != nil { + if r.err == io.ErrUnexpectedEOF || (r.err == io.EOF && !allowEOF) { + r.err = ErrCorrupt + } + return false + } + return true +} + +// skippable will skip n bytes. +// If the supplied reader supports seeking that is used. +// tmp is used as a temporary buffer for reading. +// The supplied slice does not need to be the size of the read. +func (r *Reader) skippable(tmp []byte, n int, allowEOF bool, id uint8) (ok bool) { + if id < 0x80 { + r.err = fmt.Errorf("interbal error: skippable id < 0x80") + return false + } + if fn := r.skippableCB[id-0x80]; fn != nil { + rd := io.LimitReader(r.r, int64(n)) + r.err = fn(rd) + if r.err != nil { + return false + } + _, r.err = io.CopyBuffer(ioutil.Discard, rd, tmp) + return r.err == nil + } + if rs, ok := r.r.(io.ReadSeeker); ok { + _, err := rs.Seek(int64(n), io.SeekCurrent) + if err == nil { + return true + } + if err == io.ErrUnexpectedEOF || (r.err == io.EOF && !allowEOF) { + r.err = ErrCorrupt + return false + } + } + for n > 0 { + if n < len(tmp) { + tmp = tmp[:n] + } + if _, r.err = io.ReadFull(r.r, tmp); r.err != nil { + if r.err == io.ErrUnexpectedEOF || (r.err == io.EOF && !allowEOF) { + r.err = ErrCorrupt + } + return false + } + n -= len(tmp) + } + return true +} + +// Read satisfies the io.Reader interface. +func (r *Reader) Read(p []byte) (int, error) { + if r.err != nil { + return 0, r.err + } + for { + if r.i < r.j { + n := copy(p, r.decoded[r.i:r.j]) + r.i += n + return n, nil + } + if !r.readFull(r.buf[:4], true) { + return 0, r.err + } + chunkType := r.buf[0] + if !r.readHeader { + if chunkType != chunkTypeStreamIdentifier { + r.err = ErrCorrupt + return 0, r.err + } + r.readHeader = true + } + chunkLen := int(r.buf[1]) | int(r.buf[2])<<8 | int(r.buf[3])<<16 + + // The chunk types are specified at + // https://github.com/google/snappy/blob/master/framing_format.txt + switch chunkType { + case chunkTypeCompressedData: + r.blockStart += int64(r.j) + // Section 4.2. Compressed data (chunk type 0x00). + if chunkLen < checksumSize { + r.err = ErrCorrupt + return 0, r.err + } + if !r.ensureBufferSize(chunkLen) { + if r.err == nil { + r.err = ErrUnsupported + } + return 0, r.err + } + buf := r.buf[:chunkLen] + if !r.readFull(buf, false) { + return 0, r.err + } + checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 + buf = buf[checksumSize:] + + n, err := DecodedLen(buf) + if err != nil { + r.err = err + return 0, r.err + } + if r.snappyFrame && n > maxSnappyBlockSize { + r.err = ErrCorrupt + return 0, r.err + } + + if n > len(r.decoded) { + if n > r.maxBlock { + r.err = ErrCorrupt + return 0, r.err + } + r.decoded = make([]byte, n) + } + if _, err := Decode(r.decoded, buf); err != nil { + r.err = err + return 0, r.err + } + if !r.ignoreCRC && crc(r.decoded[:n]) != checksum { + r.err = ErrCRC + return 0, r.err + } + r.i, r.j = 0, n + continue + + case chunkTypeUncompressedData: + r.blockStart += int64(r.j) + // Section 4.3. Uncompressed data (chunk type 0x01). + if chunkLen < checksumSize { + r.err = ErrCorrupt + return 0, r.err + } + if !r.ensureBufferSize(chunkLen) { + if r.err == nil { + r.err = ErrUnsupported + } + return 0, r.err + } + buf := r.buf[:checksumSize] + if !r.readFull(buf, false) { + return 0, r.err + } + checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 + // Read directly into r.decoded instead of via r.buf. + n := chunkLen - checksumSize + if r.snappyFrame && n > maxSnappyBlockSize { + r.err = ErrCorrupt + return 0, r.err + } + if n > len(r.decoded) { + if n > r.maxBlock { + r.err = ErrCorrupt + return 0, r.err + } + r.decoded = make([]byte, n) + } + if !r.readFull(r.decoded[:n], false) { + return 0, r.err + } + if !r.ignoreCRC && crc(r.decoded[:n]) != checksum { + r.err = ErrCRC + return 0, r.err + } + r.i, r.j = 0, n + continue + + case chunkTypeStreamIdentifier: + // Section 4.1. Stream identifier (chunk type 0xff). + if chunkLen != len(magicBody) { + r.err = ErrCorrupt + return 0, r.err + } + if !r.readFull(r.buf[:len(magicBody)], false) { + return 0, r.err + } + if string(r.buf[:len(magicBody)]) != magicBody { + if string(r.buf[:len(magicBody)]) != magicBodySnappy { + r.err = ErrCorrupt + return 0, r.err + } else { + r.snappyFrame = true + } + } else { + r.snappyFrame = false + } + continue + } + + if chunkType <= 0x7f { + // Section 4.5. Reserved unskippable chunks (chunk types 0x02-0x7f). + // fmt.Printf("ERR chunktype: 0x%x\n", chunkType) + r.err = ErrUnsupported + return 0, r.err + } + // Section 4.4 Padding (chunk type 0xfe). + // Section 4.6. Reserved skippable chunks (chunk types 0x80-0xfd). + if chunkLen > maxChunkSize { + // fmt.Printf("ERR chunkLen: 0x%x\n", chunkLen) + r.err = ErrUnsupported + return 0, r.err + } + + // fmt.Printf("skippable: ID: 0x%x, len: 0x%x\n", chunkType, chunkLen) + if !r.skippable(r.buf, chunkLen, false, chunkType) { + return 0, r.err + } + } +} + +// DecodeConcurrent will decode the full stream to w. +// This function should not be combined with reading, seeking or other operations. +// Up to 'concurrent' goroutines will be used. +// If <= 0, runtime.NumCPU will be used. +// On success the number of bytes decompressed nil and is returned. +// This is mainly intended for bigger streams. +func (r *Reader) DecodeConcurrent(w io.Writer, concurrent int) (written int64, err error) { + if r.i > 0 || r.j > 0 || r.blockStart > 0 { + return 0, errors.New("DecodeConcurrent called after ") + } + if concurrent <= 0 { + concurrent = runtime.NumCPU() + } + + // Write to output + var errMu sync.Mutex + var aErr error + setErr := func(e error) (ok bool) { + errMu.Lock() + defer errMu.Unlock() + if e == nil { + return aErr == nil + } + if aErr == nil { + aErr = e + } + return false + } + hasErr := func() (ok bool) { + errMu.Lock() + v := aErr != nil + errMu.Unlock() + return v + } + + var aWritten int64 + toRead := make(chan []byte, concurrent) + writtenBlocks := make(chan []byte, concurrent) + queue := make(chan chan []byte, concurrent) + reUse := make(chan chan []byte, concurrent) + for i := 0; i < concurrent; i++ { + toRead <- make([]byte, 0, r.maxBufSize) + writtenBlocks <- make([]byte, 0, r.maxBufSize) + reUse <- make(chan []byte, 1) + } + // Writer + var wg sync.WaitGroup + wg.Add(1) + go func() { + defer wg.Done() + for toWrite := range queue { + entry := <-toWrite + reUse <- toWrite + if hasErr() { + writtenBlocks <- entry + continue + } + n, err := w.Write(entry) + want := len(entry) + writtenBlocks <- entry + if err != nil { + setErr(err) + continue + } + if n != want { + setErr(io.ErrShortWrite) + continue + } + aWritten += int64(n) + } + }() + + // Reader + defer func() { + close(queue) + if r.err != nil { + err = r.err + setErr(r.err) + } + wg.Wait() + if err == nil { + err = aErr + } + written = aWritten + }() + + for !hasErr() { + if !r.readFull(r.buf[:4], true) { + if r.err == io.EOF { + r.err = nil + } + return 0, r.err + } + chunkType := r.buf[0] + if !r.readHeader { + if chunkType != chunkTypeStreamIdentifier { + r.err = ErrCorrupt + return 0, r.err + } + r.readHeader = true + } + chunkLen := int(r.buf[1]) | int(r.buf[2])<<8 | int(r.buf[3])<<16 + + // The chunk types are specified at + // https://github.com/google/snappy/blob/master/framing_format.txt + switch chunkType { + case chunkTypeCompressedData: + r.blockStart += int64(r.j) + // Section 4.2. Compressed data (chunk type 0x00). + if chunkLen < checksumSize { + r.err = ErrCorrupt + return 0, r.err + } + if chunkLen > r.maxBufSize { + r.err = ErrCorrupt + return 0, r.err + } + orgBuf := <-toRead + buf := orgBuf[:chunkLen] + + if !r.readFull(buf, false) { + return 0, r.err + } + + checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 + buf = buf[checksumSize:] + + n, err := DecodedLen(buf) + if err != nil { + r.err = err + return 0, r.err + } + if r.snappyFrame && n > maxSnappyBlockSize { + r.err = ErrCorrupt + return 0, r.err + } + + if n > r.maxBlock { + r.err = ErrCorrupt + return 0, r.err + } + wg.Add(1) + + decoded := <-writtenBlocks + entry := <-reUse + queue <- entry + go func() { + defer wg.Done() + decoded = decoded[:n] + _, err := Decode(decoded, buf) + toRead <- orgBuf + if err != nil { + writtenBlocks <- decoded + setErr(err) + return + } + if !r.ignoreCRC && crc(decoded) != checksum { + writtenBlocks <- decoded + setErr(ErrCRC) + return + } + entry <- decoded + }() + continue + + case chunkTypeUncompressedData: + + // Section 4.3. Uncompressed data (chunk type 0x01). + if chunkLen < checksumSize { + r.err = ErrCorrupt + return 0, r.err + } + if chunkLen > r.maxBufSize { + r.err = ErrCorrupt + return 0, r.err + } + // Grab write buffer + orgBuf := <-writtenBlocks + buf := orgBuf[:checksumSize] + if !r.readFull(buf, false) { + return 0, r.err + } + checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 + // Read content. + n := chunkLen - checksumSize + + if r.snappyFrame && n > maxSnappyBlockSize { + r.err = ErrCorrupt + return 0, r.err + } + if n > r.maxBlock { + r.err = ErrCorrupt + return 0, r.err + } + // Read uncompressed + buf = orgBuf[:n] + if !r.readFull(buf, false) { + return 0, r.err + } + + if !r.ignoreCRC && crc(buf) != checksum { + r.err = ErrCRC + return 0, r.err + } + entry := <-reUse + queue <- entry + entry <- buf + continue + + case chunkTypeStreamIdentifier: + // Section 4.1. Stream identifier (chunk type 0xff). + if chunkLen != len(magicBody) { + r.err = ErrCorrupt + return 0, r.err + } + if !r.readFull(r.buf[:len(magicBody)], false) { + return 0, r.err + } + if string(r.buf[:len(magicBody)]) != magicBody { + if string(r.buf[:len(magicBody)]) != magicBodySnappy { + r.err = ErrCorrupt + return 0, r.err + } else { + r.snappyFrame = true + } + } else { + r.snappyFrame = false + } + continue + } + + if chunkType <= 0x7f { + // Section 4.5. Reserved unskippable chunks (chunk types 0x02-0x7f). + // fmt.Printf("ERR chunktype: 0x%x\n", chunkType) + r.err = ErrUnsupported + return 0, r.err + } + // Section 4.4 Padding (chunk type 0xfe). + // Section 4.6. Reserved skippable chunks (chunk types 0x80-0xfd). + if chunkLen > maxChunkSize { + // fmt.Printf("ERR chunkLen: 0x%x\n", chunkLen) + r.err = ErrUnsupported + return 0, r.err + } + + // fmt.Printf("skippable: ID: 0x%x, len: 0x%x\n", chunkType, chunkLen) + if !r.skippable(r.buf, chunkLen, false, chunkType) { + return 0, r.err + } + } + return 0, r.err +} + +// Skip will skip n bytes forward in the decompressed output. +// For larger skips this consumes less CPU and is faster than reading output and discarding it. +// CRC is not checked on skipped blocks. +// io.ErrUnexpectedEOF is returned if the stream ends before all bytes have been skipped. +// If a decoding error is encountered subsequent calls to Read will also fail. +func (r *Reader) Skip(n int64) error { + if n < 0 { + return errors.New("attempted negative skip") + } + if r.err != nil { + return r.err + } + + for n > 0 { + if r.i < r.j { + // Skip in buffer. + // decoded[i:j] contains decoded bytes that have not yet been passed on. + left := int64(r.j - r.i) + if left >= n { + tmp := int64(r.i) + n + if tmp > math.MaxInt32 { + return errors.New("s2: internal overflow in skip") + } + r.i = int(tmp) + return nil + } + n -= int64(r.j - r.i) + r.i = r.j + } + + // Buffer empty; read blocks until we have content. + if !r.readFull(r.buf[:4], true) { + if r.err == io.EOF { + r.err = io.ErrUnexpectedEOF + } + return r.err + } + chunkType := r.buf[0] + if !r.readHeader { + if chunkType != chunkTypeStreamIdentifier { + r.err = ErrCorrupt + return r.err + } + r.readHeader = true + } + chunkLen := int(r.buf[1]) | int(r.buf[2])<<8 | int(r.buf[3])<<16 + + // The chunk types are specified at + // https://github.com/google/snappy/blob/master/framing_format.txt + switch chunkType { + case chunkTypeCompressedData: + r.blockStart += int64(r.j) + // Section 4.2. Compressed data (chunk type 0x00). + if chunkLen < checksumSize { + r.err = ErrCorrupt + return r.err + } + if !r.ensureBufferSize(chunkLen) { + if r.err == nil { + r.err = ErrUnsupported + } + return r.err + } + buf := r.buf[:chunkLen] + if !r.readFull(buf, false) { + return r.err + } + checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 + buf = buf[checksumSize:] + + dLen, err := DecodedLen(buf) + if err != nil { + r.err = err + return r.err + } + if dLen > r.maxBlock { + r.err = ErrCorrupt + return r.err + } + // Check if destination is within this block + if int64(dLen) > n { + if len(r.decoded) < dLen { + r.decoded = make([]byte, dLen) + } + if _, err := Decode(r.decoded, buf); err != nil { + r.err = err + return r.err + } + if crc(r.decoded[:dLen]) != checksum { + r.err = ErrCorrupt + return r.err + } + } else { + // Skip block completely + n -= int64(dLen) + r.blockStart += int64(dLen) + dLen = 0 + } + r.i, r.j = 0, dLen + continue + case chunkTypeUncompressedData: + r.blockStart += int64(r.j) + // Section 4.3. Uncompressed data (chunk type 0x01). + if chunkLen < checksumSize { + r.err = ErrCorrupt + return r.err + } + if !r.ensureBufferSize(chunkLen) { + if r.err != nil { + r.err = ErrUnsupported + } + return r.err + } + buf := r.buf[:checksumSize] + if !r.readFull(buf, false) { + return r.err + } + checksum := uint32(buf[0]) | uint32(buf[1])<<8 | uint32(buf[2])<<16 | uint32(buf[3])<<24 + // Read directly into r.decoded instead of via r.buf. + n2 := chunkLen - checksumSize + if n2 > len(r.decoded) { + if n2 > r.maxBlock { + r.err = ErrCorrupt + return r.err + } + r.decoded = make([]byte, n2) + } + if !r.readFull(r.decoded[:n2], false) { + return r.err + } + if int64(n2) < n { + if crc(r.decoded[:n2]) != checksum { + r.err = ErrCorrupt + return r.err + } + } + r.i, r.j = 0, n2 + continue + case chunkTypeStreamIdentifier: + // Section 4.1. Stream identifier (chunk type 0xff). + if chunkLen != len(magicBody) { + r.err = ErrCorrupt + return r.err + } + if !r.readFull(r.buf[:len(magicBody)], false) { + return r.err + } + if string(r.buf[:len(magicBody)]) != magicBody { + if string(r.buf[:len(magicBody)]) != magicBodySnappy { + r.err = ErrCorrupt + return r.err + } + } + + continue + } + + if chunkType <= 0x7f { + // Section 4.5. Reserved unskippable chunks (chunk types 0x02-0x7f). + r.err = ErrUnsupported + return r.err + } + if chunkLen > maxChunkSize { + r.err = ErrUnsupported + return r.err + } + // Section 4.4 Padding (chunk type 0xfe). + // Section 4.6. Reserved skippable chunks (chunk types 0x80-0xfd). + if !r.skippable(r.buf, chunkLen, false, chunkType) { + return r.err + } + } + return nil +} + +// ReadSeeker provides random or forward seeking in compressed content. +// See Reader.ReadSeeker +type ReadSeeker struct { + *Reader + readAtMu sync.Mutex +} + +// ReadSeeker will return an io.ReadSeeker and io.ReaderAt +// compatible version of the reader. +// If 'random' is specified the returned io.Seeker can be used for +// random seeking, otherwise only forward seeking is supported. +// Enabling random seeking requires the original input to support +// the io.Seeker interface. +// A custom index can be specified which will be used if supplied. +// When using a custom index, it will not be read from the input stream. +// The ReadAt position will affect regular reads and the current position of Seek. +// So using Read after ReadAt will continue from where the ReadAt stopped. +// No functions should be used concurrently. +// The returned ReadSeeker contains a shallow reference to the existing Reader, +// meaning changes performed to one is reflected in the other. +func (r *Reader) ReadSeeker(random bool, index []byte) (*ReadSeeker, error) { + // Read index if provided. + if len(index) != 0 { + if r.index == nil { + r.index = &Index{} + } + if _, err := r.index.Load(index); err != nil { + return nil, ErrCantSeek{Reason: "loading index returned: " + err.Error()} + } + } + + // Check if input is seekable + rs, ok := r.r.(io.ReadSeeker) + if !ok { + if !random { + return &ReadSeeker{Reader: r}, nil + } + return nil, ErrCantSeek{Reason: "input stream isn't seekable"} + } + + if r.index != nil { + // Seekable and index, ok... + return &ReadSeeker{Reader: r}, nil + } + + // Load from stream. + r.index = &Index{} + + // Read current position. + pos, err := rs.Seek(0, io.SeekCurrent) + if err != nil { + return nil, ErrCantSeek{Reason: "seeking input returned: " + err.Error()} + } + err = r.index.LoadStream(rs) + if err != nil { + if err == ErrUnsupported { + // If we don't require random seeking, reset input and return. + if !random { + _, err = rs.Seek(pos, io.SeekStart) + if err != nil { + return nil, ErrCantSeek{Reason: "resetting stream returned: " + err.Error()} + } + r.index = nil + return &ReadSeeker{Reader: r}, nil + } + return nil, ErrCantSeek{Reason: "input stream does not contain an index"} + } + return nil, ErrCantSeek{Reason: "reading index returned: " + err.Error()} + } + + // reset position. + _, err = rs.Seek(pos, io.SeekStart) + if err != nil { + return nil, ErrCantSeek{Reason: "seeking input returned: " + err.Error()} + } + return &ReadSeeker{Reader: r}, nil +} + +// Seek allows seeking in compressed data. +func (r *ReadSeeker) Seek(offset int64, whence int) (int64, error) { + if r.err != nil { + if !errors.Is(r.err, io.EOF) { + return 0, r.err + } + // Reset on EOF + r.err = nil + } + + // Calculate absolute offset. + absOffset := offset + + switch whence { + case io.SeekStart: + case io.SeekCurrent: + absOffset = r.blockStart + int64(r.i) + offset + case io.SeekEnd: + if r.index == nil { + return 0, ErrUnsupported + } + absOffset = r.index.TotalUncompressed + offset + default: + r.err = ErrUnsupported + return 0, r.err + } + + if absOffset < 0 { + return 0, errors.New("seek before start of file") + } + + if !r.readHeader { + // Make sure we read the header. + _, r.err = r.Read([]byte{}) + if r.err != nil { + return 0, r.err + } + } + + // If we are inside current block no need to seek. + // This includes no offset changes. + if absOffset >= r.blockStart && absOffset < r.blockStart+int64(r.j) { + r.i = int(absOffset - r.blockStart) + return r.blockStart + int64(r.i), nil + } + + rs, ok := r.r.(io.ReadSeeker) + if r.index == nil || !ok { + currOffset := r.blockStart + int64(r.i) + if absOffset >= currOffset { + err := r.Skip(absOffset - currOffset) + return r.blockStart + int64(r.i), err + } + return 0, ErrUnsupported + } + + // We can seek and we have an index. + c, u, err := r.index.Find(absOffset) + if err != nil { + return r.blockStart + int64(r.i), err + } + + // Seek to next block + _, err = rs.Seek(c, io.SeekStart) + if err != nil { + return 0, err + } + + r.i = r.j // Remove rest of current block. + r.blockStart = u - int64(r.j) // Adjust current block start for accounting. + if u < absOffset { + // Forward inside block + return absOffset, r.Skip(absOffset - u) + } + if u > absOffset { + return 0, fmt.Errorf("s2 seek: (internal error) u (%d) > absOffset (%d)", u, absOffset) + } + return absOffset, nil +} + +// ReadAt reads len(p) bytes into p starting at offset off in the +// underlying input source. It returns the number of bytes +// read (0 <= n <= len(p)) and any error encountered. +// +// When ReadAt returns n < len(p), it returns a non-nil error +// explaining why more bytes were not returned. In this respect, +// ReadAt is stricter than Read. +// +// Even if ReadAt returns n < len(p), it may use all of p as scratch +// space during the call. If some data is available but not len(p) bytes, +// ReadAt blocks until either all the data is available or an error occurs. +// In this respect ReadAt is different from Read. +// +// If the n = len(p) bytes returned by ReadAt are at the end of the +// input source, ReadAt may return either err == EOF or err == nil. +// +// If ReadAt is reading from an input source with a seek offset, +// ReadAt should not affect nor be affected by the underlying +// seek offset. +// +// Clients of ReadAt can execute parallel ReadAt calls on the +// same input source. This is however not recommended. +func (r *ReadSeeker) ReadAt(p []byte, offset int64) (int, error) { + r.readAtMu.Lock() + defer r.readAtMu.Unlock() + _, err := r.Seek(offset, io.SeekStart) + if err != nil { + return 0, err + } + n := 0 + for n < len(p) { + n2, err := r.Read(p[n:]) + if err != nil { + // This will include io.EOF + return n + n2, err + } + n += n2 + } + return n, nil +} + +// ReadByte satisfies the io.ByteReader interface. +func (r *Reader) ReadByte() (byte, error) { + if r.err != nil { + return 0, r.err + } + if r.i < r.j { + c := r.decoded[r.i] + r.i++ + return c, nil + } + var tmp [1]byte + for i := 0; i < 10; i++ { + n, err := r.Read(tmp[:]) + if err != nil { + return 0, err + } + if n == 1 { + return tmp[0], nil + } + } + return 0, io.ErrNoProgress +} + +// SkippableCB will register a callback for chunks with the specified ID. +// ID must be a Reserved skippable chunks ID, 0x80-0xfe (inclusive). +// For each chunk with the ID, the callback is called with the content. +// Any returned non-nil error will abort decompression. +// Only one callback per ID is supported, latest sent will be used. +// Sending a nil function will disable previous callbacks. +func (r *Reader) SkippableCB(id uint8, fn func(r io.Reader) error) error { + if id < 0x80 || id > chunkTypePadding { + return fmt.Errorf("ReaderSkippableCB: Invalid id provided, must be 0x80-0xfe (inclusive)") + } + r.skippableCB[id] = fn + return nil +} diff --git a/vendor/github.com/klauspost/compress/s2/writer.go b/vendor/github.com/klauspost/compress/s2/writer.go new file mode 100644 index 0000000000..5a944068cf --- /dev/null +++ b/vendor/github.com/klauspost/compress/s2/writer.go @@ -0,0 +1,1020 @@ +// Copyright 2011 The Snappy-Go Authors. All rights reserved. +// Copyright (c) 2019+ Klaus Post. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package s2 + +import ( + "crypto/rand" + "encoding/binary" + "errors" + "fmt" + "io" + "runtime" + "sync" +) + +const ( + levelUncompressed = iota + 1 + levelFast + levelBetter + levelBest +) + +// NewWriter returns a new Writer that compresses to w, using the +// framing format described at +// https://github.com/google/snappy/blob/master/framing_format.txt +// +// Users must call Close to guarantee all data has been forwarded to +// the underlying io.Writer and that resources are released. +// They may also call Flush zero or more times before calling Close. +func NewWriter(w io.Writer, opts ...WriterOption) *Writer { + w2 := Writer{ + blockSize: defaultBlockSize, + concurrency: runtime.GOMAXPROCS(0), + randSrc: rand.Reader, + level: levelFast, + } + for _, opt := range opts { + if err := opt(&w2); err != nil { + w2.errState = err + return &w2 + } + } + w2.obufLen = obufHeaderLen + MaxEncodedLen(w2.blockSize) + w2.paramsOK = true + w2.ibuf = make([]byte, 0, w2.blockSize) + w2.buffers.New = func() interface{} { + return make([]byte, w2.obufLen) + } + w2.Reset(w) + return &w2 +} + +// Writer is an io.Writer that can write Snappy-compressed bytes. +type Writer struct { + errMu sync.Mutex + errState error + + // ibuf is a buffer for the incoming (uncompressed) bytes. + ibuf []byte + + blockSize int + obufLen int + concurrency int + written int64 + uncompWritten int64 // Bytes sent to compression + output chan chan result + buffers sync.Pool + pad int + + writer io.Writer + randSrc io.Reader + writerWg sync.WaitGroup + index Index + customEnc func(dst, src []byte) int + + // wroteStreamHeader is whether we have written the stream header. + wroteStreamHeader bool + paramsOK bool + snappy bool + flushOnWrite bool + appendIndex bool + level uint8 +} + +type result struct { + b []byte + // Uncompressed start offset + startOffset int64 +} + +// err returns the previously set error. +// If no error has been set it is set to err if not nil. +func (w *Writer) err(err error) error { + w.errMu.Lock() + errSet := w.errState + if errSet == nil && err != nil { + w.errState = err + errSet = err + } + w.errMu.Unlock() + return errSet +} + +// Reset discards the writer's state and switches the Snappy writer to write to w. +// This permits reusing a Writer rather than allocating a new one. +func (w *Writer) Reset(writer io.Writer) { + if !w.paramsOK { + return + } + // Close previous writer, if any. + if w.output != nil { + close(w.output) + w.writerWg.Wait() + w.output = nil + } + w.errState = nil + w.ibuf = w.ibuf[:0] + w.wroteStreamHeader = false + w.written = 0 + w.writer = writer + w.uncompWritten = 0 + w.index.reset(w.blockSize) + + // If we didn't get a writer, stop here. + if writer == nil { + return + } + // If no concurrency requested, don't spin up writer goroutine. + if w.concurrency == 1 { + return + } + + toWrite := make(chan chan result, w.concurrency) + w.output = toWrite + w.writerWg.Add(1) + + // Start a writer goroutine that will write all output in order. + go func() { + defer w.writerWg.Done() + + // Get a queued write. + for write := range toWrite { + // Wait for the data to be available. + input := <-write + in := input.b + if len(in) > 0 { + if w.err(nil) == nil { + // Don't expose data from previous buffers. + toWrite := in[:len(in):len(in)] + // Write to output. + n, err := writer.Write(toWrite) + if err == nil && n != len(toWrite) { + err = io.ErrShortBuffer + } + _ = w.err(err) + w.err(w.index.add(w.written, input.startOffset)) + w.written += int64(n) + } + } + if cap(in) >= w.obufLen { + w.buffers.Put(in) + } + // close the incoming write request. + // This can be used for synchronizing flushes. + close(write) + } + }() +} + +// Write satisfies the io.Writer interface. +func (w *Writer) Write(p []byte) (nRet int, errRet error) { + if err := w.err(nil); err != nil { + return 0, err + } + if w.flushOnWrite { + return w.write(p) + } + // If we exceed the input buffer size, start writing + for len(p) > (cap(w.ibuf)-len(w.ibuf)) && w.err(nil) == nil { + var n int + if len(w.ibuf) == 0 { + // Large write, empty buffer. + // Write directly from p to avoid copy. + n, _ = w.write(p) + } else { + n = copy(w.ibuf[len(w.ibuf):cap(w.ibuf)], p) + w.ibuf = w.ibuf[:len(w.ibuf)+n] + w.write(w.ibuf) + w.ibuf = w.ibuf[:0] + } + nRet += n + p = p[n:] + } + if err := w.err(nil); err != nil { + return nRet, err + } + // p should always be able to fit into w.ibuf now. + n := copy(w.ibuf[len(w.ibuf):cap(w.ibuf)], p) + w.ibuf = w.ibuf[:len(w.ibuf)+n] + nRet += n + return nRet, nil +} + +// ReadFrom implements the io.ReaderFrom interface. +// Using this is typically more efficient since it avoids a memory copy. +// ReadFrom reads data from r until EOF or error. +// The return value n is the number of bytes read. +// Any error except io.EOF encountered during the read is also returned. +func (w *Writer) ReadFrom(r io.Reader) (n int64, err error) { + if err := w.err(nil); err != nil { + return 0, err + } + if len(w.ibuf) > 0 { + err := w.Flush() + if err != nil { + return 0, err + } + } + if br, ok := r.(byter); ok { + buf := br.Bytes() + if err := w.EncodeBuffer(buf); err != nil { + return 0, err + } + return int64(len(buf)), w.Flush() + } + for { + inbuf := w.buffers.Get().([]byte)[:w.blockSize+obufHeaderLen] + n2, err := io.ReadFull(r, inbuf[obufHeaderLen:]) + if err != nil { + if err == io.ErrUnexpectedEOF { + err = io.EOF + } + if err != io.EOF { + return n, w.err(err) + } + } + if n2 == 0 { + break + } + n += int64(n2) + err2 := w.writeFull(inbuf[:n2+obufHeaderLen]) + if w.err(err2) != nil { + break + } + + if err != nil { + // We got EOF and wrote everything + break + } + } + + return n, w.err(nil) +} + +// AddSkippableBlock will add a skippable block to the stream. +// The ID must be 0x80-0xfe (inclusive). +// Length of the skippable block must be <= 16777215 bytes. +func (w *Writer) AddSkippableBlock(id uint8, data []byte) (err error) { + if err := w.err(nil); err != nil { + return err + } + if len(data) == 0 { + return nil + } + if id < 0x80 || id > chunkTypePadding { + return fmt.Errorf("invalid skippable block id %x", id) + } + if len(data) > maxChunkSize { + return fmt.Errorf("skippable block excessed maximum size") + } + var header [4]byte + chunkLen := 4 + len(data) + header[0] = id + header[1] = uint8(chunkLen >> 0) + header[2] = uint8(chunkLen >> 8) + header[3] = uint8(chunkLen >> 16) + if w.concurrency == 1 { + write := func(b []byte) error { + n, err := w.writer.Write(b) + if err = w.err(err); err != nil { + return err + } + if n != len(data) { + return w.err(io.ErrShortWrite) + } + w.written += int64(n) + return w.err(nil) + } + if !w.wroteStreamHeader { + w.wroteStreamHeader = true + if w.snappy { + if err := write([]byte(magicChunkSnappy)); err != nil { + return err + } + } else { + if err := write([]byte(magicChunk)); err != nil { + return err + } + } + } + if err := write(header[:]); err != nil { + return err + } + if err := write(data); err != nil { + return err + } + } + + // Create output... + if !w.wroteStreamHeader { + w.wroteStreamHeader = true + hWriter := make(chan result) + w.output <- hWriter + if w.snappy { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} + } else { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} + } + } + + // Copy input. + inbuf := w.buffers.Get().([]byte)[:4] + copy(inbuf, header[:]) + inbuf = append(inbuf, data...) + + output := make(chan result, 1) + // Queue output. + w.output <- output + output <- result{startOffset: w.uncompWritten, b: inbuf} + + return nil +} + +// EncodeBuffer will add a buffer to the stream. +// This is the fastest way to encode a stream, +// but the input buffer cannot be written to by the caller +// until Flush or Close has been called when concurrency != 1. +// +// If you cannot control that, use the regular Write function. +// +// Note that input is not buffered. +// This means that each write will result in discrete blocks being created. +// For buffered writes, use the regular Write function. +func (w *Writer) EncodeBuffer(buf []byte) (err error) { + if err := w.err(nil); err != nil { + return err + } + + if w.flushOnWrite { + _, err := w.write(buf) + return err + } + // Flush queued data first. + if len(w.ibuf) > 0 { + err := w.Flush() + if err != nil { + return err + } + } + if w.concurrency == 1 { + _, err := w.writeSync(buf) + return err + } + + // Spawn goroutine and write block to output channel. + if !w.wroteStreamHeader { + w.wroteStreamHeader = true + hWriter := make(chan result) + w.output <- hWriter + if w.snappy { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} + } else { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} + } + } + + for len(buf) > 0 { + // Cut input. + uncompressed := buf + if len(uncompressed) > w.blockSize { + uncompressed = uncompressed[:w.blockSize] + } + buf = buf[len(uncompressed):] + // Get an output buffer. + obuf := w.buffers.Get().([]byte)[:len(uncompressed)+obufHeaderLen] + output := make(chan result) + // Queue output now, so we keep order. + w.output <- output + res := result{ + startOffset: w.uncompWritten, + } + w.uncompWritten += int64(len(uncompressed)) + go func() { + checksum := crc(uncompressed) + + // Set to uncompressed. + chunkType := uint8(chunkTypeUncompressedData) + chunkLen := 4 + len(uncompressed) + + // Attempt compressing. + n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) + n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) + + // Check if we should use this, or store as uncompressed instead. + if n2 > 0 { + chunkType = uint8(chunkTypeCompressedData) + chunkLen = 4 + n + n2 + obuf = obuf[:obufHeaderLen+n+n2] + } else { + // copy uncompressed + copy(obuf[obufHeaderLen:], uncompressed) + } + + // Fill in the per-chunk header that comes before the body. + obuf[0] = chunkType + obuf[1] = uint8(chunkLen >> 0) + obuf[2] = uint8(chunkLen >> 8) + obuf[3] = uint8(chunkLen >> 16) + obuf[4] = uint8(checksum >> 0) + obuf[5] = uint8(checksum >> 8) + obuf[6] = uint8(checksum >> 16) + obuf[7] = uint8(checksum >> 24) + + // Queue final output. + res.b = obuf + output <- res + }() + } + return nil +} + +func (w *Writer) encodeBlock(obuf, uncompressed []byte) int { + if w.customEnc != nil { + if ret := w.customEnc(obuf, uncompressed); ret >= 0 { + return ret + } + } + if w.snappy { + switch w.level { + case levelFast: + return encodeBlockSnappy(obuf, uncompressed) + case levelBetter: + return encodeBlockBetterSnappy(obuf, uncompressed) + case levelBest: + return encodeBlockBestSnappy(obuf, uncompressed) + } + return 0 + } + switch w.level { + case levelFast: + return encodeBlock(obuf, uncompressed) + case levelBetter: + return encodeBlockBetter(obuf, uncompressed) + case levelBest: + return encodeBlockBest(obuf, uncompressed, nil) + } + return 0 +} + +func (w *Writer) write(p []byte) (nRet int, errRet error) { + if err := w.err(nil); err != nil { + return 0, err + } + if w.concurrency == 1 { + return w.writeSync(p) + } + + // Spawn goroutine and write block to output channel. + for len(p) > 0 { + if !w.wroteStreamHeader { + w.wroteStreamHeader = true + hWriter := make(chan result) + w.output <- hWriter + if w.snappy { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} + } else { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} + } + } + + var uncompressed []byte + if len(p) > w.blockSize { + uncompressed, p = p[:w.blockSize], p[w.blockSize:] + } else { + uncompressed, p = p, nil + } + + // Copy input. + // If the block is incompressible, this is used for the result. + inbuf := w.buffers.Get().([]byte)[:len(uncompressed)+obufHeaderLen] + obuf := w.buffers.Get().([]byte)[:w.obufLen] + copy(inbuf[obufHeaderLen:], uncompressed) + uncompressed = inbuf[obufHeaderLen:] + + output := make(chan result) + // Queue output now, so we keep order. + w.output <- output + res := result{ + startOffset: w.uncompWritten, + } + w.uncompWritten += int64(len(uncompressed)) + + go func() { + checksum := crc(uncompressed) + + // Set to uncompressed. + chunkType := uint8(chunkTypeUncompressedData) + chunkLen := 4 + len(uncompressed) + + // Attempt compressing. + n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) + n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) + + // Check if we should use this, or store as uncompressed instead. + if n2 > 0 { + chunkType = uint8(chunkTypeCompressedData) + chunkLen = 4 + n + n2 + obuf = obuf[:obufHeaderLen+n+n2] + } else { + // Use input as output. + obuf, inbuf = inbuf, obuf + } + + // Fill in the per-chunk header that comes before the body. + obuf[0] = chunkType + obuf[1] = uint8(chunkLen >> 0) + obuf[2] = uint8(chunkLen >> 8) + obuf[3] = uint8(chunkLen >> 16) + obuf[4] = uint8(checksum >> 0) + obuf[5] = uint8(checksum >> 8) + obuf[6] = uint8(checksum >> 16) + obuf[7] = uint8(checksum >> 24) + + // Queue final output. + res.b = obuf + output <- res + + // Put unused buffer back in pool. + w.buffers.Put(inbuf) + }() + nRet += len(uncompressed) + } + return nRet, nil +} + +// writeFull is a special version of write that will always write the full buffer. +// Data to be compressed should start at offset obufHeaderLen and fill the remainder of the buffer. +// The data will be written as a single block. +// The caller is not allowed to use inbuf after this function has been called. +func (w *Writer) writeFull(inbuf []byte) (errRet error) { + if err := w.err(nil); err != nil { + return err + } + + if w.concurrency == 1 { + _, err := w.writeSync(inbuf[obufHeaderLen:]) + return err + } + + // Spawn goroutine and write block to output channel. + if !w.wroteStreamHeader { + w.wroteStreamHeader = true + hWriter := make(chan result) + w.output <- hWriter + if w.snappy { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunkSnappy)} + } else { + hWriter <- result{startOffset: w.uncompWritten, b: []byte(magicChunk)} + } + } + + // Get an output buffer. + obuf := w.buffers.Get().([]byte)[:w.obufLen] + uncompressed := inbuf[obufHeaderLen:] + + output := make(chan result) + // Queue output now, so we keep order. + w.output <- output + res := result{ + startOffset: w.uncompWritten, + } + w.uncompWritten += int64(len(uncompressed)) + + go func() { + checksum := crc(uncompressed) + + // Set to uncompressed. + chunkType := uint8(chunkTypeUncompressedData) + chunkLen := 4 + len(uncompressed) + + // Attempt compressing. + n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) + n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) + + // Check if we should use this, or store as uncompressed instead. + if n2 > 0 { + chunkType = uint8(chunkTypeCompressedData) + chunkLen = 4 + n + n2 + obuf = obuf[:obufHeaderLen+n+n2] + } else { + // Use input as output. + obuf, inbuf = inbuf, obuf + } + + // Fill in the per-chunk header that comes before the body. + obuf[0] = chunkType + obuf[1] = uint8(chunkLen >> 0) + obuf[2] = uint8(chunkLen >> 8) + obuf[3] = uint8(chunkLen >> 16) + obuf[4] = uint8(checksum >> 0) + obuf[5] = uint8(checksum >> 8) + obuf[6] = uint8(checksum >> 16) + obuf[7] = uint8(checksum >> 24) + + // Queue final output. + res.b = obuf + output <- res + + // Put unused buffer back in pool. + w.buffers.Put(inbuf) + }() + return nil +} + +func (w *Writer) writeSync(p []byte) (nRet int, errRet error) { + if err := w.err(nil); err != nil { + return 0, err + } + if !w.wroteStreamHeader { + w.wroteStreamHeader = true + var n int + var err error + if w.snappy { + n, err = w.writer.Write([]byte(magicChunkSnappy)) + } else { + n, err = w.writer.Write([]byte(magicChunk)) + } + if err != nil { + return 0, w.err(err) + } + if n != len(magicChunk) { + return 0, w.err(io.ErrShortWrite) + } + w.written += int64(n) + } + + for len(p) > 0 { + var uncompressed []byte + if len(p) > w.blockSize { + uncompressed, p = p[:w.blockSize], p[w.blockSize:] + } else { + uncompressed, p = p, nil + } + + obuf := w.buffers.Get().([]byte)[:w.obufLen] + checksum := crc(uncompressed) + + // Set to uncompressed. + chunkType := uint8(chunkTypeUncompressedData) + chunkLen := 4 + len(uncompressed) + + // Attempt compressing. + n := binary.PutUvarint(obuf[obufHeaderLen:], uint64(len(uncompressed))) + n2 := w.encodeBlock(obuf[obufHeaderLen+n:], uncompressed) + + if n2 > 0 { + chunkType = uint8(chunkTypeCompressedData) + chunkLen = 4 + n + n2 + obuf = obuf[:obufHeaderLen+n+n2] + } else { + obuf = obuf[:8] + } + + // Fill in the per-chunk header that comes before the body. + obuf[0] = chunkType + obuf[1] = uint8(chunkLen >> 0) + obuf[2] = uint8(chunkLen >> 8) + obuf[3] = uint8(chunkLen >> 16) + obuf[4] = uint8(checksum >> 0) + obuf[5] = uint8(checksum >> 8) + obuf[6] = uint8(checksum >> 16) + obuf[7] = uint8(checksum >> 24) + + n, err := w.writer.Write(obuf) + if err != nil { + return 0, w.err(err) + } + if n != len(obuf) { + return 0, w.err(io.ErrShortWrite) + } + w.err(w.index.add(w.written, w.uncompWritten)) + w.written += int64(n) + w.uncompWritten += int64(len(uncompressed)) + + if chunkType == chunkTypeUncompressedData { + // Write uncompressed data. + n, err := w.writer.Write(uncompressed) + if err != nil { + return 0, w.err(err) + } + if n != len(uncompressed) { + return 0, w.err(io.ErrShortWrite) + } + w.written += int64(n) + } + w.buffers.Put(obuf) + // Queue final output. + nRet += len(uncompressed) + } + return nRet, nil +} + +// Flush flushes the Writer to its underlying io.Writer. +// This does not apply padding. +func (w *Writer) Flush() error { + if err := w.err(nil); err != nil { + return err + } + + // Queue any data still in input buffer. + if len(w.ibuf) != 0 { + if !w.wroteStreamHeader { + _, err := w.writeSync(w.ibuf) + w.ibuf = w.ibuf[:0] + return w.err(err) + } else { + _, err := w.write(w.ibuf) + w.ibuf = w.ibuf[:0] + err = w.err(err) + if err != nil { + return err + } + } + } + if w.output == nil { + return w.err(nil) + } + + // Send empty buffer + res := make(chan result) + w.output <- res + // Block until this has been picked up. + res <- result{b: nil, startOffset: w.uncompWritten} + // When it is closed, we have flushed. + <-res + return w.err(nil) +} + +// Close calls Flush and then closes the Writer. +// Calling Close multiple times is ok, +// but calling CloseIndex after this will make it not return the index. +func (w *Writer) Close() error { + _, err := w.closeIndex(w.appendIndex) + return err +} + +// CloseIndex calls Close and returns an index on first call. +// This is not required if you are only adding index to a stream. +func (w *Writer) CloseIndex() ([]byte, error) { + return w.closeIndex(true) +} + +func (w *Writer) closeIndex(idx bool) ([]byte, error) { + err := w.Flush() + if w.output != nil { + close(w.output) + w.writerWg.Wait() + w.output = nil + } + + var index []byte + if w.err(nil) == nil && w.writer != nil { + // Create index. + if idx { + compSize := int64(-1) + if w.pad <= 1 { + compSize = w.written + } + index = w.index.appendTo(w.ibuf[:0], w.uncompWritten, compSize) + // Count as written for padding. + if w.appendIndex { + w.written += int64(len(index)) + } + } + + if w.pad > 1 { + tmp := w.ibuf[:0] + if len(index) > 0 { + // Allocate another buffer. + tmp = w.buffers.Get().([]byte)[:0] + defer w.buffers.Put(tmp) + } + add := calcSkippableFrame(w.written, int64(w.pad)) + frame, err := skippableFrame(tmp, add, w.randSrc) + if err = w.err(err); err != nil { + return nil, err + } + n, err2 := w.writer.Write(frame) + if err2 == nil && n != len(frame) { + err2 = io.ErrShortWrite + } + _ = w.err(err2) + } + if len(index) > 0 && w.appendIndex { + n, err2 := w.writer.Write(index) + if err2 == nil && n != len(index) { + err2 = io.ErrShortWrite + } + _ = w.err(err2) + } + } + err = w.err(errClosed) + if err == errClosed { + return index, nil + } + return nil, err +} + +// calcSkippableFrame will return a total size to be added for written +// to be divisible by multiple. +// The value will always be > skippableFrameHeader. +// The function will panic if written < 0 or wantMultiple <= 0. +func calcSkippableFrame(written, wantMultiple int64) int { + if wantMultiple <= 0 { + panic("wantMultiple <= 0") + } + if written < 0 { + panic("written < 0") + } + leftOver := written % wantMultiple + if leftOver == 0 { + return 0 + } + toAdd := wantMultiple - leftOver + for toAdd < skippableFrameHeader { + toAdd += wantMultiple + } + return int(toAdd) +} + +// skippableFrame will add a skippable frame with a total size of bytes. +// total should be >= skippableFrameHeader and < maxBlockSize + skippableFrameHeader +func skippableFrame(dst []byte, total int, r io.Reader) ([]byte, error) { + if total == 0 { + return dst, nil + } + if total < skippableFrameHeader { + return dst, fmt.Errorf("s2: requested skippable frame (%d) < 4", total) + } + if int64(total) >= maxBlockSize+skippableFrameHeader { + return dst, fmt.Errorf("s2: requested skippable frame (%d) >= max 1<<24", total) + } + // Chunk type 0xfe "Section 4.4 Padding (chunk type 0xfe)" + dst = append(dst, chunkTypePadding) + f := uint32(total - skippableFrameHeader) + // Add chunk length. + dst = append(dst, uint8(f), uint8(f>>8), uint8(f>>16)) + // Add data + start := len(dst) + dst = append(dst, make([]byte, f)...) + _, err := io.ReadFull(r, dst[start:]) + return dst, err +} + +var errClosed = errors.New("s2: Writer is closed") + +// WriterOption is an option for creating a encoder. +type WriterOption func(*Writer) error + +// WriterConcurrency will set the concurrency, +// meaning the maximum number of decoders to run concurrently. +// The value supplied must be at least 1. +// By default this will be set to GOMAXPROCS. +func WriterConcurrency(n int) WriterOption { + return func(w *Writer) error { + if n <= 0 { + return errors.New("concurrency must be at least 1") + } + w.concurrency = n + return nil + } +} + +// WriterAddIndex will append an index to the end of a stream +// when it is closed. +func WriterAddIndex() WriterOption { + return func(w *Writer) error { + w.appendIndex = true + return nil + } +} + +// WriterBetterCompression will enable better compression. +// EncodeBetter compresses better than Encode but typically with a +// 10-40% speed decrease on both compression and decompression. +func WriterBetterCompression() WriterOption { + return func(w *Writer) error { + w.level = levelBetter + return nil + } +} + +// WriterBestCompression will enable better compression. +// EncodeBetter compresses better than Encode but typically with a +// big speed decrease on compression. +func WriterBestCompression() WriterOption { + return func(w *Writer) error { + w.level = levelBest + return nil + } +} + +// WriterUncompressed will bypass compression. +// The stream will be written as uncompressed blocks only. +// If concurrency is > 1 CRC and output will still be done async. +func WriterUncompressed() WriterOption { + return func(w *Writer) error { + w.level = levelUncompressed + return nil + } +} + +// WriterBlockSize allows to override the default block size. +// Blocks will be this size or smaller. +// Minimum size is 4KB and and maximum size is 4MB. +// +// Bigger blocks may give bigger throughput on systems with many cores, +// and will increase compression slightly, but it will limit the possible +// concurrency for smaller payloads for both encoding and decoding. +// Default block size is 1MB. +// +// When writing Snappy compatible output using WriterSnappyCompat, +// the maximum block size is 64KB. +func WriterBlockSize(n int) WriterOption { + return func(w *Writer) error { + if w.snappy && n > maxSnappyBlockSize || n < minBlockSize { + return errors.New("s2: block size too large. Must be <= 64K and >=4KB on for snappy compatible output") + } + if n > maxBlockSize || n < minBlockSize { + return errors.New("s2: block size too large. Must be <= 4MB and >=4KB") + } + w.blockSize = n + return nil + } +} + +// WriterPadding will add padding to all output so the size will be a multiple of n. +// This can be used to obfuscate the exact output size or make blocks of a certain size. +// The contents will be a skippable frame, so it will be invisible by the decoder. +// n must be > 0 and <= 4MB. +// The padded area will be filled with data from crypto/rand.Reader. +// The padding will be applied whenever Close is called on the writer. +func WriterPadding(n int) WriterOption { + return func(w *Writer) error { + if n <= 0 { + return fmt.Errorf("s2: padding must be at least 1") + } + // No need to waste our time. + if n == 1 { + w.pad = 0 + } + if n > maxBlockSize { + return fmt.Errorf("s2: padding must less than 4MB") + } + w.pad = n + return nil + } +} + +// WriterPaddingSrc will get random data for padding from the supplied source. +// By default crypto/rand is used. +func WriterPaddingSrc(reader io.Reader) WriterOption { + return func(w *Writer) error { + w.randSrc = reader + return nil + } +} + +// WriterSnappyCompat will write snappy compatible output. +// The output can be decompressed using either snappy or s2. +// If block size is more than 64KB it is set to that. +func WriterSnappyCompat() WriterOption { + return func(w *Writer) error { + w.snappy = true + if w.blockSize > 64<<10 { + // We choose 8 bytes less than 64K, since that will make literal emits slightly more effective. + // And allows us to skip some size checks. + w.blockSize = (64 << 10) - 8 + } + return nil + } +} + +// WriterFlushOnWrite will compress blocks on each call to the Write function. +// +// This is quite inefficient as blocks size will depend on the write size. +// +// Use WriterConcurrency(1) to also make sure that output is flushed. +// When Write calls return, otherwise they will be written when compression is done. +func WriterFlushOnWrite() WriterOption { + return func(w *Writer) error { + w.flushOnWrite = true + return nil + } +} + +// WriterCustomEncoder allows to override the encoder for blocks on the stream. +// The function must compress 'src' into 'dst' and return the bytes used in dst as an integer. +// Block size (initial varint) should not be added by the encoder. +// Returning value 0 indicates the block could not be compressed. +// Returning a negative value indicates that compression should be attempted. +// The function should expect to be called concurrently. +func WriterCustomEncoder(fn func(dst, src []byte) int) WriterOption { + return func(w *Writer) error { + w.customEnc = fn + return nil + } +} diff --git a/vendor/github.com/klauspost/compress/zstd/blockenc.go b/vendor/github.com/klauspost/compress/zstd/blockenc.go index 12e8f6f0b6..fd4a36f730 100644 --- a/vendor/github.com/klauspost/compress/zstd/blockenc.go +++ b/vendor/github.com/klauspost/compress/zstd/blockenc.go @@ -473,7 +473,7 @@ func (b *blockEnc) encode(org []byte, raw, rawAllLits bool) error { return b.encodeLits(b.literals, rawAllLits) } // We want some difference to at least account for the headers. - saved := b.size - len(b.literals) - (b.size >> 5) + saved := b.size - len(b.literals) - (b.size >> 6) if saved < 16 { if org == nil { return errIncompressible @@ -779,10 +779,13 @@ func (b *blockEnc) encode(org []byte, raw, rawAllLits bool) error { } b.output = wr.out + // Maybe even add a bigger margin. if len(b.output)-3-bhOffset >= b.size { - // Maybe even add a bigger margin. + // Discard and encode as raw block. + b.output = b.encodeRawTo(b.output[:bhOffset], org) + b.popOffsets() b.litEnc.Reuse = huff0.ReusePolicyNone - return errIncompressible + return nil } // Size is output minus block header. diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go index 7113e69ee3..f04aaa21eb 100644 --- a/vendor/github.com/klauspost/compress/zstd/decoder.go +++ b/vendor/github.com/klauspost/compress/zstd/decoder.go @@ -455,12 +455,7 @@ func (d *Decoder) nextBlock(blocking bool) (ok bool) { } if len(next.b) > 0 { - n, err := d.current.crc.Write(next.b) - if err == nil { - if n != len(next.b) { - d.current.err = io.ErrShortWrite - } - } + d.current.crc.Write(next.b) } if next.err == nil && next.d != nil && next.d.hasCRC { got := uint32(d.current.crc.Sum64()) diff --git a/vendor/github.com/klauspost/compress/zstd/enc_best.go b/vendor/github.com/klauspost/compress/zstd/enc_best.go index 07f657d36e..9819d41453 100644 --- a/vendor/github.com/klauspost/compress/zstd/enc_best.go +++ b/vendor/github.com/klauspost/compress/zstd/enc_best.go @@ -34,7 +34,7 @@ type match struct { est int32 } -const highScore = 25000 +const highScore = maxMatchLen * 8 // estBits will estimate output bits from predefined tables. func (m *match) estBits(bitsPerByte int32) { @@ -159,7 +159,6 @@ func (e *bestFastEncoder) Encode(blk *blockEnc, src []byte) { // nextEmit is where in src the next emitLiteral should start from. nextEmit := s - cv := load6432(src, s) // Relative offsets offset1 := int32(blk.recentOffsets[0]) @@ -173,7 +172,6 @@ func (e *bestFastEncoder) Encode(blk *blockEnc, src []byte) { blk.literals = append(blk.literals, src[nextEmit:until]...) s.litLen = uint32(until - nextEmit) } - _ = addLiterals if debugEncoder { println("recent offsets:", blk.recentOffsets) @@ -188,7 +186,9 @@ encodeLoop: panic("offset0 was 0") } - const goodEnough = 100 + const goodEnough = 250 + + cv := load6432(src, s) nextHashL := hashLen(cv, bestLongTableBits, bestLongLen) nextHashS := hashLen(cv, bestShortTableBits, bestShortLen) @@ -201,11 +201,45 @@ encodeLoop: return } if debugAsserts { + if offset <= 0 { + panic(offset) + } if !bytes.Equal(src[s:s+4], src[offset:offset+4]) { panic(fmt.Sprintf("first match mismatch: %v != %v, first: %08x", src[s:s+4], src[offset:offset+4], first)) } } - cand := match{offset: offset, s: s, length: 4 + e.matchlen(s+4, offset+4, src), rep: rep} + // Try to quick reject if we already have a long match. + if m.length > 16 { + left := len(src) - int(m.s+m.length) + // If we are too close to the end, keep as is. + if left <= 0 { + return + } + checkLen := m.length - (s - m.s) - 8 + if left > 2 && checkLen > 4 { + // Check 4 bytes, 4 bytes from the end of the current match. + a := load3232(src, offset+checkLen) + b := load3232(src, s+checkLen) + if a != b { + return + } + } + } + l := 4 + e.matchlen(s+4, offset+4, src) + if rep < 0 { + // Extend candidate match backwards as far as possible. + tMin := s - e.maxMatchOff + if tMin < 0 { + tMin = 0 + } + for offset > tMin && s > nextEmit && src[offset-1] == src[s-1] && l < maxMatchLength { + s-- + offset-- + l++ + } + } + + cand := match{offset: offset, s: s, length: l, rep: rep} cand.estBits(bitsPerByte) if m.est >= highScore || cand.est-m.est+(cand.s-m.s)*bitsPerByte>>10 < 0 { *m = cand @@ -219,17 +253,29 @@ encodeLoop: improve(&best, candidateS.prev-e.cur, s, uint32(cv), -1) if canRepeat && best.length < goodEnough { - cv32 := uint32(cv >> 8) - spp := s + 1 - improve(&best, spp-offset1, spp, cv32, 1) - improve(&best, spp-offset2, spp, cv32, 2) - improve(&best, spp-offset3, spp, cv32, 3) - if best.length > 0 { - cv32 = uint32(cv >> 24) - spp += 2 + if s == nextEmit { + // Check repeats straight after a match. + improve(&best, s-offset2, s, uint32(cv), 1|4) + improve(&best, s-offset3, s, uint32(cv), 2|4) + if offset1 > 1 { + improve(&best, s-(offset1-1), s, uint32(cv), 3|4) + } + } + + // If either no match or a non-repeat match, check at + 1 + if best.rep <= 0 { + cv32 := uint32(cv >> 8) + spp := s + 1 improve(&best, spp-offset1, spp, cv32, 1) improve(&best, spp-offset2, spp, cv32, 2) improve(&best, spp-offset3, spp, cv32, 3) + if best.rep < 0 { + cv32 = uint32(cv >> 24) + spp += 2 + improve(&best, spp-offset1, spp, cv32, 1) + improve(&best, spp-offset2, spp, cv32, 2) + improve(&best, spp-offset3, spp, cv32, 3) + } } } // Load next and check... @@ -244,41 +290,44 @@ encodeLoop: if s >= sLimit { break encodeLoop } - cv = load6432(src, s) continue } - s++ candidateS = e.table[hashLen(cv>>8, bestShortTableBits, bestShortLen)] - cv = load6432(src, s) - cv2 := load6432(src, s+1) + cv = load6432(src, s+1) + cv2 := load6432(src, s+2) candidateL = e.longTable[hashLen(cv, bestLongTableBits, bestLongLen)] candidateL2 := e.longTable[hashLen(cv2, bestLongTableBits, bestLongLen)] // Short at s+1 - improve(&best, candidateS.offset-e.cur, s, uint32(cv), -1) + improve(&best, candidateS.offset-e.cur, s+1, uint32(cv), -1) // Long at s+1, s+2 - improve(&best, candidateL.offset-e.cur, s, uint32(cv), -1) - improve(&best, candidateL.prev-e.cur, s, uint32(cv), -1) - improve(&best, candidateL2.offset-e.cur, s+1, uint32(cv2), -1) - improve(&best, candidateL2.prev-e.cur, s+1, uint32(cv2), -1) + improve(&best, candidateL.offset-e.cur, s+1, uint32(cv), -1) + improve(&best, candidateL.prev-e.cur, s+1, uint32(cv), -1) + improve(&best, candidateL2.offset-e.cur, s+2, uint32(cv2), -1) + improve(&best, candidateL2.prev-e.cur, s+2, uint32(cv2), -1) if false { // Short at s+3. // Too often worse... - improve(&best, e.table[hashLen(cv2>>8, bestShortTableBits, bestShortLen)].offset-e.cur, s+2, uint32(cv2>>8), -1) + improve(&best, e.table[hashLen(cv2>>8, bestShortTableBits, bestShortLen)].offset-e.cur, s+3, uint32(cv2>>8), -1) } - // See if we can find a better match by checking where the current best ends. - // Use that offset to see if we can find a better full match. - if sAt := best.s + best.length; sAt < sLimit { - nextHashL := hashLen(load6432(src, sAt), bestLongTableBits, bestLongLen) - candidateEnd := e.longTable[nextHashL] - // Start check at a fixed offset to allow for a few mismatches. - // For this compression level 2 yields the best results. - const skipBeginning = 2 - if pos := candidateEnd.offset - e.cur - best.length + skipBeginning; pos >= 0 { - improve(&best, pos, best.s+skipBeginning, load3232(src, best.s+skipBeginning), -1) - if pos := candidateEnd.prev - e.cur - best.length + skipBeginning; pos >= 0 { - improve(&best, pos, best.s+skipBeginning, load3232(src, best.s+skipBeginning), -1) + + // Start check at a fixed offset to allow for a few mismatches. + // For this compression level 2 yields the best results. + // We cannot do this if we have already indexed this position. + const skipBeginning = 2 + if best.s > s-skipBeginning { + // See if we can find a better match by checking where the current best ends. + // Use that offset to see if we can find a better full match. + if sAt := best.s + best.length; sAt < sLimit { + nextHashL := hashLen(load6432(src, sAt), bestLongTableBits, bestLongLen) + candidateEnd := e.longTable[nextHashL] + + if off := candidateEnd.offset - e.cur - best.length + skipBeginning; off >= 0 { + improve(&best, off, best.s+skipBeginning, load3232(src, best.s+skipBeginning), -1) + if off := candidateEnd.prev - e.cur - best.length + skipBeginning; off >= 0 { + improve(&best, off, best.s+skipBeginning, load3232(src, best.s+skipBeginning), -1) + } } } } @@ -292,51 +341,34 @@ encodeLoop: // We have a match, we can store the forward value if best.rep > 0 { - s = best.s var seq seq seq.matchLen = uint32(best.length - zstdMinMatch) - - // We might be able to match backwards. - // Extend as long as we can. - start := best.s - // We end the search early, so we don't risk 0 literals - // and have to do special offset treatment. - startLimit := nextEmit + 1 - - tMin := s - e.maxMatchOff - if tMin < 0 { - tMin = 0 + if debugAsserts && s <= nextEmit { + panic("s <= nextEmit") } - repIndex := best.offset - for repIndex > tMin && start > startLimit && src[repIndex-1] == src[start-1] && seq.matchLen < maxMatchLength-zstdMinMatch-1 { - repIndex-- - start-- - seq.matchLen++ - } - addLiterals(&seq, start) + addLiterals(&seq, best.s) - // rep 0 - seq.offset = uint32(best.rep) + // Repeat. If bit 4 is set, this is a non-lit repeat. + seq.offset = uint32(best.rep & 3) if debugSequences { println("repeat sequence", seq, "next s:", s) } blk.sequences = append(blk.sequences, seq) - // Index match start+1 (long) -> s - 1 - index0 := s + // Index old s + 1 -> s - 1 + index0 := s + 1 s = best.s + best.length nextEmit = s if s >= sLimit { if debugEncoder { println("repeat ended", s, best.length) - } break encodeLoop } // Index skipped... off := index0 + e.cur - for index0 < s-1 { + for index0 < s { cv0 := load6432(src, index0) h0 := hashLen(cv0, bestLongTableBits, bestLongLen) h1 := hashLen(cv0, bestShortTableBits, bestShortLen) @@ -346,17 +378,19 @@ encodeLoop: index0++ } switch best.rep { - case 2: + case 2, 4 | 1: offset1, offset2 = offset2, offset1 - case 3: + case 3, 4 | 2: offset1, offset2, offset3 = offset3, offset1, offset2 + case 4 | 3: + offset1, offset2, offset3 = offset1-1, offset1, offset2 } - cv = load6432(src, s) continue } // A 4-byte match has been found. Update recent offsets. // We'll later see if more than 4 bytes. + index0 := s + 1 s = best.s t := best.offset offset1, offset2, offset3 = s-t, offset1, offset2 @@ -369,22 +403,9 @@ encodeLoop: panic("invalid offset") } - // Extend the n-byte match as long as possible. - l := best.length - - // Extend backwards - tMin := s - e.maxMatchOff - if tMin < 0 { - tMin = 0 - } - for t > tMin && s > nextEmit && src[t-1] == src[s-1] && l < maxMatchLength { - s-- - t-- - l++ - } - // Write our sequence var seq seq + l := best.length seq.litLen = uint32(s - nextEmit) seq.matchLen = uint32(l - zstdMinMatch) if seq.litLen > 0 { @@ -401,10 +422,8 @@ encodeLoop: break encodeLoop } - // Index match start+1 (long) -> s - 1 - index0 := s - l + 1 - // every entry - for index0 < s-1 { + // Index old s + 1 -> s - 1 + for index0 < s { cv0 := load6432(src, index0) h0 := hashLen(cv0, bestLongTableBits, bestLongLen) h1 := hashLen(cv0, bestShortTableBits, bestShortLen) @@ -413,50 +432,6 @@ encodeLoop: e.table[h1] = prevEntry{offset: off, prev: e.table[h1].offset} index0++ } - - cv = load6432(src, s) - if !canRepeat { - continue - } - - // Check offset 2 - for { - o2 := s - offset2 - if load3232(src, o2) != uint32(cv) { - // Do regular search - break - } - - // Store this, since we have it. - nextHashS := hashLen(cv, bestShortTableBits, bestShortLen) - nextHashL := hashLen(cv, bestLongTableBits, bestLongLen) - - // We have at least 4 byte match. - // No need to check backwards. We come straight from a match - l := 4 + e.matchlen(s+4, o2+4, src) - - e.longTable[nextHashL] = prevEntry{offset: s + e.cur, prev: e.longTable[nextHashL].offset} - e.table[nextHashS] = prevEntry{offset: s + e.cur, prev: e.table[nextHashS].offset} - seq.matchLen = uint32(l) - zstdMinMatch - seq.litLen = 0 - - // Since litlen is always 0, this is offset 1. - seq.offset = 1 - s += l - nextEmit = s - if debugSequences { - println("sequence", seq, "next s:", s) - } - blk.sequences = append(blk.sequences, seq) - - // Swap offset 1 and 2. - offset1, offset2 = offset2, offset1 - if s >= sLimit { - // Finished - break encodeLoop - } - cv = load6432(src, s) - } } if int(nextEmit) < len(src) { diff --git a/vendor/github.com/klauspost/compress/zstd/encoder.go b/vendor/github.com/klauspost/compress/zstd/encoder.go index 65c6c36dc1..4de0aed0d0 100644 --- a/vendor/github.com/klauspost/compress/zstd/encoder.go +++ b/vendor/github.com/klauspost/compress/zstd/encoder.go @@ -277,23 +277,9 @@ func (e *Encoder) nextBlock(final bool) error { s.eofWritten = true } - err := errIncompressible - // If we got the exact same number of literals as input, - // assume the literals cannot be compressed. - if len(src) != len(blk.literals) || len(src) != e.o.blockSize { - err = blk.encode(src, e.o.noEntropy, !e.o.allLitEntropy) - } - switch err { - case errIncompressible: - if debugEncoder { - println("Storing incompressible block as raw") - } - blk.encodeRaw(src) - // In fast mode, we do not transfer offsets, so we don't have to deal with changing the. - case nil: - default: - s.err = err - return err + s.err = blk.encode(src, e.o.noEntropy, !e.o.allLitEntropy) + if s.err != nil { + return s.err } _, s.err = s.w.Write(blk.output) s.nWritten += int64(len(blk.output)) @@ -343,22 +329,8 @@ func (e *Encoder) nextBlock(final bool) error { } s.wWg.Done() }() - err := errIncompressible - // If we got the exact same number of literals as input, - // assume the literals cannot be compressed. - if len(src) != len(blk.literals) || len(src) != e.o.blockSize { - err = blk.encode(src, e.o.noEntropy, !e.o.allLitEntropy) - } - switch err { - case errIncompressible: - if debugEncoder { - println("Storing incompressible block as raw") - } - blk.encodeRaw(src) - // In fast mode, we do not transfer offsets, so we don't have to deal with changing the. - case nil: - default: - s.writeErr = err + s.writeErr = blk.encode(src, e.o.noEntropy, !e.o.allLitEntropy) + if s.writeErr != nil { return } _, s.writeErr = s.w.Write(blk.output) @@ -568,25 +540,15 @@ func (e *Encoder) EncodeAll(src, dst []byte) []byte { // If we got the exact same number of literals as input, // assume the literals cannot be compressed. - err := errIncompressible oldout := blk.output - if len(blk.literals) != len(src) || len(src) != e.o.blockSize { - // Output directly to dst - blk.output = dst - err = blk.encode(src, e.o.noEntropy, !e.o.allLitEntropy) - } + // Output directly to dst + blk.output = dst - switch err { - case errIncompressible: - if debugEncoder { - println("Storing incompressible block as raw") - } - dst = blk.encodeRawTo(dst, src) - case nil: - dst = blk.output - default: + err := blk.encode(src, e.o.noEntropy, !e.o.allLitEntropy) + if err != nil { panic(err) } + dst = blk.output blk.output = oldout } else { enc.Reset(e.o.dict, false) @@ -605,25 +567,11 @@ func (e *Encoder) EncodeAll(src, dst []byte) []byte { if len(src) == 0 { blk.last = true } - err := errIncompressible - // If we got the exact same number of literals as input, - // assume the literals cannot be compressed. - if len(blk.literals) != len(todo) || len(todo) != e.o.blockSize { - err = blk.encode(todo, e.o.noEntropy, !e.o.allLitEntropy) - } - - switch err { - case errIncompressible: - if debugEncoder { - println("Storing incompressible block as raw") - } - dst = blk.encodeRawTo(dst, todo) - blk.popOffsets() - case nil: - dst = append(dst, blk.output...) - default: + err := blk.encode(todo, e.o.noEntropy, !e.o.allLitEntropy) + if err != nil { panic(err) } + dst = append(dst, blk.output...) blk.reset(nil) } } diff --git a/vendor/github.com/klauspost/compress/zstd/encoder_options.go b/vendor/github.com/klauspost/compress/zstd/encoder_options.go index 8e15be2f7f..50f70533b4 100644 --- a/vendor/github.com/klauspost/compress/zstd/encoder_options.go +++ b/vendor/github.com/klauspost/compress/zstd/encoder_options.go @@ -39,7 +39,7 @@ func (o *encoderOptions) setDefault() { blockSize: maxCompressedBlockSize, windowSize: 8 << 20, level: SpeedDefault, - allLitEntropy: true, + allLitEntropy: false, lowMem: false, } } @@ -238,7 +238,7 @@ func WithEncoderLevel(l EncoderLevel) EOption { } } if !o.customALEntropy { - o.allLitEntropy = l > SpeedFastest + o.allLitEntropy = l > SpeedDefault } return nil diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go index d8e8a05bd7..cc0aa22745 100644 --- a/vendor/github.com/klauspost/compress/zstd/framedec.go +++ b/vendor/github.com/klauspost/compress/zstd/framedec.go @@ -293,13 +293,9 @@ func (d *frameDec) next(block *blockDec) error { return nil } -// checkCRC will check the checksum if the frame has one. +// checkCRC will check the checksum, assuming the frame has one. // Will return ErrCRCMismatch if crc check failed, otherwise nil. func (d *frameDec) checkCRC() error { - if !d.HasCheckSum { - return nil - } - // We can overwrite upper tmp now buf, err := d.rawInput.readSmall(4) if err != nil { @@ -307,10 +303,6 @@ func (d *frameDec) checkCRC() error { return err } - if d.o.ignoreChecksum { - return nil - } - want := binary.LittleEndian.Uint32(buf[:4]) got := uint32(d.crc.Sum64()) @@ -326,17 +318,13 @@ func (d *frameDec) checkCRC() error { return nil } -// consumeCRC reads the checksum data if the frame has one. +// consumeCRC skips over the checksum, assuming the frame has one. func (d *frameDec) consumeCRC() error { - if d.HasCheckSum { - _, err := d.rawInput.readSmall(4) - if err != nil { - println("CRC missing?", err) - return err - } + _, err := d.rawInput.readSmall(4) + if err != nil { + println("CRC missing?", err) } - - return nil + return err } // runDecoder will run the decoder for the remainder of the frame. @@ -415,15 +403,8 @@ func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) { if d.o.ignoreChecksum { err = d.consumeCRC() } else { - var n int - n, err = d.crc.Write(dst[crcStart:]) - if err == nil { - if n != len(dst)-crcStart { - err = io.ErrShortWrite - } else { - err = d.checkCRC() - } - } + d.crc.Write(dst[crcStart:]) + err = d.checkCRC() } } } diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec.go b/vendor/github.com/klauspost/compress/zstd/seqdec.go index 27fdf90fbc..9405fcf101 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec.go +++ b/vendor/github.com/klauspost/compress/zstd/seqdec.go @@ -236,9 +236,12 @@ func (s *sequenceDecs) decodeSync(hist []byte) error { maxBlockSize = s.windowSize } + if debugDecoder { + println("decodeSync: decoding", seqs, "sequences", br.remain(), "bits remain on stream") + } for i := seqs - 1; i >= 0; i-- { if br.overread() { - printf("reading sequence %d, exceeded available data\n", seqs-i) + printf("reading sequence %d, exceeded available data. Overread by %d\n", seqs-i, -br.remain()) return io.ErrUnexpectedEOF } var ll, mo, ml int diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go index 387a30e99d..8adabd8287 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go +++ b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go @@ -5,6 +5,7 @@ package zstd import ( "fmt" + "io" "github.com/klauspost/compress/internal/cpuinfo" ) @@ -134,6 +135,9 @@ func (s *sequenceDecs) decodeSyncSimple(hist []byte) (bool, error) { return true, fmt.Errorf("unexpected literal count, want %d bytes, but only %d is available", ctx.ll, ctx.litRemain+ctx.ll) + case errorOverread: + return true, io.ErrUnexpectedEOF + case errorNotEnoughSpace: size := ctx.outPosition + ctx.ll + ctx.ml if debugDecoder { @@ -202,6 +206,9 @@ const errorNotEnoughLiterals = 4 // error reported when capacity of `out` is too small const errorNotEnoughSpace = 5 +// error reported when bits are overread. +const errorOverread = 6 + // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm. // // Please refer to seqdec_generic.go for the reference implementation. @@ -247,6 +254,10 @@ func (s *sequenceDecs) decode(seqs []seqVals) error { litRemain: len(s.literals), } + if debugDecoder { + println("decode: decoding", len(seqs), "sequences", br.remain(), "bits remain on stream") + } + s.seqSize = 0 lte56bits := s.maxBits+s.offsets.fse.actualTableLog+s.matchLengths.fse.actualTableLog+s.litLengths.fse.actualTableLog <= 56 var errCode int @@ -277,6 +288,8 @@ func (s *sequenceDecs) decode(seqs []seqVals) error { case errorNotEnoughLiterals: ll := ctx.seqs[i].ll return fmt.Errorf("unexpected literal count, want %d bytes, but only %d is available", ll, ctx.litRemain+ll) + case errorOverread: + return io.ErrUnexpectedEOF } return fmt.Errorf("sequenceDecs_decode_amd64 returned erronous code %d", errCode) @@ -291,6 +304,9 @@ func (s *sequenceDecs) decode(seqs []seqVals) error { if s.seqSize > maxBlockSize { return fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) } + if debugDecoder { + println("decode: ", br.remain(), "bits remain on stream. code:", errCode) + } err := br.close() if err != nil { printf("Closing sequences: %v, %+v\n", err, *br) diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s index b94993a072..b6f4ba6fc5 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s +++ b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s @@ -38,7 +38,7 @@ sequenceDecs_decode_amd64_main_loop: sequenceDecs_decode_amd64_fill_byte_by_byte: CMPQ SI, $0x00 - JLE sequenceDecs_decode_amd64_fill_end + JLE sequenceDecs_decode_amd64_fill_check_overread CMPQ BX, $0x07 JLE sequenceDecs_decode_amd64_fill_end SHLQ $0x08, DX @@ -49,6 +49,10 @@ sequenceDecs_decode_amd64_fill_byte_by_byte: ORQ AX, DX JMP sequenceDecs_decode_amd64_fill_byte_by_byte +sequenceDecs_decode_amd64_fill_check_overread: + CMPQ BX, $0x40 + JA error_overread + sequenceDecs_decode_amd64_fill_end: // Update offset MOVQ R9, AX @@ -105,7 +109,7 @@ sequenceDecs_decode_amd64_ml_update_zero: sequenceDecs_decode_amd64_fill_2_byte_by_byte: CMPQ SI, $0x00 - JLE sequenceDecs_decode_amd64_fill_2_end + JLE sequenceDecs_decode_amd64_fill_2_check_overread CMPQ BX, $0x07 JLE sequenceDecs_decode_amd64_fill_2_end SHLQ $0x08, DX @@ -116,6 +120,10 @@ sequenceDecs_decode_amd64_fill_2_byte_by_byte: ORQ AX, DX JMP sequenceDecs_decode_amd64_fill_2_byte_by_byte +sequenceDecs_decode_amd64_fill_2_check_overread: + CMPQ BX, $0x40 + JA error_overread + sequenceDecs_decode_amd64_fill_2_end: // Update literal length MOVQ DI, AX @@ -320,6 +328,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // func sequenceDecs_decode_56_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: CMOV TEXT ·sequenceDecs_decode_56_amd64(SB), $8-32 @@ -356,7 +369,7 @@ sequenceDecs_decode_56_amd64_main_loop: sequenceDecs_decode_56_amd64_fill_byte_by_byte: CMPQ SI, $0x00 - JLE sequenceDecs_decode_56_amd64_fill_end + JLE sequenceDecs_decode_56_amd64_fill_check_overread CMPQ BX, $0x07 JLE sequenceDecs_decode_56_amd64_fill_end SHLQ $0x08, DX @@ -367,6 +380,10 @@ sequenceDecs_decode_56_amd64_fill_byte_by_byte: ORQ AX, DX JMP sequenceDecs_decode_56_amd64_fill_byte_by_byte +sequenceDecs_decode_56_amd64_fill_check_overread: + CMPQ BX, $0x40 + JA error_overread + sequenceDecs_decode_56_amd64_fill_end: // Update offset MOVQ R9, AX @@ -613,6 +630,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // func sequenceDecs_decode_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: BMI, BMI2, CMOV TEXT ·sequenceDecs_decode_bmi2(SB), $8-32 @@ -649,7 +671,7 @@ sequenceDecs_decode_bmi2_main_loop: sequenceDecs_decode_bmi2_fill_byte_by_byte: CMPQ BX, $0x00 - JLE sequenceDecs_decode_bmi2_fill_end + JLE sequenceDecs_decode_bmi2_fill_check_overread CMPQ DX, $0x07 JLE sequenceDecs_decode_bmi2_fill_end SHLQ $0x08, AX @@ -660,6 +682,10 @@ sequenceDecs_decode_bmi2_fill_byte_by_byte: ORQ CX, AX JMP sequenceDecs_decode_bmi2_fill_byte_by_byte +sequenceDecs_decode_bmi2_fill_check_overread: + CMPQ DX, $0x40 + JA error_overread + sequenceDecs_decode_bmi2_fill_end: // Update offset MOVQ $0x00000808, CX @@ -700,7 +726,7 @@ sequenceDecs_decode_bmi2_fill_end: sequenceDecs_decode_bmi2_fill_2_byte_by_byte: CMPQ BX, $0x00 - JLE sequenceDecs_decode_bmi2_fill_2_end + JLE sequenceDecs_decode_bmi2_fill_2_check_overread CMPQ DX, $0x07 JLE sequenceDecs_decode_bmi2_fill_2_end SHLQ $0x08, AX @@ -711,6 +737,10 @@ sequenceDecs_decode_bmi2_fill_2_byte_by_byte: ORQ CX, AX JMP sequenceDecs_decode_bmi2_fill_2_byte_by_byte +sequenceDecs_decode_bmi2_fill_2_check_overread: + CMPQ DX, $0x40 + JA error_overread + sequenceDecs_decode_bmi2_fill_2_end: // Update literal length MOVQ $0x00000808, CX @@ -889,6 +919,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // func sequenceDecs_decode_56_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: BMI, BMI2, CMOV TEXT ·sequenceDecs_decode_56_bmi2(SB), $8-32 @@ -925,7 +960,7 @@ sequenceDecs_decode_56_bmi2_main_loop: sequenceDecs_decode_56_bmi2_fill_byte_by_byte: CMPQ BX, $0x00 - JLE sequenceDecs_decode_56_bmi2_fill_end + JLE sequenceDecs_decode_56_bmi2_fill_check_overread CMPQ DX, $0x07 JLE sequenceDecs_decode_56_bmi2_fill_end SHLQ $0x08, AX @@ -936,6 +971,10 @@ sequenceDecs_decode_56_bmi2_fill_byte_by_byte: ORQ CX, AX JMP sequenceDecs_decode_56_bmi2_fill_byte_by_byte +sequenceDecs_decode_56_bmi2_fill_check_overread: + CMPQ DX, $0x40 + JA error_overread + sequenceDecs_decode_56_bmi2_fill_end: // Update offset MOVQ $0x00000808, CX @@ -1140,6 +1179,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // func sequenceDecs_executeSimple_amd64(ctx *executeAsmContext) bool // Requires: SSE TEXT ·sequenceDecs_executeSimple_amd64(SB), $8-9 @@ -1804,7 +1848,7 @@ sequenceDecs_decodeSync_amd64_main_loop: sequenceDecs_decodeSync_amd64_fill_byte_by_byte: CMPQ SI, $0x00 - JLE sequenceDecs_decodeSync_amd64_fill_end + JLE sequenceDecs_decodeSync_amd64_fill_check_overread CMPQ BX, $0x07 JLE sequenceDecs_decodeSync_amd64_fill_end SHLQ $0x08, DX @@ -1815,6 +1859,10 @@ sequenceDecs_decodeSync_amd64_fill_byte_by_byte: ORQ AX, DX JMP sequenceDecs_decodeSync_amd64_fill_byte_by_byte +sequenceDecs_decodeSync_amd64_fill_check_overread: + CMPQ BX, $0x40 + JA error_overread + sequenceDecs_decodeSync_amd64_fill_end: // Update offset MOVQ R9, AX @@ -1871,7 +1919,7 @@ sequenceDecs_decodeSync_amd64_ml_update_zero: sequenceDecs_decodeSync_amd64_fill_2_byte_by_byte: CMPQ SI, $0x00 - JLE sequenceDecs_decodeSync_amd64_fill_2_end + JLE sequenceDecs_decodeSync_amd64_fill_2_check_overread CMPQ BX, $0x07 JLE sequenceDecs_decodeSync_amd64_fill_2_end SHLQ $0x08, DX @@ -1882,6 +1930,10 @@ sequenceDecs_decodeSync_amd64_fill_2_byte_by_byte: ORQ AX, DX JMP sequenceDecs_decodeSync_amd64_fill_2_byte_by_byte +sequenceDecs_decodeSync_amd64_fill_2_check_overread: + CMPQ BX, $0x40 + JA error_overread + sequenceDecs_decodeSync_amd64_fill_2_end: // Update literal length MOVQ DI, AX @@ -2291,6 +2343,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX @@ -2356,7 +2413,7 @@ sequenceDecs_decodeSync_bmi2_main_loop: sequenceDecs_decodeSync_bmi2_fill_byte_by_byte: CMPQ BX, $0x00 - JLE sequenceDecs_decodeSync_bmi2_fill_end + JLE sequenceDecs_decodeSync_bmi2_fill_check_overread CMPQ DX, $0x07 JLE sequenceDecs_decodeSync_bmi2_fill_end SHLQ $0x08, AX @@ -2367,6 +2424,10 @@ sequenceDecs_decodeSync_bmi2_fill_byte_by_byte: ORQ CX, AX JMP sequenceDecs_decodeSync_bmi2_fill_byte_by_byte +sequenceDecs_decodeSync_bmi2_fill_check_overread: + CMPQ DX, $0x40 + JA error_overread + sequenceDecs_decodeSync_bmi2_fill_end: // Update offset MOVQ $0x00000808, CX @@ -2407,7 +2468,7 @@ sequenceDecs_decodeSync_bmi2_fill_end: sequenceDecs_decodeSync_bmi2_fill_2_byte_by_byte: CMPQ BX, $0x00 - JLE sequenceDecs_decodeSync_bmi2_fill_2_end + JLE sequenceDecs_decodeSync_bmi2_fill_2_check_overread CMPQ DX, $0x07 JLE sequenceDecs_decodeSync_bmi2_fill_2_end SHLQ $0x08, AX @@ -2418,6 +2479,10 @@ sequenceDecs_decodeSync_bmi2_fill_2_byte_by_byte: ORQ CX, AX JMP sequenceDecs_decodeSync_bmi2_fill_2_byte_by_byte +sequenceDecs_decodeSync_bmi2_fill_2_check_overread: + CMPQ DX, $0x40 + JA error_overread + sequenceDecs_decodeSync_bmi2_fill_2_end: // Update literal length MOVQ $0x00000808, CX @@ -2801,6 +2866,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX @@ -2866,7 +2936,7 @@ sequenceDecs_decodeSync_safe_amd64_main_loop: sequenceDecs_decodeSync_safe_amd64_fill_byte_by_byte: CMPQ SI, $0x00 - JLE sequenceDecs_decodeSync_safe_amd64_fill_end + JLE sequenceDecs_decodeSync_safe_amd64_fill_check_overread CMPQ BX, $0x07 JLE sequenceDecs_decodeSync_safe_amd64_fill_end SHLQ $0x08, DX @@ -2877,6 +2947,10 @@ sequenceDecs_decodeSync_safe_amd64_fill_byte_by_byte: ORQ AX, DX JMP sequenceDecs_decodeSync_safe_amd64_fill_byte_by_byte +sequenceDecs_decodeSync_safe_amd64_fill_check_overread: + CMPQ BX, $0x40 + JA error_overread + sequenceDecs_decodeSync_safe_amd64_fill_end: // Update offset MOVQ R9, AX @@ -2933,7 +3007,7 @@ sequenceDecs_decodeSync_safe_amd64_ml_update_zero: sequenceDecs_decodeSync_safe_amd64_fill_2_byte_by_byte: CMPQ SI, $0x00 - JLE sequenceDecs_decodeSync_safe_amd64_fill_2_end + JLE sequenceDecs_decodeSync_safe_amd64_fill_2_check_overread CMPQ BX, $0x07 JLE sequenceDecs_decodeSync_safe_amd64_fill_2_end SHLQ $0x08, DX @@ -2944,6 +3018,10 @@ sequenceDecs_decodeSync_safe_amd64_fill_2_byte_by_byte: ORQ AX, DX JMP sequenceDecs_decodeSync_safe_amd64_fill_2_byte_by_byte +sequenceDecs_decodeSync_safe_amd64_fill_2_check_overread: + CMPQ BX, $0x40 + JA error_overread + sequenceDecs_decodeSync_safe_amd64_fill_2_end: // Update literal length MOVQ DI, AX @@ -3455,6 +3533,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX @@ -3520,7 +3603,7 @@ sequenceDecs_decodeSync_safe_bmi2_main_loop: sequenceDecs_decodeSync_safe_bmi2_fill_byte_by_byte: CMPQ BX, $0x00 - JLE sequenceDecs_decodeSync_safe_bmi2_fill_end + JLE sequenceDecs_decodeSync_safe_bmi2_fill_check_overread CMPQ DX, $0x07 JLE sequenceDecs_decodeSync_safe_bmi2_fill_end SHLQ $0x08, AX @@ -3531,6 +3614,10 @@ sequenceDecs_decodeSync_safe_bmi2_fill_byte_by_byte: ORQ CX, AX JMP sequenceDecs_decodeSync_safe_bmi2_fill_byte_by_byte +sequenceDecs_decodeSync_safe_bmi2_fill_check_overread: + CMPQ DX, $0x40 + JA error_overread + sequenceDecs_decodeSync_safe_bmi2_fill_end: // Update offset MOVQ $0x00000808, CX @@ -3571,7 +3658,7 @@ sequenceDecs_decodeSync_safe_bmi2_fill_end: sequenceDecs_decodeSync_safe_bmi2_fill_2_byte_by_byte: CMPQ BX, $0x00 - JLE sequenceDecs_decodeSync_safe_bmi2_fill_2_end + JLE sequenceDecs_decodeSync_safe_bmi2_fill_2_check_overread CMPQ DX, $0x07 JLE sequenceDecs_decodeSync_safe_bmi2_fill_2_end SHLQ $0x08, AX @@ -3582,6 +3669,10 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_byte_by_byte: ORQ CX, AX JMP sequenceDecs_decodeSync_safe_bmi2_fill_2_byte_by_byte +sequenceDecs_decodeSync_safe_bmi2_fill_2_check_overread: + CMPQ DX, $0x40 + JA error_overread + sequenceDecs_decodeSync_safe_bmi2_fill_2_end: // Update literal length MOVQ $0x00000808, CX @@ -4067,6 +4158,11 @@ error_not_enough_literals: MOVQ $0x00000004, ret+24(FP) RET + // Return with overread error +error_overread: + MOVQ $0x00000006, ret+24(FP) + RET + // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX diff --git a/vendor/github.com/klauspost/compress/zstd/zstd.go b/vendor/github.com/klauspost/compress/zstd/zstd.go index 5ffa82f5ac..89396673d9 100644 --- a/vendor/github.com/klauspost/compress/zstd/zstd.go +++ b/vendor/github.com/klauspost/compress/zstd/zstd.go @@ -128,11 +128,11 @@ func matchLen(a, b []byte) (n int) { } func load3232(b []byte, i int32) uint32 { - return binary.LittleEndian.Uint32(b[i:]) + return binary.LittleEndian.Uint32(b[:len(b):len(b)][i:]) } func load6432(b []byte, i int32) uint64 { - return binary.LittleEndian.Uint64(b[i:]) + return binary.LittleEndian.Uint64(b[:len(b):len(b)][i:]) } type byter interface { diff --git a/vendor/github.com/valyala/gozstd/Makefile b/vendor/github.com/valyala/gozstd/Makefile index 2dcc40c7d6..b7f1372d31 100644 --- a/vendor/github.com/valyala/gozstd/Makefile +++ b/vendor/github.com/valyala/gozstd/Makefile @@ -3,7 +3,7 @@ GOARCH ?= $(shell go env GOARCH) GOOS_GOARCH := $(GOOS)_$(GOARCH) GOOS_GOARCH_NATIVE := $(shell go env GOHOSTOS)_$(shell go env GOHOSTARCH) LIBZSTD_NAME := libzstd_$(GOOS_GOARCH).a -ZSTD_VERSION ?= v1.5.4 +ZSTD_VERSION ?= v1.5.5 MUSL_BUILDER_IMAGE=golang:1.20.1-alpine BUILDER_IMAGE := local/builder_musl:2.0.0-$(shell echo $(MUSL_BUILDER_IMAGE) | tr : _)-1 diff --git a/vendor/github.com/valyala/gozstd/libzstd_linux_amd64.a b/vendor/github.com/valyala/gozstd/libzstd_linux_amd64.a index 7379e5bd1c..40446a8bed 100644 Binary files a/vendor/github.com/valyala/gozstd/libzstd_linux_amd64.a and b/vendor/github.com/valyala/gozstd/libzstd_linux_amd64.a differ diff --git a/vendor/github.com/valyala/gozstd/libzstd_linux_arm.a b/vendor/github.com/valyala/gozstd/libzstd_linux_arm.a index ccc501a403..6ecca1de0b 100644 Binary files a/vendor/github.com/valyala/gozstd/libzstd_linux_arm.a and b/vendor/github.com/valyala/gozstd/libzstd_linux_arm.a differ diff --git a/vendor/github.com/valyala/gozstd/libzstd_linux_arm64.a b/vendor/github.com/valyala/gozstd/libzstd_linux_arm64.a index fd95bd8299..af70e8e1ce 100644 Binary files a/vendor/github.com/valyala/gozstd/libzstd_linux_arm64.a and b/vendor/github.com/valyala/gozstd/libzstd_linux_arm64.a differ diff --git a/vendor/github.com/valyala/gozstd/libzstd_linux_musl_amd64.a b/vendor/github.com/valyala/gozstd/libzstd_linux_musl_amd64.a index 2d387d649b..9efa3a11e7 100644 Binary files a/vendor/github.com/valyala/gozstd/libzstd_linux_musl_amd64.a and b/vendor/github.com/valyala/gozstd/libzstd_linux_musl_amd64.a differ diff --git a/vendor/github.com/valyala/gozstd/libzstd_linux_musl_arm64.a b/vendor/github.com/valyala/gozstd/libzstd_linux_musl_arm64.a index f82862d042..efcbce913a 100644 Binary files a/vendor/github.com/valyala/gozstd/libzstd_linux_musl_arm64.a and b/vendor/github.com/valyala/gozstd/libzstd_linux_musl_arm64.a differ diff --git a/vendor/github.com/valyala/gozstd/zstd.h b/vendor/github.com/valyala/gozstd/zstd.h index 95aac07370..e5c3f8b68b 100644 --- a/vendor/github.com/valyala/gozstd/zstd.h +++ b/vendor/github.com/valyala/gozstd/zstd.h @@ -106,7 +106,7 @@ extern "C" { /*------ Version ------*/ #define ZSTD_VERSION_MAJOR 1 #define ZSTD_VERSION_MINOR 5 -#define ZSTD_VERSION_RELEASE 4 +#define ZSTD_VERSION_RELEASE 5 #define ZSTD_VERSION_NUMBER (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE) /*! ZSTD_versionNumber() : @@ -148,7 +148,8 @@ ZSTDLIB_API const char* ZSTD_versionString(void); ***************************************/ /*! ZSTD_compress() : * Compresses `src` content as a single zstd compressed frame into already allocated `dst`. - * Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`. + * NOTE: Providing `dstCapacity >= ZSTD_compressBound(srcSize)` guarantees that zstd will have + * enough space to successfully compress the data. * @return : compressed size written into `dst` (<= `dstCapacity), * or an error code if it fails (which can be tested using ZSTD_isError()). */ ZSTDLIB_API size_t ZSTD_compress( void* dst, size_t dstCapacity, @@ -578,7 +579,8 @@ ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset); * Should cctx hold data from a previously unfinished frame, everything about it is forgotten. * - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() * - The function is always blocking, returns when compression is completed. - * Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`. + * NOTE: Providing `dstCapacity >= ZSTD_compressBound(srcSize)` guarantees that zstd will have + * enough space to successfully compress the data, though it is possible it fails for other reasons. * @return : compressed size written into `dst` (<= `dstCapacity), * or an error code if it fails (which can be tested using ZSTD_isError()). */ @@ -1018,9 +1020,11 @@ ZSTDLIB_API unsigned ZSTD_getDictID_fromFrame(const void* src, size_t srcSize); * Advanced dictionary and prefix API (Requires v1.4.0+) * * This API allows dictionaries to be used with ZSTD_compress2(), - * ZSTD_compressStream2(), and ZSTD_decompressDCtx(). Dictionaries are sticky, and - * only reset with the context is reset with ZSTD_reset_parameters or - * ZSTD_reset_session_and_parameters. Prefixes are single-use. + * ZSTD_compressStream2(), and ZSTD_decompressDCtx(). + * Dictionaries are sticky, they remain valid when same context is re-used, + * they only reset when the context is reset + * with ZSTD_reset_parameters or ZSTD_reset_session_and_parameters. + * In contrast, Prefixes are single-use. ******************************************************************************/ @@ -1041,7 +1045,11 @@ ZSTDLIB_API unsigned ZSTD_getDictID_fromFrame(const void* src, size_t srcSize); * Use experimental ZSTD_CCtx_loadDictionary_byReference() to reference content instead. * In such a case, dictionary buffer must outlive its users. * Note 4 : Use ZSTD_CCtx_loadDictionary_advanced() - * to precisely select how dictionary content must be interpreted. */ + * to precisely select how dictionary content must be interpreted. + * Note 5 : This method does not benefit from LDM (long distance mode). + * If you want to employ LDM on some large dictionary content, + * prefer employing ZSTD_CCtx_refPrefix() described below. + */ ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx* cctx, const void* dict, size_t dictSize); /*! ZSTD_CCtx_refCDict() : Requires v1.4.0+ @@ -1064,6 +1072,7 @@ ZSTDLIB_API size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); * Decompression will need same prefix to properly regenerate data. * Compressing with a prefix is similar in outcome as performing a diff and compressing it, * but performs much faster, especially during decompression (compression speed is tunable with compression level). + * This method is compatible with LDM (long distance mode). * @result : 0, or an error code (which can be tested with ZSTD_isError()). * Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary * Note 1 : Prefix buffer is referenced. It **must** outlive compression. @@ -1387,7 +1396,7 @@ typedef enum { } ZSTD_paramSwitch_e; /*************************************** -* Frame size functions +* Frame header and size functions ***************************************/ /*! ZSTD_findDecompressedSize() : @@ -1434,6 +1443,30 @@ ZSTDLIB_STATIC_API unsigned long long ZSTD_decompressBound(const void* src, size * or an error code (if srcSize is too small) */ ZSTDLIB_STATIC_API size_t ZSTD_frameHeaderSize(const void* src, size_t srcSize); +typedef enum { ZSTD_frame, ZSTD_skippableFrame } ZSTD_frameType_e; +typedef struct { + unsigned long long frameContentSize; /* if == ZSTD_CONTENTSIZE_UNKNOWN, it means this field is not available. 0 means "empty" */ + unsigned long long windowSize; /* can be very large, up to <= frameContentSize */ + unsigned blockSizeMax; + ZSTD_frameType_e frameType; /* if == ZSTD_skippableFrame, frameContentSize is the size of skippable content */ + unsigned headerSize; + unsigned dictID; + unsigned checksumFlag; + unsigned _reserved1; + unsigned _reserved2; +} ZSTD_frameHeader; + +/*! ZSTD_getFrameHeader() : + * decode Frame Header, or requires larger `srcSize`. + * @return : 0, `zfhPtr` is correctly filled, + * >0, `srcSize` is too small, value is wanted `srcSize` amount, + * or an error code, which can be tested using ZSTD_isError() */ +ZSTDLIB_STATIC_API size_t ZSTD_getFrameHeader(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize); /**< doesn't consume input */ +/*! ZSTD_getFrameHeader_advanced() : + * same as ZSTD_getFrameHeader(), + * with added capability to select a format (like ZSTD_f_zstd1_magicless) */ +ZSTDLIB_STATIC_API size_t ZSTD_getFrameHeader_advanced(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize, ZSTD_format_e format); + /*! ZSTD_decompressionMargin() : * Zstd supports in-place decompression, where the input and output buffers overlap. * In this case, the output buffer must be at least (Margin + Output_Size) bytes large, @@ -1803,12 +1836,26 @@ ZSTDLIB_STATIC_API size_t ZSTD_checkCParams(ZSTD_compressionParameters params); ZSTDLIB_STATIC_API ZSTD_compressionParameters ZSTD_adjustCParams(ZSTD_compressionParameters cPar, unsigned long long srcSize, size_t dictSize); /*! ZSTD_CCtx_setCParams() : - * Set all parameters provided within @cparams into the working @cctx. + * Set all parameters provided within @p cparams into the working @p cctx. * Note : if modifying parameters during compression (MT mode only), * note that changes to the .windowLog parameter will be ignored. - * @return 0 on success, or an error code (can be checked with ZSTD_isError()) */ + * @return 0 on success, or an error code (can be checked with ZSTD_isError()). + * On failure, no parameters are updated. + */ ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setCParams(ZSTD_CCtx* cctx, ZSTD_compressionParameters cparams); +/*! ZSTD_CCtx_setFParams() : + * Set all parameters provided within @p fparams into the working @p cctx. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setFParams(ZSTD_CCtx* cctx, ZSTD_frameParameters fparams); + +/*! ZSTD_CCtx_setParams() : + * Set all parameters provided within @p params into the working @p cctx. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setParams(ZSTD_CCtx* cctx, ZSTD_parameters params); + /*! ZSTD_compress_advanced() : * Note : this function is now DEPRECATED. * It can be replaced by ZSTD_compress2(), in combination with ZSTD_CCtx_setParameter() and other parameter setters. @@ -2134,7 +2181,7 @@ ZSTDLIB_STATIC_API size_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx* cctx, const vo * This parameter can be used to set an upper bound on the blocksize * that overrides the default ZSTD_BLOCKSIZE_MAX. It cannot be used to set upper * bounds greater than ZSTD_BLOCKSIZE_MAX or bounds lower than 1KB (will make - * compressBound() innacurate). Only currently meant to be used for testing. + * compressBound() inaccurate). Only currently meant to be used for testing. * */ #define ZSTD_c_maxBlockSize ZSTD_c_experimentalParam18 @@ -2452,12 +2499,9 @@ size_t ZSTD_initCStream_usingDict(ZSTD_CStream* zcs, int compressionLevel); /*! ZSTD_initCStream_advanced() : - * This function is DEPRECATED, and is approximately equivalent to: + * This function is DEPRECATED, and is equivalent to: * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); - * // Pseudocode: Set each zstd parameter and leave the rest as-is. - * for ((param, value) : params) { - * ZSTD_CCtx_setParameter(zcs, param, value); - * } + * ZSTD_CCtx_setParams(zcs, params); * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); * ZSTD_CCtx_loadDictionary(zcs, dict, dictSize); * @@ -2486,12 +2530,9 @@ ZSTDLIB_STATIC_API size_t ZSTD_initCStream_usingCDict(ZSTD_CStream* zcs, const ZSTD_CDict* cdict); /*! ZSTD_initCStream_usingCDict_advanced() : - * This function is DEPRECATED, and is approximately equivalent to: + * This function is DEPRECATED, and is equivalent to: * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); - * // Pseudocode: Set each zstd frame parameter and leave the rest as-is. - * for ((fParam, value) : fParams) { - * ZSTD_CCtx_setParameter(zcs, fParam, value); - * } + * ZSTD_CCtx_setFParams(zcs, fParams); * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); * ZSTD_CCtx_refCDict(zcs, cdict); * @@ -2598,214 +2639,6 @@ ZSTD_DEPRECATED("use ZSTD_DCtx_reset, see zstd.h for detailed instructions") ZSTDLIB_STATIC_API size_t ZSTD_resetDStream(ZSTD_DStream* zds); -/********************************************************************* -* Buffer-less and synchronous inner streaming functions -* -* This is an advanced API, giving full control over buffer management, for users which need direct control over memory. -* But it's also a complex one, with several restrictions, documented below. -* Prefer normal streaming API for an easier experience. -********************************************************************* */ - -/** - Buffer-less streaming compression (synchronous mode) - - A ZSTD_CCtx object is required to track streaming operations. - Use ZSTD_createCCtx() / ZSTD_freeCCtx() to manage resource. - ZSTD_CCtx object can be re-used multiple times within successive compression operations. - - Start by initializing a context. - Use ZSTD_compressBegin(), or ZSTD_compressBegin_usingDict() for dictionary compression. - - Then, consume your input using ZSTD_compressContinue(). - There are some important considerations to keep in mind when using this advanced function : - - ZSTD_compressContinue() has no internal buffer. It uses externally provided buffers only. - - Interface is synchronous : input is consumed entirely and produces 1+ compressed blocks. - - Caller must ensure there is enough space in `dst` to store compressed data under worst case scenario. - Worst case evaluation is provided by ZSTD_compressBound(). - ZSTD_compressContinue() doesn't guarantee recover after a failed compression. - - ZSTD_compressContinue() presumes prior input ***is still accessible and unmodified*** (up to maximum distance size, see WindowLog). - It remembers all previous contiguous blocks, plus one separated memory segment (which can itself consists of multiple contiguous blocks) - - ZSTD_compressContinue() detects that prior input has been overwritten when `src` buffer overlaps. - In which case, it will "discard" the relevant memory section from its history. - - Finish a frame with ZSTD_compressEnd(), which will write the last block(s) and optional checksum. - It's possible to use srcSize==0, in which case, it will write a final empty block to end the frame. - Without last block mark, frames are considered unfinished (hence corrupted) by compliant decoders. - - `ZSTD_CCtx` object can be re-used (ZSTD_compressBegin()) to compress again. -*/ - -/*===== Buffer-less streaming compression functions =====*/ -ZSTDLIB_STATIC_API size_t ZSTD_compressBegin(ZSTD_CCtx* cctx, int compressionLevel); -ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingDict(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel); -ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); /**< note: fails if cdict==NULL */ - -ZSTD_DEPRECATED("This function will likely be removed in a future release. It is misleading and has very limited utility.") -ZSTDLIB_STATIC_API -size_t ZSTD_copyCCtx(ZSTD_CCtx* cctx, const ZSTD_CCtx* preparedCCtx, unsigned long long pledgedSrcSize); /**< note: if pledgedSrcSize is not known, use ZSTD_CONTENTSIZE_UNKNOWN */ - -ZSTDLIB_STATIC_API size_t ZSTD_compressContinue(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); -ZSTDLIB_STATIC_API size_t ZSTD_compressEnd(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); - -/* The ZSTD_compressBegin_advanced() and ZSTD_compressBegin_usingCDict_advanced() are now DEPRECATED and will generate a compiler warning */ -ZSTD_DEPRECATED("use advanced API to access custom parameters") -ZSTDLIB_STATIC_API -size_t ZSTD_compressBegin_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_parameters params, unsigned long long pledgedSrcSize); /**< pledgedSrcSize : If srcSize is not known at init time, use ZSTD_CONTENTSIZE_UNKNOWN */ -ZSTD_DEPRECATED("use advanced API to access custom parameters") -ZSTDLIB_STATIC_API -size_t ZSTD_compressBegin_usingCDict_advanced(ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict, ZSTD_frameParameters const fParams, unsigned long long const pledgedSrcSize); /* compression parameters are already set within cdict. pledgedSrcSize must be correct. If srcSize is not known, use macro ZSTD_CONTENTSIZE_UNKNOWN */ -/** - Buffer-less streaming decompression (synchronous mode) - - A ZSTD_DCtx object is required to track streaming operations. - Use ZSTD_createDCtx() / ZSTD_freeDCtx() to manage it. - A ZSTD_DCtx object can be re-used multiple times. - - First typical operation is to retrieve frame parameters, using ZSTD_getFrameHeader(). - Frame header is extracted from the beginning of compressed frame, so providing only the frame's beginning is enough. - Data fragment must be large enough to ensure successful decoding. - `ZSTD_frameHeaderSize_max` bytes is guaranteed to always be large enough. - result : 0 : successful decoding, the `ZSTD_frameHeader` structure is correctly filled. - >0 : `srcSize` is too small, please provide at least result bytes on next attempt. - errorCode, which can be tested using ZSTD_isError(). - - It fills a ZSTD_frameHeader structure with important information to correctly decode the frame, - such as the dictionary ID, content size, or maximum back-reference distance (`windowSize`). - Note that these values could be wrong, either because of data corruption, or because a 3rd party deliberately spoofs false information. - As a consequence, check that values remain within valid application range. - For example, do not allocate memory blindly, check that `windowSize` is within expectation. - Each application can set its own limits, depending on local restrictions. - For extended interoperability, it is recommended to support `windowSize` of at least 8 MB. - - ZSTD_decompressContinue() needs previous data blocks during decompression, up to `windowSize` bytes. - ZSTD_decompressContinue() is very sensitive to contiguity, - if 2 blocks don't follow each other, make sure that either the compressor breaks contiguity at the same place, - or that previous contiguous segment is large enough to properly handle maximum back-reference distance. - There are multiple ways to guarantee this condition. - - The most memory efficient way is to use a round buffer of sufficient size. - Sufficient size is determined by invoking ZSTD_decodingBufferSize_min(), - which can return an error code if required value is too large for current system (in 32-bits mode). - In a round buffer methodology, ZSTD_decompressContinue() decompresses each block next to previous one, - up to the moment there is not enough room left in the buffer to guarantee decoding another full block, - which maximum size is provided in `ZSTD_frameHeader` structure, field `blockSizeMax`. - At which point, decoding can resume from the beginning of the buffer. - Note that already decoded data stored in the buffer should be flushed before being overwritten. - - There are alternatives possible, for example using two or more buffers of size `windowSize` each, though they consume more memory. - - Finally, if you control the compression process, you can also ignore all buffer size rules, - as long as the encoder and decoder progress in "lock-step", - aka use exactly the same buffer sizes, break contiguity at the same place, etc. - - Once buffers are setup, start decompression, with ZSTD_decompressBegin(). - If decompression requires a dictionary, use ZSTD_decompressBegin_usingDict() or ZSTD_decompressBegin_usingDDict(). - - Then use ZSTD_nextSrcSizeToDecompress() and ZSTD_decompressContinue() alternatively. - ZSTD_nextSrcSizeToDecompress() tells how many bytes to provide as 'srcSize' to ZSTD_decompressContinue(). - ZSTD_decompressContinue() requires this _exact_ amount of bytes, or it will fail. - - result of ZSTD_decompressContinue() is the number of bytes regenerated within 'dst' (necessarily <= dstCapacity). - It can be zero : it just means ZSTD_decompressContinue() has decoded some metadata item. - It can also be an error code, which can be tested with ZSTD_isError(). - - A frame is fully decoded when ZSTD_nextSrcSizeToDecompress() returns zero. - Context can then be reset to start a new decompression. - - Note : it's possible to know if next input to present is a header or a block, using ZSTD_nextInputType(). - This information is not required to properly decode a frame. - - == Special case : skippable frames == - - Skippable frames allow integration of user-defined data into a flow of concatenated frames. - Skippable frames will be ignored (skipped) by decompressor. - The format of skippable frames is as follows : - a) Skippable frame ID - 4 Bytes, Little endian format, any value from 0x184D2A50 to 0x184D2A5F - b) Frame Size - 4 Bytes, Little endian format, unsigned 32-bits - c) Frame Content - any content (User Data) of length equal to Frame Size - For skippable frames ZSTD_getFrameHeader() returns zfhPtr->frameType==ZSTD_skippableFrame. - For skippable frames ZSTD_decompressContinue() always returns 0 : it only skips the content. -*/ - -/*===== Buffer-less streaming decompression functions =====*/ -typedef enum { ZSTD_frame, ZSTD_skippableFrame } ZSTD_frameType_e; -typedef struct { - unsigned long long frameContentSize; /* if == ZSTD_CONTENTSIZE_UNKNOWN, it means this field is not available. 0 means "empty" */ - unsigned long long windowSize; /* can be very large, up to <= frameContentSize */ - unsigned blockSizeMax; - ZSTD_frameType_e frameType; /* if == ZSTD_skippableFrame, frameContentSize is the size of skippable content */ - unsigned headerSize; - unsigned dictID; - unsigned checksumFlag; - unsigned _reserved1; - unsigned _reserved2; -} ZSTD_frameHeader; - -/*! ZSTD_getFrameHeader() : - * decode Frame Header, or requires larger `srcSize`. - * @return : 0, `zfhPtr` is correctly filled, - * >0, `srcSize` is too small, value is wanted `srcSize` amount, - * or an error code, which can be tested using ZSTD_isError() */ -ZSTDLIB_STATIC_API size_t ZSTD_getFrameHeader(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize); /**< doesn't consume input */ -/*! ZSTD_getFrameHeader_advanced() : - * same as ZSTD_getFrameHeader(), - * with added capability to select a format (like ZSTD_f_zstd1_magicless) */ -ZSTDLIB_STATIC_API size_t ZSTD_getFrameHeader_advanced(ZSTD_frameHeader* zfhPtr, const void* src, size_t srcSize, ZSTD_format_e format); -ZSTDLIB_STATIC_API size_t ZSTD_decodingBufferSize_min(unsigned long long windowSize, unsigned long long frameContentSize); /**< when frame content size is not known, pass in frameContentSize == ZSTD_CONTENTSIZE_UNKNOWN */ - -ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin(ZSTD_DCtx* dctx); -ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); -ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin_usingDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); - -ZSTDLIB_STATIC_API size_t ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx* dctx); -ZSTDLIB_STATIC_API size_t ZSTD_decompressContinue(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); - -/* misc */ -ZSTD_DEPRECATED("This function will likely be removed in the next minor release. It is misleading and has very limited utility.") -ZSTDLIB_STATIC_API void ZSTD_copyDCtx(ZSTD_DCtx* dctx, const ZSTD_DCtx* preparedDCtx); -typedef enum { ZSTDnit_frameHeader, ZSTDnit_blockHeader, ZSTDnit_block, ZSTDnit_lastBlock, ZSTDnit_checksum, ZSTDnit_skippableFrame } ZSTD_nextInputType_e; -ZSTDLIB_STATIC_API ZSTD_nextInputType_e ZSTD_nextInputType(ZSTD_DCtx* dctx); - - - - -/* ============================ */ -/** Block level API */ -/* ============================ */ - -/*! - Block functions produce and decode raw zstd blocks, without frame metadata. - Frame metadata cost is typically ~12 bytes, which can be non-negligible for very small blocks (< 100 bytes). - But users will have to take in charge needed metadata to regenerate data, such as compressed and content sizes. - - A few rules to respect : - - Compressing and decompressing require a context structure - + Use ZSTD_createCCtx() and ZSTD_createDCtx() - - It is necessary to init context before starting - + compression : any ZSTD_compressBegin*() variant, including with dictionary - + decompression : any ZSTD_decompressBegin*() variant, including with dictionary - - Block size is limited, it must be <= ZSTD_getBlockSize() <= ZSTD_BLOCKSIZE_MAX == 128 KB - + If input is larger than a block size, it's necessary to split input data into multiple blocks - + For inputs larger than a single block, consider using regular ZSTD_compress() instead. - Frame metadata is not that costly, and quickly becomes negligible as source size grows larger than a block. - - When a block is considered not compressible enough, ZSTD_compressBlock() result will be 0 (zero) ! - ===> In which case, nothing is produced into `dst` ! - + User __must__ test for such outcome and deal directly with uncompressed data - + A block cannot be declared incompressible if ZSTD_compressBlock() return value was != 0. - Doing so would mess up with statistics history, leading to potential data corruption. - + ZSTD_decompressBlock() _doesn't accept uncompressed data as input_ !! - + In case of multiple successive blocks, should some of them be uncompressed, - decoder must be informed of their existence in order to follow proper history. - Use ZSTD_insertBlock() for such a case. -*/ - -/*===== Raw zstd block functions =====*/ -ZSTDLIB_STATIC_API size_t ZSTD_getBlockSize (const ZSTD_CCtx* cctx); -ZSTDLIB_STATIC_API size_t ZSTD_compressBlock (ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); -ZSTDLIB_STATIC_API size_t ZSTD_decompressBlock(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); -ZSTDLIB_STATIC_API size_t ZSTD_insertBlock (ZSTD_DCtx* dctx, const void* blockStart, size_t blockSize); /**< insert uncompressed block into `dctx` history. Useful for multi-blocks decompression. */ - - /* ********************* BLOCK-LEVEL SEQUENCE PRODUCER API ********************* * * *** OVERVIEW *** @@ -2967,6 +2800,219 @@ ZSTD_registerSequenceProducer( ZSTD_sequenceProducer_F* sequenceProducer ); + +/********************************************************************* +* Buffer-less and synchronous inner streaming functions (DEPRECATED) +* +* This API is deprecated, and will be removed in a future version. +* It allows streaming (de)compression with user allocated buffers. +* However, it is hard to use, and not as well tested as the rest of +* our API. +* +* Please use the normal streaming API instead: ZSTD_compressStream2, +* and ZSTD_decompressStream. +* If there is functionality that you need, but it doesn't provide, +* please open an issue on our GitHub. +********************************************************************* */ + +/** + Buffer-less streaming compression (synchronous mode) + + A ZSTD_CCtx object is required to track streaming operations. + Use ZSTD_createCCtx() / ZSTD_freeCCtx() to manage resource. + ZSTD_CCtx object can be re-used multiple times within successive compression operations. + + Start by initializing a context. + Use ZSTD_compressBegin(), or ZSTD_compressBegin_usingDict() for dictionary compression. + + Then, consume your input using ZSTD_compressContinue(). + There are some important considerations to keep in mind when using this advanced function : + - ZSTD_compressContinue() has no internal buffer. It uses externally provided buffers only. + - Interface is synchronous : input is consumed entirely and produces 1+ compressed blocks. + - Caller must ensure there is enough space in `dst` to store compressed data under worst case scenario. + Worst case evaluation is provided by ZSTD_compressBound(). + ZSTD_compressContinue() doesn't guarantee recover after a failed compression. + - ZSTD_compressContinue() presumes prior input ***is still accessible and unmodified*** (up to maximum distance size, see WindowLog). + It remembers all previous contiguous blocks, plus one separated memory segment (which can itself consists of multiple contiguous blocks) + - ZSTD_compressContinue() detects that prior input has been overwritten when `src` buffer overlaps. + In which case, it will "discard" the relevant memory section from its history. + + Finish a frame with ZSTD_compressEnd(), which will write the last block(s) and optional checksum. + It's possible to use srcSize==0, in which case, it will write a final empty block to end the frame. + Without last block mark, frames are considered unfinished (hence corrupted) by compliant decoders. + + `ZSTD_CCtx` object can be re-used (ZSTD_compressBegin()) to compress again. +*/ + +/*===== Buffer-less streaming compression functions =====*/ +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBegin(ZSTD_CCtx* cctx, int compressionLevel); +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingDict(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel); +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); /**< note: fails if cdict==NULL */ + +ZSTD_DEPRECATED("This function will likely be removed in a future release. It is misleading and has very limited utility.") +ZSTDLIB_STATIC_API +size_t ZSTD_copyCCtx(ZSTD_CCtx* cctx, const ZSTD_CCtx* preparedCCtx, unsigned long long pledgedSrcSize); /**< note: if pledgedSrcSize is not known, use ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressContinue(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressEnd(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* The ZSTD_compressBegin_advanced() and ZSTD_compressBegin_usingCDict_advanced() are now DEPRECATED and will generate a compiler warning */ +ZSTD_DEPRECATED("use advanced API to access custom parameters") +ZSTDLIB_STATIC_API +size_t ZSTD_compressBegin_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_parameters params, unsigned long long pledgedSrcSize); /**< pledgedSrcSize : If srcSize is not known at init time, use ZSTD_CONTENTSIZE_UNKNOWN */ +ZSTD_DEPRECATED("use advanced API to access custom parameters") +ZSTDLIB_STATIC_API +size_t ZSTD_compressBegin_usingCDict_advanced(ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict, ZSTD_frameParameters const fParams, unsigned long long const pledgedSrcSize); /* compression parameters are already set within cdict. pledgedSrcSize must be correct. If srcSize is not known, use macro ZSTD_CONTENTSIZE_UNKNOWN */ +/** + Buffer-less streaming decompression (synchronous mode) + + A ZSTD_DCtx object is required to track streaming operations. + Use ZSTD_createDCtx() / ZSTD_freeDCtx() to manage it. + A ZSTD_DCtx object can be re-used multiple times. + + First typical operation is to retrieve frame parameters, using ZSTD_getFrameHeader(). + Frame header is extracted from the beginning of compressed frame, so providing only the frame's beginning is enough. + Data fragment must be large enough to ensure successful decoding. + `ZSTD_frameHeaderSize_max` bytes is guaranteed to always be large enough. + result : 0 : successful decoding, the `ZSTD_frameHeader` structure is correctly filled. + >0 : `srcSize` is too small, please provide at least result bytes on next attempt. + errorCode, which can be tested using ZSTD_isError(). + + It fills a ZSTD_frameHeader structure with important information to correctly decode the frame, + such as the dictionary ID, content size, or maximum back-reference distance (`windowSize`). + Note that these values could be wrong, either because of data corruption, or because a 3rd party deliberately spoofs false information. + As a consequence, check that values remain within valid application range. + For example, do not allocate memory blindly, check that `windowSize` is within expectation. + Each application can set its own limits, depending on local restrictions. + For extended interoperability, it is recommended to support `windowSize` of at least 8 MB. + + ZSTD_decompressContinue() needs previous data blocks during decompression, up to `windowSize` bytes. + ZSTD_decompressContinue() is very sensitive to contiguity, + if 2 blocks don't follow each other, make sure that either the compressor breaks contiguity at the same place, + or that previous contiguous segment is large enough to properly handle maximum back-reference distance. + There are multiple ways to guarantee this condition. + + The most memory efficient way is to use a round buffer of sufficient size. + Sufficient size is determined by invoking ZSTD_decodingBufferSize_min(), + which can return an error code if required value is too large for current system (in 32-bits mode). + In a round buffer methodology, ZSTD_decompressContinue() decompresses each block next to previous one, + up to the moment there is not enough room left in the buffer to guarantee decoding another full block, + which maximum size is provided in `ZSTD_frameHeader` structure, field `blockSizeMax`. + At which point, decoding can resume from the beginning of the buffer. + Note that already decoded data stored in the buffer should be flushed before being overwritten. + + There are alternatives possible, for example using two or more buffers of size `windowSize` each, though they consume more memory. + + Finally, if you control the compression process, you can also ignore all buffer size rules, + as long as the encoder and decoder progress in "lock-step", + aka use exactly the same buffer sizes, break contiguity at the same place, etc. + + Once buffers are setup, start decompression, with ZSTD_decompressBegin(). + If decompression requires a dictionary, use ZSTD_decompressBegin_usingDict() or ZSTD_decompressBegin_usingDDict(). + + Then use ZSTD_nextSrcSizeToDecompress() and ZSTD_decompressContinue() alternatively. + ZSTD_nextSrcSizeToDecompress() tells how many bytes to provide as 'srcSize' to ZSTD_decompressContinue(). + ZSTD_decompressContinue() requires this _exact_ amount of bytes, or it will fail. + + result of ZSTD_decompressContinue() is the number of bytes regenerated within 'dst' (necessarily <= dstCapacity). + It can be zero : it just means ZSTD_decompressContinue() has decoded some metadata item. + It can also be an error code, which can be tested with ZSTD_isError(). + + A frame is fully decoded when ZSTD_nextSrcSizeToDecompress() returns zero. + Context can then be reset to start a new decompression. + + Note : it's possible to know if next input to present is a header or a block, using ZSTD_nextInputType(). + This information is not required to properly decode a frame. + + == Special case : skippable frames == + + Skippable frames allow integration of user-defined data into a flow of concatenated frames. + Skippable frames will be ignored (skipped) by decompressor. + The format of skippable frames is as follows : + a) Skippable frame ID - 4 Bytes, Little endian format, any value from 0x184D2A50 to 0x184D2A5F + b) Frame Size - 4 Bytes, Little endian format, unsigned 32-bits + c) Frame Content - any content (User Data) of length equal to Frame Size + For skippable frames ZSTD_getFrameHeader() returns zfhPtr->frameType==ZSTD_skippableFrame. + For skippable frames ZSTD_decompressContinue() always returns 0 : it only skips the content. +*/ + +/*===== Buffer-less streaming decompression functions =====*/ + +ZSTDLIB_STATIC_API size_t ZSTD_decodingBufferSize_min(unsigned long long windowSize, unsigned long long frameContentSize); /**< when frame content size is not known, pass in frameContentSize == ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin(ZSTD_DCtx* dctx); +ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); +ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin_usingDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); + +ZSTDLIB_STATIC_API size_t ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx* dctx); +ZSTDLIB_STATIC_API size_t ZSTD_decompressContinue(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* misc */ +ZSTD_DEPRECATED("This function will likely be removed in the next minor release. It is misleading and has very limited utility.") +ZSTDLIB_STATIC_API void ZSTD_copyDCtx(ZSTD_DCtx* dctx, const ZSTD_DCtx* preparedDCtx); +typedef enum { ZSTDnit_frameHeader, ZSTDnit_blockHeader, ZSTDnit_block, ZSTDnit_lastBlock, ZSTDnit_checksum, ZSTDnit_skippableFrame } ZSTD_nextInputType_e; +ZSTDLIB_STATIC_API ZSTD_nextInputType_e ZSTD_nextInputType(ZSTD_DCtx* dctx); + + + + +/* ========================================= */ +/** Block level API (DEPRECATED) */ +/* ========================================= */ + +/*! + + This API is deprecated in favor of the regular compression API. + You can get the frame header down to 2 bytes by setting: + - ZSTD_c_format = ZSTD_f_zstd1_magicless + - ZSTD_c_contentSizeFlag = 0 + - ZSTD_c_checksumFlag = 0 + - ZSTD_c_dictIDFlag = 0 + + This API is not as well tested as our normal API, so we recommend not using it. + We will be removing it in a future version. If the normal API doesn't provide + the functionality you need, please open a GitHub issue. + + Block functions produce and decode raw zstd blocks, without frame metadata. + Frame metadata cost is typically ~12 bytes, which can be non-negligible for very small blocks (< 100 bytes). + But users will have to take in charge needed metadata to regenerate data, such as compressed and content sizes. + + A few rules to respect : + - Compressing and decompressing require a context structure + + Use ZSTD_createCCtx() and ZSTD_createDCtx() + - It is necessary to init context before starting + + compression : any ZSTD_compressBegin*() variant, including with dictionary + + decompression : any ZSTD_decompressBegin*() variant, including with dictionary + - Block size is limited, it must be <= ZSTD_getBlockSize() <= ZSTD_BLOCKSIZE_MAX == 128 KB + + If input is larger than a block size, it's necessary to split input data into multiple blocks + + For inputs larger than a single block, consider using regular ZSTD_compress() instead. + Frame metadata is not that costly, and quickly becomes negligible as source size grows larger than a block. + - When a block is considered not compressible enough, ZSTD_compressBlock() result will be 0 (zero) ! + ===> In which case, nothing is produced into `dst` ! + + User __must__ test for such outcome and deal directly with uncompressed data + + A block cannot be declared incompressible if ZSTD_compressBlock() return value was != 0. + Doing so would mess up with statistics history, leading to potential data corruption. + + ZSTD_decompressBlock() _doesn't accept uncompressed data as input_ !! + + In case of multiple successive blocks, should some of them be uncompressed, + decoder must be informed of their existence in order to follow proper history. + Use ZSTD_insertBlock() for such a case. +*/ + +/*===== Raw zstd block functions =====*/ +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_getBlockSize (const ZSTD_CCtx* cctx); +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBlock (ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_decompressBlock(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_insertBlock (ZSTD_DCtx* dctx, const void* blockStart, size_t blockSize); /**< insert uncompressed block into `dctx` history. Useful for multi-blocks decompression. */ + #endif /* ZSTD_H_ZSTD_STATIC_LINKING_ONLY */ #if defined (__cplusplus) diff --git a/vendor/golang.org/x/net/http2/pipe.go b/vendor/golang.org/x/net/http2/pipe.go index c15b8a7719..684d984fd9 100644 --- a/vendor/golang.org/x/net/http2/pipe.go +++ b/vendor/golang.org/x/net/http2/pipe.go @@ -88,13 +88,9 @@ func (p *pipe) Write(d []byte) (n int, err error) { p.c.L = &p.mu } defer p.c.Signal() - if p.err != nil { + if p.err != nil || p.breakErr != nil { return 0, errClosedPipeWrite } - if p.breakErr != nil { - p.unread += len(d) - return len(d), nil // discard when there is no reader - } return p.b.Write(d) } diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index 8cb14f3c97..cd057f3982 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -1822,15 +1822,18 @@ func (sc *serverConn) processData(f *DataFrame) error { } if len(data) > 0 { + st.bodyBytes += int64(len(data)) wrote, err := st.body.Write(data) if err != nil { + // The handler has closed the request body. + // Return the connection-level flow control for the discarded data, + // but not the stream-level flow control. sc.sendWindowUpdate(nil, int(f.Length)-wrote) - return sc.countError("body_write_err", streamError(id, ErrCodeStreamClosed)) + return nil } if wrote != len(data) { panic("internal error: bad Writer") } - st.bodyBytes += int64(len(data)) } // Return any padded flow control now, since we won't diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index 05ba23d3d9..f965579f7d 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -560,10 +560,11 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res traceGotConn(req, cc, reused) res, err := cc.RoundTrip(req) if err != nil && retry <= 6 { + roundTripErr := err if req, err = shouldRetryRequest(req, err); err == nil { // After the first retry, do exponential backoff with 10% jitter. if retry == 0 { - t.vlogf("RoundTrip retrying after failure: %v", err) + t.vlogf("RoundTrip retrying after failure: %v", roundTripErr) continue } backoff := float64(uint(1) << (uint(retry) - 1)) @@ -572,7 +573,7 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res timer := backoffNewTimer(d) select { case <-timer.C: - t.vlogf("RoundTrip retrying after failure: %v", err) + t.vlogf("RoundTrip retrying after failure: %v", roundTripErr) continue case <-req.Context().Done(): timer.Stop() @@ -2555,6 +2556,9 @@ func (b transportResponseBody) Close() error { cs := b.cs cc := cs.cc + cs.bufPipe.BreakWithError(errClosedResponseBody) + cs.abortStream(errClosedResponseBody) + unread := cs.bufPipe.Len() if unread > 0 { cc.mu.Lock() @@ -2573,9 +2577,6 @@ func (b transportResponseBody) Close() error { cc.wmu.Unlock() } - cs.bufPipe.BreakWithError(errClosedResponseBody) - cs.abortStream(errClosedResponseBody) - select { case <-cs.donec: case <-cs.ctx.Done(): diff --git a/vendor/golang.org/x/sys/unix/ioctl_signed.go b/vendor/golang.org/x/sys/unix/ioctl_signed.go new file mode 100644 index 0000000000..7def9580e6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ioctl_signed.go @@ -0,0 +1,70 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build aix || solaris +// +build aix solaris + +package unix + +import ( + "unsafe" +) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req int, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +// IoctlSetPointerInt performs an ioctl operation which sets an +// integer value on fd, using the specified request number. The ioctl +// argument is called with a pointer to the integer value, rather than +// passing the integer value directly. +func IoctlSetPointerInt(fd int, req int, value int) error { + v := int32(value) + return ioctlPtr(fd, req, unsafe.Pointer(&v)) +} + +// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. +// +// To change fd's window size, the req argument should be TIOCSWINSZ. +func IoctlSetWinsize(fd int, req int, value *Winsize) error { + // TODO: if we get the chance, remove the req parameter and + // hardcode TIOCSWINSZ. + return ioctlPtr(fd, req, unsafe.Pointer(value)) +} + +// IoctlSetTermios performs an ioctl on fd with a *Termios. +// +// The req value will usually be TCSETA or TIOCSETA. +func IoctlSetTermios(fd int, req int, value *Termios) error { + // TODO: if we get the chance, remove the req parameter. + return ioctlPtr(fd, req, unsafe.Pointer(value)) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +// +// A few ioctl requests use the return value as an output parameter; +// for those, IoctlRetInt should be used instead of this function. +func IoctlGetInt(fd int, req int) (int, error) { + var value int + err := ioctlPtr(fd, req, unsafe.Pointer(&value)) + return value, err +} + +func IoctlGetWinsize(fd int, req int) (*Winsize, error) { + var value Winsize + err := ioctlPtr(fd, req, unsafe.Pointer(&value)) + return &value, err +} + +func IoctlGetTermios(fd int, req int) (*Termios, error) { + var value Termios + err := ioctlPtr(fd, req, unsafe.Pointer(&value)) + return &value, err +} diff --git a/vendor/golang.org/x/sys/unix/ioctl.go b/vendor/golang.org/x/sys/unix/ioctl_unsigned.go similarity index 92% rename from vendor/golang.org/x/sys/unix/ioctl.go rename to vendor/golang.org/x/sys/unix/ioctl_unsigned.go index 7ce8dd406f..649913d1ea 100644 --- a/vendor/golang.org/x/sys/unix/ioctl.go +++ b/vendor/golang.org/x/sys/unix/ioctl_unsigned.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build aix || darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd || solaris -// +build aix darwin dragonfly freebsd hurd linux netbsd openbsd solaris +//go:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd +// +build darwin dragonfly freebsd hurd linux netbsd openbsd package unix diff --git a/vendor/golang.org/x/sys/unix/ioctl_zos.go b/vendor/golang.org/x/sys/unix/ioctl_zos.go index 6532f09af2..cdc21bf76d 100644 --- a/vendor/golang.org/x/sys/unix/ioctl_zos.go +++ b/vendor/golang.org/x/sys/unix/ioctl_zos.go @@ -17,14 +17,14 @@ import ( // IoctlSetInt performs an ioctl operation which sets an integer value // on fd, using the specified request number. -func IoctlSetInt(fd int, req uint, value int) error { +func IoctlSetInt(fd int, req int, value int) error { return ioctl(fd, req, uintptr(value)) } // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. // // To change fd's window size, the req argument should be TIOCSWINSZ. -func IoctlSetWinsize(fd int, req uint, value *Winsize) error { +func IoctlSetWinsize(fd int, req int, value *Winsize) error { // TODO: if we get the chance, remove the req parameter and // hardcode TIOCSWINSZ. return ioctlPtr(fd, req, unsafe.Pointer(value)) @@ -33,7 +33,7 @@ func IoctlSetWinsize(fd int, req uint, value *Winsize) error { // IoctlSetTermios performs an ioctl on fd with a *Termios. // // The req value is expected to be TCSETS, TCSETSW, or TCSETSF -func IoctlSetTermios(fd int, req uint, value *Termios) error { +func IoctlSetTermios(fd int, req int, value *Termios) error { if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) { return ENOSYS } @@ -47,13 +47,13 @@ func IoctlSetTermios(fd int, req uint, value *Termios) error { // // A few ioctl requests use the return value as an output parameter; // for those, IoctlRetInt should be used instead of this function. -func IoctlGetInt(fd int, req uint) (int, error) { +func IoctlGetInt(fd int, req int) (int, error) { var value int err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return value, err } -func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { +func IoctlGetWinsize(fd int, req int) (*Winsize, error) { var value Winsize err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err @@ -62,7 +62,7 @@ func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { // IoctlGetTermios performs an ioctl on fd with a *Termios. // // The req value is expected to be TCGETS -func IoctlGetTermios(fd int, req uint) (*Termios, error) { +func IoctlGetTermios(fd int, req int) (*Termios, error) { var value Termios if req != TCGETS { return &value, ENOSYS diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index 7456d9ddde..2045d3dadb 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -66,6 +66,7 @@ includes_Darwin=' #include #include #include +#include #include #include #include @@ -521,6 +522,7 @@ ccflags="$@" $2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ || $2 ~ /^NFC_.*_(MAX)?SIZE$/ || $2 ~ /^RAW_PAYLOAD_/ || + $2 ~ /^[US]F_/ || $2 ~ /^TP_STATUS_/ || $2 ~ /^FALLOC_/ || $2 ~ /^ICMPV?6?_(FILTER|SEC)/ || diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go index d9f5544ccf..c406ae00f4 100644 --- a/vendor/golang.org/x/sys/unix/syscall_aix.go +++ b/vendor/golang.org/x/sys/unix/syscall_aix.go @@ -408,8 +408,8 @@ func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 } func (w WaitStatus) TrapCause() int { return -1 } -//sys ioctl(fd int, req uint, arg uintptr) (err error) -//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = ioctl +//sys ioctl(fd int, req int, arg uintptr) (err error) +//sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = ioctl // fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX // There is no way to create a custom fcntl and to keep //sys fcntl easily, diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go index e92a0be163..f2871fa953 100644 --- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go @@ -8,7 +8,6 @@ package unix //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64 -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64 //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go index 16eed17098..75718ec0f1 100644 --- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go @@ -8,7 +8,6 @@ package unix //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) //sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64 diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 7064d6ebab..206921504c 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -613,6 +613,7 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { //sys Rmdir(path string) (err error) //sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) //sys Setegid(egid int) (err error) //sysnb Seteuid(euid int) (err error) //sysnb Setgid(gid int) (err error) @@ -622,7 +623,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { //sys Setprivexec(flag int) (err error) //sysnb Setregid(rgid int, egid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) //sysnb Setsid() (pid int, err error) //sysnb Settimeofday(tp *Timeval) (err error) //sysnb Setuid(uid int) (err error) @@ -676,7 +676,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { // Kqueue_from_portset_np // Kqueue_portset // Getattrlist -// Setattrlist // Getdirentriesattr // Searchfs // Delete diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go index 221efc26bc..d4ce988e72 100644 --- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -326,7 +326,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setresgid(rgid int, egid int, sgid int) (err error) //sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) //sysnb Setsid() (pid int, err error) //sysnb Settimeofday(tp *Timeval) (err error) //sysnb Setuid(uid int) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go index 5bdde03e4a..afb10106f6 100644 --- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -433,7 +433,6 @@ func Dup3(oldfd, newfd, flags int) error { //sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setresgid(rgid int, egid int, sgid int) (err error) //sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) //sysnb Setsid() (pid int, err error) //sysnb Settimeofday(tp *Timeval) (err error) //sysnb Setuid(uid int) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index 9735331530..fbaeb5fff1 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -1873,7 +1873,6 @@ func Getpgrp() (pid int) { //sys OpenTree(dfd int, fileName string, flags uint) (r int, err error) //sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) //sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT -//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 //sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 //sys read(fd int, p []byte) (n int, err error) @@ -1887,6 +1886,15 @@ func Getpgrp() (pid int) { //sysnb Settimeofday(tv *Timeval) (err error) //sys Setns(fd int, nstype int) (err error) +//go:linkname syscall_prlimit syscall.prlimit +func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) error + +func Prlimit(pid, resource int, newlimit, old *Rlimit) error { + // Just call the syscall version, because as of Go 1.21 + // it will affect starting a new process. + return syscall_prlimit(pid, resource, (*syscall.Rlimit)(newlimit), (*syscall.Rlimit)(old)) +} + // PrctlRetInt performs a prctl operation specified by option and further // optional arguments arg2 through arg5 depending on option. It returns a // non-negative integer that is returned by the prctl syscall. diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go index ff5b5899d6..c7d9945ea1 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -97,33 +97,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { return } -//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - if rlim.Cur == rlimInf64 { - rl.Cur = rlimInf32 - } else if rlim.Cur < uint64(rlimInf32) { - rl.Cur = uint32(rlim.Cur) - } else { - return EINVAL - } - if rlim.Max == rlimInf64 { - rl.Max = rlimInf32 - } else if rlim.Max < uint64(rlimInf32) { - rl.Max = uint32(rlim.Max) - } else { - return EINVAL - } - - return setrlimit(resource, &rl) -} - func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { newoffset, errno := seek(fd, offset, whence) if errno != 0 { diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go index 9b27035329..5b21fcfd75 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -46,7 +46,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) //sys Shutdown(fd int, how int) (err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go index 856ad1d635..da2986415a 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -171,33 +171,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { return } -//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - if rlim.Cur == rlimInf64 { - rl.Cur = rlimInf32 - } else if rlim.Cur < uint64(rlimInf32) { - rl.Cur = uint32(rlim.Cur) - } else { - return EINVAL - } - if rlim.Max == rlimInf64 { - rl.Max = rlimInf32 - } else if rlim.Max < uint64(rlimInf32) { - rl.Max = uint32(rlim.Max) - } else { - return EINVAL - } - - return setrlimit(resource, &rl) -} - func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go index 6422704bc5..a81f5742b8 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -39,7 +39,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error) -//sysnb setrlimit(resource int, rlim *Rlimit) (err error) //sys Shutdown(fd int, how int) (err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) @@ -143,15 +142,6 @@ func Getrlimit(resource int, rlim *Rlimit) error { return getrlimit(resource, rlim) } -// Setrlimit prefers the prlimit64 system call. See issue 38604. -func Setrlimit(resource int, rlim *Rlimit) error { - err := Prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - return setrlimit(resource, rlim) -} - func (r *PtraceRegs) PC() uint64 { return r.Pc } func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go index 59dab510e9..69d2d7c3db 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go @@ -126,11 +126,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { return } -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) - return -} - func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { if tv == nil { return utimensat(dirfd, path, nil, 0) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go index bfef09a39e..76d564095e 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -37,7 +37,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) //sys Shutdown(fd int, how int) (err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Statfs(path string, buf *Statfs_t) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go index ab30250966..aae7f0ffd3 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -151,33 +151,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { return } -//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - if rlim.Cur == rlimInf64 { - rl.Cur = rlimInf32 - } else if rlim.Cur < uint64(rlimInf32) { - rl.Cur = uint32(rlim.Cur) - } else { - return EINVAL - } - if rlim.Max == rlimInf64 { - rl.Max = rlimInf32 - } else if rlim.Max < uint64(rlimInf32) { - rl.Max = uint32(rlim.Max) - } else { - return EINVAL - } - - return setrlimit(resource, &rl) -} - func (r *PtraceRegs) PC() uint64 { return r.Epc } func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go index eac1cf1acc..66eff19a32 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go @@ -159,33 +159,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { return } -//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT - -func Setrlimit(resource int, rlim *Rlimit) (err error) { - err = Prlimit(0, resource, rlim, nil) - if err != ENOSYS { - return err - } - - rl := rlimit32{} - if rlim.Cur == rlimInf64 { - rl.Cur = rlimInf32 - } else if rlim.Cur < uint64(rlimInf32) { - rl.Cur = uint32(rlim.Cur) - } else { - return EINVAL - } - if rlim.Max == rlimInf64 { - rl.Max = rlimInf32 - } else if rlim.Max < uint64(rlimInf32) { - rl.Max = uint32(rlim.Max) - } else { - return EINVAL - } - - return setrlimit(resource, &rl) -} - func (r *PtraceRegs) PC() uint32 { return r.Nip } func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go index 4df56616b8..806aa2574d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -34,7 +34,6 @@ package unix //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) //sys Shutdown(fd int, how int) (err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Stat(path string, stat *Stat_t) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go index 5f4243dea2..35851ef70b 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -38,7 +38,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) //sys Shutdown(fd int, how int) (err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go index d0a7d40668..2f89e8f5de 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -34,7 +34,6 @@ import ( //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Stat(path string, stat *Stat_t) (err error) //sys Statfs(path string, buf *Statfs_t) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go index f5c793be26..7ca064ae76 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -31,7 +31,6 @@ package unix //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys setfsgid(gid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error) -//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) //sys Shutdown(fd int, how int) (err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Stat(path string, stat *Stat_t) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go index e66865dccb..018d7d4782 100644 --- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -340,7 +340,6 @@ func Statvfs(path string, buf *Statvfs_t) (err error) { //sys Setpriority(which int, who int, prio int) (err error) //sysnb Setregid(rgid int, egid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) //sysnb Setsid() (pid int, err error) //sysnb Settimeofday(tp *Timeval) (err error) //sysnb Setuid(uid int) (err error) @@ -501,7 +500,6 @@ func Statvfs(path string, buf *Statvfs_t) (err error) { // compat_43_osendmsg // compat_43_osethostid // compat_43_osethostname -// compat_43_osetrlimit // compat_43_osigblock // compat_43_osigsetmask // compat_43_osigstack diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go index 5e9de23ae3..f9c7a9663c 100644 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -294,7 +294,6 @@ func Uname(uname *Utsname) error { //sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setresgid(rgid int, egid int, sgid int) (err error) //sysnb Setresuid(ruid int, euid int, suid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) //sysnb Setrtable(rtable int) (err error) //sysnb Setsid() (pid int, err error) //sysnb Settimeofday(tp *Timeval) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go index d3444b64d6..b600a289d3 100644 --- a/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -545,24 +545,24 @@ func Minor(dev uint64) uint32 { * Expose the ioctl function */ -//sys ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) = libc.ioctl -//sys ioctlPtrRet(fd int, req uint, arg unsafe.Pointer) (ret int, err error) = libc.ioctl +//sys ioctlRet(fd int, req int, arg uintptr) (ret int, err error) = libc.ioctl +//sys ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) = libc.ioctl -func ioctl(fd int, req uint, arg uintptr) (err error) { +func ioctl(fd int, req int, arg uintptr) (err error) { _, err = ioctlRet(fd, req, arg) return err } -func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { +func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { _, err = ioctlPtrRet(fd, req, arg) return err } -func IoctlSetTermio(fd int, req uint, value *Termio) error { +func IoctlSetTermio(fd int, req int, value *Termio) error { return ioctlPtr(fd, req, unsafe.Pointer(value)) } -func IoctlGetTermio(fd int, req uint) (*Termio, error) { +func IoctlGetTermio(fd int, req int) (*Termio, error) { var value Termio err := ioctlPtr(fd, req, unsafe.Pointer(&value)) return &value, err @@ -665,7 +665,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys Setpriority(which int, who int, prio int) (err error) //sysnb Setregid(rgid int, egid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error) -//sysnb Setrlimit(which int, lim *Rlimit) (err error) //sysnb Setsid() (pid int, err error) //sysnb Setuid(uid int) (err error) //sys Shutdown(s int, how int) (err error) = libsocket.shutdown @@ -1080,11 +1079,11 @@ func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags return retCl, retData, flags, nil } -func IoctlSetIntRetInt(fd int, req uint, arg int) (int, error) { +func IoctlSetIntRetInt(fd int, req int, arg int) (int, error) { return ioctlRet(fd, req, uintptr(arg)) } -func IoctlSetString(fd int, req uint, val string) error { +func IoctlSetString(fd int, req int, val string) error { bs := make([]byte, len(val)+1) copy(bs[:len(bs)-1], val) err := ioctlPtr(fd, req, unsafe.Pointer(&bs[0])) @@ -1120,7 +1119,7 @@ func (l *Lifreq) GetLifruUint() uint { return *(*uint)(unsafe.Pointer(&l.Lifru[0])) } -func IoctlLifreq(fd int, req uint, l *Lifreq) error { +func IoctlLifreq(fd int, req int, l *Lifreq) error { return ioctlPtr(fd, req, unsafe.Pointer(l)) } @@ -1131,6 +1130,6 @@ func (s *Strioctl) SetInt(i int) { s.Dp = (*int8)(unsafe.Pointer(&i)) } -func IoctlSetStrioctlRetInt(fd int, req uint, s *Strioctl) (int, error) { +func IoctlSetStrioctlRetInt(fd int, req int, s *Strioctl) (int, error) { return ioctlPtrRet(fd, req, unsafe.Pointer(s)) } diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go index 00f0aa3758..8e48c29ec3 100644 --- a/vendor/golang.org/x/sys/unix/syscall_unix.go +++ b/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -587,3 +587,10 @@ func emptyIovecs(iov []Iovec) bool { } return true } + +// Setrlimit sets a resource limit. +func Setrlimit(resource int, rlim *Rlimit) error { + // Just call the syscall version, because as of Go 1.21 + // it will affect starting a new process. + return syscall.Setrlimit(resource, (*syscall.Rlimit)(rlim)) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go index b295497ae4..d3d49ec3ed 100644 --- a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go @@ -212,8 +212,8 @@ func (cmsg *Cmsghdr) SetLen(length int) { //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A //sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP //sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP -//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL -//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL +//sys ioctl(fd int, req int, arg uintptr) (err error) = SYS_IOCTL +//sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = SYS_IOCTL //sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A //sys Chdir(path string) (err error) = SYS___CHDIR_A diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go index 476a1c7e77..1430076271 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -1270,6 +1270,16 @@ const ( SEEK_END = 0x2 SEEK_HOLE = 0x3 SEEK_SET = 0x0 + SF_APPEND = 0x40000 + SF_ARCHIVED = 0x10000 + SF_DATALESS = 0x40000000 + SF_FIRMLINK = 0x800000 + SF_IMMUTABLE = 0x20000 + SF_NOUNLINK = 0x100000 + SF_RESTRICTED = 0x80000 + SF_SETTABLE = 0x3fff0000 + SF_SUPPORTED = 0x9f0000 + SF_SYNTHETIC = 0xc0000000 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 @@ -1543,6 +1553,15 @@ const ( TIOCTIMESTAMP = 0x40107459 TIOCUCNTL = 0x80047466 TOSTOP = 0x400000 + UF_APPEND = 0x4 + UF_COMPRESSED = 0x20 + UF_DATAVAULT = 0x80 + UF_HIDDEN = 0x8000 + UF_IMMUTABLE = 0x2 + UF_NODUMP = 0x1 + UF_OPAQUE = 0x8 + UF_SETTABLE = 0xffff + UF_TRACKED = 0x40 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go index e36f5178d6..ab044a7427 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -1270,6 +1270,16 @@ const ( SEEK_END = 0x2 SEEK_HOLE = 0x3 SEEK_SET = 0x0 + SF_APPEND = 0x40000 + SF_ARCHIVED = 0x10000 + SF_DATALESS = 0x40000000 + SF_FIRMLINK = 0x800000 + SF_IMMUTABLE = 0x20000 + SF_NOUNLINK = 0x100000 + SF_RESTRICTED = 0x80000 + SF_SETTABLE = 0x3fff0000 + SF_SUPPORTED = 0x9f0000 + SF_SYNTHETIC = 0xc0000000 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 @@ -1543,6 +1553,15 @@ const ( TIOCTIMESTAMP = 0x40107459 TIOCUCNTL = 0x80047466 TOSTOP = 0x400000 + UF_APPEND = 0x4 + UF_COMPRESSED = 0x20 + UF_DATAVAULT = 0x80 + UF_HIDDEN = 0x8000 + UF_IMMUTABLE = 0x2 + UF_NODUMP = 0x1 + UF_OPAQUE = 0x8 + UF_SETTABLE = 0xffff + UF_TRACKED = 0x40 VDISCARD = 0xf VDSUSP = 0xb VEOF = 0x0 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go index ef9dcd1bef..9a257219d7 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -124,7 +124,6 @@ int utime(uintptr_t, uintptr_t); unsigned long long getsystemcfg(int); int umount(uintptr_t); int getrlimit64(int, uintptr_t); -int setrlimit64(int, uintptr_t); long long lseek64(int, long long, int); uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long); @@ -213,7 +212,7 @@ func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctl(fd int, req uint, arg uintptr) (err error) { +func ioctl(fd int, req int, arg uintptr) (err error) { r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)) if r0 == -1 && er != nil { err = er @@ -223,7 +222,7 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { +func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(uintptr(arg))) if r0 == -1 && er != nil { err = er @@ -1464,16 +1463,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) - if r0 == -1 && er != nil { - err = er - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Seek(fd int, offset int64, whence int) (off int64, err error) { r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence)) off = int64(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go index f86a945923..6de80c20cf 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -93,8 +93,8 @@ func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctl(fd int, req uint, arg uintptr) (err error) { - _, e1 := callioctl(fd, int(req), arg) +func ioctl(fd int, req int, arg uintptr) (err error) { + _, e1 := callioctl(fd, req, arg) if e1 != 0 { err = errnoErr(e1) } @@ -103,8 +103,8 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { - _, e1 := callioctl_ptr(fd, int(req), arg) +func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { + _, e1 := callioctl_ptr(fd, req, arg) if e1 != 0 { err = errnoErr(e1) } @@ -1422,16 +1422,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim))) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Seek(fd int, offset int64, whence int) (off int64, err error) { r0, e1 := calllseek(fd, offset, whence) off = int64(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go index d32a84cae2..c4d50ae500 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go @@ -124,7 +124,6 @@ import ( //go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" //go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o" //go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o" @@ -242,7 +241,6 @@ import ( //go:linkname libc_getsystemcfg libc_getsystemcfg //go:linkname libc_umount libc_umount //go:linkname libc_getrlimit libc_getrlimit -//go:linkname libc_setrlimit libc_setrlimit //go:linkname libc_lseek libc_lseek //go:linkname libc_mmap64 libc_mmap64 @@ -363,7 +361,6 @@ var ( libc_getsystemcfg, libc_umount, libc_getrlimit, - libc_setrlimit, libc_lseek, libc_mmap64 syscallFunc ) @@ -1179,13 +1176,6 @@ func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { - r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) return diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go index d7d8baf819..6903d3b09e 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go @@ -123,7 +123,6 @@ int utime(uintptr_t, uintptr_t); unsigned long long getsystemcfg(int); int umount(uintptr_t); int getrlimit(int, uintptr_t); -int setrlimit(int, uintptr_t); long long lseek(int, long long, int); uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); @@ -131,6 +130,7 @@ uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); import "C" import ( "syscall" + "unsafe" ) // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT @@ -1055,14 +1055,6 @@ func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { - r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim))) - e1 = syscall.GetErrno() - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence))) e1 = syscall.GetErrno() diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index a29ffdd566..4037ccf7a9 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -1992,6 +1992,31 @@ var libc_select_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(attrBuf) > 0 { + _p1 = unsafe.Pointer(&attrBuf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setattrlist_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Setegid(egid int) (err error) { _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { @@ -2123,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index 95fe4c0eb9..4baaed0bc1 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) +TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB) + TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) @@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) - -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 -DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go index 2fd4590bb7..51d6f3fb25 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -1992,6 +1992,31 @@ var libc_select_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(attrBuf) > 0 { + _p1 = unsafe.Pointer(&attrBuf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_setattrlist_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Setegid(egid int) (err error) { _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) if e1 != 0 { @@ -2123,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s index efa5b4c987..c3b82c0379 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) +TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8 +DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB) + TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setegid(SB) @@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) - -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 -DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setsid(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go index 3b85134707..0eabac7ade 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go @@ -1410,16 +1410,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go index 1129065624..ee313eb007 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go index 55f5abfe59..4c986e448e 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go index d39651c2b5..555216944a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go index ddb7408680..67a226fbf5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go @@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go index 09a53a616c..f0b9ddaaa2 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go @@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go index 430cb24de7..da63d9d782 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go @@ -1346,16 +1346,6 @@ func PivotRoot(newroot string, putold string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { - _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go index c81b0ad477..07b549cc25 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -411,16 +411,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go index 2206bce7f4..5f481bf83f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -334,16 +334,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go index edf6b39f16..824cd52c7f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -578,16 +578,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go index 190609f214..e77aecfe98 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -289,16 +289,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go index 5f984cbb1c..961a3afb7b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -644,16 +644,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go index 46fc380a40..ed05005e91 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -278,16 +278,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go index cbd0d4dadb..d365b718f3 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -278,16 +278,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go index 0c13d15f07..c3f1b8bbde 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -644,16 +644,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Alarm(seconds uint) (remaining uint, err error) { r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) remaining = uint(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go index e01432aed5..a6574cf98b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go @@ -624,16 +624,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func setrlimit(resource int, rlim *rlimit32) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n)) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go index 13c7ee7baf..f40990264f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -349,16 +349,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go index 02d0c0fd61..9dfcc29974 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -349,16 +349,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go index 9fee3b1d23..0b29239583 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go @@ -269,16 +269,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go index 647bbfecd6..6cde32237d 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -319,16 +319,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) n = int64(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go index ada057f891..5253d65bf1 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -329,16 +329,6 @@ func setfsuid(uid int) (prev int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(resource int, rlim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Shutdown(fd int, how int) (err error) { _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go index 8e1d9c8f66..cdb2af5ae0 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go index 21c6950400..9d25f76b0b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go index 298168f90a..d3f8035169 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go index 68b8bd492f..887188a529 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go @@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go index 0b0f910e1a..6699a783e1 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s index 087444250c..04f0de34b2 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s @@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4 -DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go index 48ff5de75b..1e775fe057 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s index 5782cd1084..27b6f4df74 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s @@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 -DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go index 2452a641da..7f6427899a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s index cf310420c9..b797045fd2 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s @@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4 DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4 -DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go index 5e35600a60..756ef7b173 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s index 484bb42e0a..a871266221 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s @@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 -DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go index b04cef1a19..7bc2e24eb9 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go @@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s index 55af27263a..05d4bffd79 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s @@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 -DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go index 47a07ee0c2..739be6217a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go @@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s index 4028255b0d..74a25f8d64 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s @@ -687,12 +687,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - CALL libc_setrlimit(SB) - RET -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 -DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_setrtable(SB) RET diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go index 573378fdb9..7d95a19780 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go @@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) - if e1 != 0 { - err = errnoErr(e1) - } - return -} - -var libc_setrlimit_trampoline_addr uintptr - -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setrtable(rtable int) (err error) { _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s index e1fbd4dfa8..990be24574 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s @@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) -TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 - JMP libc_setrlimit(SB) -GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 -DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) - TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_setrtable(SB) GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go index 4873a1e5d3..609d1c598a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -110,7 +110,6 @@ import ( //go:cgo_import_dynamic libc_setpriority setpriority "libc.so" //go:cgo_import_dynamic libc_setregid setregid "libc.so" //go:cgo_import_dynamic libc_setreuid setreuid "libc.so" -//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" //go:cgo_import_dynamic libc_setsid setsid "libc.so" //go:cgo_import_dynamic libc_setuid setuid "libc.so" //go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" @@ -250,7 +249,6 @@ import ( //go:linkname procSetpriority libc_setpriority //go:linkname procSetregid libc_setregid //go:linkname procSetreuid libc_setreuid -//go:linkname procSetrlimit libc_setrlimit //go:linkname procSetsid libc_setsid //go:linkname procSetuid libc_setuid //go:linkname procshutdown libc_shutdown @@ -391,7 +389,6 @@ var ( procSetpriority, procSetregid, procSetreuid, - procSetrlimit, procSetsid, procSetuid, procshutdown, @@ -646,7 +643,7 @@ func __minor(version int, dev uint64) (val uint) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) { +func ioctlRet(fd int, req int, arg uintptr) (ret int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) ret = int(r0) if e1 != 0 { @@ -657,7 +654,7 @@ func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctlPtrRet(fd int, req uint, arg unsafe.Pointer) (ret int, err error) { +func ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) { r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) ret = int(r0) if e1 != 0 { @@ -1650,16 +1647,6 @@ func Setreuid(ruid int, euid int) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func Setrlimit(which int, lim *Rlimit) (err error) { - _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) - if e1 != 0 { - err = e1 - } - return -} - -// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT - func Setsid() (pid int, err error) { r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) pid = int(r0) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go index 07bfe2ef9a..c31681743c 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go @@ -257,7 +257,7 @@ func munmap(addr uintptr, length uintptr) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctl(fd int, req uint, arg uintptr) (err error) { +func ioctl(fd int, req int, arg uintptr) (err error) { _, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) @@ -267,7 +267,7 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { +func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) { _, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) if e1 != 0 { err = errnoErr(e1) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index e2a64f0991..690cefc3d0 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -151,6 +151,16 @@ type Dirent struct { _ [3]byte } +type Attrlist struct { + Bitmapcount uint16 + Reserved uint16 + Commonattr uint32 + Volattr uint32 + Dirattr uint32 + Fileattr uint32 + Forkattr uint32 +} + const ( PathMax = 0x400 ) @@ -610,6 +620,7 @@ const ( AT_REMOVEDIR = 0x80 AT_SYMLINK_FOLLOW = 0x40 AT_SYMLINK_NOFOLLOW = 0x20 + AT_EACCESS = 0x10 ) type PollFd struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index 34aa775219..5bffc10eac 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -151,6 +151,16 @@ type Dirent struct { _ [3]byte } +type Attrlist struct { + Bitmapcount uint16 + Reserved uint16 + Commonattr uint32 + Volattr uint32 + Dirattr uint32 + Fileattr uint32 + Forkattr uint32 +} + const ( PathMax = 0x400 ) @@ -610,6 +620,7 @@ const ( AT_REMOVEDIR = 0x80 AT_SYMLINK_FOLLOW = 0x40 AT_SYMLINK_NOFOLLOW = 0x20 + AT_EACCESS = 0x10 ) type PollFd struct { diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 857acf1032..0dbb208411 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -2229,10 +2229,10 @@ const ( JobObjectExtendedLimitInformation = 9 JobObjectGroupInformation = 11 JobObjectGroupInformationEx = 14 - JobObjectLimitViolationInformation2 = 35 + JobObjectLimitViolationInformation2 = 34 JobObjectNetRateControlInformation = 32 JobObjectNotificationLimitInformation = 12 - JobObjectNotificationLimitInformation2 = 34 + JobObjectNotificationLimitInformation2 = 33 JobObjectSecurityLimitInformation = 5 ) diff --git a/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-gen.go b/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-gen.go index 29302a1e99..0a6304d51d 100644 --- a/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-gen.go +++ b/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-gen.go @@ -71,6 +71,7 @@ var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint +var _ = internal.Version const apiId = "iamcredentials:v1" const apiName = "iamcredentials" diff --git a/vendor/google.golang.org/api/internal/gensupport/resumable.go b/vendor/google.golang.org/api/internal/gensupport/resumable.go index f168ea6d2b..08e7aacefb 100644 --- a/vendor/google.golang.org/api/internal/gensupport/resumable.go +++ b/vendor/google.golang.org/api/internal/gensupport/resumable.go @@ -43,8 +43,8 @@ type ResumableUpload struct { // retries should happen. ChunkRetryDeadline time.Duration - // Track current request invocation ID and attempt count for retry metric - // headers. + // Track current request invocation ID and attempt count for retry metrics + // and idempotency headers. invocationID string attempts int } @@ -81,10 +81,15 @@ func (rx *ResumableUpload) doUploadRequest(ctx context.Context, data io.Reader, req.Header.Set("Content-Type", rx.MediaType) req.Header.Set("User-Agent", rx.UserAgent) + // TODO(b/274504690): Consider dropping gccl-invocation-id key since it + // duplicates the X-Goog-Gcs-Idempotency-Token header (added in v0.115.0). baseXGoogHeader := "gl-go/" + GoVersion() + " gdcl/" + internal.Version invocationHeader := fmt.Sprintf("gccl-invocation-id/%s gccl-attempt-count/%d", rx.invocationID, rx.attempts) req.Header.Set("X-Goog-Api-Client", strings.Join([]string{baseXGoogHeader, invocationHeader}, " ")) + // Set idempotency token header which is used by GCS uploads. + req.Header.Set("X-Goog-Gcs-Idempotency-Token", rx.invocationID) + // Google's upload endpoint uses status code 308 for a // different purpose than the "308 Permanent Redirect" // since-standardized in RFC 7238. Because of the conflict in diff --git a/vendor/google.golang.org/api/internal/gensupport/send.go b/vendor/google.golang.org/api/internal/gensupport/send.go index 85c7bcbfdf..693a1b1aba 100644 --- a/vendor/google.golang.org/api/internal/gensupport/send.go +++ b/vendor/google.golang.org/api/internal/gensupport/send.go @@ -138,9 +138,14 @@ func sendAndRetry(ctx context.Context, client *http.Client, req *http.Request, r } return resp, ctx.Err() } + + // Set retry metrics and idempotency headers for GCS. + // TODO(b/274504690): Consider dropping gccl-invocation-id key since it + // duplicates the X-Goog-Gcs-Idempotency-Token header (added in v0.115.0). invocationHeader := fmt.Sprintf("gccl-invocation-id/%s gccl-attempt-count/%d", invocationID, attempts) xGoogHeader := strings.Join([]string{invocationHeader, baseXGoogHeader}, " ") req.Header.Set("X-Goog-Api-Client", xGoogHeader) + req.Header.Set("X-Goog-Gcs-Idempotency-Token", invocationID) resp, err = client.Do(req.WithContext(ctx)) diff --git a/vendor/google.golang.org/api/internal/version.go b/vendor/google.golang.org/api/internal/version.go index 7a4f6d8982..19df50de13 100644 --- a/vendor/google.golang.org/api/internal/version.go +++ b/vendor/google.golang.org/api/internal/version.go @@ -5,4 +5,4 @@ package internal // Version is the current tagged release of the library. -const Version = "0.114.0" +const Version = "0.116.0" diff --git a/vendor/google.golang.org/api/storage/v1/storage-gen.go b/vendor/google.golang.org/api/storage/v1/storage-gen.go index 2f9ceefdcd..e11bf2e6d3 100644 --- a/vendor/google.golang.org/api/storage/v1/storage-gen.go +++ b/vendor/google.golang.org/api/storage/v1/storage-gen.go @@ -78,6 +78,7 @@ var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint +var _ = internal.Version const apiId = "storage:v1" const apiName = "storage" diff --git a/vendor/modules.txt b/vendor/modules.txt index b2c181ad80..4ccddf27f5 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -10,7 +10,7 @@ cloud.google.com/go/compute/internal # cloud.google.com/go/compute/metadata v0.2.3 ## explicit; go 1.19 cloud.google.com/go/compute/metadata -# cloud.google.com/go/iam v0.13.0 +# cloud.google.com/go/iam v1.0.0 ## explicit; go 1.19 cloud.google.com/go/iam cloud.google.com/go/iam/apiv1/iampb @@ -38,7 +38,7 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming github.com/Azure/azure-sdk-for-go/sdk/azcore/to github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing -# github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 +# github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 ## explicit; go 1.18 github.com/Azure/azure-sdk-for-go/sdk/internal/diag github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo @@ -81,7 +81,7 @@ github.com/VividCortex/ewma # github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 ## explicit; go 1.15 github.com/alecthomas/units -# github.com/aws/aws-sdk-go v1.44.234 +# github.com/aws/aws-sdk-go v1.44.238 ## explicit; go 1.11 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/awserr @@ -338,7 +338,7 @@ github.com/jmespath/go-jmespath # github.com/jpillora/backoff v1.0.0 ## explicit; go 1.13 github.com/jpillora/backoff -# github.com/klauspost/compress v1.16.3 +# github.com/klauspost/compress v1.16.4 ## explicit; go 1.18 github.com/klauspost/compress github.com/klauspost/compress/flate @@ -464,7 +464,7 @@ github.com/valyala/fastrand # github.com/valyala/fasttemplate v1.2.2 ## explicit; go 1.12 github.com/valyala/fasttemplate -# github.com/valyala/gozstd v1.18.0 +# github.com/valyala/gozstd v1.19.0 ## explicit; go 1.12 github.com/valyala/gozstd # github.com/valyala/histogram v1.2.0 @@ -532,7 +532,7 @@ go.uber.org/goleak/internal/stack ## explicit; go 1.18 golang.org/x/exp/constraints golang.org/x/exp/slices -# golang.org/x/net v0.8.0 +# golang.org/x/net v0.9.0 ## explicit; go 1.17 golang.org/x/net/context golang.org/x/net/http/httpguts @@ -557,12 +557,12 @@ golang.org/x/oauth2/jwt # golang.org/x/sync v0.1.0 ## explicit golang.org/x/sync/errgroup -# golang.org/x/sys v0.6.0 +# golang.org/x/sys v0.7.0 ## explicit; go 1.17 golang.org/x/sys/internal/unsafeheader golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/text v0.8.0 +# golang.org/x/text v0.9.0 ## explicit; go 1.17 golang.org/x/text/secure/bidirule golang.org/x/text/transform @@ -575,7 +575,7 @@ golang.org/x/time/rate ## explicit; go 1.17 golang.org/x/xerrors golang.org/x/xerrors/internal -# google.golang.org/api v0.114.0 +# google.golang.org/api v0.116.0 ## explicit; go 1.19 google.golang.org/api/googleapi google.golang.org/api/googleapi/transport @@ -607,7 +607,7 @@ google.golang.org/appengine/internal/socket google.golang.org/appengine/internal/urlfetch google.golang.org/appengine/socket google.golang.org/appengine/urlfetch -# google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633 +# google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd ## explicit; go 1.19 google.golang.org/genproto/googleapis/api google.golang.org/genproto/googleapis/api/annotations