From 3ecba1f81cd7b44931a0094e63b190185c52cbca Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Wed, 13 Mar 2024 02:42:12 +0530 Subject: [PATCH 1/9] Fixed handling special url characters & Id filter removal --- .../react-table/src/utils/utils.js | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/benchexec/tablegenerator/react-table/src/utils/utils.js b/benchexec/tablegenerator/react-table/src/utils/utils.js index 4ae0122a4..0c3446348 100644 --- a/benchexec/tablegenerator/react-table/src/utils/utils.js +++ b/benchexec/tablegenerator/react-table/src/utils/utils.js @@ -254,10 +254,13 @@ export const constructHashURL = (url, params = {}) => { const exisitingParams = getURLParameters(url); const mergedParams = { ...exisitingParams, ...params }; - const queryString = constructQueryString(mergedParams); + const queryString = `?${constructQueryString(mergedParams)}`; const baseURL = url.split("?")[0]; - return queryString.length > 0 ? `${baseURL}?${queryString}` : baseURL; + return { + newUrl: queryString.length > 0 ? `${baseURL}${queryString}` : baseURL, + queryString: queryString, + }; }; /** @@ -269,10 +272,14 @@ export const constructHashURL = (url, params = {}) => { * @returns {void} */ const setURLParameter = (params = {}, history = null) => { - const newUrl = constructHashURL(document.location.href, params); - + const { newUrl, queryString } = constructHashURL( + document.location.href, + params, + ); + console.log(history, "s"); if (history && history.push) { - history.push(newUrl); + history.push(queryString); + return; } document.location.href = newUrl; }; @@ -453,11 +460,17 @@ const makeFilterSerializer = const { ids, ...rest } = groupedFilters; const runsetFilters = []; if (ids) { - runsetFilters.push(`id(values(${ids.values.map(escape).join(",")}))`); + runsetFilters.push( + `id(values(${ids.values + .map((val) => encodeURIComponent(val)) + .join(",")}))`, + ); } if (tableTabIdFilters) { tableTabIdFilters.forEach((filter) => { - runsetFilters.push(`id_any(value(${filter.value}))`); + runsetFilters.push( + `id_any(value(${encodeURIComponent(filter.value)}))`, + ); }); } for (const [tool, column] of Object.entries(rest)) { @@ -513,7 +526,7 @@ const tokenizePart = (string) => { firstBracket + 1, buf.length - 1 - (firstBracket + 1), ); - out[key] = value; + out[key] = decodeURIComponent(value); } continue; } @@ -604,6 +617,7 @@ const makeFilterDeserializer = out.push({ id: "id", ...tokenHandlers("values", tokenized["values"])[0], + isTableTabFilter: true, }); continue; } else if (token === "id_any") { From 2f03808b016150b2c954d27ae86b263eeb39096d Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Wed, 13 Mar 2024 13:38:18 +0530 Subject: [PATCH 2/9] Fixed constructHashURL util tests --- .../react-table/src/tests/utils.test.js | 62 ++++++++++++------- .../react-table/src/utils/utils.js | 3 +- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/benchexec/tablegenerator/react-table/src/tests/utils.test.js b/benchexec/tablegenerator/react-table/src/tests/utils.test.js index e8269aa12..3ac6339a9 100644 --- a/benchexec/tablegenerator/react-table/src/tests/utils.test.js +++ b/benchexec/tablegenerator/react-table/src/tests/utils.test.js @@ -134,54 +134,71 @@ describe("hashRouting helpers", () => { const baseUrl = "http://example.com"; const params = { key1: "value1", key2: "value2" }; - expect(constructHashURL(baseUrl, params)).toEqual( - "http://example.com?key1=value1&key2=value2", - ); + const expected = { + newUrl: "http://example.com?key1=value1&key2=value2", + queryString: "?key1=value1&key2=value2", + }; + expect(constructHashURL(baseUrl, params)).toEqual(expected); }); test("should construct URL hash with provided parameters and keep the exisiting parameters", () => { const baseUrl = "http://example.com?existingKey=existingValue"; const params = { key1: "value1", key2: "value2" }; - expect(constructHashURL(baseUrl, params)).toEqual( - "http://example.com?existingKey=existingValue&key1=value1&key2=value2", - ); + const expected = { + newUrl: + "http://example.com?existingKey=existingValue&key1=value1&key2=value2", + queryString: "?existingKey=existingValue&key1=value1&key2=value2", + }; + expect(constructHashURL(baseUrl, params)).toEqual(expected); }); test("should return the same URL with exisiting params if no parameters are provided", () => { const baseUrl = "http://example.com?exisitingKey=existingValue"; const params = {}; - expect(constructHashURL(baseUrl, params)).toEqual( - "http://example.com?exisitingKey=existingValue", - ); + const expected = { + newUrl: "http://example.com?exisitingKey=existingValue", + queryString: "?exisitingKey=existingValue", + }; + + expect(constructHashURL(baseUrl, params)).toEqual(expected); }); test("should override existing parameters with new ones", () => { const baseUrl = "http://example.com?key1=value1&key2=value2"; const params = { key2: "newValue" }; - expect(constructHashURL(baseUrl, params)).toEqual( - "http://example.com?key1=value1&key2=newValue", - ); + const expected = { + newUrl: "http://example.com?key1=value1&key2=newValue", + queryString: "?key1=value1&key2=newValue", + }; + + expect(constructHashURL(baseUrl, params)).toEqual(expected); }); test("should remove exisiting parameters if they are updated to undefined", () => { const baseUrl = "http://example.com?key1=value1&key2=value2"; const params = { key2: undefined }; - expect(constructHashURL(baseUrl, params)).toEqual( - "http://example.com?key1=value1", - ); + const expected = { + newUrl: "http://example.com?key1=value1", + queryString: "?key1=value1", + }; + + expect(constructHashURL(baseUrl, params)).toEqual(expected); }); test("should remove exisiting parameters if they are updated to null", () => { const baseUrl = "http://example.com?key1=value1&key2=value2"; const params = { key2: null }; - expect(constructHashURL(baseUrl, params)).toEqual( - "http://example.com?key1=value1", - ); + const expected = { + newUrl: "http://example.com?key1=value1", + queryString: "?key1=value1", + }; + + expect(constructHashURL(baseUrl, params)).toEqual(expected); }); test("should not remove exisiting parameters if they are updated to falsy values", () => { @@ -192,9 +209,12 @@ describe("hashRouting helpers", () => { key3: 0, }; - expect(constructHashURL(baseUrl, params)).toEqual( - "http://example.com?key1=&key2=false&key3=0", - ); + const expected = { + newUrl: "http://example.com?key1=&key2=false&key3=0", + queryString: "?key1=&key2=false&key3=0", + }; + + expect(constructHashURL(baseUrl, params)).toEqual(expected); }); }); }); diff --git a/benchexec/tablegenerator/react-table/src/utils/utils.js b/benchexec/tablegenerator/react-table/src/utils/utils.js index 0c3446348..b9f539578 100644 --- a/benchexec/tablegenerator/react-table/src/utils/utils.js +++ b/benchexec/tablegenerator/react-table/src/utils/utils.js @@ -276,7 +276,6 @@ const setURLParameter = (params = {}, history = null) => { document.location.href, params, ); - console.log(history, "s"); if (history && history.push) { history.push(queryString); return; @@ -617,13 +616,13 @@ const makeFilterDeserializer = out.push({ id: "id", ...tokenHandlers("values", tokenized["values"])[0], - isTableTabFilter: true, }); continue; } else if (token === "id_any") { out.push({ id: "id", ...tokenizePart(filter), + isTableTabFilter: true, }); continue; } From 091f28cf7cba02951a32a400cedeb4edfe455d54 Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Wed, 13 Mar 2024 20:03:07 +0530 Subject: [PATCH 3/9] Fixes for column name with _ --- .../tablegenerator/react-table/src/components/Overview.js | 7 +++++-- benchexec/tablegenerator/react-table/src/utils/utils.js | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/benchexec/tablegenerator/react-table/src/components/Overview.js b/benchexec/tablegenerator/react-table/src/components/Overview.js index 0fd9a32a8..7e3042aa1 100644 --- a/benchexec/tablegenerator/react-table/src/components/Overview.js +++ b/benchexec/tablegenerator/react-table/src/components/Overview.js @@ -160,8 +160,11 @@ export default class Overview extends React.Component { filters .filter((filter) => filter.id !== "id") .forEach((filter) => { - const [runsetIdx, , columnIdx] = filter.id.split("_"); - const type = this.state.tools[runsetIdx]["columns"][columnIdx].type; + const filterSplitArray = filter.id.split("_"); + const type = + this.state.tools[filterSplitArray[0]]["columns"][ + filterSplitArray.at(-1) + ].type; filter.type = type; }); diff --git a/benchexec/tablegenerator/react-table/src/utils/utils.js b/benchexec/tablegenerator/react-table/src/utils/utils.js index b9f539578..a9c6fcf63 100644 --- a/benchexec/tablegenerator/react-table/src/utils/utils.js +++ b/benchexec/tablegenerator/react-table/src/utils/utils.js @@ -390,13 +390,14 @@ export const decodeFilter = (filterID) => { } const splitedArray = filterID.split("_"); - if (splitedArray.length > 3) { + if (splitedArray.length === 2) { throw new Error("Invalid filter ID"); } + return { tool: splitedArray[0], - name: splitedArray[1], - column: splitedArray[2], + name: splitedArray.slice(1, -1).join("_"), + column: splitedArray.at(-1), }; }; From a4184648252037db6cb6eb91139e70f1d82de161 Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Wed, 13 Mar 2024 20:03:18 +0530 Subject: [PATCH 4/9] Added tests with special characters for serializer & deserialize util --- .../react-table/src/tests/utils.test.js | 27 ++++++++++++++++--- .../react-table/src/utils/utils.js | 6 ++--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/benchexec/tablegenerator/react-table/src/tests/utils.test.js b/benchexec/tablegenerator/react-table/src/tests/utils.test.js index 3ac6339a9..1d2695d60 100644 --- a/benchexec/tablegenerator/react-table/src/tests/utils.test.js +++ b/benchexec/tablegenerator/react-table/src/tests/utils.test.js @@ -259,9 +259,15 @@ describe("decodeFilter", () => { expect(decodeFilter(filter)).toEqual(expected); }); - test("should throw errors if there are more than two '_' in the filter id", () => { - expect(() => decodeFilter("0__cputime_")).toThrow(); - expect(() => decodeFilter("0_cputime_1_2")).toThrow(); + test("should throw errors if there are is only one '_' in the filter id", () => { + expect(() => decodeFilter("0cputime_")).toThrow(); + expect(() => decodeFilter("0_cputime2")).toThrow(); + }); + + test("should decode correctly with more than two '_' in the filter id", () => { + const filter = "0_cpu_time_1"; + const expected = { tool: "0", name: "cpu_time", column: "1" }; + expect(decodeFilter(filter)).toEqual(expected); }); }); @@ -298,6 +304,13 @@ describe("serialization", () => { expect(serializer(filter)).toBe(expected); }); + test("should serialize id filter to escape special characters", () => { + const filter = [{ id: "id", value: "?#&=(),*", isTableTabFilter: true }]; + const expected = "id_any(value(%3F%23%26%3D()%2C*))"; + + expect(serializer(filter)).toBe(expected); + }); + test("should serialize normal value filters for one runset", () => { const filter = [ { id: "0_cputime_1", value: "1223:4567" }, @@ -618,6 +631,14 @@ describe("Filter deserialization", () => { expect(deserializer(string)).toStrictEqual(expected); }); + test("should deserialize Table Tab Id filter with special characters", () => { + const string = "id_any(value(%3F%23%26%3D()%2C*))*"; + + const expected = [{ id: "id", value: "?#&=(),*", isTableTabFilter: true }]; + + expect(deserializer(string)).toStrictEqual(expected); + }); + test("should deserialize normal values for one runset", () => { const string = "0(1*cputime*(value(%3A1234)))"; diff --git a/benchexec/tablegenerator/react-table/src/utils/utils.js b/benchexec/tablegenerator/react-table/src/utils/utils.js index a9c6fcf63..d11389281 100644 --- a/benchexec/tablegenerator/react-table/src/utils/utils.js +++ b/benchexec/tablegenerator/react-table/src/utils/utils.js @@ -393,11 +393,11 @@ export const decodeFilter = (filterID) => { if (splitedArray.length === 2) { throw new Error("Invalid filter ID"); } - return { tool: splitedArray[0], - name: splitedArray.slice(1, -1).join("_"), - column: splitedArray.at(-1), + name: + splitedArray.length > 2 ? splitedArray.slice(1, -1).join("_") : undefined, + column: splitedArray.length > 2 ? splitedArray.at(-1) : undefined, }; }; From 996b0fee1acf8532564cabe039928accac0a4c74 Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Wed, 13 Mar 2024 20:30:18 +0530 Subject: [PATCH 5/9] Fixed jsdom issue --- benchexec/tablegenerator/react-table/src/utils/utils.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/benchexec/tablegenerator/react-table/src/utils/utils.js b/benchexec/tablegenerator/react-table/src/utils/utils.js index d11389281..d212e6169 100644 --- a/benchexec/tablegenerator/react-table/src/utils/utils.js +++ b/benchexec/tablegenerator/react-table/src/utils/utils.js @@ -254,12 +254,12 @@ export const constructHashURL = (url, params = {}) => { const exisitingParams = getURLParameters(url); const mergedParams = { ...exisitingParams, ...params }; - const queryString = `?${constructQueryString(mergedParams)}`; + const queryString = constructQueryString(mergedParams); const baseURL = url.split("?")[0]; return { - newUrl: queryString.length > 0 ? `${baseURL}${queryString}` : baseURL, - queryString: queryString, + newUrl: queryString.length > 0 ? `${baseURL}?${queryString}` : baseURL, + queryString: `?${queryString}`, }; }; From edcc63be7012a52ff0b6a4848e6a4b99ea5ce9e2 Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Mon, 18 Mar 2024 19:13:19 +0530 Subject: [PATCH 6/9] Updated filter parsing logic to handle Parentheses --- .../react-table/src/utils/utils.js | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/benchexec/tablegenerator/react-table/src/utils/utils.js b/benchexec/tablegenerator/react-table/src/utils/utils.js index d212e6169..2f1126adc 100644 --- a/benchexec/tablegenerator/react-table/src/utils/utils.js +++ b/benchexec/tablegenerator/react-table/src/utils/utils.js @@ -210,7 +210,7 @@ const EXTENDED_DISCRETE_COLOR_RANGE = [ */ const getURLParameters = (str) => { // Split the URL string into parts using "?" as a delimiter - const urlParts = (str || decodeURI(document.location.href)).split("?"); + const urlParts = (str || document.location.href).split("?"); // Extract the search part of the URL const search = urlParts.length > 1 ? urlParts.slice(1).join("?") : undefined; @@ -224,7 +224,8 @@ const getURLParameters = (str) => { const keyValuePairs = search.split("&").map((pair) => pair.split("=")); const out = {}; for (const [key, ...value] of keyValuePairs) { - out[key] = value.join("="); + out[decodeURI(key)] = + key === "filter" ? value.join("=") : decodeURI(value.join("=")); } return out; @@ -369,6 +370,13 @@ function makeStatusColumnFilter( return statusColumnFilter.join(","); } +function escapeParentheses(value) { + if (typeof value !== "string") { + throw new Error("Invalid value type"); + } + return value.replaceAll("(", "%28").replaceAll(")", "%29"); +} + export const makeRegExp = (value) => { if (typeof value !== "string") { throw new Error("Invalid value type for converting to RegExp"); @@ -462,14 +470,16 @@ const makeFilterSerializer = if (ids) { runsetFilters.push( `id(values(${ids.values - .map((val) => encodeURIComponent(val)) + .map((val) => escapeParentheses(encodeURIComponent(val))) .join(",")}))`, ); } if (tableTabIdFilters) { tableTabIdFilters.forEach((filter) => { runsetFilters.push( - `id_any(value(${encodeURIComponent(filter.value)}))`, + `id_any(value(${escapeParentheses( + encodeURIComponent(filter.value), + )}))`, ); }); } @@ -503,7 +513,7 @@ const makeFilterSerializer = return filterString; }; -const tokenizePart = (string) => { +const tokenizePart = (string, decodeValue = false) => { const out = {}; let openBrackets = 0; @@ -526,7 +536,7 @@ const tokenizePart = (string) => { firstBracket + 1, buf.length - 1 - (firstBracket + 1), ); - out[key] = decodeURIComponent(value); + out[key] = decodeValue ? decodeURIComponent(value) : value; } continue; } @@ -622,7 +632,7 @@ const makeFilterDeserializer = } else if (token === "id_any") { out.push({ id: "id", - ...tokenizePart(filter), + ...tokenizePart(filter, true), isTableTabFilter: true, }); continue; @@ -633,7 +643,9 @@ const makeFilterDeserializer = const parsedColumnFilters = {}; for (const [key, columnFilter] of Object.entries(columnFilters)) { const [columnId, columnTitle] = key.split("*"); - const name = `${runsetId}_${unescape(columnTitle)}_${columnId}`; + const name = `${runsetId}_${decodeURIComponent( + columnTitle, + )}_${columnId}`; const parsedFilters = parsedColumnFilters[name] || []; const tokenizedFilter = tokenizePart(columnFilter); From ed093fb2c925678f6aad99ba4ce742f2311ac5b3 Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Mon, 18 Mar 2024 19:18:22 +0530 Subject: [PATCH 7/9] Added parentheses tests for serializer & deserializer --- .../react-table/src/tests/utils.test.js | 47 ++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/benchexec/tablegenerator/react-table/src/tests/utils.test.js b/benchexec/tablegenerator/react-table/src/tests/utils.test.js index 1d2695d60..5e78a869f 100644 --- a/benchexec/tablegenerator/react-table/src/tests/utils.test.js +++ b/benchexec/tablegenerator/react-table/src/tests/utils.test.js @@ -304,9 +304,30 @@ describe("serialization", () => { expect(serializer(filter)).toBe(expected); }); + test("should serialize id filters with parentheses", () => { + const filter = [{ id: "id", values: ["(", ")"] }]; + const expected = "id(values(%28,%29))"; + + expect(serializer(filter)).toBe(expected); + }); + test("should serialize id filter to escape special characters", () => { const filter = [{ id: "id", value: "?#&=(),*", isTableTabFilter: true }]; - const expected = "id_any(value(%3F%23%26%3D()%2C*))"; + const expected = "id_any(value(%3F%23%26%3D%28%29%2C*))"; + + expect(serializer(filter)).toBe(expected); + }); + + test("should serialize id filter with one opening parentheses", () => { + const filter = [{ id: "id", value: "(", isTableTabFilter: true }]; + const expected = "id_any(value(%28))"; + + expect(serializer(filter)).toBe(expected); + }); + + test("should serialize id filter with one closing parentheses", () => { + const filter = [{ id: "id", value: ")", isTableTabFilter: true }]; + const expected = "id_any(value(%29))"; expect(serializer(filter)).toBe(expected); }); @@ -631,6 +652,30 @@ describe("Filter deserialization", () => { expect(deserializer(string)).toStrictEqual(expected); }); + test("should serialize id filters with parentheses", () => { + const string = "id(values(%28,%29))"; + + const expected = [{ id: "id", values: ["(", ")"] }]; + + expect(deserializer(string)).toStrictEqual(expected); + }); + + test("should deserialize id filter with one opening parentheses", () => { + const string = "id_any(value(%28))"; + + const expected = [{ id: "id", value: "(", isTableTabFilter: true }]; + + expect(deserializer(string)).toStrictEqual(expected); + }); + + test("should deserialize id filter with one closing parentheses", () => { + const string = "id_any(value(%29))"; + + const expected = [{ id: "id", value: ")", isTableTabFilter: true }]; + + expect(deserializer(string)).toStrictEqual(expected); + }); + test("should deserialize Table Tab Id filter with special characters", () => { const string = "id_any(value(%3F%23%26%3D()%2C*))*"; From 469a50c5965cca5bba29e66590e048750d38bc91 Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Tue, 19 Mar 2024 09:33:58 +0530 Subject: [PATCH 8/9] Added tests for tokenizePart util --- .../react-table/src/tests/utils.test.js | 15 +++++++++++++++ .../tablegenerator/react-table/src/utils/utils.js | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/benchexec/tablegenerator/react-table/src/tests/utils.test.js b/benchexec/tablegenerator/react-table/src/tests/utils.test.js index 5e78a869f..10eb8fa18 100644 --- a/benchexec/tablegenerator/react-table/src/tests/utils.test.js +++ b/benchexec/tablegenerator/react-table/src/tests/utils.test.js @@ -19,6 +19,7 @@ import { makeFilterDeserializer, splitUrlPathForMatchingPrefix, makeRegExp, + tokenizePart, } from "../utils/utils"; describe("isStatusOk", () => { @@ -271,6 +272,20 @@ describe("decodeFilter", () => { }); }); +describe("tokenizePart", () => { + test("should tokenizePart to get Filter keys", () => { + const string = "id_any(value(%29)),0(1*cputime*(value(2)))"; + const expected = { 0: "1*cputime*(value(2))", id_any: "value(%29)" }; + expect(tokenizePart(string)).toEqual(expected); + }); + + test("should tokenizePart to get Filter values", () => { + const string = "value(%29)"; + const expected = { value: ")" }; + expect(tokenizePart(string, true)).toEqual(expected); + }); +}); + describe("serialization", () => { let serializer; const statusValues = [ diff --git a/benchexec/tablegenerator/react-table/src/utils/utils.js b/benchexec/tablegenerator/react-table/src/utils/utils.js index 2f1126adc..48c9fa544 100644 --- a/benchexec/tablegenerator/react-table/src/utils/utils.js +++ b/benchexec/tablegenerator/react-table/src/utils/utils.js @@ -513,7 +513,7 @@ const makeFilterSerializer = return filterString; }; -const tokenizePart = (string, decodeValue = false) => { +export const tokenizePart = (string, decodeValue = false) => { const out = {}; let openBrackets = 0; From 265c440e8e775a5431923cb5b8b1af06be445b5d Mon Sep 17 00:00:00 2001 From: Chinmay Joshi Date: Wed, 20 Mar 2024 10:24:06 +0530 Subject: [PATCH 9/9] Added util function comments and updated build --- benchexec/tablegenerator/react-table/build/main.min.js | 2 +- benchexec/tablegenerator/react-table/src/utils/utils.js | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/benchexec/tablegenerator/react-table/build/main.min.js b/benchexec/tablegenerator/react-table/build/main.min.js index 55d42129a..84ed47c11 100644 --- a/benchexec/tablegenerator/react-table/build/main.min.js +++ b/benchexec/tablegenerator/react-table/build/main.min.js @@ -1 +1 @@ -!function(){var e={7415:function(e,t,n){"use strict";var i=n(7313),r=n(1168),s=n(5671),l=n(3144),a=n(136),o=n(1129),c=n(1413),u=n(3433),d=n(9439),h=n(8303),g=n(3830),f=n(7762),p=n(4942),m=n(5110),v=n(8567),I=n(5987),b=n(4506),C=n(2229),x=n.n(C),y=n(1969),Z=n(1875),j=n(6417),A=["ids"],F=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var r;return(0,s.Z)(this,n),(r=t.call(this,e)).childRef=i.createRef(),r}return(0,l.Z)(n,[{key:"render",value:function(){var e=this;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("span",{ref:this.childRef,children:this.props.children}),(0,j.jsx)("button",{title:"Copy to clipboard",style:{margin:"1ex"},onClick:function(){x()(e.childRef.current.innerText,{format:"text/plain"})},children:(0,j.jsx)(y.G,{icon:Z.kZ_})})]})}}]),n}(i.Component),W="##########",N=function(e){return"count"===e.type||"measure"===e.type},B=function(e){return void 0===e||null===e},G=function(e,t){return B(e)||B(e.raw)?t:e.raw},w=function(e,t){var n=G(e,"").toLowerCase(),i=G(t,"").toLowerCase();return""===n?1:""===i?-1:n>i?1:n1?t.slice(1).join("?"):void 0;if(void 0===n||0===n.length)return{};var i,r=n.split("&").map((function(e){return e.split("=")})),s={},l=(0,f.Z)(r);try{for(l.s();!(i=l.n()).done;){var a=(0,b.Z)(i.value),o=a[0],c=a.slice(1);s[o]=c.join("=")}}catch(u){l.e(u)}finally{l.f()}return s},K=function(e){return Object.keys(e).filter((function(t){return void 0!==e[t]&&null!==e[t]})).map((function(t){return"".concat(t,"=").concat(e[t])})).join("&")},L=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=X(e),i=(0,c.Z)((0,c.Z)({},n),t),r=K(i),s=e.split("?")[0];return r.length>0?"".concat(s,"?").concat(r):s},O=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=L(document.location.href,e);t&&t.push&&t.push(n),document.location.href=n},U=function(e){for(var t=[],n=0,i=Object.entries(e);n2&&void 0!==arguments[2]&&arguments[2],i={};if(e.length>Math.floor(t.length/2)){var r,s=[],l=(0,f.Z)(t);try{for(l.s();!(r=l.n()).done;){var a=r.value;e.includes(a)||s.push(n?a.trim():a)}}catch(o){l.e(o)}finally{l.f()}i.notIn=s}else i.in=e.map((function(e){return n?e.trim():e}));return U(i)};function E(e,t,n,i,r){var s=[],l=e.statusValues,a=e.categoryValues,o=t[n][i],c=r[n][i],u=!!l,d=u&&l.length!==o.length,h=!!a,g=h&&a.length!==c.length;if(u){if(d){var f=D(l,o);s.push("status(".concat(f,")"))}h||s.push("category(empty())")}if(h&&(u||s.push("status(empty())"),g)){var p=D(a,c,!0);s.push("category(".concat(p,")"))}return s.join(",")}var P,M=function(e){if("string"!==typeof e)throw new Error("Invalid value type for converting to RegExp");return new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"ui")},J=function(e){if("string"!==typeof e)throw new Error("Invalid filter ID");var t=e.split("_");if(t.length>3)throw new Error("Invalid filter ID");return{tool:t[0],name:t[1],column:t[2]}},z=function(e){var t,n={},i=0,r="",s=(0,f.Z)(e);try{for(s.s();!(t=s.n()).done;){var l=t.value;if("("!==l){if(")"!==l)0!==i||","!==l?r+=l:r="";else if(r+=l,0===--i){var a=r.indexOf("("),o=r.substr(0,a),c=r.substr(a+1,r.length-1-(a+1));n[o]=c}}else r+=l,i++}}catch(u){s.e(u)}finally{s.f()}return n},_=function(e,t,n,i,r){return"values"===e?[{values:t.split(",").map(unescape)}]:"value"===e?[{value:unescape(t)}]:"status"===e||"category"===e?function(e,t,n,i,r){for(var s=z(t),l=[],a=0,o=Object.entries(s);a0?r.ids={values:u.map((function(e){return e||""}))}:h&&s.push({id:o,value:c})}}catch(K){l.e(K)}finally{l.f()}var Z=r.ids,j=(0,I.Z)(r,A),F=[];Z&&F.push("id(values(".concat(Z.values.map(escape).join(","),"))")),s&&s.forEach((function(e){F.push("id_any(value(".concat(e.value,"))"))}));for(var W=0,N=Object.entries(j);W0&&F.push("".concat(G,"(").concat(Y.join(","),")"))}return F.join(",")}}({statusValues:e,categoryValues:t});return function(e,t){if(!e)return O({filter:void 0},t);var i=n(e);return O(i?{filter:i}:{filter:void 0},t)}},$=" ",ee=" ",te=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Unknown";(0,s.Z)(this,e),this._defaultOptions={whitespaceFormat:!1,html:!1,leadingZero:!0,additionalFormatting:function(e){return e}},this.significantDigits=t,this.maxPositiveDecimalPosition=-1,this.maxNegativeDecimalPosition=-1,this.name=n}return(0,l.Z)(e,[{key:"addDataItem",value:function(e){var t=this.format(e).split(/\.|,/),n=(0,d.Z)(t,2),i=n[0],r=n[1];this.maxPositiveDecimalPosition=Math.max(this.maxPositiveDecimalPosition,i&&"0"!==i?i.length:0),this.maxNegativeDecimalPosition=Math.max(this.maxNegativeDecimalPosition,r?r.length:0)}},{key:"format",value:function(e){var t=e.toString(),n="",i="",r=0,s=0,l=!1,a=!1;if("NaN"===t)return"NaN";if(t.endsWith("Infinity"))return t.replace("Infinity","Inf");if(t.includes("e")){var o=t.split("-"),c=(0,d.Z)(o,2),u=c[0],h=c[1],g=0;u.includes(".")&&(g=1),t=Number(e).toFixed(Number(h)+g)}for(var f=t.replace(/,/,".").indexOf(".");sr;){var p=t[r];if("."===p||","===p)n+=".",a=!0;else{if(!l){if("0"===p){r+=1,a&&(n+=p);continue}l=!0}n+=p,s+=1}r+=1}if(i=t.substring(r),""===n&&""===i&&(n=t),"."===n[0]&&(n="0".concat(n)),""!==i){var m="."===i[0];if(i=i.replace(/\./,""),i="".concat(i[0],".").concat(i.substr(1)),i=Math.round(Number(i)),(i=isNaN(i)?"":i.toString()).length>1&&"."!==i[0]){var v=i[0];i=i[1];for(var I=n.length,b=n.split("."),C=(0,d.Z)(b,2)[1],x=C&&C.length-1||0,y=C?"0.":"",Z=x;Z>0;)y+="0",Z-=1;for(n=function(e,t){var n=e,i=t;if("string"===typeof e&&(n=Number(e)),"string"===typeof t&&(i=Number(t)),Number.isInteger(n)||Number.isInteger(i))return n+i;var r=e.toString(),s=r.length,l=r.indexOf("."),a=t.toString(),o=a.length,c=a.indexOf("."),u=Math.max(s-l,o-c)-1;return Number((n+i).toFixed(u))}(n,y+=v).toFixed(x+1).substr(0,I);n.length1&&void 0!==arguments[1]?arguments[1]:{},i=(0,c.Z)((0,c.Z)({},e._defaultOptions),n),r=i.whitespaceFormat,s=i.html,l=i.leadingZero,a=i.additionalFormatting,o={significantDigits:e.significantDigits,maxDecimalInputLength:e.maxNegativeDecimalPosition};if(B(e.significantDigits))return a(t.toString(),o);var u=e.format(t);if("NaN"===(u=a(u,o)))return u;if(r){var h=s?$:" ",g=u.split(/\.|,/),f=(0,d.Z)(g,2),p=f[0],m=f[1];"0"!==p||l||(p=m?"":"0"),p=p||"";for(var v=(m=m||"")?".":h;m.length=d&&b<=h}if(s)break}}catch(C){o.e(C)}finally{o.f()}if(!s)return!1}return!0}));return o}},ye=(P={},(0,p.Z)(P,"empty","Empty rows"),(0,p.Z)(P,"aborted","\u2014"),P),Ze=[50,100,250,500,1e3,2500],je=function(){var e=X();return e.sort?e.sort.split(";").map((function(e){var t=e.split(",");return{id:t[0],desc:"desc"===t[1]}})):[]},Ae=function(e){var t=(0,i.useState)(!0),n=(0,d.Z)(t,2),r=n[0],s=n[1],l=(0,i.useState)(be()),a=(0,d.Z)(l,2),o=a[0],h=a[1],p=(0,i.useState)({}),I=(0,d.Z)(p,2),b=I[0],C=I[1],x=(0,i.useState)(!1),y=(0,d.Z)(x,2),Z=y[0],A=y[1],F=(0,g.k6)(),Y=function(t){"id"===t.id&&(t.isTableTabFilter=!0);var n=[].concat((0,u.Z)(e.filters.filter((function(e){return e.id!==t.id}))),[t]);n=n.filter((function(e){return""!==e.value})),e.addTypeToFilter(n);var i=[];if("status"===t.type){var r=J(t.id),s=r.tool,l=r.name,a=r.column,o=t.value;if("all"===o.trim())i=function(t){var n,i=t.tool,r=t.name,s=t.column,l=[],a=(0,f.Z)(e.statusValues[i][s]);try{for(a.s();!(n=a.n()).done;){var o=n.value;l.push({id:"".concat(i,"_").concat(r,"_").concat(s),value:o})}}catch(g){a.e(g)}finally{a.f()}var c,u=(0,f.Z)(e.categoryValues[i][s]);try{for(u.s();!(c=u.n()).done;){var d=c.value,h="".concat(d," ");l.push({id:"".concat(i,"_").concat(r,"_").concat(s),value:h})}}catch(g){u.e(g)}finally{u.f()}return l}({tool:s,name:l,column:a}),n=n.filter((function(e){var n=e.id,i=e.value;return!(n===t.id&&"all"===i.trim())}));else i=function(t){var n,i=t.tool,r=t.name,s=t.column,l=t.isCategory,a=l?e.statusValues:e.categoryValues,o=[],c=(0,f.Z)(a[i][s]);try{for(c.s();!(n=c.n()).done;){var u=n.value;o.push({id:"".concat(i,"_").concat(r,"_").concat(s),value:"".concat(u).concat(l?"":" ")})}}catch(d){c.e(d)}finally{c.f()}return o}({tool:s,name:l,column:a,isCategory:" "===o[o.length-1]})}e.addTypeToFilter(i),e.filterPlotData([].concat((0,u.Z)(n),(0,u.Z)(i)),!0)};function S(e){var t=e.column,n=t.id,r=(t.filter,e.currFilters),s=n+"_filter",l=r.find((function(e){return e.id===n})),a=l?l.value:"",o=(0,i.useState)(""),c=(0,d.Z)(o,2),u=c[0],h=c[1],g=(0,i.useState)(a),f=(0,d.Z)(g,2),p=f[0],m=f[1],v="id"===n&&Z?"To edit, please clear task filter in the sidebar":"text";return(0,j.jsx)("input",{id:s,className:"filter-field",placeholder:v,defaultValue:p,onChange:function(e){var t=e.target.value;m(t),clearTimeout(u),h(setTimeout((function(){Y({id:n,value:t}),document.getElementById(s).focus()}),500))},disabled:"id"===n&&Z,type:"search"})}function R(t){var n=t.column,i=n.id,r=(n.filter,t.runSetIdx),s=t.columnIdx,l=e.categoryValues[r][s],a=function(e){var t=e.categoryFilters,n=e.statusFilters,i=e.categoryFilterValues,r=e.statusFilterValues,s=[];return re(t,i)||(s=t),re(n,r)||(s=[].concat((0,u.Z)(s),(0,u.Z)(n))),s}({categoryFilters:k([r,"categories"],[],o),statusFilters:k([r,s],[],o),categoryFilterValues:l.map((function(e){return"".concat(e," ")})),statusFilterValues:e.statusValues[r][s]}),c=0===a.length,d=a.length>1||a[0]===W,h=a&&a[0],g=(c?"all ":d&&"multiple")||h;return(0,j.jsxs)("select",{className:"filter-field",onChange:function(e){return Y({id:i,value:e.target.value})},value:g,children:[d&&(0,j.jsx)("option",{value:"multiple",disabled:!0,children:a.map((function(e){return e.trim()})).filter((function(e){return"all"!==e&&e!==W})).join(", ")||"No filters selected"}),(0,j.jsx)("option",{value:"all ",children:"Show all"}),l.filter((function(e){return e in ye})).map((function(e){return(0,j.jsx)("option",{value:e+" ",children:ye[e]},e)})),(0,j.jsx)("optgroup",{label:"Category",children:l.filter((function(e){return!(e in ye)})).sort().map((function(e){return(0,j.jsx)("option",{value:e+" ",className:e,children:e},e)}))}),(0,j.jsx)("optgroup",{label:"Status",children:e.statusValues[r][s].filter((function(e){return e!==Ce})).sort().map((function(e){return(0,j.jsx)("option",{value:e,children:e},e)}))})]})}function H(e){var t=e.column,n=t.id,r=(t.filter,e.currFilters),s=n+"_filter",l=r.find((function(e){return e.id===n})),a=l?l.value:"",o=(0,i.useState)(""),c=(0,d.Z)(o,2),u=c[0],h=c[1],g=(0,i.useState)(a),f=(0,d.Z)(g,2),p=f[0],m=f[1];return(0,j.jsx)("input",{id:s,className:"filter-field",placeholder:"Min:Max",defaultValue:p,onChange:function(e){var t=e.target.value;m(t),clearTimeout(u),h(setTimeout((function(){Y({id:n,value:t}),document.getElementById(s).focus()}),500))},type:"search",pattern:"([+-]?[0-9]*(\\.[0-9]*)?)(:[+-]?[0-9]*(\\.[0-9]*)?)?"})}var T=(0,i.useCallback)((function(t){return(0,j.jsx)(S,(0,c.Z)((0,c.Z)({disableTaskText:Z},t),{},{currFilters:e.filters}))}),[Z,e.filters]),K=(0,i.useCallback)((function(t){return(0,j.jsx)(H,(0,c.Z)((0,c.Z)({},t),{},{currFilters:e.filters}))}),[e.filters]),L=(0,i.useMemo)((function(){var t=function(t,n,i){if("status"===n.type)return function(t,n,i){var r="".concat(t,"_").concat(n.display_title,"_").concat(i),s=b[r];return{id:r,Header:(0,j.jsx)(he,{column:n}),className:"reg-column",hidden:e.hiddenCols[t].includes(n.colIdx),minWidth:50,width:s||V(n,10),accessor:function(e){return e.results[t].values[i]},Cell:function(n){var i,r=n.row.original.results[t].category,s=n.row.original.results[t].href;return"aborted"===r?(s=void 0,i="Result missing because run was aborted or not executed"):"empty"===r?i="Result missing because task was not part of benchmark set":s&&(i="Click here to show output of tool"),(0,j.jsx)(fe,{cell:n,href:s,className:r,toggleLinkOverlay:e.toggleLinkOverlay,title:i,force:!0})},sortType:function(e,t,n,i){return w(e.values[n],t.values[n])},filter:function(e){return e},Filter:function(e){return(0,j.jsx)(R,(0,c.Z)((0,c.Z)({},e),{},{runSetIdx:t,columnIdx:i}))}}}(t,n,i);var r="".concat(t,"_").concat(n.display_title,"_").concat(i),s=b[r],l=N(n)?K:T;return{id:r,Header:(0,j.jsx)(he,{column:n}),className:"reg-column",hidden:e.hiddenCols[t].includes(n.colIdx),minWidth:50,width:s||V(n),accessor:function(e){return e.results[t].values[i]},Cell:function(t){return(0,j.jsx)(fe,{cell:t,toggleLinkOverlay:e.toggleLinkOverlay})},filter:function(e){return e},Filter:l,sortType:function(e,t,i,r){return N(n)?(s=e.values[i],l=t.values[i],G(s,1/0)-G(l,1/0)):w(e.values[i],t.values[i]);var s,l}}},n=e.tools.map((function(e,n){return me(e,n,t)})).flat();return[{Header:function(){return(0,j.jsx)("div",{className:"fixed-task-header",children:(0,j.jsx)("form",{children:(0,j.jsxs)("label",{title:"Fix the first column",children:["Fixed task:",(0,j.jsx)("input",{name:"fixed",type:"checkbox",checked:r,onChange:function(e){var t=e.target;return s(t.checked)}})]})})})},className:"fixed-task",id:"task-id-column",sticky:r?"left":"",columns:[(0,c.Z)((0,c.Z)({width:.3*window.innerWidth,minWidth:230},b.id&&{width:b.id}),{},{Header:(0,j.jsx)(he,{children:(0,j.jsx)(de,{handler:e.selectColumn})}),accessor:"id",Cell:function(t){var n=t.row.original.id.map((function(e){return(0,j.jsx)("span",{className:"row_id",children:e},e)})),i=t.row.original.href;return i?(0,j.jsx)("a",{className:"row__name--cellLink",href:i,title:"Click here to show source code",onClick:function(t){return e.toggleLinkOverlay(t,i)},children:n},i):(0,j.jsx)("span",{title:"This task has no associated file",children:n})},Filter:T,sortType:function(e,t,n,i){var r=Array.isArray(e.values[n])?e.values[n].join():e.values[n],s=Array.isArray(t.values[n])?t.values[n].join():t.values[n];return r>s?1:r0&&C((0,c.Z)((0,c.Z)({},b),e))}),[ve,b]),(0,i.useEffect)((function(){var t,n=(0,f.Z)(e.filters);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.values;"id"===i.id&&A(!B(r))}}catch(l){n.e(l)}finally{n.f()}var s=be();Ie()(s,o)||h(s),ue>=te&&ne(te-1)}),[e.filters,o,ne,ue,te]),(0,i.useEffect)((function(){return F.listen((function(e){ae(X().pageSize||250),oe(je()),ne(X().page-1||0)}))}),[F,ne,ae,oe]);var xe=function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({className:"tr headergroup"},e.getHeaderGroupProps()),{},{children:e.headers.map((function(e){return(0,j.jsxs)("div",(0,c.Z)((0,c.Z)({},e.getHeaderProps({className:"th header ".concat(e.headers?"outer ":"").concat(e.className)})),{},{children:[(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.canSort&&(!e.className||!e.className.includes("separator"))&&e.getSortByToggleProps({className:"header-sort-container clickable ".concat(e.isSorted?e.isSortedDesc?"sorted-desc ":"sorted-asc ":"")})),{},{children:e.render("Header")})),(!e.className||!e.className.includes("separator"))&&(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getResizerProps()),{},{className:"resizer ".concat(e.isResizing?"isResizing":"")}))]}))}))}))};return(0,j.jsx)("div",{className:"main-table",children:(0,j.jsxs)("div",{className:"table sticky",children:[(0,j.jsx)("div",{className:"table-content",children:(0,j.jsxs)("div",(0,c.Z)((0,c.Z)({className:"table-container"},P()),{},{children:[function(e){var t=e[0],n=e.filter((function(e){return e.headers.some((function(e){return e.canFilter}))}));return(0,j.jsxs)("div",{className:"table-header",children:[xe(t),(0,j.jsxs)("div",{className:"shadow-container",children:[e.slice(1).map(xe),n.map((function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({className:"tr headergroup filter"},e.getHeaderGroupProps()),{},{children:e.headers.map((function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getHeaderProps({className:"th header filter ".concat(e.headers?"outer ":"").concat(e.className)})),{},{children:e.canFilter?e.render("Filter"):null}))}))}))}))]})]})}(z),(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},M()),{},{className:"table-body body",children:Q.map((function(e){return _(e),(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getRowProps()),{},{className:"tr",children:e.cells.map((function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getCellProps({className:"td "+(e.column.className||"")})),{},{children:e.render("Cell")}))}))}))}))}))]}))}),(0,j.jsxs)("div",{className:"pagination",children:[(0,j.jsxs)("div",{id:"pagination-previous",className:"pagination-container",children:[(0,j.jsx)("div",{onClick:function(){return se()},className:"pagination-element button".concat(q?"":" disabled"),children:"Previous"})," "]}),(0,j.jsxs)("div",{id:"pagination-center",className:"pagination-container",children:[(0,j.jsxs)("div",{id:"goto-page-element",className:"pagination-element",children:["Page",(0,j.jsx)("input",{"aria-label":"jump to page",type:"number",value:Number(ue)+1,onChange:function(e){return ne(Number(e.target.value)-1)}}),"of ",ee.length]}),(0,j.jsx)("div",{id:"set-page-element",className:"pagination-element",children:(0,j.jsx)("select",{value:ge,onChange:function(e){return ae(Number(e.target.value))},children:Ze.map((function(e){return(0,j.jsxs)("option",{value:e,children:[e," rows"]},e)}))})})]}),(0,j.jsxs)("div",{id:"pagination-next",className:"pagination-container",children:[(0,j.jsx)("div",{onClick:function(){return ie()},className:"pagination-element button".concat($?"":" disabled"),children:"Next"})," "]})]})]})})},Fe=n(4165),We=n(5861);n(9e3);var Ne=[],Be={},Ge=1,we=[{template:"data:text/plain;base64,Ly8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgQmVuY2hFeGVjLCBhIGZyYW1ld29yayBmb3IgcmVsaWFibGUgYmVuY2htYXJraW5nOgovLyBodHRwczovL2dpdGh1Yi5jb20vc29zeS1sYWIvYmVuY2hleGVjCi8vCi8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMTktMjAyMCBEaXJrIEJleWVyIDxodHRwczovL3d3dy5zb3N5LWxhYi5vcmc+Ci8vCi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCgovLyBDT1BZIE9GIHV0aWxzLmpzLCBhcyBpbXBvcnRzIHdpbGwgbm90IHdvcmsgaGVyZQovKioKICogRnVuY3Rpb24gdG8gc2FmZWx5IGFkZCB0d28gbnVtYmVycyBpbiBhIHdheSB0aGF0IHNob3VsZCBtaXRpZ2F0ZSBlcnJvcnMKICogY2F1c2VkIGJ5IGluYWNjdXJhdGUgZmxvYXRpbmcgcG9pbnQgb3BlcmF0aW9ucyBpbiBqYXZhc2NyaXB0CiAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gYSAtIFRoZSBiYXNlIG51bWJlcgogKiBAcGFyYW0ge051bWJlcnxTdHJpbmd9IGIgLSBUaGUgbnVtYmVyIHRvIGFkZAogKgogKiBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcmVzdWx0IG9mIHRoZSBhZGRpdGlvbgogKi8KY29uc3Qgc2FmZUFkZCA9IChhLCBiKSA9PiB7CiAgbGV0IGFOdW0gPSBhOwogIGxldCBiTnVtID0gYjsKCiAgaWYgKHR5cGVvZiBhID09PSAic3RyaW5nIikgewogICAgYU51bSA9IE51bWJlcihhKTsKICB9CiAgaWYgKHR5cGVvZiBiID09PSAic3RyaW5nIikgewogICAgYk51bSA9IE51bWJlcihiKTsKICB9CgogIGlmIChOdW1iZXIuaXNJbnRlZ2VyKGFOdW0pIHx8IE51bWJlci5pc0ludGVnZXIoYk51bSkpIHsKICAgIHJldHVybiBhTnVtICsgYk51bTsKICB9CgogIGNvbnN0IGFTdHJpbmcgPSBhLnRvU3RyaW5nKCk7CiAgY29uc3QgYUxlbmd0aCA9IGFTdHJpbmcubGVuZ3RoOwogIGNvbnN0IGFEZWNpbWFsUG9pbnQgPSBhU3RyaW5nLmluZGV4T2YoIi4iKTsKICBjb25zdCBiU3RyaW5nID0gYi50b1N0cmluZygpOwogIGNvbnN0IGJMZW5ndGggPSBiU3RyaW5nLmxlbmd0aDsKICBjb25zdCBiRGVjaW1hbFBvaW50ID0gYlN0cmluZy5pbmRleE9mKCIuIik7CgogIGNvbnN0IGxlbmd0aCA9IE1hdGgubWF4KGFMZW5ndGggLSBhRGVjaW1hbFBvaW50LCBiTGVuZ3RoIC0gYkRlY2ltYWxQb2ludCkgLSAxOwoKICByZXR1cm4gTnVtYmVyKChhTnVtICsgYk51bSkudG9GaXhlZChsZW5ndGgpKTsKfTsKCmNvbnN0IG1hdGhTdHJpbmdNYXggPSAoYSwgYikgPT4gewogIGNvbnN0IG51bUEgPSBOdW1iZXIoYSk7CiAgY29uc3QgbnVtQiA9IE51bWJlcihiKTsKICByZXR1cm4gbnVtQSA+IG51bUIgPyBhIDogYjsKfTsKCmNvbnN0IG1hdGhTdHJpbmdNaW4gPSAoYSwgYikgPT4gewogIGNvbnN0IG51bUEgPSBOdW1iZXIoYSk7CiAgY29uc3QgbnVtQiA9IE51bWJlcihiKTsKICByZXR1cm4gbnVtQSA8IG51bUIgPyBhIDogYjsKfTsKCi8qKgogKiBUaGlzIGZ1bmN0aW9uIGVpdGhlciBhZGRzIHR3byBudW1iZXJzIG9yIGluY3JlbWVudHMgdGhlIG51bWJlcgogKiBwYXNzZWQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlciBpZiB0aGUgdHlwZSBpcyAic3RhdHVzIi4KICogSWYgdGhlIHNlY29uZCBwYXJhbWV0ZXIgaXMgbm90IGEgbnVtYmVyIGFuZCB0aGUgdHlwZSBpcyBub3Qgc3RhdHVzLAogKiB0aGUgZmlyc3QgcGFyYW1ldGVyIHdpbGwgYmUgcmV0dXJuZWQKICoKICogQHBhcmFtIHtOdW1iZXJ9IGEKICogQHBhcmFtIHsqfSBiCiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlCiAqLwpjb25zdCBtYXliZUFkZCA9IChhLCBiLCB0eXBlKSA9PiB7CiAgaWYgKE51bWJlcihiKSkgewogICAgcmV0dXJuIHNhZmVBZGQoYSwgYik7CiAgfQogIGlmICh0eXBlID09PSAic3RhdHVzIikgewogICAgcmV0dXJuIGEgKyAxOwogIH0KICByZXR1cm4gYTsKfTsKY29uc3QgcmVtb3ZlUm91bmRPZmYgPSAobnVtKSA9PiB7CiAgY29uc3Qgc3RyID0gbnVtLnRvU3RyaW5nKCk7CiAgaWYgKHN0ci5tYXRjaCgvXC4uKz8wezIsfVxkJC8pKSB7CiAgICByZXR1cm4gTnVtYmVyKHN0ci5zdWJzdHIoMCwgc3RyLmxlbmd0aCAtIDEpKTsKICB9CiAgcmV0dXJuIG51bTsKfTsKCmNvbnN0IGNhbGN1bGF0ZU1lYW4gPSAodmFsdWVzLCBhbGxJdGVtcykgPT4gewogIGNvbnN0IG51bU1pbiA9IE51bWJlcih2YWx1ZXMubWluKTsKICBjb25zdCBudW1NYXggPSBOdW1iZXIodmFsdWVzLm1heCk7CiAgaWYgKG51bU1pbiA9PT0gLUluZmluaXR5ICYmIG51bU1heCA9PT0gSW5maW5pdHkpIHsKICAgIHZhbHVlcy5hdmcgPSAiTmFOIjsKICB9IGVsc2UgaWYgKG51bU1pbiA9PT0gLUluZmluaXR5KSB7CiAgICB2YWx1ZXMuYXZnID0gIi1JbmZpbml0eSI7CiAgfSBlbHNlIGlmIChudW1NYXggPT09IEluZmluaXR5KSB7CiAgICB2YWx1ZXMuYXZnID0gIkluZmluaXR5IjsKICB9IGVsc2UgewogICAgdmFsdWVzLmF2ZyA9IHJlbW92ZVJvdW5kT2ZmKHZhbHVlcy5zdW0gLyBhbGxJdGVtcy5sZW5ndGgpOwogIH0KfTsKCmNvbnN0IGNhbGN1bGF0ZU1lZGlhbiA9ICh2YWx1ZXMsIGFsbEl0ZW1zKSA9PiB7CiAgaWYgKGFsbEl0ZW1zLmxlbmd0aCAlIDIgPT09IDApIHsKICAgIGNvbnN0IGlkeCA9IGFsbEl0ZW1zLmxlbmd0aCAvIDI7CiAgICB2YWx1ZXMubWVkaWFuID0KICAgICAgKE51bWJlcihhbGxJdGVtc1tpZHggLSAxXS5jb2x1bW4pICsgTnVtYmVyKGFsbEl0ZW1zW2lkeF0uY29sdW1uKSkgLyAyLjA7CiAgfSBlbHNlIHsKICAgIHZhbHVlcy5tZWRpYW4gPSBhbGxJdGVtc1tNYXRoLmZsb29yKGFsbEl0ZW1zLmxlbmd0aCAvIDIuMCldLmNvbHVtbjsKICB9Cn07CmNvbnN0IGNhbGN1bGF0ZVN0ZGV2ID0gKGhhc05lZ0luZiwgaGFzUG9zSW5mLCB2YXJpYW5jZSwgc2l6ZSkgPT4gewogIGlmIChoYXNOZWdJbmYgJiYgaGFzUG9zSW5mKSB7CiAgICByZXR1cm4gIk5hTiI7CiAgfQogIGlmIChoYXNOZWdJbmYgfHwgaGFzUG9zSW5mKSB7CiAgICByZXR1cm4gSW5maW5pdHk7CiAgfQogIHJldHVybiBNYXRoLnNxcnQodmFyaWFuY2UgLyBzaXplKTsKfTsKCmNvbnN0IHBhcnNlUHl0aG9uSW5maW5pdHlWYWx1ZXMgPSAoZGF0YSkgPT4KICBkYXRhLm1hcCgoaXRlbSkgPT4gewogICAgaWYgKGl0ZW0uY29sdW1uVHlwZSA9PT0gInN0YXR1cyIgfHwgIWl0ZW0uY29sdW1uLmVuZHNXaXRoKCJJbmYiKSkgewogICAgICByZXR1cm4gaXRlbTsKICAgIH0KICAgIC8vIFdlIGhhdmUgYSBweXRob24gSW5maW5pdHkgdmFsdWUgdGhhdCB3ZSB3YW50IHRvIHRyYW5zZmVyIHRvIGEgc3RyaW5nCiAgICAvLyB0aGF0IGNhbiBiZSBpbnRlcnByZXRlZCBhcyBhIEphdmFTY3JpcHQgSW5maW5pdHkgdmFsdWUKICAgIGl0ZW0uY29sdW1uID0gaXRlbS5jb2x1bW4ucmVwbGFjZSgiSW5mIiwgIkluZmluaXR5Iik7CiAgICByZXR1cm4gaXRlbTsKICB9KTsKCi8vIElmIGEgYnVja2V0IGNvbnRhaW5zIGEgTmFOIHZhbHVlLCB3ZSBjYW4gbm90IHBlcmZvcm0gYW55IHN0YXQgY2FsY3VsYXRpb24KY29uc3Qgc2hvdWxkU2tpcEJ1Y2tldCA9IChidWNrZXRNZXRhLCBrZXkpID0+IHsKICBpZiAoYnVja2V0TWV0YVtrZXldICYmIGJ1Y2tldE1ldGFba2V5XS5oYXNOYU4pIHsKICAgIHJldHVybiB0cnVlOwogIH0KICByZXR1cm4gZmFsc2U7Cn07CgovKioKICogRnVuY3Rpb24gdGhhdCBrZWVwcyB0cmFjayBvZiB0aGUgbWF4IGlucHV0dGVkIGRlY2ltYWwgbGVuZ3RoIG9mIGNvbHVtbiB2YWx1ZXMuCiAqIFRoaXMgaXMgdXNlZCBmb3IgY29uZGl0aW9uYWwgZm9ybWF0dGluZyBpbiB0aGUgc3RhdHMgbW9kdWxlIHRvIGRldGVybWluZSB0aGUgbWF4aW11bQogKiBhbW91bnQgb2YgcGFkZGVkIDBzCiAqCiAqIEB0eXBlZGVmIFVwZGF0ZU1heERlY2ltYWxNZXRhSW5mb1BhcmFtCiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5UeXBlIC0gVGhlIHR5cGUgb2YgdGhlIGN1cnJlbnQgY29sdW1uCiAqIEBwYXJhbSB7T2JqZWN0fSBjb2x1bW4gLSBUaGUgY29sdW1uIG9iamVjdAogKiBAcGFyYW0ge09iamVjdH0gYnVja2V0IC0gVGhlIGN1cnJlbnQgc3RhdCBidWNrZXQgaW4gY29udGV4dAogKgogKiBAcGFyYW0ge1VwZGF0ZU1heERlY2ltYWxNZXRhSW5mb1BhcmFtfSBwYXJhbQogKi8KY29uc3QgdXBkYXRlTWF4RGVjaW1hbE1ldGFJbmZvID0gKHsgY29sdW1uVHlwZSwgY29sdW1uLCBidWNrZXQgfSkgPT4gewogIGlmIChjb2x1bW5UeXBlICE9PSAic3RhdHVzIikgewogICAgY29uc3QgWywgZGVjaW1hbF0gPSBjb2x1bW4uc3BsaXQoIi4iKTsKICAgIGJ1Y2tldC5tZXRhLm1heERlY2ltYWxzID0gTWF0aC5tYXgoCiAgICAgIGJ1Y2tldC5tZXRhLm1heERlY2ltYWxzLAogICAgICBkZWNpbWFsPy5sZW5ndGggPz8gMCwKICAgICk7CiAgfQp9OwoKLyoqCiAqIEB0eXBlZGVmICBNZXRhSW5mbwogKiAgQWRkaXRpb25hbCBtZXRhaW5mb3JtYXRpb24gdG8gYmUgdXNlZCBmb3IgcG9zdC1wcm9jZXNzaW5nIChsaWtlIG51bWJlciBmb3JtYXR0aW5nKQogKiBAcHJvcCB7c3RyaW5nfG51bGx9IHR5cGUgLSBUaGUgY29sdW1uIHR5cGUKICogQHByb3Age251bWJlcn0gbWF4RGVjaW1hbHMgLSBUaGUgbWF4aW11bSBhbW91bnQgb2YgZGVjaW1hbHMgYWNyb3NzIGFsbCBudW1iZXJzIGluIHRoZSBidWNrZXQKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGZvciBudW1iZXIgZm9ybWF0dGluZwogKi8KCi8qKgogKiBAdHlwZWRlZiBCdWNrZXQKICogU3RhdGlzdGljcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHJlYWN0IHRhYmxlIGFyZSBjYWxjdWxhdGVkIGluIGJ1Y2tldHMsIGVhY2ggYnVja2V0IHJlcHJlc2VudGluZyBvbmUgInJvdyIgaW4gdGhlCiAqIHN0YXRpc3RpY3MgdGFibGUgKHRvdGFsLCBjb3JyZWN0LCBjb3JyZWN0IHRydWUsIGV0YykuCiAqIFRoaXMgb2JqZWN0IHN0b3JlcyBhbGwgYWNjdW11bGF0ZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBidWNrZXQuCiAqCiAqIEBwcm9wIHtudW1iZXJ9IHN1bSAtIFRoZSBzdW0gb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfSBhdmcgLSBUaGUgYXZlcmFnZSBvZiB0aGUgYnVja2V0CiAqIEBwcm9wIHtudW1iZXJ8c3RyaW5nfSBtYXggLSBUaGUgbWF4aW1hbCB2YWx1ZSBvZiB0aGUgYnVja2V0CiAqIEBwcm9wIHtudW1iZXJ9IG1lZGlhbiAtIFRoZSBtZWRpYW4gdmFsdWUgb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfHN0cmluZ30gbWluIC0gVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfSBzdGRldiAtIFRoZSBzdGFuZGFyZCBkZXZpYXRpb24gb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfSB2YXJpYW5jZSAtIFRoZSB2YXJpYW5jZSBvZiB0aGUgYnVja2V0CiAqIEBwcm9wIHtNZXRhSW5mb30gW21ldGFdIC0gTWV0YSBpbmZvcm1hdGlvbiBvZiB0aGUgYnVja2V0CiAqLwoKb25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsKICBjb25zdCB7IGRhdGEsIHRyYW5zYWN0aW9uIH0gPSBlLmRhdGE7CgogIC8vIHRlbXBsYXRlCiAgLyoqIEBjb25zdCB7IEJ1Y2tldCB9ICovCiAgY29uc3QgZGVmYXVsdE9iaiA9IHsKICAgIHN1bTogMCwKICAgIGF2ZzogMCwKICAgIG1heDogIi1JbmZpbml0eSIsCiAgICBtZWRpYW46IDAsCiAgICBtaW46ICJJbmZpbml0eSIsCiAgICBzdGRldjogMCwKICAgIHZhcmlhbmNlOiAwLAogIH07CgogIC8qKiBAY29uc3Qge01ldGFJbmZvfSAqLwogIGNvbnN0IG1ldGFUZW1wbGF0ZSA9IHsKICAgIHR5cGU6IG51bGwsCiAgICBtYXhEZWNpbWFsczogMCwKICB9OwoKICAvLyBDb3B5IG9mIHRoZSB0ZW1wbGF0ZSB3aXRoIGFsbCB2YWx1ZXMgcmVwbGFjZWQgd2l0aCBOYU4KICBjb25zdCBuYW5PYmogPSB7IC4uLmRlZmF1bHRPYmogfTsKICBmb3IgKGNvbnN0IG9iaktleSBvZiBPYmplY3Qua2V5cyhuYW5PYmopKSB7CiAgICBuYW5PYmpbb2JqS2V5XSA9ICJOYU4iOwogIH0KCiAgbGV0IGNvcHkgPSBbLi4uZGF0YV0uZmlsdGVyKAogICAgKGkpID0+IGkgJiYgaS5jb2x1bW4gIT09IHVuZGVmaW5lZCAmJiBpLmNvbHVtbiAhPT0gbnVsbCwKICApOwogIGNvcHkgPSBwYXJzZVB5dGhvbkluZmluaXR5VmFsdWVzKGNvcHkpOwoKICBpZiAoY29weS5sZW5ndGggPT09IDApIHsKICAgIC8vIE5vIGRhdGEgdG8gcGVyZm9ybSBjYWxjdWxhdGlvbnMgd2l0aAogICAgcG9zdFJlc3VsdCh7IHRvdGFsOiB1bmRlZmluZWQgfSwgdHJhbnNhY3Rpb24pOwogICAgcmV0dXJuOwogIH0KCiAgY29uc3QgeyBjb2x1bW5UeXBlIH0gPSBjb3B5WzBdOwogIG1ldGFUZW1wbGF0ZS50eXBlID0gY29sdW1uVHlwZTsKCiAgY29weS5zb3J0KChhLCBiKSA9PiBhLmNvbHVtbiAtIGIuY29sdW1uKTsKCiAgLyoqIEB0eXBlIHtPYmplY3QuPHN0cmluZywgQnVja2V0Pn0gKi8KICBjb25zdCBidWNrZXRzID0ge307CiAgY29uc3QgYnVja2V0TmFOSW5mbyA9IHt9OyAvLyB1c2VkIHRvIHN0b3JlIE5hTiBpbmZvIG9mIGJ1Y2tldHMKCiAgLyoqIEB0eXBlIHtCdWNrZXR9ICovCiAgbGV0IHRvdGFsID0geyAuLi5kZWZhdWx0T2JqLCBpdGVtczogW10sIG1ldGE6IHsgLi4ubWV0YVRlbXBsYXRlIH0gfTsKCiAgdG90YWwubWF4ID0gY29weVtjb3B5Lmxlbmd0aCAtIDFdLmNvbHVtbjsKICB0b3RhbC5taW4gPSBjb3B5WzBdLmNvbHVtbjsKCiAgY29uc3QgdG90YWxOYU5JbmZvID0gewogICAgaGFzTmFOOiBjb3B5LnNvbWUoKGl0ZW0pID0+IHsKICAgICAgaWYgKGl0ZW0uY29sdW1uVHlwZSAhPT0gInN0YXR1cyIgJiYgaXNOYU4oaXRlbS5jb2x1bW4pKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSksCiAgfTsKCiAgLy8gQnVja2V0IHNldHVwIHdpdGggc3VtIGFuZCBtaW4vbWF4CiAgZm9yIChjb25zdCBpdGVtIG9mIGNvcHkpIHsKICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uY2F0ZWdvcnlUeXBlfV8ke2l0ZW0ucmVzdWx0VHlwZX1gOwogICAgY29uc3QgdG90YWxLZXkgPSBgJHtpdGVtLmNhdGVnb3J5VHlwZX1gOwogICAgY29uc3QgeyBjb2x1bW5UeXBlOiB0eXBlLCBjb2x1bW4sIGNvbHVtblRpdGxlOiB0aXRsZSB9ID0gaXRlbTsKICAgIGlmICghdG90YWwudGl0bGUpIHsKICAgICAgdG90YWwudGl0bGUgPSB0aXRsZTsKICAgIH0KICAgIGNvbnN0IGJ1Y2tldCA9IGJ1Y2tldHNba2V5XSB8fCB7CiAgICAgIC4uLmRlZmF1bHRPYmosCiAgICAgIHRpdGxlLAogICAgICBpdGVtczogW10sCiAgICAgIG1ldGE6IHsgLi4ubWV0YVRlbXBsYXRlIH0sCiAgICB9OwoKICAgIGNvbnN0IHN1YlRvdGFsQnVja2V0ID0gYnVja2V0c1t0b3RhbEtleV0gfHwgewogICAgICAuLi5kZWZhdWx0T2JqLAogICAgICB0aXRsZSwKICAgICAgaXRlbXM6IFtdLAogICAgICBtZXRhOiB7IC4uLm1ldGFUZW1wbGF0ZSB9LAogICAgfTsKCiAgICBjb25zdCBpdGVtSXNOYU4gPSB0eXBlICE9PSAic3RhdHVzIiAmJiBpc05hTihjb2x1bW4pOwoKICAgIC8vIGlmIG9uZSBpdGVtIGlzIE5hTiB3ZSBzdG9yZSB0aGF0IGluZm8gc28gd2UgY2FuIGRlZmF1bHQgYWxsCiAgICAvLyBjYWxjdWxhdGVkIHZhbHVlcyBmb3IgdGhpcyBidWNrZXQgdG8gTmFOCiAgICBpZiAoaXRlbUlzTmFOKSB7CiAgICAgIGJ1Y2tldE5hTkluZm9ba2V5XSA9IHsgaGFzTmFOOiB0cnVlIH07CiAgICAgIGJ1Y2tldE5hTkluZm9bdG90YWxLZXldID0geyBoYXNOYU46IHRydWUgfTsKCiAgICAgIC8vIHNldCBhbGwgdmFsdWVzIGZvciB0aGlzIGJ1Y2tldCB0byBOYU4KICAgICAgYnVja2V0c1trZXldID0geyAuLi5uYW5PYmosIHRpdGxlIH07CiAgICAgIGJ1Y2tldHNbdG90YWxLZXldID0geyAuLi5uYW5PYmosIHRpdGxlIH07CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAgIC8vIHdlIGNoZWNrIGlmIHdlIHNob3VsZCBza2lwIGNhbGN1bGF0aW9uIGZvciB0aGVzZSBidWNrZXRzCiAgICBjb25zdCBza2lwQnVja2V0ID0gc2hvdWxkU2tpcEJ1Y2tldChidWNrZXROYU5JbmZvLCBrZXkpOwogICAgY29uc3Qgc2tpcFN1YlRvdGFsID0gc2hvdWxkU2tpcEJ1Y2tldChidWNrZXROYU5JbmZvLCB0b3RhbEtleSk7CgogICAgaWYgKCFza2lwQnVja2V0KSB7CiAgICAgIGJ1Y2tldC5zdW0gPSBtYXliZUFkZChidWNrZXQuc3VtLCBjb2x1bW4sIHR5cGUpOwogICAgICB1cGRhdGVNYXhEZWNpbWFsTWV0YUluZm8oeyBjb2x1bW5UeXBlLCBjb2x1bW4sIGJ1Y2tldCB9KTsKICAgIH0KICAgIGlmICghc2tpcFN1YlRvdGFsKSB7CiAgICAgIHN1YlRvdGFsQnVja2V0LnN1bSA9IG1heWJlQWRkKHN1YlRvdGFsQnVja2V0LnN1bSwgY29sdW1uLCB0eXBlKTsKICAgICAgdXBkYXRlTWF4RGVjaW1hbE1ldGFJbmZvKHsgY29sdW1uVHlwZSwgY29sdW1uLCBidWNrZXQ6IHN1YlRvdGFsQnVja2V0IH0pOwogICAgfQogICAgaWYgKCF0b3RhbE5hTkluZm8uaGFzTmFOKSB7CiAgICAgIHRvdGFsLnN1bSA9IG1heWJlQWRkKHRvdGFsLnN1bSwgY29sdW1uLCB0eXBlKTsKICAgICAgdXBkYXRlTWF4RGVjaW1hbE1ldGFJbmZvKHsgY29sdW1uVHlwZSwgY29sdW1uLCBidWNrZXQ6IHRvdGFsIH0pOwogICAgfQoKICAgIGlmICghaXNOYU4oTnVtYmVyKGNvbHVtbikpKSB7CiAgICAgIGlmICghc2tpcEJ1Y2tldCkgewogICAgICAgIGJ1Y2tldC5tYXggPSBtYXRoU3RyaW5nTWF4KGJ1Y2tldC5tYXgsIGNvbHVtbik7CiAgICAgICAgYnVja2V0Lm1pbiA9IG1hdGhTdHJpbmdNaW4oYnVja2V0Lm1pbiwgY29sdW1uKTsKICAgICAgfQogICAgICBpZiAoIXNraXBTdWJUb3RhbCkgewogICAgICAgIHN1YlRvdGFsQnVja2V0Lm1heCA9IG1hdGhTdHJpbmdNYXgoc3ViVG90YWxCdWNrZXQubWF4LCBjb2x1bW4pOwogICAgICAgIHN1YlRvdGFsQnVja2V0Lm1pbiA9IG1hdGhTdHJpbmdNaW4oc3ViVG90YWxCdWNrZXQubWluLCBjb2x1bW4pOwogICAgICB9CiAgICB9CiAgICBpZiAoIXNraXBCdWNrZXQpIHsKICAgICAgdHJ5IHsKICAgICAgICBidWNrZXQuaXRlbXMucHVzaChpdGVtKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGNvbnNvbGUuZSh7IGJ1Y2tldCwgYnVja2V0TWV0YTogYnVja2V0TmFOSW5mbywga2V5IH0pOwogICAgICB9CiAgICB9CiAgICBpZiAoIXNraXBTdWJUb3RhbCkgewogICAgICB0cnkgewogICAgICAgIHN1YlRvdGFsQnVja2V0Lml0ZW1zLnB1c2goaXRlbSk7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBjb25zb2xlLmUoeyBzdWJUb3RhbEJ1Y2tldCwgYnVja2V0TWV0YTogYnVja2V0TmFOSW5mbywgdG90YWxLZXkgfSk7CiAgICAgIH0KICAgIH0KCiAgICBidWNrZXRzW2tleV0gPSBidWNrZXQ7CiAgICBidWNrZXRzW3RvdGFsS2V5XSA9IHN1YlRvdGFsQnVja2V0OwogIH0KCiAgZm9yIChjb25zdCBbYnVja2V0LCB2YWx1ZXNdIG9mIE9iamVjdC5lbnRyaWVzKGJ1Y2tldHMpKSB7CiAgICBpZiAoc2hvdWxkU2tpcEJ1Y2tldChidWNrZXROYU5JbmZvLCBidWNrZXQpKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgY2FsY3VsYXRlTWVhbih2YWx1ZXMsIHZhbHVlcy5pdGVtcyk7CgogICAgY2FsY3VsYXRlTWVkaWFuKHZhbHVlcywgdmFsdWVzLml0ZW1zKTsKICAgIGJ1Y2tldHNbYnVja2V0XSA9IHZhbHVlczsKICB9CiAgY29uc3QgdG90YWxIYXNOYU4gPSB0b3RhbE5hTkluZm8uaGFzTmFOOwoKICBpZiAodG90YWxIYXNOYU4pIHsKICAgIHRvdGFsID0geyAuLi50b3RhbCwgLi4ubmFuT2JqIH07CiAgfSBlbHNlIHsKICAgIGNhbGN1bGF0ZU1lYW4odG90YWwsIGNvcHkpOwogICAgY2FsY3VsYXRlTWVkaWFuKHRvdGFsLCBjb3B5KTsKICB9CgogIGZvciAoY29uc3QgaXRlbSBvZiBjb3B5KSB7CiAgICBjb25zdCB7IGNvbHVtbiB9ID0gaXRlbTsKICAgIGlmIChpc05hTihOdW1iZXIoY29sdW1uKSkpIHsKICAgICAgY29udGludWU7CiAgICB9CiAgICBjb25zdCBudW1Db2wgPSBOdW1iZXIoY29sdW1uKTsKICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uY2F0ZWdvcnlUeXBlfV8ke2l0ZW0ucmVzdWx0VHlwZX1gOwogICAgY29uc3QgdG90YWxLZXkgPSBgJHtpdGVtLmNhdGVnb3J5VHlwZX1gOwogICAgY29uc3QgYnVja2V0ID0gYnVja2V0c1trZXldOwogICAgY29uc3Qgc3ViVG90YWxCdWNrZXQgPSBidWNrZXRzW3RvdGFsS2V5XTsKICAgIGNvbnN0IGRpZmZCdWNrZXQgPSBudW1Db2wgLSBidWNrZXQuYXZnOwogICAgY29uc3QgZGlmZlN1YlRvdGFsID0gbnVtQ29sIC0gc3ViVG90YWxCdWNrZXQuYXZnOwogICAgY29uc3QgZGlmZlRvdGFsID0gbnVtQ29sIC0gdG90YWwuYXZnOwogICAgdG90YWwudmFyaWFuY2UgKz0gTWF0aC5wb3coZGlmZlRvdGFsLCAyKTsKICAgIGJ1Y2tldC52YXJpYW5jZSArPSBNYXRoLnBvdyhkaWZmQnVja2V0LCAyKTsKICAgIHN1YlRvdGFsQnVja2V0LnZhcmlhbmNlICs9IE1hdGgucG93KGRpZmZTdWJUb3RhbCwgMik7CiAgfQoKICBjb25zdCB0b3RhbEhhc05lZ0luZiA9IE51bWJlcih0b3RhbC5taW4pID09PSAtSW5maW5pdHk7CiAgY29uc3QgdG90YWxIYXNQb3NJbmYgPSBOdW1iZXIodG90YWwubWF4KSA9PT0gSW5maW5pdHk7CiAgdG90YWwuc3RkZXYgPSBjYWxjdWxhdGVTdGRldigKICAgIHRvdGFsSGFzTmVnSW5mLAogICAgdG90YWxIYXNQb3NJbmYsCiAgICB0b3RhbC52YXJpYW5jZSwKICAgIGNvcHkubGVuZ3RoLAogICk7CgogIGZvciAoY29uc3QgW2J1Y2tldCwgdmFsdWVzXSBvZiBPYmplY3QuZW50cmllcyhidWNrZXRzKSkgewogICAgaWYgKHNob3VsZFNraXBCdWNrZXQoYnVja2V0TmFOSW5mbywgYnVja2V0KSkgewogICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXModmFsdWVzKSkgewogICAgICAgIHZhbHVlc1trZXldID0gdmFsLnRvU3RyaW5nKCk7CiAgICAgIH0KICAgICAgYnVja2V0c1tidWNrZXRdID0gdmFsdWVzOwogICAgICBjb250aW51ZTsKICAgIH0KICAgIGNvbnN0IHZhbHVlc0hhdmVOZWdJbmYgPSBOdW1iZXIodmFsdWVzLm1pbikgPT09IC1JbmZpbml0eTsKICAgIGNvbnN0IHZhbHVlc0hhdmVQb3NJbmYgPSBOdW1iZXIodG90YWwubWF4KSA9PT0gSW5maW5pdHk7CiAgICB2YWx1ZXMuc3RkZXYgPSBjYWxjdWxhdGVTdGRldigKICAgICAgdmFsdWVzSGF2ZU5lZ0luZiwKICAgICAgdmFsdWVzSGF2ZVBvc0luZiwKICAgICAgdmFsdWVzLnZhcmlhbmNlLAogICAgICB2YWx1ZXMuaXRlbXMubGVuZ3RoLAogICAgKTsKCiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXModmFsdWVzKSkgewogICAgICBpZiAoa2V5ID09PSAibWV0YSIpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICB2YWx1ZXNba2V5XSA9IHZhbC50b1N0cmluZygpOwogICAgfQogICAgLy8gY2xlYXJpbmcgbWVtb3J5CiAgICBkZWxldGUgdmFsdWVzLml0ZW1zOwogICAgZGVsZXRlIHZhbHVlcy52YXJpYW5jZTsKICAgIGJ1Y2tldHNbYnVja2V0XSA9IHZhbHVlczsKICB9CgogIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRvdGFsKSkgewogICAgaWYgKGtleSA9PT0gIm1ldGEiKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgdG90YWxba2V5XSA9IHZhbHVlLnRvU3RyaW5nKCk7CiAgfQoKICBkZWxldGUgdG90YWwuaXRlbXM7CiAgZGVsZXRlIHRvdGFsLnZhcmlhbmNlOwoKICBjb25zdCByZXN1bHQgPSB7IGNvbHVtblR5cGUsIHRvdGFsLCAuLi5idWNrZXRzIH07CiAgcG9zdFJlc3VsdChyZXN1bHQsIHRyYW5zYWN0aW9uKTsKfTsKCmNvbnN0IHBvc3RSZXN1bHQgPSAocmVzdWx0LCB0cmFuc2FjdGlvbikgPT4gewogIC8vIGhhbmRsaW5nIGluIHRlc3RzCiAgaWYgKHRoaXMubW9ja2VkUG9zdE1lc3NhZ2UpIHsKICAgIHRoaXMubW9ja2VkUG9zdE1lc3NhZ2UoeyByZXN1bHQsIHRyYW5zYWN0aW9uIH0pOwogICAgcmV0dXJuOwogIH0KICBwb3N0TWVzc2FnZSh7IHJlc3VsdCwgdHJhbnNhY3Rpb24gfSk7Cn07Cg==",poolSize:8,name:"stats"}].map((function(e){for(var t=e.template,n=e.poolSize,i=e.name,r=[],s=function(e){var n=new Worker(t),i={worker:n,busy:!1};n.onmessage=function(e){return function(e,t){var n=e.data,i=n.transaction,r=n.result,s=Be[i];t.busy=!1,s(r),delete Be[i]}(e,i)},r.push(i)},l=0;l=s.length)break;r.push(c),a=s[++l]}}catch(d){o.e(d)}finally{o.f()}return r})),e.abrupt("return",He(r).map((function(e){var t=e.content.map((function(t,n){return l[n].map((function(t){return t[e.id]}))}));return(0,c.Z)((0,c.Z)({},e),{},{content:t})})));case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Xe=function(e){return e.map((function(e,t){return e.columns.map((function(e,n){var i=e.number_of_significant_digits;return new te(i,"".concat(t,"-").concat(n))}))}))},Ke=function(e,t,n){return function(n,i){var r=i.significantDigits,s=Number(n),l=n.split("."),a=(0,d.Z)(l,2),o=a[0],c=a[1];if(["sum","avg","stdev"].includes(e)){var u,h;if(B(r)&&"sum"!==e)return s.toFixed(2);var g=o.replace(/^0+/,""),f=c||"";""===g&&(f=f.replace(/^0+/,""));var p=t-(null!==(u=null===c||void 0===c?void 0:c.length)&&void 0!==u?u:0),m=r-(g.length+f.length),v=m>0,I=(null!==(h=null===c||void 0===c?void 0:c.length)&&void 0!==h?h:0)+m;if(p>0&&v&&"stdev"!==e)return p>m?s.toFixed(I):s.toFixed(t);if("avg"===e&&!v&&p<0&&"0"===n[n.length-1])return s.toFixed(t);if("stdev"===e&&v)return s.toFixed(I)}return n}},Le=function(e,t,n){var i=e.map((function(e,i){return e.map((function(e,r){var s,l={columnType:e.columnType},a=(0,f.Z)(n);try{for(a.s();!(s=a.n()).done;){var o,c=s.value,u=e[c];u&&(l[c]=u,null!==(o=null===u||void 0===u?void 0:u.sum)&&void 0!==o&&o&&t[i][r].addDataItem(u.sum))}}catch(d){a.e(d)}finally{a.f()}return l}))}));for(var r in t)for(var s in t[r])t[r][s]=t[r][s].build();return i.map((function(e,n){return e.map((function(e,i){e.columnType;var r=(0,I.Z)(e,Ve),s={};if(void 0!==r.total){for(var l=0,a=Object.entries(r);l0){var s=n.map((function(e){return e.colIdx}));r?i.removeFromHiddenCols(t.toolIdx,s):i.addToHiddenCols(t.toolIdx,s)}}))},i.addToHiddenCols=function(e,t){var n=(0,u.Z)(new Set(i.state.hiddenCols[e].concat(t)));i.setHiddenColsForTool(e,n)},i.removeFromHiddenCols=function(e,t){var n=i.state.hiddenCols[e].filter((function(e){return!t.includes(e)}));i.setHiddenColsForTool(e,n)},i.handlePopState=function(){window.history.back()};var r=e.tools.map((function(e){return e.columns})).flat().filter((function(e,t,n){return t===n.findIndex((function(t){return t.display_title===e.display_title}))})).map((function(e){return e.display_title}));return i.state={isButtonOnDeselect:!0,hiddenCols:i.props.hiddenCols,selectableCols:r},i}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){window.history.pushState({},"",""),window.addEventListener("popstate",this.props.close,!1)}},{key:"componentWillUnmount",value:function(){var e=this;window.removeEventListener("popstate",this.props.close,!1);var t={},n=[];Object.entries(this.state.hiddenCols).forEach((function(i){var r=(0,d.Z)(i,2),s=r[0],l=r[1],a=e.props.tools.find((function(e){return e.toolIdx===parseInt(s)})).columns;l.length===a.length?n.push(s):l.length>0?t["hidden"+s]=l.toString():t["hidden"+s]=null})),n.length>0?t.hidden=n.toString():t.hidden=null,O(t,this.props.history)}},{key:"setHiddenColsForTool",value:function(e,t){this.setState((function(n){return{hiddenCols:(0,c.Z)((0,c.Z)({},n.hiddenCols),{},(0,p.Z)({},e,t))}}))}},{key:"render",value:function(){var e=this;it().setAppElement(document.getElementById("root"));var t=this.props.tools.every((function(t){return t.columns.length===e.state.hiddenCols[t.toolIdx].length}));return(0,j.jsxs)(it(),{ariaHideApp:!1,className:"overlay",isOpen:!0,onRequestClose:function(){return e.handlePopState()},children:[(0,j.jsx)("div",{className:"link-overlay-header-container",children:(0,j.jsx)(y.G,{icon:rt.YIN,onClick:function(){return e.handlePopState()},className:"closing"})}),(0,j.jsx)("h1",{children:"Select the columns to display"}),(0,j.jsx)("table",{className:"selectRows",children:(0,j.jsxs)("tbody",{children:[(0,j.jsxs)("tr",{className:"selectColumn_all",children:[(0,j.jsx)("th",{}),this.renderColumnHeaders()]}),this.renderTools()]})}),(0,j.jsxs)("div",{className:"overlay__buttons",children:[(0,j.jsx)("button",{className:"btn",onClick:this.toggleAllColsHidden,children:this.state.isButtonOnDeselect?"Deselect all":"Select all"}),(0,j.jsx)("button",{className:"btn btn-apply",onClick:function(){return e.handlePopState()},disabled:t,children:"Apply and close"}),(0,j.jsx)("input",{})]})]})}}]),n}(i.Component),lt=(n(8350),n(9468)),at=function(e,t,n,i,r,s){return(0,j.jsxs)("div",{className:"setting".concat(s?" disabled":""),title:r,children:[(0,j.jsxs)("span",{className:"setting-label".concat(r?" with-tooltip":""),children:[e,":"]}),(0,j.jsxs)("select",{className:"setting-select",name:"setting-"+e,value:s?"disabled":t,onChange:n,disabled:s,children:[Object.values(i).map((function(t){return(0,j.jsx)("option",{value:t,name:t+" "+e,children:t},t)})),s?(0,j.jsx)("option",{value:"disabled",name:"disabled",children:"\u2e3a"}):""]})]})},ot=function(e,t,n,i,r){return(0,j.jsxs)("div",{className:"setting",title:r,children:[(0,j.jsxs)("span",{className:"setting-label".concat(r?" with-tooltip":""),children:[e,":"]}),(0,j.jsx)("select",{id:"setting-"+e,className:"setting-select",name:"setting-"+e,value:t,onChange:n,children:Object.entries(i).map((function(t){var n=(0,d.Z)(t,2),i=n[0],r=n[1];return(0,j.jsx)("optgroup",{label:i,children:r.map((function(t){return(0,j.jsx)("option",{value:t.value,name:t.name+" "+e,children:t.name},t.value)}))},i)}))})]})};function ct(e,t,n){var i=[1e8,1e7,1e6,1e5,1e4].find((function(e){return t>e})),r=i?i/1e3:1;return Array(Math.ceil(t/r)).fill().map((function(e,t){return t*r})).filter((function(t){return t>=e})).map((function(e){var t=n(e);return[Number.parseFloat(t[0].toPrecision(4)),Number.parseFloat(t[1].toPrecision(4))]}))}var ut=n(4391),dt=n.n(ut),ht=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).refreshUrlState=function(){i.setState(i.setup())},i.checkForNumericalSelections=function(){return"ordinal"!==i.handleType(i.state.toolY,i.state.columnY)&&"ordinal"!==i.handleType(i.state.toolX,i.state.columnX)},i.renderData=function(){var e=[];i.hasInvalidLog=!1,i.state.areAllColsHidden||i.props.table.forEach((function(t){var n=t.results[i.state.toolX],r=t.results[i.state.toolY],s=n.values[i.state.columnX].raw,l=r.values[i.state.columnY].raw,a=void 0!==s&&null!==s&&void 0!==l&&null!==l,o=i.state.results===i.resultsOptions.correct;a&&(!o||o&&"correct"===n.category&&"correct"===r.category)&&(i.state.scaling===i.scalingOptions.logarithmic&&(s<=0||l<=0)?i.hasInvalidLog=!0:e.push({x:s,y:l,info:i.props.getRowName(t)}))})),i.setMinMaxValues(e),i.lineCount=e.length,i.dataArray=e;var t=i.state.regression!==i.regressionOptions.none,n=i.checkForNumericalSelections();if(t)if(0!==i.lineCount&&n){var r=e.map((function(e){return[parseFloat(e.x),parseFloat(e.y)]})),s=dt().linear(r),l=function(e,t,n,i,r){var s=function(e){return e[0]},l=function(e){return e[1]},a=function(e,t){return e+t};i=Math.floor(i),r=Math.ceil(r);var o=Math.sqrt(e.map((function(e,n){return[l(e),l(t[n])]})).map((function(e){return Math.pow(e[1]-e[0],2)})).reduce(a)/e.length),c=e.map((function(e){return s(e)})).reduce(a)/e.length,u=Math.sqrt(e.map((function(e){return Math.pow(s(e)-c,2)})).reduce(a)/e.length),d=ct(i,r,n),h=0===o||0===u?d.map((function(e){return 0})):d.map((function(t){return Number.parseFloat((1.96*o*Math.sqrt(1/e.length+Math.pow(s(t)-c,2)/((e.length-1)*Math.pow(u,2)))).toPrecision(4))}));return{upperBorderData:d.map((function(e,t){return[s(e),l(e)+h[t]]})),lowerBorderData:d.map((function(e,t){return[s(e),l(e)-h[t]]}))}}(r,s.points,s.predict,i.minX,i.maxX),a=[[i.minX,s.predict(i.minX)[1]],[i.maxX,s.predict(i.maxX)[1]]];s.points=Array.from(new Set(s.points.map(JSON.stringify)),JSON.parse).concat(a);var o=i.props.tools[i.state.toolX].columns[i.state.columnX].unit,c=i.props.tools[i.state.toolY].columns[i.state.columnY].unit,u="Estimation technique: ordinary least squares (OLS)\n Predictor variable (X-Axis) in ".concat(o,": ").concat(i.state.nameX,"\n Response variable (Y-Axis) in ").concat(c,": ").concat(i.state.nameY,"\n Regression coefficient: ").concat(s.equation[0],"\n Intercept: ").concat(s.equation[1],"\n Equation: ").concat(s.string,"\n Coefficient of Determination: ").concat(s.r2).replace(/^ +/gm,"");i.regressionData={regression:s,text:u,upperConfidenceBorderData:l.upperBorderData,lowerConfidenceBorderData:l.lowerBorderData}}else O({regression:i.regressionOptions.none})},i.setMinMaxValues=function(e){var t=e.map((function(e){return e.x})),n=e.map((function(e){return e.y}));i.maxX=i.findMaxValue(t),i.maxY=i.findMaxValue(n),i.minX=i.findMinValue(t),i.minY=i.findMinValue(n)},i.findMaxValue=function(e){var t=Math.max.apply(Math,(0,u.Z)(e));return t<3?3:t},i.findMinValue=function(e){var t=Math.min.apply(Math,(0,u.Z)(e));return t>2?1:t},i.renderRegressionLine=function(e){var t=i.prepareRegressionLineData(e);return(0,j.jsx)(lt.LU,{className:"regression-line",data:t,style:{stroke:"green"},onValueMouseOver:function(e,t){return i.setState({value:e})},onValueMouseOut:function(e,t){return i.setState({value:null})},opacity:"0"},"reg-line-"+e)},i.renderConfidenceIntervalLine=function(e,t){var n=i.prepareLineData(e);return(0,j.jsx)(lt.eh,{className:"regression-line",data:n,style:{stroke:"gray"}},"conf-line-".concat(t,"-").concat(e))},i.prepareRegressionLineData=function(e){return e.sort((function(e,t){return e[0]-t[0]})).map((function(e,t){var n=Math.round(100*i.regressionData.lowerConfidenceBorderData[t][1])/100,r=Math.round(100*i.regressionData.upperConfidenceBorderData[t][1])/100;return{x:e[0],y:e[1],"95% Confidence Interval":"[".concat(n,",").concat(r,"]")}})).sort((function(e,t){return e.x-t.x}))},i.prepareLineData=function(e){return e.map((function(e){return{x:e[0],y:e[1]}})).sort((function(e,t){return e.x-t.x}))},i.handleType=function(e,t){var n=i.props.tools[e].columns[t].type;return"text"===n||"status"===n?"ordinal":i.state.scaling===i.scalingOptions.logarithmic?"log":"linear"},i.extractAxisInfoByName=function(e,t){var n,r=e.split("-"),s=(0,d.Z)(r,2),l=s[0],a=s[1];return n={},(0,p.Z)(n,"data".concat(t),e),(0,p.Z)(n,"tool".concat(t),l),(0,p.Z)(n,"column".concat(t),a),(0,p.Z)(n,"name".concat(t),i.props.tools[l].columns.find((function(e){return e.colIdx===parseInt(a)})).display_title+" ("+H(i.props.tools[l])+")"),n},i.setAxis=function(e,t){var n;i.array=[];var r=e.target.value.split("-"),s=(0,d.Z)(r,2),l=s[0],a=s[1];a=a.replace("___","-"),O((n={},(0,p.Z)(n,"tool".concat(t),l),(0,p.Z)(n,"column".concat(t),a),n))},i.swapAxes=function(){i.array=[],O({toolX:i.state.toolY,toolY:i.state.toolX,columnX:i.state.columnY,columnY:i.state.columnX})},i.scalingOptions={linear:"Linear",logarithmic:"Logarithmic"},i.resultsOptions={all:"All",correct:"Correct only"},i.regressionOptions={none:"None",linear:"Linear"},i.lineOptgroupOptions={"f(x) = cx and f(x) = x/c":[{name:"c = 1.1",value:1.1},{name:"c = 1.2",value:1.2},{name:"c = 1.5",value:1.5},{name:"c = 2",value:2},{name:"c = 3",value:3},{name:"c = 4",value:4},{name:"c = 5",value:5},{name:"c = 6",value:6},{name:"c = 7",value:7},{name:"c = 8",value:8},{name:"c = 9",value:9},{name:"c = 10",value:10},{name:"c = 100",value:100},{name:"c = 1000",value:1e3},{name:"c = 10000",value:1e4},{name:"c = 100000",value:1e5},{name:"c = 1000000",value:1e6}]},i.defaultValues={scaling:i.scalingOptions.logarithmic,results:i.resultsOptions.correct,regression:i.regressionOptions.none,line:Object.values(i.lineOptgroupOptions)[0][11].value},i.state=i.setup(),i.maxX="",i.minX="",i.lineCount=1,i}return(0,l.Z)(n,[{key:"setup",value:function(){var e,t,n,i=H(this.props.tools[0])+" "+this.props.columns[0][1],r=(0,c.Z)((0,c.Z)({},this.defaultValues),X()),s=r.results,l=r.scaling,a=r.toolX,o=r.toolY,u=r.columnX,h=r.columnY,g=r.line,f=r.regression;if(B(a)||B(u)){var p=ie(this.props.tools,this.props.hiddenCols),m=(0,d.Z)(p,2),v=m[0],I=m[1];n=void 0===v,a=v,e="".concat(v,"-").concat(I)}else n=!1,e="".concat(a,"-").concat(u);if(B(o)||B(h)){var b=ie(this.props.tools,this.props.hiddenCols),C=(0,d.Z)(b,2),x=C[0],y=C[1];n=void 0===x,o=x,t="".concat(x,"-").concat(y)}else n=!1,t="".concat(o,"-").concat(h);var Z={dataX:e,dataY:t,results:s,scaling:l,regression:f,toolX:0,toolY:0,line:g,columnX:1,columnY:1,nameX:i,nameY:i,value:!1,areAllColsHidden:n};return e&&!n&&(Z=(0,c.Z)((0,c.Z)({},Z),this.extractAxisInfoByName(e,"X"))),t&&!n&&(Z=(0,c.Z)((0,c.Z)({},Z),this.extractAxisInfoByName(t,"Y"))),Z}},{key:"componentDidMount",value:function(){window.addEventListener("popstate",this.refreshUrlState)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("popstate",this.refreshUrlState)}},{key:"renderAllSettings",value:function(){var e=this,t=this.props.tools.reduce((function(t,n,i){return Object.assign(t,(0,p.Z)({},H(n),n.columns.filter((function(t){return!e.props.hiddenCols[i].includes(t.colIdx)})).map((function(e,t){return{name:e.display_title,value:i+"-"+e.colIdx}}))))}),{});return(0,j.jsx)("div",{className:"settings-container",children:(0,j.jsxs)("div",{className:"settings-border-container",children:[(0,j.jsxs)("div",{className:"settings-subcontainer flexible-width",children:[ot("X-Axis",this.state.dataX,(function(t){return e.setAxis(t,"X")}),t),(0,j.jsx)("span",{className:"setting icon",children:(0,j.jsx)(y.G,{icon:rt.Ssp,onClick:function(){return e.swapAxes()}})}),ot("Y-Axis",this.state.dataY,(function(t){return e.setAxis(t,"Y")}),t)]}),(0,j.jsxs)("div",{className:"settings-subcontainer",children:[at("Scaling",this.state.scaling,(function(e){return O({scaling:e.target.value})}),this.scalingOptions),at("Results",this.state.results,(function(e){return O({results:e.target.value})}),this.resultsOptions,"In addition to which results are selected here, any filters will still be applied."),(0,j.jsx)("div",{className:"settings-subcontainer",children:ot("Aux. Lines",this.state.line,(function(e){return O({line:e.target.value})}),this.lineOptgroupOptions,"Adds the two auxiliary lines f(x) = cx and f(x) = x/c to the plot, with c being the chosen factor in the dropdown.")})]}),(0,j.jsx)("div",{className:"settings-subcontainer",children:at("Regression",this.state.regression,(function(t){e.checkForNumericalSelections()?O({regression:t.target.value}):alert("Regressions are only available for numerical selections.")}),this.regressionOptions,this.state.regression!==this.regressionOptions.none&&this.regressionData?this.regressionData.text:void 0)})]})})}},{key:"renderRegressionAndConfidenceIntervals",value:function(){var e=ct(Math.floor(this.minX),Math.ceil(this.maxX),this.regressionData.regression.predict);return[this.renderConfidenceIntervalLine(this.regressionData.upperConfidenceBorderData,"upper"),this.renderConfidenceIntervalLine(this.regressionData.lowerConfidenceBorderData,"lower"),this.renderRegressionLine(e)]}},{key:"render",value:function(){var e=this;this.renderData();var t=this.state.scaling===this.scalingOptions.linear,n=this.props.isFlexible?lt.wu:lt.dp,i=this.props.isFlexible?{height:window.innerHeight-200}:{height:1e3,width:1500},r=this.maxX>this.maxY?this.maxX:this.maxY;return(0,j.jsxs)("div",{className:"scatterPlot",children:[!this.state.areAllColsHidden&&this.renderAllSettings(),(0,j.jsxs)(n,(0,c.Z)((0,c.Z)({className:"scatterPlot__plot",margin:{left:90},yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX),xDomain:"ordinal"!==this.handleType(this.state.toolX,this.state.columnX)?[this.minX,this.maxX]:null,yDomain:"ordinal"!==this.handleType(this.state.toolY,this.state.columnY)?[this.minY,this.maxY]:null},i),{},{children:[(0,j.jsx)(lt.pW,{yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(lt.xL,{yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(lt.Ci,{className:"middle-line",axisStart:{x:t?0:1,y:t?0:1},axisEnd:{x:r,y:r},axisDomain:[0,1e10],style:{ticks:{stroke:"#009440",opacity:0},text:{stroke:"none",fill:"#009440",fontWeight:600,opacity:0}}}),(0,j.jsx)(lt.Ci,{axisStart:{x:t?0:this.state.line,y:t?0:1},axisEnd:{x:this.maxX,y:this.maxX/this.state.line},axisDomain:[0,1e10],style:{ticks:{stroke:"#ADDDE1",opacity:0},text:{stroke:"none",fill:"#6b6b76",fontWeight:600,opacity:0}}}),(0,j.jsx)(lt.Ci,{axisStart:{x:t?0:1,y:t?0:this.state.line},axisEnd:{x:this.maxX,y:this.maxX*this.state.line},axisDomain:[0,1e10],style:{ticks:{stroke:"#ADDDE1",opacity:0},text:{stroke:"none",fill:"#6b6b76",fontWeight:600,opacity:0}}}),(0,j.jsx)(lt.Kc,{title:this.state.nameX,tickFormat:function(e){return e},yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(lt.B2,{title:this.state.nameY,tickFormat:function(e){return e},yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(lt.e9,{data:this.dataArray,onValueMouseOver:function(t,n){return e.setState({value:t})},onValueMouseOut:function(t,n){return e.setState({value:null})}}),this.state.regression!==this.regressionOptions.none&&this.checkForNumericalSelections()&&this.regressionData&&0!==this.lineCount&&this.renderRegressionAndConfidenceIntervals(),this.state.value?(0,j.jsx)(lt.kW,{value:this.state.value}):null]})),this.state.areAllColsHidden?(0,j.jsx)("div",{className:"plot__noresults",children:"No columns to show!"}):0===this.lineCount&&(0,j.jsxs)("div",{className:"plot__noresults",children:["No"," ",this.state.results===this.resultsOptions.correct&&"correct"," ","results",this.props.table.length>0&&" with valid data points",this.hasInvalidLog&&" (negative values are not shown in logarithmic plot)"]})]})}}]),n}(i.Component),gt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).isColRelevantForTool=function(e,t){return i.isColVisible(t,e)&&"text"!==e.type&&"status"!==e.type},i.isToolRelevantForCol=function(e,t){var n=e.columns.find((function(e){return e.display_title===t}));return i.isToolVisible(e)&&n&&i.isColVisible(e.toolIdx,n.colIdx)},i.isColVisibleInAnyTool=function(e){return i.props.tools.some((function(t){return t.columns.some((function(n){return n.colIdx===e.colIdx&&i.isColVisible(t.toolIdx,n.colIdx)}))}))},i.isInVisibleRunsetSupportingScore=function(e){return i.props.tools.filter((function(e){return i.isToolVisible(e)})).some((function(t){return t.scoreBased&&t.columns.some((function(t){return t.display_title===e}))}))},i.isToolVisible=function(e){return e.columns.length!==i.props.hiddenCols[e.toolIdx].length},i.isColVisible=function(e,t){return!i.props.hiddenCols[e].includes(t)},i.updateDimensions=function(){i.setState({height:window.innerHeight})},i.refreshUrlState=function(){i.setState(i.setPlotData())},i.renderLegend=function(){if(i.state.isValue)return i.props.tools.filter((function(e){return i.isToolRelevantForCol(e,i.state.selection)})).map(H).map((function(e){return{title:e,disabled:i.state.isInvisible.some((function(t){return t===e})),strokeWidth:4}}));var e=i.props.tools[i.state.selection.split("-")[1]];return i.state.areAllColsHidden?[]:e.columns.filter((function(t){return i.isColRelevantForTool(t.colIdx,e.toolIdx)})).map((function(e){return{title:e.display_title,disabled:i.state.isInvisible.some((function(t){return t===e.display_title})),strokeWidth:4}}))},i.renderAll=function(){var e=i.state.selection;if(i.state.isValue){var t=i.state.plot===i.plotOptions.scoreBased?i.props.tools.filter((function(e){return e.scoreBased})):i.props.tools;t.forEach((function(t){return i.renderData(e,t.toolIdx,e+t.toolIdx)}))}else if(!i.state.areAllColsHidden){var n=i.state.selection.split("-")[1],r=i.props.tools[n];r.columns.filter((function(e){return i.isColRelevantForTool(e.colIdx,r.toolIdx)&&i.isColVisible(r.toolIdx,e.colIdx)})).forEach((function(e){return i.renderData(e.display_title,n,e.display_title)}))}},i.renderData=function(e,t,n){var r=i.state.plot===i.plotOptions.scoreBased,s="ordinal"===i.handleType(),l=i.props.tools[t].columns.findIndex((function(t){return t.display_title===e})),a=[],o=0;(!i.state.isValue||l>=0&&i.isColVisible(t,l))&&(a=i.props.table.map((function(e){var n=e.results[t],a=null;return"correct"===n.category||!i.state.isResultSelectionDisabled&&i.state.results!==i.resultsOptions.correct?(a=n.values[l].raw||null,s||null===a||(a=isFinite(+a)?+a:null)):r&&n.score&&"correct"!==n.category&&(o+=n.score),{value:a,rowName:i.props.getRowName(e),score:n.score}})),i.state.plot!==i.plotOptions.direct&&(a=a.filter((function(e){return null!==e.value})),a=i.sortArray(a,e))),i.hasInvalidLog=!1;var c=[],u=r?o:0;a.forEach((function(n){var s=n.value,l=n.rowName,a=n.score,o=i.state.scaling===i.scalingOptions.logarithmic&&s<=0;u+=r?a:1,null===s||o||c.push({x:u,y:s,task:l,series:i.state.isValue?H(i.props.tools[t]):e}),o&&(i.hasInvalidLog=!0)})),i[n]=c},i.sortArray=function(e,t){var n=i.possibleValues.find((function(e){return e.display_title===t}));return i.state.isValue&&["text","status"].includes(n.type)?e.sort((function(e,t){return e.value>t.value?1:t.value>e.value?-1:0})):e.sort((function(e,t){return+e.value-+t.value}))},i.renderColumns=function(){return i.possibleValues.map((function(e){var t=i.state.plot===i.plotOptions.scoreBased&&!i.isInVisibleRunsetSupportingScore(e.display_title);return(0,j.jsx)("option",{value:e.display_title,name:e.display_title,disabled:t,className:t?"disabled":"",children:e.display_title},e.display_title)}))},i.renderLines=function(){i.lineCount=0;var e=function(){return T[(i.lineCount-1)%T.length]};if(i.state.isValue)return i.props.tools.map((function(t,n){if(!i.isToolRelevantForCol(t,i.state.selection)||i.state.plot===i.plotOptions.scoreBased&&!t.scoreBased)return null;var r=i.state.selection,s=i[r+n],l=H(t);return i.lineCount++,(0,j.jsx)(lt.LU,{data:s,color:e(),opacity:i.handleLineState(l),onValueMouseOver:function(e,t){return i.setState({value:e})},onValueMouseOut:function(e,t){return i.setState({value:null})}},l)})).filter((function(e){return!!e}));if(!i.state.areAllColsHidden){var t=i.state.selection.split("-")[1],n=i.props.tools[t];return n.columns.filter((function(e){return i.isColRelevantForTool(e.colIdx,n.toolIdx)})).map((function(t){var n=i[t.display_title];return i.lineCount++,(0,j.jsx)(lt.LU,{data:n,color:e(),opacity:i.handleLineState(t.display_title),onValueMouseOver:function(e,t){return i.setState({value:e})},onValueMouseOut:function(e,t){return i.setState({value:null})}},t.display_title)}))}},i.handleLineState=function(e){return i.state.isInvisible.indexOf(e)<0?1:0},i.toggleShow=function(e){var t=e.target;i.setState((0,p.Z)({},t.name,t.checked))},i.handleType=function(){var e=i.state.selection,t=i.possibleValues.findIndex((function(t){return t.display_title===e})),n=i.state.isValue&&t>=0?i.possibleValues[t].type:null;return!i.state.isValue||"text"!==n&&"status"!==n?i.state.scaling===i.scalingOptions.linear?"linear":"log":"ordinal"},i.plotOptions={quantile:"Quantile Plot",direct:"Direct Plot"},i.scalingOptions={linear:"Linear",logarithmic:"Logarithmic"},i.resultsOptions={all:"All",correct:"Correct only"},i.defaultValues={plot:i.plotOptions.quantile,scaling:i.scalingOptions.logarithmic,results:i.resultsOptions.correct},i.checkForScoreBasedPlot(),i.possibleValues=[],i.lineCount=1,i.state=i.setPlotData(),i}return(0,l.Z)(n,[{key:"setPlotData",value:function(){var e=this,t=X(),n=(0,c.Z)((0,c.Z)({},this.defaultValues),t),i=n.selection,r=n.plot,s=n.scaling,l=n.results,a=i,o=this.props.tools.map((function(e){return e.toolIdx})).join(""),u=new RegExp("runset-["+o+"]"),d=void 0===i||!u.test(i);if(i=d?this.getColumnSelection(i):this.getRunsetSelection(i),r===this.plotOptions.scoreBased&&(d&&!this.isInVisibleRunsetSupportingScore(i)||!d)){this.setPossibleValues();var h=this.possibleValues.find((function(t){return"status"!==t.type&&e.isInVisibleRunsetSupportingScore(t.display_title)}));h||(h=this.possibleValues.find((function(t){return e.isInVisibleRunsetSupportingScore(t.display_title)}))),i=h?h.display_title:i,d=!0}return a&&i&&a!==i&&O({selection:i}),{selection:i,plot:r,scaling:s,results:l,isValue:d,isInvisible:[],areAllColsHidden:void 0===i,isResultSelectionDisabled:r===this.plotOptions.scoreBased}}},{key:"getColumnSelection",value:function(e){var t=e?this.props.tools.map((function(e){return e.columns})).flat().find((function(t){return t.display_title===e})):this.props.preSelection;if(!t||!this.isColVisibleInAnyTool(t)){var n=ie(this.props.tools,this.props.hiddenCols),i=(0,d.Z)(n,2),r=i[0],s=i[1];t=void 0!==r?this.props.tools.find((function(e){return e.toolIdx===r})).columns.find((function(e){return e.colIdx===s})):void 0}return t&&t.display_title}},{key:"getRunsetSelection",value:function(e){var t=this,n=parseInt(e.split("-")[1]);return this.props.tools.find((function(e){return e.toolIdx===n})).columns.some((function(e){return t.isColVisible(n,e.colIdx)}))||(n=ie(this.props.tools,this.props.hiddenCols)[0]),void 0!==n?"runset-"+n:void 0}},{key:"checkForScoreBasedPlot",value:function(){var e=this;this.props.tools.some((function(t){return t.scoreBased&&e.isToolVisible(t)}))&&(this.plotOptions=(0,c.Z)({scoreBased:"Score-based Quantile Plot"},this.plotOptions),this.props.tools.every((function(t){return t.scoreBased&&e.isToolVisible(t)}))&&(this.defaultValues.plot=this.plotOptions.scoreBased))}},{key:"componentDidMount",value:function(){window.addEventListener("resize",this.updateDimensions),window.addEventListener("popstate",this.refreshUrlState)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.updateDimensions),window.removeEventListener("popstate",this.refreshUrlState)}},{key:"setPossibleValues",value:function(){var e=this;this.props.tools.forEach((function(t){t.columns.forEach((function(n){e.isColVisible(t.toolIdx,n.colIdx)&&!e.possibleValues.some((function(e){return e.display_title===n.display_title}))&&e.possibleValues.push(n)}))}))}},{key:"renderAllSettings",value:function(){var e=this,t=this.state.plot===this.plotOptions.scoreBased?"Score-based Quantile Plots always show correct results offset by the score of wrong results. Any defined filters will still be applied.":"In addition to which results are selected here, any defined filters will still be applied.";return(0,j.jsxs)("div",{className:"settings-legend-container",children:[(0,j.jsx)("div",{className:"settings-container",children:(0,j.jsxs)("div",{className:"settings-border-container",children:[(0,j.jsxs)("div",{className:"settings-subcontainer flexible-width",children:[(0,j.jsxs)("div",{className:"setting flexible-width",children:[(0,j.jsx)("span",{className:"setting-label",children:"Selection:"}),(0,j.jsxs)("select",{className:"setting-select",name:"setting-Selection",value:this.state.selection,onChange:function(e){return O({selection:e.target.value})},children:[(0,j.jsx)("optgroup",{label:"Runsets",children:this.props.tools.map((function(t,n){var i=e.state.plot===e.plotOptions.scoreBased;return e.isToolVisible(t)?(0,j.jsx)("option",{value:"runset-"+n,name:"Runset "+n,disabled:i,className:i?"disabled":"",children:H(t)},"runset-"+n):null}))}),(0,j.jsx)("optgroup",{label:"Columns",children:this.renderColumns()})]})]}),at("Plot",this.state.plot,(function(e){return O({plot:e.target.value})}),this.plotOptions)]}),(0,j.jsxs)("div",{className:"settings-subcontainer",children:[at("Scaling",this.state.scaling,(function(e){return O({scaling:e.target.value})}),this.scalingOptions),at("Results",this.state.results,(function(e){return O({results:e.target.value})}),this.resultsOptions,t,this.state.isResultSelectionDisabled)]})]})}),(0,j.jsx)("div",{children:(0,j.jsx)(lt.Ri,{colors:T,items:this.renderLegend(),onItemClick:function(t,n){var i;if(i=t.title.toString(),!(e.state.isInvisible.indexOf(i)<0))return e.setState({isInvisible:e.state.isInvisible.filter((function(e){return e!==i}))});e.setState({isInvisible:e.state.isInvisible.concat([i])})}})})]})}},{key:"render",value:function(){this.setPossibleValues(),this.renderAll();var e=this.props.isFlexible?lt.wu:lt.dp,t=this.props.isFlexible?{height:window.innerHeight-200}:{height:1e3,width:1500};return(0,j.jsxs)("div",{className:"quantilePlot",children:[!this.state.areAllColsHidden&&this.renderAllSettings(),(0,j.jsxs)(e,(0,c.Z)((0,c.Z)({margin:{left:90},yType:this.handleType()},t),{},{children:[(0,j.jsx)(lt.pW,{}),(0,j.jsx)(lt.xL,{}),(0,j.jsx)(lt.Kc,{tickFormat:function(e){return e}}),(0,j.jsx)(lt.B2,{tickFormat:function(e){return e}}),this.state.value?(0,j.jsx)(lt.kW,{value:this.state.value}):null,this.renderLines()]})),this.state.areAllColsHidden?(0,j.jsx)("div",{className:"plot__noresults",children:"No columns to show!"}):0===this.lineCount&&(0,j.jsx)("div",{className:"plot__noresults",children:this.hasInvalidLog?"All results have undefined values":"No correct results"})]})}}]),n}(i.Component),ft=n(8282),pt=(n(8995),(0,ft.u7)(ft.ZP.Range)),mt=500,vt=setTimeout((function(){}),mt),It=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;(0,s.Z)(this,n),i=t.call(this,e);var r=e.filter||{values:[]},l=r.values,a=r.min,o=r.max,c=r.type,u=r.number_of_significant_digits,d=0,h=0;if("measure"===c||"number"===c){var g=new te(u).build();d=g(a),h=g(o);var f=l&&l[0];if(f&&f.includes(":")){var p=i.handleMinMaxValue(f,u);d=p.min,h=p.max}}return i.state={title:e.availableFilters&&e.availableFilters.length?e.availableFilters[0].title:"",values:[],idx:k(["availableFilters",0,"idx"],0,e),active:!0,selectedDistincts:[],sliderMin:d,sliderMax:h,numericMin:null,numericMax:null},i}return(0,l.Z)(n,[{key:"sendFilterUpdate",value:function(e){var t=this.props.filter,n=t.type,i=t.categories;i&&i.includes("empty ")&&!e.includes(Ce)&&(e=e.concat(Ce)),0===e.length&&"status"===n?this.props.onFilterUpdate({values:[W],title:this.state.title||this.props.title}):this.props.onFilterUpdate({values:e,title:this.state.title||this.props.title})}},{key:"componentDidUpdate",value:function(e,t){if(this.props.filter&&(!e.filter||e.filter.values!==this.props.filter.values)){var n=this.props.filter,i=n.values,r=n.number_of_significant_digits,s=(0,d.Z)(i,1)[0];if(s&&s.includes(":")){var l=this.handleMinMaxValue(s,r),a=l.min,o=l.max;this.setState({sliderMin:a,sliderMax:o,numericMin:a,numericMax:o})}}}},{key:"handleMinMaxValue",value:function(e,t){var n=new te(t).build(),i=this.props.filter||{min:0,max:1/0},r=i.min,s=i.max,l=e.split(":"),a=(0,d.Z)(l,2),o=a[0],c=a[1];return{min:""!==o.trim()?o:n(r),max:""!==c.trim()?c:n(s)}}},{key:"handleNumberChange",value:function(e,t){var n,i,r={};if(r.sliderMin=Number(null!==(n=this.state.numericMin)&&void 0!==n?n:this.state.sliderMin),r.sliderMax=Number(null!==(i=this.state.numericMax)&&void 0!==i?i:this.state.sliderMax),r.sliderMin>r.sliderMax){var s=r.sliderMax;r.sliderMax=r.sliderMin,r.sliderMin=s}var l=r.sliderMin<=Number(e)?"":r.sliderMin,a=r.sliderMax>=Number(t)?"":r.sliderMax;r.values=["".concat(l,":").concat(a)],this.setState(r),this.sendFilterUpdate(r.values)}},{key:"render",value:function(){var e=this,t=this.props,n=t.filter,r=t.editable,s=t.availableFilters,l=i.createRef();return(0,j.jsxs)("div",{className:"filter-card",children:[function(t,i){return(0,j.jsx)("div",{className:"filter-card--header",children:i?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("span",{style:{marginLeft:"12px"},children:"Add filter for: "}),(0,j.jsxs)("select",{className:"filter-selection",defaultValue:"-1",ref:l,onChange:function(t){var n=t.target.value;-1!==n&&(e.setState({idx:-1,active:!0}),l.current.value="-1",e.props.addFilter(n))},children:[(0,j.jsx)("option",{value:"-1",disabled:!0,children:"Column"}),s.map((function(e){var t=e.idx,n=e.display_title;return(0,j.jsx)("option",{value:t,children:n},t)}))]})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("h4",{className:"title",children:"".concat(n.display_title," ").concat(n.unit?"("+n.unit+")":"")}),(0,j.jsx)(y.G,{className:"delete-button",icon:rt.$aW,onClick:function(){e.props.removeFilter()}})]})})}(this.props.name,r),function(t){if(!t)return null;var n,r=t.title,s=t.type,l=t.number_of_significant_digits,a=t.categories,o=t.statuses,c=t.values,h=void 0===c?[]:c,g=t.min,f=t.max,p=i.createRef();if("status"===s)n=(0,j.jsxs)(j.Fragment,{children:[e.props.filter.categories&&e.props.filter.categories.includes("empty ")&&(0,j.jsxs)("div",{className:"filter-card--body--empty-rows",children:["Empty rows"," ",(0,j.jsx)("input",{type:"checkbox",name:"empty-rows",ref:p,checked:h.includes("empty "),onChange:function(t){var n="empty ";if(t.target.checked){var i=[].concat((0,u.Z)(h),[n]);e.setState({values:i}),e.sendFilterUpdate(i)}else{var r=S(n,h);e.setState({values:r}),e.sendFilterUpdate(r)}}})]}),"Category",(0,j.jsx)("ul",{className:"filter-card--body--list",children:a.filter((function(e){return"empty "!==e})).sort().map((function(t){var n=i.createRef();return(0,j.jsxs)("li",{children:[(0,j.jsx)("input",{type:"checkbox",name:"cat-".concat(t),checked:h.includes(t),ref:n,onChange:function(n){if(n.target.checked){var i=[].concat((0,u.Z)(h),[t]);e.setState({values:i}),e.sendFilterUpdate(i)}else{var r=S(t,h);e.setState({values:r}),e.sendFilterUpdate(r)}}}),(0,j.jsx)("label",{htmlFor:"cat-".concat(t),onClick:function(){return n.current.click()},className:t,children:t})]},t)}))}),"Status",(0,j.jsx)("ul",{className:"filter-card--body--list",children:o.sort().map((function(t){var n=i.createRef();return(0,j.jsxs)("li",{children:[(0,j.jsx)("input",{type:"checkbox",name:"stat-".concat(t),ref:n,checked:h.includes(t),onChange:function(n){if(n.target.checked){var i=[].concat((0,u.Z)(h),[t]);e.setState({values:i}),e.sendFilterUpdate(i)}else{var r=S(t,h);e.setState({values:r}),e.sendFilterUpdate(r)}}}),(0,j.jsx)("label",{htmlFor:"stat-".concat(t),onClick:function(){return n.current.click()},children:t})]},t)}))})]});else if("text"===s){var m=(0,d.Z)(h,1)[0];n=(0,j.jsx)("input",{type:"text",name:"text-".concat(r),placeholder:"Search for value",value:m,onChange:function(t){var n=t.target.value;clearTimeout(vt),e.setState({values:[n]}),vt=setTimeout((function(){e.sendFilterUpdate([n])}),mt)}})}else{var v=new te(l).build();g=v(g),f=v(f);var I=se(g),b=se(f),C=I.length>b.length?I:b;n=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"filter-card--range-container",children:[(0,j.jsx)("b",{children:g}),(0,j.jsx)("b",{children:f})]}),(0,j.jsx)(pt,{min:Number(g),max:Number(f),step:C,defaultValue:[Number(g),Number(f)],value:[Number(e.state.sliderMin),Number(e.state.sliderMax)],onChange:function(t){var n=(0,d.Z)(t,2),i=n[0],r=n[1];e.setState({sliderMin:v(i),sliderMax:v(r)})},onAfterChange:function(t){var n=(0,d.Z)(t,2),i=n[0],r=n[1],s=v(i),l=v(r),a=s===g?"":s,o=l===f?"":l;e.setState({sliderMin:s,sliderMax:l,numericMin:i,numericMax:r,values:["".concat(a,":").concat(o)]}),e.sendFilterUpdate(["".concat(a,":").concat(o)])}}),(0,j.jsxs)("div",{className:"filter-card--range-input-fields",children:[(0,j.jsx)("label",{className:"range-input-fields--min",htmlFor:"inp-".concat(r,"-min"),children:"minimum"}),(0,j.jsx)("label",{className:"range-input-fields--max",htmlFor:"inp-".concat(r,"-max"),children:"maximum"}),(0,j.jsx)("input",{type:"number",name:"inp-".concat(r,"-min"),value:null!==e.state.numericMin?e.state.numericMin:e.state.sliderMin,lang:"en-US",step:C,onChange:function(t){var n=t.target.value;e.numericMinTimeout&&clearTimeout(e.numericMinTimeout),e.setState({numericMin:n}),e.numericMinTimeout=setTimeout((function(){return e.handleNumberChange(g,f)}),mt)}}),(0,j.jsx)("input",{type:"number",name:"inp-".concat(r,"-max"),step:C,lang:"en-US",value:null!==e.state.numericMax?e.state.numericMax:e.state.sliderMax,onChange:function(t){var n=t.target.value;e.numericMaxTimeout&&clearTimeout(e.numericMaxTimeout),e.setState({numericMax:n}),e.numericMaxTimeout=setTimeout((function(){return e.handleNumberChange(g,f)}),mt)}})]})]})}return(0,j.jsx)("div",{className:"filter-card--body",children:n})}(this.props.filter)]})}}]),n}(i.PureComponent),bt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;(0,s.Z)(this,n),i=t.call(this,e);var r=e.filters,l=e.toolName,a=e.currentFilters;for(var o in a)r[o]=(0,c.Z)((0,c.Z)((0,c.Z)({},r[o]),a[o]),{},{touched:r[o].touched+1,filtering:!0});return i.props.resetFilterHook((function(){return i.resetAllFilters()})),i.state={filters:r,toolName:l,addingFilter:!1,numCards:0},i}return(0,l.Z)(n,[{key:"getActiveFilters",value:function(){return this.state.filters.filter((function(e){return e.filtering})).sort((function(e,t){return e.numCards-t.numCards}))}},{key:"setFilter",value:function(e,t){var n=e.title,i=e.values,r=e.filtering,s=void 0===r||r,l=this.state.filters;l[t].values=i,l[t].filtering=s,l[t].touched+=1,this.setState({filters:(0,u.Z)(l)}),this.props.updateFilters({title:n,values:i},t)}},{key:"addFilter",value:function(e){var t=this.state,n=t.filters,i=t.numCards,r={filtering:!0,numCards:i,touched:0};"status"===n[e].type&&(r.values=[].concat((0,u.Z)(n[e].categories),(0,u.Z)(n[e].statuses))),n[e]=(0,c.Z)((0,c.Z)({},n[e]),r),this.setState({filters:n,addingFilter:!1,numCards:i+1})}},{key:"resetAllFilters",value:function(){var e=this.state.filters.filter((function(e){return e.filtering})),t=this.state.filters.map((function(e){return(0,c.Z)((0,c.Z)({},e),{},{filtering:!1,values:[]})}));this.setState({filters:(0,u.Z)(t)});var n,i=(0,f.Z)(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;r.values&&this.props.updateFilters({title:r.display_title,values:[]},r.idx)}}catch(s){i.e(s)}finally{i.f()}}},{key:"removeFilter",value:function(e,t){var n=this.state.filters;n[e].filtering=!1,n[e].values=[],this.setState({filters:(0,u.Z)(n)}),this.props.updateFilters({title:t,values:[]},e)}},{key:"componentDidUpdate",value:function(e){var t=e.currentFilters,n=this.props.currentFilters;if(!Ie()(t,n)){var i=this.state.filters;for(var r in n)i[r]=(0,c.Z)((0,c.Z)((0,c.Z)({},i[r]),n[r]),{},{touched:i[r].touched+1,filtering:!0});i=i.map((function(e,t){var i=!(!n[t]&&0!==e.touched);return(0,c.Z)((0,c.Z)({},e),{},{filtering:i,values:i?e.values:[]})})),this.setState({filters:(0,u.Z)(i)})}}},{key:"render",value:function(){var e=this,t=this.getActiveFilters(),n=this.props.hiddenCols||[],i=this.state.filters.filter((function(e,t){return!e.filtering&&!n.includes(t)}));return(0,j.jsxs)("div",{className:"filterBox--container",children:[(0,j.jsx)("h4",{className:"section-header",children:this.state.toolName}),t.length>0&&t.map((function(t,n){return(0,j.jsx)(It,{onFilterUpdate:function(n){return e.setFilter(n,t.idx)},title:t.display_title,removeFilter:function(){return e.removeFilter(t.idx,t.display_title)},filter:t},"".concat(e.props.toolName,"-").concat(t.display_title,"-").concat(t.numCards))})),i.length&&(0,j.jsx)(It,{availableFilters:i,editable:"true",style:{marginBottom:20},addFilter:function(t){return e.addFilter(t)},onFilterUpdate:function(t){return e.setFilter(t)}})||void 0,(0,j.jsx)("br",{})]})}}]),n}(i.PureComponent),Ct=setTimeout((function(){}),500),xt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).state={values:i.extractFilters()},e.resetFilterHook((function(){return i.resetIdFilters()})),i}return(0,l.Z)(n,[{key:"resetIdFilters",value:function(){this.setState({values:{}}),this.sendFilterUpdate({})}},{key:"sendFilterUpdate",value:function(e){this.props.updateFilters(e)}},{key:"extractFilters",value:function(){for(var e=0,t={},n=0,i=Object.keys(this.props.ids);n0&&i.push({id:"id",values:n}),this.props.addTypeToFilter(i),this.props.setFilter(i,!0)}},{key:"updateFilters",value:function(e,t,n){var i=(0,u.Z)(this.state.filters),r=this.state.idFilters;i[e]=i[e]||[],i[e][t]=n,this.setState({filters:i}),this.sendFilters({filter:i,idFilter:r})}},{key:"updateIdFilters",value:function(e){var t=Object.keys(this.props.ids).map((function(t){return e[t]})),n=t.some((function(e){return""!==e&&!B(e)}))?t:void 0;this.setState({idFilters:n}),this.sendFilters({filter:this.state.filters,idFilter:n})}},{key:"render",value:function(){var e=this,t=this.props.hiddenCols||[];return(0,j.jsxs)("div",{className:yt("filterBox",{"filterBox--hidden":!this.props.visible}),children:[(0,j.jsxs)("div",{className:"filterBox--header",children:[(0,j.jsx)(y.G,{icon:rt.YIN,className:"filterBox--header--icon",onClick:this.props.hide}),this.props.headerComponent,(0,j.jsx)(y.G,{icon:rt.$aW,className:"filterBox--header--reset-icon",onClick:function(){return e.resetAllFilters()}})]}),(0,j.jsxs)("div",{className:"filter-card--container",children:[(0,j.jsx)(xt,{ids:this.props.ids,updateFilters:function(t){return e.updateIdFilters(t)},resetFilterHook:this.resetFilterHook,filters:this.state.idFilters}),this.props.filterable.map((function(n,i){return(0,j.jsx)(bt,{resetFilterHook:e.resetFilterHook,updateFilters:function(t,n){return e.updateFilters(i,n,t)},currentFilters:e.state.filters[i]||[],toolName:n.name,filters:n.columns,hiddenCols:t[i]},"filtercontainer-".concat(i))}))]})]})}}]),n}(i.PureComponent),jt=n(6123),At=n.n(jt),Ft=n(9737),Wt=n.n(Ft),Nt=n(7177),Bt=n.n(Nt),Gt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).prepareTextForRendering=function(){if(""!==i.props.yamlText){var e=Bt().parseDocument(i.props.yamlText,{prettyErrors:!0}),t=e.get("input_files");t&&(Array.isArray(t.items)?t.items.forEach((function(e){e.value=i.encloseFileInTags(e.value)})):e.set("input_files",i.encloseFileInTags(t)));var n=e.get("properties");n&&Array.isArray(n.items)&&n.items.forEach((function(e){Array.isArray(e.items)&&e.items.forEach((function(e){"property_file"===e.key.value&&(e.value.value=i.encloseFileInTags(e.value.value))}))})),i.setState({content:e})}},i.encloseFileInTags=function(e){return i.state.splitterTag+i.state.fileTag+e+i.state.fileTag+i.state.splitterTag},i.loadFileInViewer=function(e,t){e.preventDefault(),i.props.loadNewFile(t)},i.state={splitterTag:"",fileTag:"",content:i.props.yamlText},i}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){this.prepareTextForRendering()}},{key:"componentDidUpdate",value:function(e){e.yamlText!==this.props.yamlText&&this.prepareTextForRendering()}},{key:"render",value:function(){var e=this;if(this.state.content.errors&&this.state.content.errors.length>0)return(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)("div",{className:"link-overlay-text",children:["Errors parsing YAML file:",(0,j.jsx)("ul",{children:this.state.content.errors.map((function(e,t){return(0,j.jsx)("li",{children:(0,j.jsx)("pre",{children:e.message})},t)}))}),(0,j.jsx)("pre",{children:this.props.yamlText}),";"]})});Bt().scalarOptions.str.fold={lineWidth:0};var t=this.state.content.toString().split(this.state.splitterTag).map((function(t){return t.match("^".concat(e.state.fileTag,"(?:.)+").concat(e.state.fileTag,"$"))?(t=t.replace(new RegExp(e.state.fileTag,"g"),""),(0,j.jsx)("a",{onClick:function(n){return e.loadFileInViewer(n,t)},className:"link-overlay-file-link",href:e.props.createHref(t),children:t},t)):t}));return(0,j.jsx)("pre",{className:"link-overlay-text",children:t})}}]),n}(i.Component),wt=n(1842);wt.jQ({useWebWorkers:!1});var Yt={},St=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;(0,s.Z)(this,n),(i=t.call(this,e)).loadNewFile=function(e){var t=i.createFileUrl(e);i.setState({isYAML:i.isYAMLFile(e),isSecondLevel:!0,content:"loading file: ".concat(t)}),i.loadFile(t)},i.loadOriginalFile=function(){i.setState({isYAML:i.isYAMLFile(i.props.link),isSecondLevel:!1,content:"loading file: ".concat(i.props.link),error:void 0}),i.loadFile(i.props.link)},i.loadOriginalFileIfEnter=function(e){"Enter"===e.key&&i.loadOriginalFile()},i.createFileUrl=function(e){return Wt().join(i.props.link,"../"+e)},i.loadFile=i.loadFileXMLHttpRequest,i.loadFileFromZip=function(e){var t=decodeURIComponent(e),n=t.lastIndexOf("/")>t.lastIndexOf("\\")?"/":"\\",r=t.lastIndexOf(n),s=t.substring(0,r)+".zip",l=t.split(n),a="".concat(l[l.length-2],"/").concat(l[l.length-1]);s in Yt?i.loadFileFromZipEntries(Yt[s],a,s):i.readZipArchive(s,a)},i.readZipArchive=function(e,t){new wt.Mr(new wt.R(e)).getEntries().then((function(n){i.handleZipEntries(n,t,e)}),(function(n){i.readZipArchiveNoHttpRange(e,t)}))},i.readZipArchiveNoHttpRange=function(e,t){new wt.Mr(new wt.pE(e)).getEntries().then((function(n){i.handleZipEntries(n,t,e)}),(function(n){i.readZipArchiveManually(e,t)}))},i.readZipArchiveManually=function(e,t){try{var n=new XMLHttpRequest;n.responseType="arraybuffer",n.addEventListener("load",(function(){var r=new Uint8Array(n.response);new wt.Mr(new wt.I8(r)).getEntries().then((function(n){return i.handleZipEntries(n,t,e)}),i.setError)}),!1),n.addEventListener("error",i.setError,!1),n.open("GET",e),n.send()}catch(r){i.setError('HTTP request for the file "'.concat(t,'" failed'),r)}},i.handleZipEntries=function(e,t,n){Yt[n]=e,i.loadFileFromZipEntries(e,t,n)},i.loadFileFromZipEntries=function(e,t,n){var r=e.find((function(e){return e.filename===t}));r?r.getData(new wt.Ek).then((function(e){i.setState({content:e})})):i.setError('Could not find the file "'.concat(t,'" in "').concat(n,'"'))},i.setError=function(e,t){var n=t&&"string"===typeof t?t:e;i.setState({error:"".concat(n)})},i.handlePopState=function(){window.history.back(),window.addEventListener("click",i.props.close,!1)},i.renderHelpMessageForLocalLogs=function(){if("file:"!==window.location.protocol)return null;var e=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("p",{children:["If you are using ",(0,j.jsx)("strong",{children:"Chrome"})," or a Chrome-based browser, try launching it with the command-line option"," ",(0,j.jsx)("strong",{children:(0,j.jsx)("code",{children:"--allow-file-access-from-files"})}),"."]}),(0,j.jsxs)("p",{children:["If you are using ",(0,j.jsx)("strong",{children:"Firefox"}),", please open the extended settings by entering ",(0,j.jsx)("code",{children:"about:config"})," in the URL bar, search for"," ",(0,j.jsx)("strong",{children:(0,j.jsx)("code",{children:"security.fileuri.strict_origin_policy"})})," ","and set this option to ",(0,j.jsx)("code",{children:"false"})," by double-clicking on it and restart your browser (",(0,j.jsx)("a",{href:"https://kb.mozillazine.org/Security.fileuri.strict_origin_policy",children:"more details"}),")."]}),(0,j.jsx)("p",{children:(0,j.jsx)("strong",{children:"Note that these settings will allow local web pages to access all of your files, so make sure to not open any untrusted local HTML documents."})})]}),t=new URL(i.state.currentFile,document.baseURI),n=function(e,t){var n=e.pathname.split("/"),i=t.pathname.split("/"),r=n.findIndex((function(e,t){return e!==i[t]}));return[n.slice(0,r).join("/"),n.slice(r).join("/")]}(window.location,t),r=(0,d.Z)(n,2),s=r[0],l=r[1];if(":"===window.location.pathname[2]){if(!s)return(0,j.jsxs)(j.Fragment,{children:[e,(0,j.jsx)("p",{children:"Alternatively, you can start a local web server serving the directories with the tables and result files, but for doing so you first need to make sure that table and result files are on the same partition."})]});"/"===s[0]&&(s=s.substring(1))}var a="127.0.0.1",o=8e3,c="http://".concat(a,":").concat(o,"/").concat(l).concat(window.location.hash);return(0,j.jsxs)(j.Fragment,{children:[e,(0,j.jsxs)("p",{children:["Alternatively, you can start a local web server serving the directories with the tables and result files.",(0,j.jsx)("br",{}),"To do so, execute the following command and then open"," ",(0,j.jsx)("a",{href:c,children:"this link"})," (adjust the port number ",o," if it is already used on your system):",(0,j.jsx)("br",{}),(0,j.jsx)(F,{children:(0,j.jsxs)("code",{children:["python3 -m http.server -b ",a," ",o," -d ",s||"/"]})})]})]})};var r=!!e.link&&i.isYAMLFile(e.link);return i.state={isYAML:r,content:"loading file: ".concat(e.link),currentFile:e.link,isSecondLevel:!1},i}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){this.loadFile(this.props.link),window.history.pushState({},"",""),window.addEventListener("popstate",this.props.close,!1)}},{key:"componentDidUpdate",value:function(){var e=document.getElementById("modal-container");e&&e.focus()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("popstate",this.props.close,!1),window.removeEventListener("click",this.props.close,!1)}},{key:"isYAMLFile",value:function(e){return e.endsWith(".yml")}},{key:"loadFileFetch",value:function(){var e=(0,We.Z)((0,Fe.Z)().mark((function e(t){var n,i;return(0,Fe.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=19;break}return this.setState({currentFile:t}),e.prev=2,e.next=5,fetch(t);case 5:if(n=e.sent,!Y(n.status)){e.next=13;break}return e.next=9,n.text();case 9:i=e.sent,this.setState({content:i}),e.next=14;break;case 13:throw Error("Received response status ".concat(n.status));case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),this.loadFileFromZip(t);case 19:case"end":return e.stop()}}),e,this,[[2,16]])})));return function(t){return e.apply(this,arguments)}}()},{key:"loadFileXMLHttpRequest",value:function(e){var t=this;if(e)try{this.setState({currentFile:e});var n=new XMLHttpRequest;n.addEventListener("load",(function(){if(Y(n.status)){var i=n.responseText;t.setState({content:i})}else t.loadFileFromZip(e)})),n.addEventListener("error",(function(){return t.loadFileFromZip(e)})),n.open("GET",e),n.send()}catch(i){this.loadFileFromZip(e)}}},{key:"render",value:function(){var e=this;return it().setAppElement(document.getElementById("root")),(0,j.jsxs)(it(),{id:"modal-container",ariaHideApp:!1,className:At()("overlay",{"second-level":this.state.isSecondLevel}),isOpen:!0,onRequestClose:function(){return e.handlePopState()},children:[(0,j.jsxs)("div",{className:"link-overlay-header-container",children:[(0,j.jsx)(y.G,{icon:rt.YIN,onClick:function(){return e.handlePopState()},className:"closing"}),this.state.isSecondLevel?(0,j.jsxs)("span",{className:"link-overlay-back-button",tabIndex:"0",role:"button",onClick:this.loadOriginalFile,onKeyDown:this.loadOriginalFileIfEnter,children:[(0,j.jsx)(y.G,{className:"link-overlay-back-icon",icon:rt.acZ}),"Back to task definition"]}):""]}),this.state.error?(0,j.jsxs)("div",{className:"link-overlay-text",children:[(0,j.jsxs)("p",{style:{marginTop:"0"},children:["Error while loading content (",this.state.error,")."]}),(0,j.jsxs)("p",{children:["This could be a problem of the"," ",(0,j.jsx)("a",{href:"https://en.wikipedia.org/wiki/Same-origin_policy",children:"same-origin policy"})," ","of your browser."]}),this.renderHelpMessageForLocalLogs(),(0,j.jsxs)("p",{children:["You can also try to download the file:"," ",(0,j.jsx)("a",{href:this.state.currentFile,children:this.state.currentFile})]})]}):this.state.isYAML?(0,j.jsx)(Gt,{yamlText:this.state.content,createHref:this.createFileUrl,loadNewFile:this.loadNewFile}):(0,j.jsx)("pre",{className:"link-overlay-text",children:this.state.content})]})}}]),n}(i.Component),Vt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,s.Z)(this,n);for(var i=arguments.length,r=new Array(i),l=0;l1&&void 0!==arguments[1]&&arguments[1];r.filteredData=t?e:e.map((function(e){return e._original}))},r.filterPlotData=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r.lastImmediate&&clearImmediate(r.lastImmediate),r.lastImmediate=setImmediate((function(){r.filterUrlSetter(e,r.routerRef.current.history),r.lastFiltered=e.filter((function(e){return e.values&&e.values.length>0||e.value}))})),t&&r.setFilter(r.runFilter(e),!0),r.setState({tableData:r.filteredData,filtered:e})},r.resetFilters=function(){r.setState({tableData:r.originalTable,filtered:[]})},r.findAllValuesOfColumn=function(e,t){return r.originalTools.map((function(n,i){return n.columns.map((function(s,l){if(e(n,s)){var a=r.originalTable.map((function(e){return t(e.results[i],e.results[i].values[l])})).filter(Boolean);return(0,u.Z)(new Set(a)).sort()}}))}))},r.getRowName=function(e){return e.id.filter((function(e){return e})).join(" | ")},r.getRelevantUrlParams=function(){return(document.location.href.split("?")[1]||"").split("&").filter((function(e){return e.startsWith("hidden")||e.startsWith("filter")})).join("&")},r.switchToQuantile=function(e){r.setState({quantilePreSelection:e});var t=r.getRelevantUrlParams();document.location.hash="#/quantile"+(t?"?"+t:"")};var l,a=function(e){var t=e.head,n=e.tools,i=e.rows,r=e.stats,s=e.props,l=e.initial;return{tableHeader:t,taskIdNames:t.task_id_names,tools:n.map((function(e,t){return(0,c.Z)((0,c.Z)({},e),{},{toolIdx:t,columns:e.columns.map((function(e,t){return(0,c.Z)((0,c.Z)({},e),{},{colIdx:t})})),scoreBased:i.every((function(e){return void 0!==e.results[t].score}))})})),columns:n.map((function(e){return e.columns.map((function(e){return e.title}))})),tableData:i,stats:r,properties:s,initial:l}}(e.data),o=a.tableHeader,h=a.taskIdNames,g=a.tools,p=a.columns,m=a.tableData,v=a.stats,b=a.initial;b&&!document.location.href.includes("#")&&(l=b,document.location.href=encodeURI("".concat(document.location.href,"#").concat(l)));var C=function(e){var t=e.tools,n=e.rows;return t.map((function(e,t){var i,r=e.tool,s=e.date,l=e.niceName,a="".concat(r," ").concat(s," ").concat(l),o=e.columns.map((function(e,t){if(e)return"status"===e.type?(i=t,(0,c.Z)((0,c.Z)({},e),{},{categories:{},statuses:{},idx:t})):"text"===e.type?(0,c.Z)((0,c.Z)({},e),{},{distincts:{},idx:t}):(0,c.Z)((0,c.Z)({},e),{},{min:1/0,max:-1/0,idx:t})}));B(i)||(o[i]=(0,c.Z)((0,c.Z)({},o[i]),{},{categories:{},statuses:{}}));var u,d=(0,f.Z)(n);try{for(d.s();!(u=d.n()).done;){var h=u.value.results[t];for(var g in B(i)||(o[i].categories["".concat(h.category," ")]=!0),h.values){var p=h.values[g].raw,m=o[g];m&&!B(p)&&("status"===m.type?m.statuses[p]=!0:"text"===m.type?m.distincts[p]=!0:(m.min=Math.min(m.min,Number(p)),m.max=Math.max(m.max,Number(p))))}}}catch(v){d.e(v)}finally{d.f()}return{name:a,columns:o.map((function(e){var t=e.distincts,n=e.categories,i=e.statuses,r=(0,I.Z)(e,be);return t?(0,c.Z)((0,c.Z)({},r),{},{distincts:Object.keys(t)}):n?(0,c.Z)((0,c.Z)({},r),{},{categories:Object.keys(n),statuses:Object.keys(i)}):r}))}}))}(r.props.data);r.originalTable=m,r.originalTools=g,r.taskIdNames=h,r.columns=p,r.stats=v,r.tableHeader=o,r.filteredData=[],r.routerRef=i.createRef(),r.state={tools:g,tableData:m,filterable:C,showSelectColumns:!1,showLinkOverlay:!1,filtered:[],filterBoxVisible:!1,active:Rt(),quantilePreSelection:g[0].columns[1],hiddenCols:ne(g)},r.statusValues=r.findAllValuesOfColumn((function(e,t){return"status"===t.type}),(function(e,t){return G(t)})),r.originalTools.forEach((function(e,t){return e.columns.filter((function(e){return"status"===e.type})).forEach((function(e,n){r.originalTable.some((function(e){return"empty"===e.results[t].category}))&&r.statusValues[t][n].push(Ce)}))})),r.categoryValues=r.findAllValuesOfColumn((function(e,t){return"status"===t.type}),(function(e,t){return e.category}));var x=r.categoryValues.map((function(e){return e&&e.map((function(e){return e&&e.map((function(e){return"".concat(e," ")}))}))}));r.filterUrlSetter=q(r.statusValues,x),r.filterUrlRetriever=function(e,t){var n=Q({categoryValues:t,statusValues:e});return function(e){var t=X(e);return t.filter?n(t.filter):null}}(r.statusValues,x);var y=r.getFiltersFromUrl();return y&&(r.filteredData=r.runFilter(y),r.lastFiltered=y,r.state=(0,c.Z)((0,c.Z)({},r.state),{},{tableData:r.filteredData,filtered:y})),r}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){var e=this;this.removeHistoryListener=this.routerRef.current.history.listen((function(t,n){e.updateState(),"POP"===n&&e.updateFiltersFromUrl()}))}},{key:"componentWillUnmount",value:function(){this.removeHistoryListener()}},{key:"runFilter",value:function(e){var t=e.reduce((function(e,t){var n=t.id,i=t.value,r=t.type,s=t.values;if(B(i)&&B(s)||"string"===typeof i&&"all"===i.trim())return e;if("id"===n)return e.id={value:i,values:s},e;var l,a=J(n),o=a.tool,c=a.column;if("diff"===i)return e.diff||(e.diff=[]),e.diff.push({col:c}),e;if(e[o]||(e[o]={}),N({type:r})&&i.includes(":")){var u=i.split(":"),h=(0,d.Z)(u,2),g=h[0],f=h[1];l={min:g=""===g?-1/0:Number(g),max:f=""===f?1/0:Number(f)}}else l=" "===i[i.length-1]?{category:i.substr(0,i.length-1)}:"status"===r?{status:i}:{value:i};return e[o][c]||(e[o][c]=[]),e[o][c].push(l),e}),{});return xe(t)(this.originalTable)}},{key:"render",value:function(){var e,t,n=this,i=function(e){var t=e.className,i=e.isReset,r=void 0!==i&&i,s=e.onClick,l=e.enabled;return(0,j.jsx)(Vt,{className:t,showFilterText:r,onClick:s,enabled:l,isFiltered:!!n.state.filtered.length,resetFilters:n.resetFilters,filteredCount:n.state.tableData.length,totalCount:n.originalTable.length})},r=this.getRelevantUrlParams();return(0,j.jsx)(h.UT,{ref:this.routerRef,children:(0,j.jsxs)("div",{className:"overview",children:[(0,j.jsxs)("div",{className:"overview-container",children:[(0,j.jsx)(Zt,{headerComponent:i({className:"filterBox--header--reset",isReset:!0,enabled:!1}),tableHeader:this.tableHeader,tools:this.state.tools,selectColumn:this.toggleSelectColumns,filterable:this.state.filterable,setFilter:this.filterPlotData,resetFilters:this.resetFilters,filtered:this.state.filtered,visible:this.state.filterBoxVisible,hiddenCols:this.state.hiddenCols,hide:function(){n.setState({filterBoxVisible:!1})},ids:(e=this.originalTable,t=this.taskIdNames,k(["0","id"],[],e).reduce((function(e,n,i){return(0,c.Z)((0,c.Z)({},e),{},(0,p.Z)({},t[i],n))}),{})),addTypeToFilter:this.addTypeToFilter}),(0,j.jsxs)("div",{className:"menu",children:[kt.map((function(e){var t=e.key,i=e.title,s=e.path,l=e.icon;return(0,j.jsxs)(h.rU,{className:At()("menu-item",{selected:n.state.active===t}),to:s+(r?"?"+r:""),onClick:function(){return n.setState((function(){return{active:t}}))},children:[i," ",l||""]},s)})),i({className:"reset tooltip",enabled:!0,onClick:function(){n.setState({filterBoxVisible:!0})}})]}),(0,j.jsx)("div",{className:"route-container",children:(0,j.jsxs)(g.rs,{children:[(0,j.jsx)(g.AW,{exact:!0,path:"/",children:(0,j.jsx)(qe,{tools:this.state.tools,tableHeader:this.tableHeader,version:this.props.data.version,selectColumn:this.toggleSelectColumns,stats:this.stats,onStatsReady:this.props.onStatsReady,switchToQuantile:this.switchToQuantile,tableData:this.state.tableData,hiddenCols:this.state.hiddenCols,filtered:this.state.filtered.length>0})}),(0,j.jsx)(g.AW,{path:"/table",children:(0,j.jsx)(Ae,{tableData:this.state.tableData,tools:this.state.tools,selectColumn:this.toggleSelectColumns,filterPlotData:this.filterPlotData,filters:this.state.filtered,toggleLinkOverlay:this.toggleLinkOverlay,statusValues:this.statusValues,categoryValues:this.categoryValues,hiddenCols:this.state.hiddenCols,addTypeToFilter:this.addTypeToFilter})}),(0,j.jsx)(g.AW,{path:"/quantile",children:(0,j.jsx)(gt,{table:this.state.tableData,tools:this.state.tools,preSelection:this.state.quantilePreSelection,getRowName:this.getRowName,hiddenCols:this.state.hiddenCols,isFlexible:this.props.renderPlotsFlexible})}),(0,j.jsx)(g.AW,{path:"/scatter",children:(0,j.jsx)(ht,{table:this.state.tableData,columns:this.columns,tools:this.state.tools,getRowName:this.getRowName,hiddenCols:this.state.hiddenCols,isFlexible:this.props.renderPlotsFlexible})}),(0,j.jsx)(g.AW,{path:"/info",children:(0,j.jsx)(tt,{version:this.props.data.version,selectColumn:this.toggleSelectColumns})})]})})]}),(0,j.jsxs)("div",{children:[this.state.showSelectColumns&&(0,j.jsx)(st,{close:this.toggleSelectColumns,currColumns:this.columns,tableHeader:this.tableHeader,tools:this.state.tools,hiddenCols:this.state.hiddenCols,history:this.routerRef.current.history}),this.state.showLinkOverlay&&(0,j.jsx)(St,{close:this.toggleLinkOverlay,link:this.state.link,toggleLinkOverlay:this.toggleLinkOverlay})]})]})})}}]),n}(i.Component);var Tt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,l.Z)(n,[{key:"render",value:function(){return(0,j.jsx)("div",{className:"App",children:(0,j.jsx)("main",{children:(0,j.jsx)(Ht,{data:window.data,renderPlotsFlexible:!0,onStatsReady:this.props.onStatsReady})})})}}]),n}(i.Component),Xt=Tt;r.render((0,j.jsx)(Xt,{}),document.getElementById("root")),document.getElementById("msg-container").remove()},4654:function(){}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.m=e,function(){var e=[];n.O=function(t,i,r,s){if(!i){var l=1/0;for(u=0;u=s)&&Object.keys(n.O).every((function(e){return n.O[e](i[o])}))?i.splice(o--,1):(a=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[i,r,s]}}(),n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e={179:0};n.O.j=function(t){return 0===e[t]};var t=function(t,i){var r,s,l=i[0],a=i[1],o=i[2],c=0;if(l.some((function(t){return 0!==e[t]}))){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(o)var u=o(n)}for(t&&t(i);ci?1:n1?t.slice(1).join("?"):void 0;if(void 0===n||0===n.length)return{};var i,r=n.split("&").map((function(e){return e.split("=")})),s={},l=(0,g.Z)(r);try{for(l.s();!(i=l.n()).done;){var a=(0,b.Z)(i.value),o=a[0],c=a.slice(1);s[decodeURI(o)]="filter"===o?c.join("="):decodeURI(c.join("="))}}catch(u){l.e(u)}finally{l.f()}return s},K=function(e){return Object.keys(e).filter((function(t){return void 0!==e[t]&&null!==e[t]})).map((function(t){return"".concat(t,"=").concat(e[t])})).join("&")},L=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=X(e),i=(0,c.Z)((0,c.Z)({},n),t),r=K(i),s=e.split("?")[0];return{newUrl:r.length>0?"".concat(s,"?").concat(r):s,queryString:"?".concat(r)}},O=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=L(document.location.href,e),i=n.newUrl,r=n.queryString;t&&t.push?t.push(r):document.location.href=i},U=function(e){for(var t=[],n=0,i=Object.entries(e);n2&&void 0!==arguments[2]&&arguments[2],i={};if(e.length>Math.floor(t.length/2)){var r,s=[],l=(0,g.Z)(t);try{for(l.s();!(r=l.n()).done;){var a=r.value;e.includes(a)||s.push(n?a.trim():a)}}catch(o){l.e(o)}finally{l.f()}i.notIn=s}else i.in=e.map((function(e){return n?e.trim():e}));return U(i)};function E(e,t,n,i,r){var s=[],l=e.statusValues,a=e.categoryValues,o=t[n][i],c=r[n][i],u=!!l,d=u&&l.length!==o.length,h=!!a,g=h&&a.length!==c.length;if(u){if(d){var f=D(l,o);s.push("status(".concat(f,")"))}h||s.push("category(empty())")}if(h&&(u||s.push("status(empty())"),g)){var p=D(a,c,!0);s.push("category(".concat(p,")"))}return s.join(",")}function P(e){if("string"!==typeof e)throw new Error("Invalid value type");return e.replaceAll("(","%28").replaceAll(")","%29")}var M,J=function(e){if("string"!==typeof e)throw new Error("Invalid value type for converting to RegExp");return new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"ui")},z=function(e){if("string"!==typeof e)throw new Error("Invalid filter ID");var t=e.split("_");if(2===t.length)throw new Error("Invalid filter ID");return{tool:t[0],name:t.length>2?t.slice(1,-1).join("_"):void 0,column:t.length>2?t.at(-1):void 0}},_=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i={},r=0,s="",l=(0,g.Z)(e);try{for(l.s();!(t=l.n()).done;){var a=t.value;if("("!==a){if(")"!==a)0!==r||","!==a?s+=a:s="";else if(s+=a,0===--r){var o=s.indexOf("("),c=s.substr(0,o),u=s.substr(o+1,s.length-1-(o+1));i[c]=n?decodeURIComponent(u):u}}else s+=a,r++}}catch(d){l.e(d)}finally{l.f()}return i},Q=function(e,t,n,i,r){return"values"===e?[{values:t.split(",").map(unescape)}]:"value"===e?[{value:unescape(t)}]:"status"===e||"category"===e?function(e,t,n,i,r){for(var s=_(t),l=[],a=0,o=Object.entries(s);a0?r.ids={values:u.map((function(e){return e||""}))}:d&&s.push({id:o,value:c})}}catch(K){l.e(K)}finally{l.f()}var Z=r.ids,j=(0,I.Z)(r,A),F=[];Z&&F.push("id(values(".concat(Z.values.map((function(e){return P(encodeURIComponent(e))})).join(","),"))")),s&&s.forEach((function(e){F.push("id_any(value(".concat(P(encodeURIComponent(e.value)),"))"))}));for(var W=0,N=Object.entries(j);W0&&F.push("".concat(G,"(").concat(Y.join(","),")"))}return F.join(",")}}({statusValues:e,categoryValues:t});return function(e,t){if(!e)return O({filter:void 0},t);var i=n(e);return O(i?{filter:i}:{filter:void 0},t)}},ee=" ",te=" ",ne=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Unknown";(0,s.Z)(this,e),this._defaultOptions={whitespaceFormat:!1,html:!1,leadingZero:!0,additionalFormatting:function(e){return e}},this.significantDigits=t,this.maxPositiveDecimalPosition=-1,this.maxNegativeDecimalPosition=-1,this.name=n}return(0,l.Z)(e,[{key:"addDataItem",value:function(e){var t=this.format(e).split(/\.|,/),n=(0,f.Z)(t,2),i=n[0],r=n[1];this.maxPositiveDecimalPosition=Math.max(this.maxPositiveDecimalPosition,i&&"0"!==i?i.length:0),this.maxNegativeDecimalPosition=Math.max(this.maxNegativeDecimalPosition,r?r.length:0)}},{key:"format",value:function(e){var t=e.toString(),n="",i="",r=0,s=0,l=!1,a=!1;if("NaN"===t)return"NaN";if(t.endsWith("Infinity"))return t.replace("Infinity","Inf");if(t.includes("e")){var o=t.split("-"),c=(0,f.Z)(o,2),u=c[0],d=c[1],h=0;u.includes(".")&&(h=1),t=Number(e).toFixed(Number(d)+h)}for(var g=t.replace(/,/,".").indexOf(".");sr;){var p=t[r];if("."===p||","===p)n+=".",a=!0;else{if(!l){if("0"===p){r+=1,a&&(n+=p);continue}l=!0}n+=p,s+=1}r+=1}if(i=t.substring(r),""===n&&""===i&&(n=t),"."===n[0]&&(n="0".concat(n)),""!==i){var m="."===i[0];if(i=i.replace(/\./,""),i="".concat(i[0],".").concat(i.substr(1)),i=Math.round(Number(i)),(i=isNaN(i)?"":i.toString()).length>1&&"."!==i[0]){var v=i[0];i=i[1];for(var I=n.length,b=n.split("."),C=(0,f.Z)(b,2)[1],x=C&&C.length-1||0,y=C?"0.":"",Z=x;Z>0;)y+="0",Z-=1;for(n=function(e,t){var n=e,i=t;if("string"===typeof e&&(n=Number(e)),"string"===typeof t&&(i=Number(t)),Number.isInteger(n)||Number.isInteger(i))return n+i;var r=e.toString(),s=r.length,l=r.indexOf("."),a=t.toString(),o=a.length,c=a.indexOf("."),u=Math.max(s-l,o-c)-1;return Number((n+i).toFixed(u))}(n,y+=v).toFixed(x+1).substr(0,I);n.length1&&void 0!==arguments[1]?arguments[1]:{},i=(0,c.Z)((0,c.Z)({},e._defaultOptions),n),r=i.whitespaceFormat,s=i.html,l=i.leadingZero,a=i.additionalFormatting,o={significantDigits:e.significantDigits,maxDecimalInputLength:e.maxNegativeDecimalPosition};if(B(e.significantDigits))return a(t.toString(),o);var u=e.format(t);if("NaN"===(u=a(u,o)))return u;if(r){var d=s?ee:" ",h=u.split(/\.|,/),g=(0,f.Z)(h,2),p=g[0],m=g[1];"0"!==p||l||(p=m?"":"0"),p=p||"";for(var v=(m=m||"")?".":d;m.length=d&&b<=h}if(s)break}}catch(C){o.e(C)}finally{o.f()}if(!s)return!1}return!0}));return o}},Ze=(M={},(0,p.Z)(M,"empty","Empty rows"),(0,p.Z)(M,"aborted","\u2014"),M),je=[50,100,250,500,1e3,2500],Ae=function(){var e=X();return e.sort?e.sort.split(";").map((function(e){var t=e.split(",");return{id:t[0],desc:"desc"===t[1]}})):[]},Fe=function(e){var t=(0,i.useState)(!0),n=(0,f.Z)(t,2),r=n[0],s=n[1],l=(0,i.useState)(Ie()),a=(0,f.Z)(l,2),o=a[0],d=a[1],p=(0,i.useState)({}),I=(0,f.Z)(p,2),b=I[0],C=I[1],x=(0,i.useState)(!1),y=(0,f.Z)(x,2),Z=y[0],A=y[1],F=(0,h.k6)(),Y=function(t){"id"===t.id&&(t.isTableTabFilter=!0);var n=[].concat((0,u.Z)(e.filters.filter((function(e){return e.id!==t.id}))),[t]);n=n.filter((function(e){return""!==e.value})),e.addTypeToFilter(n);var i=[];if("status"===t.type){var r=z(t.id),s=r.tool,l=r.name,a=r.column,o=t.value;if("all"===o.trim())i=function(t){var n,i=t.tool,r=t.name,s=t.column,l=[],a=(0,g.Z)(e.statusValues[i][s]);try{for(a.s();!(n=a.n()).done;){var o=n.value;l.push({id:"".concat(i,"_").concat(r,"_").concat(s),value:o})}}catch(f){a.e(f)}finally{a.f()}var c,u=(0,g.Z)(e.categoryValues[i][s]);try{for(u.s();!(c=u.n()).done;){var d=c.value,h="".concat(d," ");l.push({id:"".concat(i,"_").concat(r,"_").concat(s),value:h})}}catch(f){u.e(f)}finally{u.f()}return l}({tool:s,name:l,column:a}),n=n.filter((function(e){var n=e.id,i=e.value;return!(n===t.id&&"all"===i.trim())}));else i=function(t){var n,i=t.tool,r=t.name,s=t.column,l=t.isCategory,a=l?e.statusValues:e.categoryValues,o=[],c=(0,g.Z)(a[i][s]);try{for(c.s();!(n=c.n()).done;){var u=n.value;o.push({id:"".concat(i,"_").concat(r,"_").concat(s),value:"".concat(u).concat(l?"":" ")})}}catch(d){c.e(d)}finally{c.f()}return o}({tool:s,name:l,column:a,isCategory:" "===o[o.length-1]})}e.addTypeToFilter(i),e.filterPlotData([].concat((0,u.Z)(n),(0,u.Z)(i)),!0)};function S(e){var t=e.column,n=t.id,r=(t.filter,e.currFilters),s=n+"_filter",l=r.find((function(e){return e.id===n})),a=l?l.value:"",o=(0,i.useState)(""),c=(0,f.Z)(o,2),u=c[0],d=c[1],h=(0,i.useState)(a),g=(0,f.Z)(h,2),p=g[0],m=g[1],v="id"===n&&Z?"To edit, please clear task filter in the sidebar":"text";return(0,j.jsx)("input",{id:s,className:"filter-field",placeholder:v,defaultValue:p,onChange:function(e){var t=e.target.value;m(t),clearTimeout(u),d(setTimeout((function(){Y({id:n,value:t}),document.getElementById(s).focus()}),500))},disabled:"id"===n&&Z,type:"search"})}function R(t){var n=t.column,i=n.id,r=(n.filter,t.runSetIdx),s=t.columnIdx,l=e.categoryValues[r][s],a=function(e){var t=e.categoryFilters,n=e.statusFilters,i=e.categoryFilterValues,r=e.statusFilterValues,s=[];return se(t,i)||(s=t),se(n,r)||(s=[].concat((0,u.Z)(s),(0,u.Z)(n))),s}({categoryFilters:k([r,"categories"],[],o),statusFilters:k([r,s],[],o),categoryFilterValues:l.map((function(e){return"".concat(e," ")})),statusFilterValues:e.statusValues[r][s]}),c=0===a.length,d=a.length>1||a[0]===W,h=a&&a[0],g=(c?"all ":d&&"multiple")||h;return(0,j.jsxs)("select",{className:"filter-field",onChange:function(e){return Y({id:i,value:e.target.value})},value:g,children:[d&&(0,j.jsx)("option",{value:"multiple",disabled:!0,children:a.map((function(e){return e.trim()})).filter((function(e){return"all"!==e&&e!==W})).join(", ")||"No filters selected"}),(0,j.jsx)("option",{value:"all ",children:"Show all"}),l.filter((function(e){return e in Ze})).map((function(e){return(0,j.jsx)("option",{value:e+" ",children:Ze[e]},e)})),(0,j.jsx)("optgroup",{label:"Category",children:l.filter((function(e){return!(e in Ze)})).sort().map((function(e){return(0,j.jsx)("option",{value:e+" ",className:e,children:e},e)}))}),(0,j.jsx)("optgroup",{label:"Status",children:e.statusValues[r][s].filter((function(e){return e!==xe})).sort().map((function(e){return(0,j.jsx)("option",{value:e,children:e},e)}))})]})}function H(e){var t=e.column,n=t.id,r=(t.filter,e.currFilters),s=n+"_filter",l=r.find((function(e){return e.id===n})),a=l?l.value:"",o=(0,i.useState)(""),c=(0,f.Z)(o,2),u=c[0],d=c[1],h=(0,i.useState)(a),g=(0,f.Z)(h,2),p=g[0],m=g[1];return(0,j.jsx)("input",{id:s,className:"filter-field",placeholder:"Min:Max",defaultValue:p,onChange:function(e){var t=e.target.value;m(t),clearTimeout(u),d(setTimeout((function(){Y({id:n,value:t}),document.getElementById(s).focus()}),500))},type:"search",pattern:"([+-]?[0-9]*(\\.[0-9]*)?)(:[+-]?[0-9]*(\\.[0-9]*)?)?"})}var T=(0,i.useCallback)((function(t){return(0,j.jsx)(S,(0,c.Z)((0,c.Z)({disableTaskText:Z},t),{},{currFilters:e.filters}))}),[Z,e.filters]),K=(0,i.useCallback)((function(t){return(0,j.jsx)(H,(0,c.Z)((0,c.Z)({},t),{},{currFilters:e.filters}))}),[e.filters]),L=(0,i.useMemo)((function(){var t=function(t,n,i){if("status"===n.type)return function(t,n,i){var r="".concat(t,"_").concat(n.display_title,"_").concat(i),s=b[r];return{id:r,Header:(0,j.jsx)(ge,{column:n}),className:"reg-column",hidden:e.hiddenCols[t].includes(n.colIdx),minWidth:50,width:s||V(n,10),accessor:function(e){return e.results[t].values[i]},Cell:function(n){var i,r=n.row.original.results[t].category,s=n.row.original.results[t].href;return"aborted"===r?(s=void 0,i="Result missing because run was aborted or not executed"):"empty"===r?i="Result missing because task was not part of benchmark set":s&&(i="Click here to show output of tool"),(0,j.jsx)(pe,{cell:n,href:s,className:r,toggleLinkOverlay:e.toggleLinkOverlay,title:i,force:!0})},sortType:function(e,t,n,i){return w(e.values[n],t.values[n])},filter:function(e){return e},Filter:function(e){return(0,j.jsx)(R,(0,c.Z)((0,c.Z)({},e),{},{runSetIdx:t,columnIdx:i}))}}}(t,n,i);var r="".concat(t,"_").concat(n.display_title,"_").concat(i),s=b[r],l=N(n)?K:T;return{id:r,Header:(0,j.jsx)(ge,{column:n}),className:"reg-column",hidden:e.hiddenCols[t].includes(n.colIdx),minWidth:50,width:s||V(n),accessor:function(e){return e.results[t].values[i]},Cell:function(t){return(0,j.jsx)(pe,{cell:t,toggleLinkOverlay:e.toggleLinkOverlay})},filter:function(e){return e},Filter:l,sortType:function(e,t,i,r){return N(n)?(s=e.values[i],l=t.values[i],G(s,1/0)-G(l,1/0)):w(e.values[i],t.values[i]);var s,l}}},n=e.tools.map((function(e,n){return ve(e,n,t)})).flat();return[{Header:function(){return(0,j.jsx)("div",{className:"fixed-task-header",children:(0,j.jsx)("form",{children:(0,j.jsxs)("label",{title:"Fix the first column",children:["Fixed task:",(0,j.jsx)("input",{name:"fixed",type:"checkbox",checked:r,onChange:function(e){var t=e.target;return s(t.checked)}})]})})})},className:"fixed-task",id:"task-id-column",sticky:r?"left":"",columns:[(0,c.Z)((0,c.Z)({width:.3*window.innerWidth,minWidth:230},b.id&&{width:b.id}),{},{Header:(0,j.jsx)(ge,{children:(0,j.jsx)(he,{handler:e.selectColumn})}),accessor:"id",Cell:function(t){var n=t.row.original.id.map((function(e){return(0,j.jsx)("span",{className:"row_id",children:e},e)})),i=t.row.original.href;return i?(0,j.jsx)("a",{className:"row__name--cellLink",href:i,title:"Click here to show source code",onClick:function(t){return e.toggleLinkOverlay(t,i)},children:n},i):(0,j.jsx)("span",{title:"This task has no associated file",children:n})},Filter:T,sortType:function(e,t,n,i){var r=Array.isArray(e.values[n])?e.values[n].join():e.values[n],s=Array.isArray(t.values[n])?t.values[n].join():t.values[n];return r>s?1:r0&&C((0,c.Z)((0,c.Z)({},b),e))}),[me,b]),(0,i.useEffect)((function(){var t,n=(0,g.Z)(e.filters);try{for(n.s();!(t=n.n()).done;){var i=t.value,r=i.values;"id"===i.id&&A(!B(r))}}catch(l){n.e(l)}finally{n.f()}var s=Ie();be()(s,o)||d(s),ue>=te&&ne(te-1)}),[e.filters,o,ne,ue,te]),(0,i.useEffect)((function(){return F.listen((function(e){le(X().pageSize||250),oe(Ae()),ne(X().page-1||0)}))}),[F,ne,le,oe]);var Ce=function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({className:"tr headergroup"},e.getHeaderGroupProps()),{},{children:e.headers.map((function(e){return(0,j.jsxs)("div",(0,c.Z)((0,c.Z)({},e.getHeaderProps({className:"th header ".concat(e.headers?"outer ":"").concat(e.className)})),{},{children:[(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.canSort&&(!e.className||!e.className.includes("separator"))&&e.getSortByToggleProps({className:"header-sort-container clickable ".concat(e.isSorted?e.isSortedDesc?"sorted-desc ":"sorted-asc ":"")})),{},{children:e.render("Header")})),(!e.className||!e.className.includes("separator"))&&(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getResizerProps()),{},{className:"resizer ".concat(e.isResizing?"isResizing":"")}))]}))}))}))};return(0,j.jsx)("div",{className:"main-table",children:(0,j.jsxs)("div",{className:"table sticky",children:[(0,j.jsx)("div",{className:"table-content",children:(0,j.jsxs)("div",(0,c.Z)((0,c.Z)({className:"table-container"},P()),{},{children:[function(e){var t=e[0],n=e.filter((function(e){return e.headers.some((function(e){return e.canFilter}))}));return(0,j.jsxs)("div",{className:"table-header",children:[Ce(t),(0,j.jsxs)("div",{className:"shadow-container",children:[e.slice(1).map(Ce),n.map((function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({className:"tr headergroup filter"},e.getHeaderGroupProps()),{},{children:e.headers.map((function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getHeaderProps({className:"th header filter ".concat(e.headers?"outer ":"").concat(e.className)})),{},{children:e.canFilter?e.render("Filter"):null}))}))}))}))]})]})}(J),(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},M()),{},{className:"table-body body",children:Q.map((function(e){return _(e),(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getRowProps()),{},{className:"tr",children:e.cells.map((function(e){return(0,j.jsx)("div",(0,c.Z)((0,c.Z)({},e.getCellProps({className:"td "+(e.column.className||"")})),{},{children:e.render("Cell")}))}))}))}))}))]}))}),(0,j.jsxs)("div",{className:"pagination",children:[(0,j.jsxs)("div",{id:"pagination-previous",className:"pagination-container",children:[(0,j.jsx)("div",{onClick:function(){return re()},className:"pagination-element button".concat(q?"":" disabled"),children:"Previous"})," "]}),(0,j.jsxs)("div",{id:"pagination-center",className:"pagination-container",children:[(0,j.jsxs)("div",{id:"goto-page-element",className:"pagination-element",children:["Page",(0,j.jsx)("input",{"aria-label":"jump to page",type:"number",value:Number(ue)+1,onChange:function(e){return ne(Number(e.target.value)-1)}}),"of ",ee.length]}),(0,j.jsx)("div",{id:"set-page-element",className:"pagination-element",children:(0,j.jsx)("select",{value:de,onChange:function(e){return le(Number(e.target.value))},children:je.map((function(e){return(0,j.jsxs)("option",{value:e,children:[e," rows"]},e)}))})})]}),(0,j.jsxs)("div",{id:"pagination-next",className:"pagination-container",children:[(0,j.jsx)("div",{onClick:function(){return ie()},className:"pagination-element button".concat($?"":" disabled"),children:"Next"})," "]})]})]})})},We=n(4165),Ne=n(5861);n(9e3);var Be=[],Ge={},we=1,Ye=[{template:"data:text/plain;base64,Ly8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgQmVuY2hFeGVjLCBhIGZyYW1ld29yayBmb3IgcmVsaWFibGUgYmVuY2htYXJraW5nOgovLyBodHRwczovL2dpdGh1Yi5jb20vc29zeS1sYWIvYmVuY2hleGVjCi8vCi8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMTktMjAyMCBEaXJrIEJleWVyIDxodHRwczovL3d3dy5zb3N5LWxhYi5vcmc+Ci8vCi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCgovLyBDT1BZIE9GIHV0aWxzLmpzLCBhcyBpbXBvcnRzIHdpbGwgbm90IHdvcmsgaGVyZQovKioKICogRnVuY3Rpb24gdG8gc2FmZWx5IGFkZCB0d28gbnVtYmVycyBpbiBhIHdheSB0aGF0IHNob3VsZCBtaXRpZ2F0ZSBlcnJvcnMKICogY2F1c2VkIGJ5IGluYWNjdXJhdGUgZmxvYXRpbmcgcG9pbnQgb3BlcmF0aW9ucyBpbiBqYXZhc2NyaXB0CiAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gYSAtIFRoZSBiYXNlIG51bWJlcgogKiBAcGFyYW0ge051bWJlcnxTdHJpbmd9IGIgLSBUaGUgbnVtYmVyIHRvIGFkZAogKgogKiBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcmVzdWx0IG9mIHRoZSBhZGRpdGlvbgogKi8KY29uc3Qgc2FmZUFkZCA9IChhLCBiKSA9PiB7CiAgbGV0IGFOdW0gPSBhOwogIGxldCBiTnVtID0gYjsKCiAgaWYgKHR5cGVvZiBhID09PSAic3RyaW5nIikgewogICAgYU51bSA9IE51bWJlcihhKTsKICB9CiAgaWYgKHR5cGVvZiBiID09PSAic3RyaW5nIikgewogICAgYk51bSA9IE51bWJlcihiKTsKICB9CgogIGlmIChOdW1iZXIuaXNJbnRlZ2VyKGFOdW0pIHx8IE51bWJlci5pc0ludGVnZXIoYk51bSkpIHsKICAgIHJldHVybiBhTnVtICsgYk51bTsKICB9CgogIGNvbnN0IGFTdHJpbmcgPSBhLnRvU3RyaW5nKCk7CiAgY29uc3QgYUxlbmd0aCA9IGFTdHJpbmcubGVuZ3RoOwogIGNvbnN0IGFEZWNpbWFsUG9pbnQgPSBhU3RyaW5nLmluZGV4T2YoIi4iKTsKICBjb25zdCBiU3RyaW5nID0gYi50b1N0cmluZygpOwogIGNvbnN0IGJMZW5ndGggPSBiU3RyaW5nLmxlbmd0aDsKICBjb25zdCBiRGVjaW1hbFBvaW50ID0gYlN0cmluZy5pbmRleE9mKCIuIik7CgogIGNvbnN0IGxlbmd0aCA9IE1hdGgubWF4KGFMZW5ndGggLSBhRGVjaW1hbFBvaW50LCBiTGVuZ3RoIC0gYkRlY2ltYWxQb2ludCkgLSAxOwoKICByZXR1cm4gTnVtYmVyKChhTnVtICsgYk51bSkudG9GaXhlZChsZW5ndGgpKTsKfTsKCmNvbnN0IG1hdGhTdHJpbmdNYXggPSAoYSwgYikgPT4gewogIGNvbnN0IG51bUEgPSBOdW1iZXIoYSk7CiAgY29uc3QgbnVtQiA9IE51bWJlcihiKTsKICByZXR1cm4gbnVtQSA+IG51bUIgPyBhIDogYjsKfTsKCmNvbnN0IG1hdGhTdHJpbmdNaW4gPSAoYSwgYikgPT4gewogIGNvbnN0IG51bUEgPSBOdW1iZXIoYSk7CiAgY29uc3QgbnVtQiA9IE51bWJlcihiKTsKICByZXR1cm4gbnVtQSA8IG51bUIgPyBhIDogYjsKfTsKCi8qKgogKiBUaGlzIGZ1bmN0aW9uIGVpdGhlciBhZGRzIHR3byBudW1iZXJzIG9yIGluY3JlbWVudHMgdGhlIG51bWJlcgogKiBwYXNzZWQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlciBpZiB0aGUgdHlwZSBpcyAic3RhdHVzIi4KICogSWYgdGhlIHNlY29uZCBwYXJhbWV0ZXIgaXMgbm90IGEgbnVtYmVyIGFuZCB0aGUgdHlwZSBpcyBub3Qgc3RhdHVzLAogKiB0aGUgZmlyc3QgcGFyYW1ldGVyIHdpbGwgYmUgcmV0dXJuZWQKICoKICogQHBhcmFtIHtOdW1iZXJ9IGEKICogQHBhcmFtIHsqfSBiCiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlCiAqLwpjb25zdCBtYXliZUFkZCA9IChhLCBiLCB0eXBlKSA9PiB7CiAgaWYgKE51bWJlcihiKSkgewogICAgcmV0dXJuIHNhZmVBZGQoYSwgYik7CiAgfQogIGlmICh0eXBlID09PSAic3RhdHVzIikgewogICAgcmV0dXJuIGEgKyAxOwogIH0KICByZXR1cm4gYTsKfTsKY29uc3QgcmVtb3ZlUm91bmRPZmYgPSAobnVtKSA9PiB7CiAgY29uc3Qgc3RyID0gbnVtLnRvU3RyaW5nKCk7CiAgaWYgKHN0ci5tYXRjaCgvXC4uKz8wezIsfVxkJC8pKSB7CiAgICByZXR1cm4gTnVtYmVyKHN0ci5zdWJzdHIoMCwgc3RyLmxlbmd0aCAtIDEpKTsKICB9CiAgcmV0dXJuIG51bTsKfTsKCmNvbnN0IGNhbGN1bGF0ZU1lYW4gPSAodmFsdWVzLCBhbGxJdGVtcykgPT4gewogIGNvbnN0IG51bU1pbiA9IE51bWJlcih2YWx1ZXMubWluKTsKICBjb25zdCBudW1NYXggPSBOdW1iZXIodmFsdWVzLm1heCk7CiAgaWYgKG51bU1pbiA9PT0gLUluZmluaXR5ICYmIG51bU1heCA9PT0gSW5maW5pdHkpIHsKICAgIHZhbHVlcy5hdmcgPSAiTmFOIjsKICB9IGVsc2UgaWYgKG51bU1pbiA9PT0gLUluZmluaXR5KSB7CiAgICB2YWx1ZXMuYXZnID0gIi1JbmZpbml0eSI7CiAgfSBlbHNlIGlmIChudW1NYXggPT09IEluZmluaXR5KSB7CiAgICB2YWx1ZXMuYXZnID0gIkluZmluaXR5IjsKICB9IGVsc2UgewogICAgdmFsdWVzLmF2ZyA9IHJlbW92ZVJvdW5kT2ZmKHZhbHVlcy5zdW0gLyBhbGxJdGVtcy5sZW5ndGgpOwogIH0KfTsKCmNvbnN0IGNhbGN1bGF0ZU1lZGlhbiA9ICh2YWx1ZXMsIGFsbEl0ZW1zKSA9PiB7CiAgaWYgKGFsbEl0ZW1zLmxlbmd0aCAlIDIgPT09IDApIHsKICAgIGNvbnN0IGlkeCA9IGFsbEl0ZW1zLmxlbmd0aCAvIDI7CiAgICB2YWx1ZXMubWVkaWFuID0KICAgICAgKE51bWJlcihhbGxJdGVtc1tpZHggLSAxXS5jb2x1bW4pICsgTnVtYmVyKGFsbEl0ZW1zW2lkeF0uY29sdW1uKSkgLyAyLjA7CiAgfSBlbHNlIHsKICAgIHZhbHVlcy5tZWRpYW4gPSBhbGxJdGVtc1tNYXRoLmZsb29yKGFsbEl0ZW1zLmxlbmd0aCAvIDIuMCldLmNvbHVtbjsKICB9Cn07CmNvbnN0IGNhbGN1bGF0ZVN0ZGV2ID0gKGhhc05lZ0luZiwgaGFzUG9zSW5mLCB2YXJpYW5jZSwgc2l6ZSkgPT4gewogIGlmIChoYXNOZWdJbmYgJiYgaGFzUG9zSW5mKSB7CiAgICByZXR1cm4gIk5hTiI7CiAgfQogIGlmIChoYXNOZWdJbmYgfHwgaGFzUG9zSW5mKSB7CiAgICByZXR1cm4gSW5maW5pdHk7CiAgfQogIHJldHVybiBNYXRoLnNxcnQodmFyaWFuY2UgLyBzaXplKTsKfTsKCmNvbnN0IHBhcnNlUHl0aG9uSW5maW5pdHlWYWx1ZXMgPSAoZGF0YSkgPT4KICBkYXRhLm1hcCgoaXRlbSkgPT4gewogICAgaWYgKGl0ZW0uY29sdW1uVHlwZSA9PT0gInN0YXR1cyIgfHwgIWl0ZW0uY29sdW1uLmVuZHNXaXRoKCJJbmYiKSkgewogICAgICByZXR1cm4gaXRlbTsKICAgIH0KICAgIC8vIFdlIGhhdmUgYSBweXRob24gSW5maW5pdHkgdmFsdWUgdGhhdCB3ZSB3YW50IHRvIHRyYW5zZmVyIHRvIGEgc3RyaW5nCiAgICAvLyB0aGF0IGNhbiBiZSBpbnRlcnByZXRlZCBhcyBhIEphdmFTY3JpcHQgSW5maW5pdHkgdmFsdWUKICAgIGl0ZW0uY29sdW1uID0gaXRlbS5jb2x1bW4ucmVwbGFjZSgiSW5mIiwgIkluZmluaXR5Iik7CiAgICByZXR1cm4gaXRlbTsKICB9KTsKCi8vIElmIGEgYnVja2V0IGNvbnRhaW5zIGEgTmFOIHZhbHVlLCB3ZSBjYW4gbm90IHBlcmZvcm0gYW55IHN0YXQgY2FsY3VsYXRpb24KY29uc3Qgc2hvdWxkU2tpcEJ1Y2tldCA9IChidWNrZXRNZXRhLCBrZXkpID0+IHsKICBpZiAoYnVja2V0TWV0YVtrZXldICYmIGJ1Y2tldE1ldGFba2V5XS5oYXNOYU4pIHsKICAgIHJldHVybiB0cnVlOwogIH0KICByZXR1cm4gZmFsc2U7Cn07CgovKioKICogRnVuY3Rpb24gdGhhdCBrZWVwcyB0cmFjayBvZiB0aGUgbWF4IGlucHV0dGVkIGRlY2ltYWwgbGVuZ3RoIG9mIGNvbHVtbiB2YWx1ZXMuCiAqIFRoaXMgaXMgdXNlZCBmb3IgY29uZGl0aW9uYWwgZm9ybWF0dGluZyBpbiB0aGUgc3RhdHMgbW9kdWxlIHRvIGRldGVybWluZSB0aGUgbWF4aW11bQogKiBhbW91bnQgb2YgcGFkZGVkIDBzCiAqCiAqIEB0eXBlZGVmIFVwZGF0ZU1heERlY2ltYWxNZXRhSW5mb1BhcmFtCiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5UeXBlIC0gVGhlIHR5cGUgb2YgdGhlIGN1cnJlbnQgY29sdW1uCiAqIEBwYXJhbSB7T2JqZWN0fSBjb2x1bW4gLSBUaGUgY29sdW1uIG9iamVjdAogKiBAcGFyYW0ge09iamVjdH0gYnVja2V0IC0gVGhlIGN1cnJlbnQgc3RhdCBidWNrZXQgaW4gY29udGV4dAogKgogKiBAcGFyYW0ge1VwZGF0ZU1heERlY2ltYWxNZXRhSW5mb1BhcmFtfSBwYXJhbQogKi8KY29uc3QgdXBkYXRlTWF4RGVjaW1hbE1ldGFJbmZvID0gKHsgY29sdW1uVHlwZSwgY29sdW1uLCBidWNrZXQgfSkgPT4gewogIGlmIChjb2x1bW5UeXBlICE9PSAic3RhdHVzIikgewogICAgY29uc3QgWywgZGVjaW1hbF0gPSBjb2x1bW4uc3BsaXQoIi4iKTsKICAgIGJ1Y2tldC5tZXRhLm1heERlY2ltYWxzID0gTWF0aC5tYXgoCiAgICAgIGJ1Y2tldC5tZXRhLm1heERlY2ltYWxzLAogICAgICBkZWNpbWFsPy5sZW5ndGggPz8gMCwKICAgICk7CiAgfQp9OwoKLyoqCiAqIEB0eXBlZGVmICBNZXRhSW5mbwogKiAgQWRkaXRpb25hbCBtZXRhaW5mb3JtYXRpb24gdG8gYmUgdXNlZCBmb3IgcG9zdC1wcm9jZXNzaW5nIChsaWtlIG51bWJlciBmb3JtYXR0aW5nKQogKiBAcHJvcCB7c3RyaW5nfG51bGx9IHR5cGUgLSBUaGUgY29sdW1uIHR5cGUKICogQHByb3Age251bWJlcn0gbWF4RGVjaW1hbHMgLSBUaGUgbWF4aW11bSBhbW91bnQgb2YgZGVjaW1hbHMgYWNyb3NzIGFsbCBudW1iZXJzIGluIHRoZSBidWNrZXQKICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGZvciBudW1iZXIgZm9ybWF0dGluZwogKi8KCi8qKgogKiBAdHlwZWRlZiBCdWNrZXQKICogU3RhdGlzdGljcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHJlYWN0IHRhYmxlIGFyZSBjYWxjdWxhdGVkIGluIGJ1Y2tldHMsIGVhY2ggYnVja2V0IHJlcHJlc2VudGluZyBvbmUgInJvdyIgaW4gdGhlCiAqIHN0YXRpc3RpY3MgdGFibGUgKHRvdGFsLCBjb3JyZWN0LCBjb3JyZWN0IHRydWUsIGV0YykuCiAqIFRoaXMgb2JqZWN0IHN0b3JlcyBhbGwgYWNjdW11bGF0ZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBidWNrZXQuCiAqCiAqIEBwcm9wIHtudW1iZXJ9IHN1bSAtIFRoZSBzdW0gb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfSBhdmcgLSBUaGUgYXZlcmFnZSBvZiB0aGUgYnVja2V0CiAqIEBwcm9wIHtudW1iZXJ8c3RyaW5nfSBtYXggLSBUaGUgbWF4aW1hbCB2YWx1ZSBvZiB0aGUgYnVja2V0CiAqIEBwcm9wIHtudW1iZXJ9IG1lZGlhbiAtIFRoZSBtZWRpYW4gdmFsdWUgb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfHN0cmluZ30gbWluIC0gVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfSBzdGRldiAtIFRoZSBzdGFuZGFyZCBkZXZpYXRpb24gb2YgdGhlIGJ1Y2tldAogKiBAcHJvcCB7bnVtYmVyfSB2YXJpYW5jZSAtIFRoZSB2YXJpYW5jZSBvZiB0aGUgYnVja2V0CiAqIEBwcm9wIHtNZXRhSW5mb30gW21ldGFdIC0gTWV0YSBpbmZvcm1hdGlvbiBvZiB0aGUgYnVja2V0CiAqLwoKb25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsKICBjb25zdCB7IGRhdGEsIHRyYW5zYWN0aW9uIH0gPSBlLmRhdGE7CgogIC8vIHRlbXBsYXRlCiAgLyoqIEBjb25zdCB7IEJ1Y2tldCB9ICovCiAgY29uc3QgZGVmYXVsdE9iaiA9IHsKICAgIHN1bTogMCwKICAgIGF2ZzogMCwKICAgIG1heDogIi1JbmZpbml0eSIsCiAgICBtZWRpYW46IDAsCiAgICBtaW46ICJJbmZpbml0eSIsCiAgICBzdGRldjogMCwKICAgIHZhcmlhbmNlOiAwLAogIH07CgogIC8qKiBAY29uc3Qge01ldGFJbmZvfSAqLwogIGNvbnN0IG1ldGFUZW1wbGF0ZSA9IHsKICAgIHR5cGU6IG51bGwsCiAgICBtYXhEZWNpbWFsczogMCwKICB9OwoKICAvLyBDb3B5IG9mIHRoZSB0ZW1wbGF0ZSB3aXRoIGFsbCB2YWx1ZXMgcmVwbGFjZWQgd2l0aCBOYU4KICBjb25zdCBuYW5PYmogPSB7IC4uLmRlZmF1bHRPYmogfTsKICBmb3IgKGNvbnN0IG9iaktleSBvZiBPYmplY3Qua2V5cyhuYW5PYmopKSB7CiAgICBuYW5PYmpbb2JqS2V5XSA9ICJOYU4iOwogIH0KCiAgbGV0IGNvcHkgPSBbLi4uZGF0YV0uZmlsdGVyKAogICAgKGkpID0+IGkgJiYgaS5jb2x1bW4gIT09IHVuZGVmaW5lZCAmJiBpLmNvbHVtbiAhPT0gbnVsbCwKICApOwogIGNvcHkgPSBwYXJzZVB5dGhvbkluZmluaXR5VmFsdWVzKGNvcHkpOwoKICBpZiAoY29weS5sZW5ndGggPT09IDApIHsKICAgIC8vIE5vIGRhdGEgdG8gcGVyZm9ybSBjYWxjdWxhdGlvbnMgd2l0aAogICAgcG9zdFJlc3VsdCh7IHRvdGFsOiB1bmRlZmluZWQgfSwgdHJhbnNhY3Rpb24pOwogICAgcmV0dXJuOwogIH0KCiAgY29uc3QgeyBjb2x1bW5UeXBlIH0gPSBjb3B5WzBdOwogIG1ldGFUZW1wbGF0ZS50eXBlID0gY29sdW1uVHlwZTsKCiAgY29weS5zb3J0KChhLCBiKSA9PiBhLmNvbHVtbiAtIGIuY29sdW1uKTsKCiAgLyoqIEB0eXBlIHtPYmplY3QuPHN0cmluZywgQnVja2V0Pn0gKi8KICBjb25zdCBidWNrZXRzID0ge307CiAgY29uc3QgYnVja2V0TmFOSW5mbyA9IHt9OyAvLyB1c2VkIHRvIHN0b3JlIE5hTiBpbmZvIG9mIGJ1Y2tldHMKCiAgLyoqIEB0eXBlIHtCdWNrZXR9ICovCiAgbGV0IHRvdGFsID0geyAuLi5kZWZhdWx0T2JqLCBpdGVtczogW10sIG1ldGE6IHsgLi4ubWV0YVRlbXBsYXRlIH0gfTsKCiAgdG90YWwubWF4ID0gY29weVtjb3B5Lmxlbmd0aCAtIDFdLmNvbHVtbjsKICB0b3RhbC5taW4gPSBjb3B5WzBdLmNvbHVtbjsKCiAgY29uc3QgdG90YWxOYU5JbmZvID0gewogICAgaGFzTmFOOiBjb3B5LnNvbWUoKGl0ZW0pID0+IHsKICAgICAgaWYgKGl0ZW0uY29sdW1uVHlwZSAhPT0gInN0YXR1cyIgJiYgaXNOYU4oaXRlbS5jb2x1bW4pKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSksCiAgfTsKCiAgLy8gQnVja2V0IHNldHVwIHdpdGggc3VtIGFuZCBtaW4vbWF4CiAgZm9yIChjb25zdCBpdGVtIG9mIGNvcHkpIHsKICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uY2F0ZWdvcnlUeXBlfV8ke2l0ZW0ucmVzdWx0VHlwZX1gOwogICAgY29uc3QgdG90YWxLZXkgPSBgJHtpdGVtLmNhdGVnb3J5VHlwZX1gOwogICAgY29uc3QgeyBjb2x1bW5UeXBlOiB0eXBlLCBjb2x1bW4sIGNvbHVtblRpdGxlOiB0aXRsZSB9ID0gaXRlbTsKICAgIGlmICghdG90YWwudGl0bGUpIHsKICAgICAgdG90YWwudGl0bGUgPSB0aXRsZTsKICAgIH0KICAgIGNvbnN0IGJ1Y2tldCA9IGJ1Y2tldHNba2V5XSB8fCB7CiAgICAgIC4uLmRlZmF1bHRPYmosCiAgICAgIHRpdGxlLAogICAgICBpdGVtczogW10sCiAgICAgIG1ldGE6IHsgLi4ubWV0YVRlbXBsYXRlIH0sCiAgICB9OwoKICAgIGNvbnN0IHN1YlRvdGFsQnVja2V0ID0gYnVja2V0c1t0b3RhbEtleV0gfHwgewogICAgICAuLi5kZWZhdWx0T2JqLAogICAgICB0aXRsZSwKICAgICAgaXRlbXM6IFtdLAogICAgICBtZXRhOiB7IC4uLm1ldGFUZW1wbGF0ZSB9LAogICAgfTsKCiAgICBjb25zdCBpdGVtSXNOYU4gPSB0eXBlICE9PSAic3RhdHVzIiAmJiBpc05hTihjb2x1bW4pOwoKICAgIC8vIGlmIG9uZSBpdGVtIGlzIE5hTiB3ZSBzdG9yZSB0aGF0IGluZm8gc28gd2UgY2FuIGRlZmF1bHQgYWxsCiAgICAvLyBjYWxjdWxhdGVkIHZhbHVlcyBmb3IgdGhpcyBidWNrZXQgdG8gTmFOCiAgICBpZiAoaXRlbUlzTmFOKSB7CiAgICAgIGJ1Y2tldE5hTkluZm9ba2V5XSA9IHsgaGFzTmFOOiB0cnVlIH07CiAgICAgIGJ1Y2tldE5hTkluZm9bdG90YWxLZXldID0geyBoYXNOYU46IHRydWUgfTsKCiAgICAgIC8vIHNldCBhbGwgdmFsdWVzIGZvciB0aGlzIGJ1Y2tldCB0byBOYU4KICAgICAgYnVja2V0c1trZXldID0geyAuLi5uYW5PYmosIHRpdGxlIH07CiAgICAgIGJ1Y2tldHNbdG90YWxLZXldID0geyAuLi5uYW5PYmosIHRpdGxlIH07CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAgIC8vIHdlIGNoZWNrIGlmIHdlIHNob3VsZCBza2lwIGNhbGN1bGF0aW9uIGZvciB0aGVzZSBidWNrZXRzCiAgICBjb25zdCBza2lwQnVja2V0ID0gc2hvdWxkU2tpcEJ1Y2tldChidWNrZXROYU5JbmZvLCBrZXkpOwogICAgY29uc3Qgc2tpcFN1YlRvdGFsID0gc2hvdWxkU2tpcEJ1Y2tldChidWNrZXROYU5JbmZvLCB0b3RhbEtleSk7CgogICAgaWYgKCFza2lwQnVja2V0KSB7CiAgICAgIGJ1Y2tldC5zdW0gPSBtYXliZUFkZChidWNrZXQuc3VtLCBjb2x1bW4sIHR5cGUpOwogICAgICB1cGRhdGVNYXhEZWNpbWFsTWV0YUluZm8oeyBjb2x1bW5UeXBlLCBjb2x1bW4sIGJ1Y2tldCB9KTsKICAgIH0KICAgIGlmICghc2tpcFN1YlRvdGFsKSB7CiAgICAgIHN1YlRvdGFsQnVja2V0LnN1bSA9IG1heWJlQWRkKHN1YlRvdGFsQnVja2V0LnN1bSwgY29sdW1uLCB0eXBlKTsKICAgICAgdXBkYXRlTWF4RGVjaW1hbE1ldGFJbmZvKHsgY29sdW1uVHlwZSwgY29sdW1uLCBidWNrZXQ6IHN1YlRvdGFsQnVja2V0IH0pOwogICAgfQogICAgaWYgKCF0b3RhbE5hTkluZm8uaGFzTmFOKSB7CiAgICAgIHRvdGFsLnN1bSA9IG1heWJlQWRkKHRvdGFsLnN1bSwgY29sdW1uLCB0eXBlKTsKICAgICAgdXBkYXRlTWF4RGVjaW1hbE1ldGFJbmZvKHsgY29sdW1uVHlwZSwgY29sdW1uLCBidWNrZXQ6IHRvdGFsIH0pOwogICAgfQoKICAgIGlmICghaXNOYU4oTnVtYmVyKGNvbHVtbikpKSB7CiAgICAgIGlmICghc2tpcEJ1Y2tldCkgewogICAgICAgIGJ1Y2tldC5tYXggPSBtYXRoU3RyaW5nTWF4KGJ1Y2tldC5tYXgsIGNvbHVtbik7CiAgICAgICAgYnVja2V0Lm1pbiA9IG1hdGhTdHJpbmdNaW4oYnVja2V0Lm1pbiwgY29sdW1uKTsKICAgICAgfQogICAgICBpZiAoIXNraXBTdWJUb3RhbCkgewogICAgICAgIHN1YlRvdGFsQnVja2V0Lm1heCA9IG1hdGhTdHJpbmdNYXgoc3ViVG90YWxCdWNrZXQubWF4LCBjb2x1bW4pOwogICAgICAgIHN1YlRvdGFsQnVja2V0Lm1pbiA9IG1hdGhTdHJpbmdNaW4oc3ViVG90YWxCdWNrZXQubWluLCBjb2x1bW4pOwogICAgICB9CiAgICB9CiAgICBpZiAoIXNraXBCdWNrZXQpIHsKICAgICAgdHJ5IHsKICAgICAgICBidWNrZXQuaXRlbXMucHVzaChpdGVtKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGNvbnNvbGUuZSh7IGJ1Y2tldCwgYnVja2V0TWV0YTogYnVja2V0TmFOSW5mbywga2V5IH0pOwogICAgICB9CiAgICB9CiAgICBpZiAoIXNraXBTdWJUb3RhbCkgewogICAgICB0cnkgewogICAgICAgIHN1YlRvdGFsQnVja2V0Lml0ZW1zLnB1c2goaXRlbSk7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBjb25zb2xlLmUoeyBzdWJUb3RhbEJ1Y2tldCwgYnVja2V0TWV0YTogYnVja2V0TmFOSW5mbywgdG90YWxLZXkgfSk7CiAgICAgIH0KICAgIH0KCiAgICBidWNrZXRzW2tleV0gPSBidWNrZXQ7CiAgICBidWNrZXRzW3RvdGFsS2V5XSA9IHN1YlRvdGFsQnVja2V0OwogIH0KCiAgZm9yIChjb25zdCBbYnVja2V0LCB2YWx1ZXNdIG9mIE9iamVjdC5lbnRyaWVzKGJ1Y2tldHMpKSB7CiAgICBpZiAoc2hvdWxkU2tpcEJ1Y2tldChidWNrZXROYU5JbmZvLCBidWNrZXQpKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgY2FsY3VsYXRlTWVhbih2YWx1ZXMsIHZhbHVlcy5pdGVtcyk7CgogICAgY2FsY3VsYXRlTWVkaWFuKHZhbHVlcywgdmFsdWVzLml0ZW1zKTsKICAgIGJ1Y2tldHNbYnVja2V0XSA9IHZhbHVlczsKICB9CiAgY29uc3QgdG90YWxIYXNOYU4gPSB0b3RhbE5hTkluZm8uaGFzTmFOOwoKICBpZiAodG90YWxIYXNOYU4pIHsKICAgIHRvdGFsID0geyAuLi50b3RhbCwgLi4ubmFuT2JqIH07CiAgfSBlbHNlIHsKICAgIGNhbGN1bGF0ZU1lYW4odG90YWwsIGNvcHkpOwogICAgY2FsY3VsYXRlTWVkaWFuKHRvdGFsLCBjb3B5KTsKICB9CgogIGZvciAoY29uc3QgaXRlbSBvZiBjb3B5KSB7CiAgICBjb25zdCB7IGNvbHVtbiB9ID0gaXRlbTsKICAgIGlmIChpc05hTihOdW1iZXIoY29sdW1uKSkpIHsKICAgICAgY29udGludWU7CiAgICB9CiAgICBjb25zdCBudW1Db2wgPSBOdW1iZXIoY29sdW1uKTsKICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uY2F0ZWdvcnlUeXBlfV8ke2l0ZW0ucmVzdWx0VHlwZX1gOwogICAgY29uc3QgdG90YWxLZXkgPSBgJHtpdGVtLmNhdGVnb3J5VHlwZX1gOwogICAgY29uc3QgYnVja2V0ID0gYnVja2V0c1trZXldOwogICAgY29uc3Qgc3ViVG90YWxCdWNrZXQgPSBidWNrZXRzW3RvdGFsS2V5XTsKICAgIGNvbnN0IGRpZmZCdWNrZXQgPSBudW1Db2wgLSBidWNrZXQuYXZnOwogICAgY29uc3QgZGlmZlN1YlRvdGFsID0gbnVtQ29sIC0gc3ViVG90YWxCdWNrZXQuYXZnOwogICAgY29uc3QgZGlmZlRvdGFsID0gbnVtQ29sIC0gdG90YWwuYXZnOwogICAgdG90YWwudmFyaWFuY2UgKz0gTWF0aC5wb3coZGlmZlRvdGFsLCAyKTsKICAgIGJ1Y2tldC52YXJpYW5jZSArPSBNYXRoLnBvdyhkaWZmQnVja2V0LCAyKTsKICAgIHN1YlRvdGFsQnVja2V0LnZhcmlhbmNlICs9IE1hdGgucG93KGRpZmZTdWJUb3RhbCwgMik7CiAgfQoKICBjb25zdCB0b3RhbEhhc05lZ0luZiA9IE51bWJlcih0b3RhbC5taW4pID09PSAtSW5maW5pdHk7CiAgY29uc3QgdG90YWxIYXNQb3NJbmYgPSBOdW1iZXIodG90YWwubWF4KSA9PT0gSW5maW5pdHk7CiAgdG90YWwuc3RkZXYgPSBjYWxjdWxhdGVTdGRldigKICAgIHRvdGFsSGFzTmVnSW5mLAogICAgdG90YWxIYXNQb3NJbmYsCiAgICB0b3RhbC52YXJpYW5jZSwKICAgIGNvcHkubGVuZ3RoLAogICk7CgogIGZvciAoY29uc3QgW2J1Y2tldCwgdmFsdWVzXSBvZiBPYmplY3QuZW50cmllcyhidWNrZXRzKSkgewogICAgaWYgKHNob3VsZFNraXBCdWNrZXQoYnVja2V0TmFOSW5mbywgYnVja2V0KSkgewogICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXModmFsdWVzKSkgewogICAgICAgIHZhbHVlc1trZXldID0gdmFsLnRvU3RyaW5nKCk7CiAgICAgIH0KICAgICAgYnVja2V0c1tidWNrZXRdID0gdmFsdWVzOwogICAgICBjb250aW51ZTsKICAgIH0KICAgIGNvbnN0IHZhbHVlc0hhdmVOZWdJbmYgPSBOdW1iZXIodmFsdWVzLm1pbikgPT09IC1JbmZpbml0eTsKICAgIGNvbnN0IHZhbHVlc0hhdmVQb3NJbmYgPSBOdW1iZXIodG90YWwubWF4KSA9PT0gSW5maW5pdHk7CiAgICB2YWx1ZXMuc3RkZXYgPSBjYWxjdWxhdGVTdGRldigKICAgICAgdmFsdWVzSGF2ZU5lZ0luZiwKICAgICAgdmFsdWVzSGF2ZVBvc0luZiwKICAgICAgdmFsdWVzLnZhcmlhbmNlLAogICAgICB2YWx1ZXMuaXRlbXMubGVuZ3RoLAogICAgKTsKCiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXModmFsdWVzKSkgewogICAgICBpZiAoa2V5ID09PSAibWV0YSIpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICB2YWx1ZXNba2V5XSA9IHZhbC50b1N0cmluZygpOwogICAgfQogICAgLy8gY2xlYXJpbmcgbWVtb3J5CiAgICBkZWxldGUgdmFsdWVzLml0ZW1zOwogICAgZGVsZXRlIHZhbHVlcy52YXJpYW5jZTsKICAgIGJ1Y2tldHNbYnVja2V0XSA9IHZhbHVlczsKICB9CgogIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRvdGFsKSkgewogICAgaWYgKGtleSA9PT0gIm1ldGEiKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgdG90YWxba2V5XSA9IHZhbHVlLnRvU3RyaW5nKCk7CiAgfQoKICBkZWxldGUgdG90YWwuaXRlbXM7CiAgZGVsZXRlIHRvdGFsLnZhcmlhbmNlOwoKICBjb25zdCByZXN1bHQgPSB7IGNvbHVtblR5cGUsIHRvdGFsLCAuLi5idWNrZXRzIH07CiAgcG9zdFJlc3VsdChyZXN1bHQsIHRyYW5zYWN0aW9uKTsKfTsKCmNvbnN0IHBvc3RSZXN1bHQgPSAocmVzdWx0LCB0cmFuc2FjdGlvbikgPT4gewogIC8vIGhhbmRsaW5nIGluIHRlc3RzCiAgaWYgKHRoaXMubW9ja2VkUG9zdE1lc3NhZ2UpIHsKICAgIHRoaXMubW9ja2VkUG9zdE1lc3NhZ2UoeyByZXN1bHQsIHRyYW5zYWN0aW9uIH0pOwogICAgcmV0dXJuOwogIH0KICBwb3N0TWVzc2FnZSh7IHJlc3VsdCwgdHJhbnNhY3Rpb24gfSk7Cn07Cg==",poolSize:8,name:"stats"}].map((function(e){for(var t=e.template,n=e.poolSize,i=e.name,r=[],s=function(e){var n=new Worker(t),i={worker:n,busy:!1};n.onmessage=function(e){return function(e,t){var n=e.data,i=n.transaction,r=n.result,s=Ge[i];t.busy=!1,s(r),delete Ge[i]}(e,i)},r.push(i)},l=0;l=s.length)break;r.push(c),a=s[++l]}}catch(d){o.e(d)}finally{o.f()}return r})),e.abrupt("return",Te(r).map((function(e){var t=e.content.map((function(t,n){return l[n].map((function(t){return t[e.id]}))}));return(0,c.Z)((0,c.Z)({},e),{},{content:t})})));case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Ke=function(e){return e.map((function(e,t){return e.columns.map((function(e,n){var i=e.number_of_significant_digits;return new ne(i,"".concat(t,"-").concat(n))}))}))},Le=function(e,t,n){return function(n,i){var r=i.significantDigits,s=Number(n),l=n.split("."),a=(0,f.Z)(l,2),o=a[0],c=a[1];if(["sum","avg","stdev"].includes(e)){var u,d;if(B(r)&&"sum"!==e)return s.toFixed(2);var h=o.replace(/^0+/,""),g=c||"";""===h&&(g=g.replace(/^0+/,""));var p=t-(null!==(u=null===c||void 0===c?void 0:c.length)&&void 0!==u?u:0),m=r-(h.length+g.length),v=m>0,I=(null!==(d=null===c||void 0===c?void 0:c.length)&&void 0!==d?d:0)+m;if(p>0&&v&&"stdev"!==e)return p>m?s.toFixed(I):s.toFixed(t);if("avg"===e&&!v&&p<0&&"0"===n[n.length-1])return s.toFixed(t);if("stdev"===e&&v)return s.toFixed(I)}return n}},Oe=function(e,t,n){var i=e.map((function(e,i){return e.map((function(e,r){var s,l={columnType:e.columnType},a=(0,g.Z)(n);try{for(a.s();!(s=a.n()).done;){var o,c=s.value,u=e[c];u&&(l[c]=u,null!==(o=null===u||void 0===u?void 0:u.sum)&&void 0!==o&&o&&t[i][r].addDataItem(u.sum))}}catch(d){a.e(d)}finally{a.f()}return l}))}));for(var r in t)for(var s in t[r])t[r][s]=t[r][s].build();return i.map((function(e,n){return e.map((function(e,i){e.columnType;var r=(0,I.Z)(e,ke),s={};if(void 0!==r.total){for(var l=0,a=Object.entries(r);l0){var s=n.map((function(e){return e.colIdx}));r?i.removeFromHiddenCols(t.toolIdx,s):i.addToHiddenCols(t.toolIdx,s)}}))},i.addToHiddenCols=function(e,t){var n=(0,u.Z)(new Set(i.state.hiddenCols[e].concat(t)));i.setHiddenColsForTool(e,n)},i.removeFromHiddenCols=function(e,t){var n=i.state.hiddenCols[e].filter((function(e){return!t.includes(e)}));i.setHiddenColsForTool(e,n)},i.handlePopState=function(){window.history.back()};var r=e.tools.map((function(e){return e.columns})).flat().filter((function(e,t,n){return t===n.findIndex((function(t){return t.display_title===e.display_title}))})).map((function(e){return e.display_title}));return i.state={isButtonOnDeselect:!0,hiddenCols:i.props.hiddenCols,selectableCols:r},i}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){window.history.pushState({},"",""),window.addEventListener("popstate",this.props.close,!1)}},{key:"componentWillUnmount",value:function(){var e=this;window.removeEventListener("popstate",this.props.close,!1);var t={},n=[];Object.entries(this.state.hiddenCols).forEach((function(i){var r=(0,f.Z)(i,2),s=r[0],l=r[1],a=e.props.tools.find((function(e){return e.toolIdx===parseInt(s)})).columns;l.length===a.length?n.push(s):l.length>0?t["hidden"+s]=l.toString():t["hidden"+s]=null})),n.length>0?t.hidden=n.toString():t.hidden=null,O(t,this.props.history)}},{key:"setHiddenColsForTool",value:function(e,t){this.setState((function(n){return{hiddenCols:(0,c.Z)((0,c.Z)({},n.hiddenCols),{},(0,p.Z)({},e,t))}}))}},{key:"render",value:function(){var e=this;rt().setAppElement(document.getElementById("root"));var t=this.props.tools.every((function(t){return t.columns.length===e.state.hiddenCols[t.toolIdx].length}));return(0,j.jsxs)(rt(),{ariaHideApp:!1,className:"overlay",isOpen:!0,onRequestClose:function(){return e.handlePopState()},children:[(0,j.jsx)("div",{className:"link-overlay-header-container",children:(0,j.jsx)(y.G,{icon:st.YIN,onClick:function(){return e.handlePopState()},className:"closing"})}),(0,j.jsx)("h1",{children:"Select the columns to display"}),(0,j.jsx)("table",{className:"selectRows",children:(0,j.jsxs)("tbody",{children:[(0,j.jsxs)("tr",{className:"selectColumn_all",children:[(0,j.jsx)("th",{}),this.renderColumnHeaders()]}),this.renderTools()]})}),(0,j.jsxs)("div",{className:"overlay__buttons",children:[(0,j.jsx)("button",{className:"btn",onClick:this.toggleAllColsHidden,children:this.state.isButtonOnDeselect?"Deselect all":"Select all"}),(0,j.jsx)("button",{className:"btn btn-apply",onClick:function(){return e.handlePopState()},disabled:t,children:"Apply and close"}),(0,j.jsx)("input",{})]})]})}}]),n}(i.Component),at=(n(8350),n(9468)),ot=function(e,t,n,i,r,s){return(0,j.jsxs)("div",{className:"setting".concat(s?" disabled":""),title:r,children:[(0,j.jsxs)("span",{className:"setting-label".concat(r?" with-tooltip":""),children:[e,":"]}),(0,j.jsxs)("select",{className:"setting-select",name:"setting-"+e,value:s?"disabled":t,onChange:n,disabled:s,children:[Object.values(i).map((function(t){return(0,j.jsx)("option",{value:t,name:t+" "+e,children:t},t)})),s?(0,j.jsx)("option",{value:"disabled",name:"disabled",children:"\u2e3a"}):""]})]})},ct=function(e,t,n,i,r){return(0,j.jsxs)("div",{className:"setting",title:r,children:[(0,j.jsxs)("span",{className:"setting-label".concat(r?" with-tooltip":""),children:[e,":"]}),(0,j.jsx)("select",{id:"setting-"+e,className:"setting-select",name:"setting-"+e,value:t,onChange:n,children:Object.entries(i).map((function(t){var n=(0,f.Z)(t,2),i=n[0],r=n[1];return(0,j.jsx)("optgroup",{label:i,children:r.map((function(t){return(0,j.jsx)("option",{value:t.value,name:t.name+" "+e,children:t.name},t.value)}))},i)}))})]})};function ut(e,t,n){var i=[1e8,1e7,1e6,1e5,1e4].find((function(e){return t>e})),r=i?i/1e3:1;return Array(Math.ceil(t/r)).fill().map((function(e,t){return t*r})).filter((function(t){return t>=e})).map((function(e){var t=n(e);return[Number.parseFloat(t[0].toPrecision(4)),Number.parseFloat(t[1].toPrecision(4))]}))}var dt=n(4391),ht=n.n(dt),gt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).refreshUrlState=function(){i.setState(i.setup())},i.checkForNumericalSelections=function(){return"ordinal"!==i.handleType(i.state.toolY,i.state.columnY)&&"ordinal"!==i.handleType(i.state.toolX,i.state.columnX)},i.renderData=function(){var e=[];i.hasInvalidLog=!1,i.state.areAllColsHidden||i.props.table.forEach((function(t){var n=t.results[i.state.toolX],r=t.results[i.state.toolY],s=n.values[i.state.columnX].raw,l=r.values[i.state.columnY].raw,a=void 0!==s&&null!==s&&void 0!==l&&null!==l,o=i.state.results===i.resultsOptions.correct;a&&(!o||o&&"correct"===n.category&&"correct"===r.category)&&(i.state.scaling===i.scalingOptions.logarithmic&&(s<=0||l<=0)?i.hasInvalidLog=!0:e.push({x:s,y:l,info:i.props.getRowName(t)}))})),i.setMinMaxValues(e),i.lineCount=e.length,i.dataArray=e;var t=i.state.regression!==i.regressionOptions.none,n=i.checkForNumericalSelections();if(t)if(0!==i.lineCount&&n){var r=e.map((function(e){return[parseFloat(e.x),parseFloat(e.y)]})),s=ht().linear(r),l=function(e,t,n,i,r){var s=function(e){return e[0]},l=function(e){return e[1]},a=function(e,t){return e+t};i=Math.floor(i),r=Math.ceil(r);var o=Math.sqrt(e.map((function(e,n){return[l(e),l(t[n])]})).map((function(e){return Math.pow(e[1]-e[0],2)})).reduce(a)/e.length),c=e.map((function(e){return s(e)})).reduce(a)/e.length,u=Math.sqrt(e.map((function(e){return Math.pow(s(e)-c,2)})).reduce(a)/e.length),d=ut(i,r,n),h=0===o||0===u?d.map((function(e){return 0})):d.map((function(t){return Number.parseFloat((1.96*o*Math.sqrt(1/e.length+Math.pow(s(t)-c,2)/((e.length-1)*Math.pow(u,2)))).toPrecision(4))}));return{upperBorderData:d.map((function(e,t){return[s(e),l(e)+h[t]]})),lowerBorderData:d.map((function(e,t){return[s(e),l(e)-h[t]]}))}}(r,s.points,s.predict,i.minX,i.maxX),a=[[i.minX,s.predict(i.minX)[1]],[i.maxX,s.predict(i.maxX)[1]]];s.points=Array.from(new Set(s.points.map(JSON.stringify)),JSON.parse).concat(a);var o=i.props.tools[i.state.toolX].columns[i.state.columnX].unit,c=i.props.tools[i.state.toolY].columns[i.state.columnY].unit,u="Estimation technique: ordinary least squares (OLS)\n Predictor variable (X-Axis) in ".concat(o,": ").concat(i.state.nameX,"\n Response variable (Y-Axis) in ").concat(c,": ").concat(i.state.nameY,"\n Regression coefficient: ").concat(s.equation[0],"\n Intercept: ").concat(s.equation[1],"\n Equation: ").concat(s.string,"\n Coefficient of Determination: ").concat(s.r2).replace(/^ +/gm,"");i.regressionData={regression:s,text:u,upperConfidenceBorderData:l.upperBorderData,lowerConfidenceBorderData:l.lowerBorderData}}else O({regression:i.regressionOptions.none})},i.setMinMaxValues=function(e){var t=e.map((function(e){return e.x})),n=e.map((function(e){return e.y}));i.maxX=i.findMaxValue(t),i.maxY=i.findMaxValue(n),i.minX=i.findMinValue(t),i.minY=i.findMinValue(n)},i.findMaxValue=function(e){var t=Math.max.apply(Math,(0,u.Z)(e));return t<3?3:t},i.findMinValue=function(e){var t=Math.min.apply(Math,(0,u.Z)(e));return t>2?1:t},i.renderRegressionLine=function(e){var t=i.prepareRegressionLineData(e);return(0,j.jsx)(at.LU,{className:"regression-line",data:t,style:{stroke:"green"},onValueMouseOver:function(e,t){return i.setState({value:e})},onValueMouseOut:function(e,t){return i.setState({value:null})},opacity:"0"},"reg-line-"+e)},i.renderConfidenceIntervalLine=function(e,t){var n=i.prepareLineData(e);return(0,j.jsx)(at.eh,{className:"regression-line",data:n,style:{stroke:"gray"}},"conf-line-".concat(t,"-").concat(e))},i.prepareRegressionLineData=function(e){return e.sort((function(e,t){return e[0]-t[0]})).map((function(e,t){var n=Math.round(100*i.regressionData.lowerConfidenceBorderData[t][1])/100,r=Math.round(100*i.regressionData.upperConfidenceBorderData[t][1])/100;return{x:e[0],y:e[1],"95% Confidence Interval":"[".concat(n,",").concat(r,"]")}})).sort((function(e,t){return e.x-t.x}))},i.prepareLineData=function(e){return e.map((function(e){return{x:e[0],y:e[1]}})).sort((function(e,t){return e.x-t.x}))},i.handleType=function(e,t){var n=i.props.tools[e].columns[t].type;return"text"===n||"status"===n?"ordinal":i.state.scaling===i.scalingOptions.logarithmic?"log":"linear"},i.extractAxisInfoByName=function(e,t){var n,r=e.split("-"),s=(0,f.Z)(r,2),l=s[0],a=s[1];return n={},(0,p.Z)(n,"data".concat(t),e),(0,p.Z)(n,"tool".concat(t),l),(0,p.Z)(n,"column".concat(t),a),(0,p.Z)(n,"name".concat(t),i.props.tools[l].columns.find((function(e){return e.colIdx===parseInt(a)})).display_title+" ("+H(i.props.tools[l])+")"),n},i.setAxis=function(e,t){var n;i.array=[];var r=e.target.value.split("-"),s=(0,f.Z)(r,2),l=s[0],a=s[1];a=a.replace("___","-"),O((n={},(0,p.Z)(n,"tool".concat(t),l),(0,p.Z)(n,"column".concat(t),a),n))},i.swapAxes=function(){i.array=[],O({toolX:i.state.toolY,toolY:i.state.toolX,columnX:i.state.columnY,columnY:i.state.columnX})},i.scalingOptions={linear:"Linear",logarithmic:"Logarithmic"},i.resultsOptions={all:"All",correct:"Correct only"},i.regressionOptions={none:"None",linear:"Linear"},i.lineOptgroupOptions={"f(x) = cx and f(x) = x/c":[{name:"c = 1.1",value:1.1},{name:"c = 1.2",value:1.2},{name:"c = 1.5",value:1.5},{name:"c = 2",value:2},{name:"c = 3",value:3},{name:"c = 4",value:4},{name:"c = 5",value:5},{name:"c = 6",value:6},{name:"c = 7",value:7},{name:"c = 8",value:8},{name:"c = 9",value:9},{name:"c = 10",value:10},{name:"c = 100",value:100},{name:"c = 1000",value:1e3},{name:"c = 10000",value:1e4},{name:"c = 100000",value:1e5},{name:"c = 1000000",value:1e6}]},i.defaultValues={scaling:i.scalingOptions.logarithmic,results:i.resultsOptions.correct,regression:i.regressionOptions.none,line:Object.values(i.lineOptgroupOptions)[0][11].value},i.state=i.setup(),i.maxX="",i.minX="",i.lineCount=1,i}return(0,l.Z)(n,[{key:"setup",value:function(){var e,t,n,i=H(this.props.tools[0])+" "+this.props.columns[0][1],r=(0,c.Z)((0,c.Z)({},this.defaultValues),X()),s=r.results,l=r.scaling,a=r.toolX,o=r.toolY,u=r.columnX,d=r.columnY,h=r.line,g=r.regression;if(B(a)||B(u)){var p=re(this.props.tools,this.props.hiddenCols),m=(0,f.Z)(p,2),v=m[0],I=m[1];n=void 0===v,a=v,e="".concat(v,"-").concat(I)}else n=!1,e="".concat(a,"-").concat(u);if(B(o)||B(d)){var b=re(this.props.tools,this.props.hiddenCols),C=(0,f.Z)(b,2),x=C[0],y=C[1];n=void 0===x,o=x,t="".concat(x,"-").concat(y)}else n=!1,t="".concat(o,"-").concat(d);var Z={dataX:e,dataY:t,results:s,scaling:l,regression:g,toolX:0,toolY:0,line:h,columnX:1,columnY:1,nameX:i,nameY:i,value:!1,areAllColsHidden:n};return e&&!n&&(Z=(0,c.Z)((0,c.Z)({},Z),this.extractAxisInfoByName(e,"X"))),t&&!n&&(Z=(0,c.Z)((0,c.Z)({},Z),this.extractAxisInfoByName(t,"Y"))),Z}},{key:"componentDidMount",value:function(){window.addEventListener("popstate",this.refreshUrlState)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("popstate",this.refreshUrlState)}},{key:"renderAllSettings",value:function(){var e=this,t=this.props.tools.reduce((function(t,n,i){return Object.assign(t,(0,p.Z)({},H(n),n.columns.filter((function(t){return!e.props.hiddenCols[i].includes(t.colIdx)})).map((function(e,t){return{name:e.display_title,value:i+"-"+e.colIdx}}))))}),{});return(0,j.jsx)("div",{className:"settings-container",children:(0,j.jsxs)("div",{className:"settings-border-container",children:[(0,j.jsxs)("div",{className:"settings-subcontainer flexible-width",children:[ct("X-Axis",this.state.dataX,(function(t){return e.setAxis(t,"X")}),t),(0,j.jsx)("span",{className:"setting icon",children:(0,j.jsx)(y.G,{icon:st.Ssp,onClick:function(){return e.swapAxes()}})}),ct("Y-Axis",this.state.dataY,(function(t){return e.setAxis(t,"Y")}),t)]}),(0,j.jsxs)("div",{className:"settings-subcontainer",children:[ot("Scaling",this.state.scaling,(function(e){return O({scaling:e.target.value})}),this.scalingOptions),ot("Results",this.state.results,(function(e){return O({results:e.target.value})}),this.resultsOptions,"In addition to which results are selected here, any filters will still be applied."),(0,j.jsx)("div",{className:"settings-subcontainer",children:ct("Aux. Lines",this.state.line,(function(e){return O({line:e.target.value})}),this.lineOptgroupOptions,"Adds the two auxiliary lines f(x) = cx and f(x) = x/c to the plot, with c being the chosen factor in the dropdown.")})]}),(0,j.jsx)("div",{className:"settings-subcontainer",children:ot("Regression",this.state.regression,(function(t){e.checkForNumericalSelections()?O({regression:t.target.value}):alert("Regressions are only available for numerical selections.")}),this.regressionOptions,this.state.regression!==this.regressionOptions.none&&this.regressionData?this.regressionData.text:void 0)})]})})}},{key:"renderRegressionAndConfidenceIntervals",value:function(){var e=ut(Math.floor(this.minX),Math.ceil(this.maxX),this.regressionData.regression.predict);return[this.renderConfidenceIntervalLine(this.regressionData.upperConfidenceBorderData,"upper"),this.renderConfidenceIntervalLine(this.regressionData.lowerConfidenceBorderData,"lower"),this.renderRegressionLine(e)]}},{key:"render",value:function(){var e=this;this.renderData();var t=this.state.scaling===this.scalingOptions.linear,n=this.props.isFlexible?at.wu:at.dp,i=this.props.isFlexible?{height:window.innerHeight-200}:{height:1e3,width:1500},r=this.maxX>this.maxY?this.maxX:this.maxY;return(0,j.jsxs)("div",{className:"scatterPlot",children:[!this.state.areAllColsHidden&&this.renderAllSettings(),(0,j.jsxs)(n,(0,c.Z)((0,c.Z)({className:"scatterPlot__plot",margin:{left:90},yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX),xDomain:"ordinal"!==this.handleType(this.state.toolX,this.state.columnX)?[this.minX,this.maxX]:null,yDomain:"ordinal"!==this.handleType(this.state.toolY,this.state.columnY)?[this.minY,this.maxY]:null},i),{},{children:[(0,j.jsx)(at.pW,{yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(at.xL,{yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(at.Ci,{className:"middle-line",axisStart:{x:t?0:1,y:t?0:1},axisEnd:{x:r,y:r},axisDomain:[0,1e10],style:{ticks:{stroke:"#009440",opacity:0},text:{stroke:"none",fill:"#009440",fontWeight:600,opacity:0}}}),(0,j.jsx)(at.Ci,{axisStart:{x:t?0:this.state.line,y:t?0:1},axisEnd:{x:this.maxX,y:this.maxX/this.state.line},axisDomain:[0,1e10],style:{ticks:{stroke:"#ADDDE1",opacity:0},text:{stroke:"none",fill:"#6b6b76",fontWeight:600,opacity:0}}}),(0,j.jsx)(at.Ci,{axisStart:{x:t?0:1,y:t?0:this.state.line},axisEnd:{x:this.maxX,y:this.maxX*this.state.line},axisDomain:[0,1e10],style:{ticks:{stroke:"#ADDDE1",opacity:0},text:{stroke:"none",fill:"#6b6b76",fontWeight:600,opacity:0}}}),(0,j.jsx)(at.Kc,{title:this.state.nameX,tickFormat:function(e){return e},yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(at.B2,{title:this.state.nameY,tickFormat:function(e){return e},yType:this.handleType(this.state.toolY,this.state.columnY),xType:this.handleType(this.state.toolX,this.state.columnX)}),(0,j.jsx)(at.e9,{data:this.dataArray,onValueMouseOver:function(t,n){return e.setState({value:t})},onValueMouseOut:function(t,n){return e.setState({value:null})}}),this.state.regression!==this.regressionOptions.none&&this.checkForNumericalSelections()&&this.regressionData&&0!==this.lineCount&&this.renderRegressionAndConfidenceIntervals(),this.state.value?(0,j.jsx)(at.kW,{value:this.state.value}):null]})),this.state.areAllColsHidden?(0,j.jsx)("div",{className:"plot__noresults",children:"No columns to show!"}):0===this.lineCount&&(0,j.jsxs)("div",{className:"plot__noresults",children:["No"," ",this.state.results===this.resultsOptions.correct&&"correct"," ","results",this.props.table.length>0&&" with valid data points",this.hasInvalidLog&&" (negative values are not shown in logarithmic plot)"]})]})}}]),n}(i.Component),ft=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).isColRelevantForTool=function(e,t){return i.isColVisible(t,e)&&"text"!==e.type&&"status"!==e.type},i.isToolRelevantForCol=function(e,t){var n=e.columns.find((function(e){return e.display_title===t}));return i.isToolVisible(e)&&n&&i.isColVisible(e.toolIdx,n.colIdx)},i.isColVisibleInAnyTool=function(e){return i.props.tools.some((function(t){return t.columns.some((function(n){return n.colIdx===e.colIdx&&i.isColVisible(t.toolIdx,n.colIdx)}))}))},i.isInVisibleRunsetSupportingScore=function(e){return i.props.tools.filter((function(e){return i.isToolVisible(e)})).some((function(t){return t.scoreBased&&t.columns.some((function(t){return t.display_title===e}))}))},i.isToolVisible=function(e){return e.columns.length!==i.props.hiddenCols[e.toolIdx].length},i.isColVisible=function(e,t){return!i.props.hiddenCols[e].includes(t)},i.updateDimensions=function(){i.setState({height:window.innerHeight})},i.refreshUrlState=function(){i.setState(i.setPlotData())},i.renderLegend=function(){if(i.state.isValue)return i.props.tools.filter((function(e){return i.isToolRelevantForCol(e,i.state.selection)})).map(H).map((function(e){return{title:e,disabled:i.state.isInvisible.some((function(t){return t===e})),strokeWidth:4}}));var e=i.props.tools[i.state.selection.split("-")[1]];return i.state.areAllColsHidden?[]:e.columns.filter((function(t){return i.isColRelevantForTool(t.colIdx,e.toolIdx)})).map((function(e){return{title:e.display_title,disabled:i.state.isInvisible.some((function(t){return t===e.display_title})),strokeWidth:4}}))},i.renderAll=function(){var e=i.state.selection;if(i.state.isValue){var t=i.state.plot===i.plotOptions.scoreBased?i.props.tools.filter((function(e){return e.scoreBased})):i.props.tools;t.forEach((function(t){return i.renderData(e,t.toolIdx,e+t.toolIdx)}))}else if(!i.state.areAllColsHidden){var n=i.state.selection.split("-")[1],r=i.props.tools[n];r.columns.filter((function(e){return i.isColRelevantForTool(e.colIdx,r.toolIdx)&&i.isColVisible(r.toolIdx,e.colIdx)})).forEach((function(e){return i.renderData(e.display_title,n,e.display_title)}))}},i.renderData=function(e,t,n){var r=i.state.plot===i.plotOptions.scoreBased,s="ordinal"===i.handleType(),l=i.props.tools[t].columns.findIndex((function(t){return t.display_title===e})),a=[],o=0;(!i.state.isValue||l>=0&&i.isColVisible(t,l))&&(a=i.props.table.map((function(e){var n=e.results[t],a=null;return"correct"===n.category||!i.state.isResultSelectionDisabled&&i.state.results!==i.resultsOptions.correct?(a=n.values[l].raw||null,s||null===a||(a=isFinite(+a)?+a:null)):r&&n.score&&"correct"!==n.category&&(o+=n.score),{value:a,rowName:i.props.getRowName(e),score:n.score}})),i.state.plot!==i.plotOptions.direct&&(a=a.filter((function(e){return null!==e.value})),a=i.sortArray(a,e))),i.hasInvalidLog=!1;var c=[],u=r?o:0;a.forEach((function(n){var s=n.value,l=n.rowName,a=n.score,o=i.state.scaling===i.scalingOptions.logarithmic&&s<=0;u+=r?a:1,null===s||o||c.push({x:u,y:s,task:l,series:i.state.isValue?H(i.props.tools[t]):e}),o&&(i.hasInvalidLog=!0)})),i[n]=c},i.sortArray=function(e,t){var n=i.possibleValues.find((function(e){return e.display_title===t}));return i.state.isValue&&["text","status"].includes(n.type)?e.sort((function(e,t){return e.value>t.value?1:t.value>e.value?-1:0})):e.sort((function(e,t){return+e.value-+t.value}))},i.renderColumns=function(){return i.possibleValues.map((function(e){var t=i.state.plot===i.plotOptions.scoreBased&&!i.isInVisibleRunsetSupportingScore(e.display_title);return(0,j.jsx)("option",{value:e.display_title,name:e.display_title,disabled:t,className:t?"disabled":"",children:e.display_title},e.display_title)}))},i.renderLines=function(){i.lineCount=0;var e=function(){return T[(i.lineCount-1)%T.length]};if(i.state.isValue)return i.props.tools.map((function(t,n){if(!i.isToolRelevantForCol(t,i.state.selection)||i.state.plot===i.plotOptions.scoreBased&&!t.scoreBased)return null;var r=i.state.selection,s=i[r+n],l=H(t);return i.lineCount++,(0,j.jsx)(at.LU,{data:s,color:e(),opacity:i.handleLineState(l),onValueMouseOver:function(e,t){return i.setState({value:e})},onValueMouseOut:function(e,t){return i.setState({value:null})}},l)})).filter((function(e){return!!e}));if(!i.state.areAllColsHidden){var t=i.state.selection.split("-")[1],n=i.props.tools[t];return n.columns.filter((function(e){return i.isColRelevantForTool(e.colIdx,n.toolIdx)})).map((function(t){var n=i[t.display_title];return i.lineCount++,(0,j.jsx)(at.LU,{data:n,color:e(),opacity:i.handleLineState(t.display_title),onValueMouseOver:function(e,t){return i.setState({value:e})},onValueMouseOut:function(e,t){return i.setState({value:null})}},t.display_title)}))}},i.handleLineState=function(e){return i.state.isInvisible.indexOf(e)<0?1:0},i.toggleShow=function(e){var t=e.target;i.setState((0,p.Z)({},t.name,t.checked))},i.handleType=function(){var e=i.state.selection,t=i.possibleValues.findIndex((function(t){return t.display_title===e})),n=i.state.isValue&&t>=0?i.possibleValues[t].type:null;return!i.state.isValue||"text"!==n&&"status"!==n?i.state.scaling===i.scalingOptions.linear?"linear":"log":"ordinal"},i.plotOptions={quantile:"Quantile Plot",direct:"Direct Plot"},i.scalingOptions={linear:"Linear",logarithmic:"Logarithmic"},i.resultsOptions={all:"All",correct:"Correct only"},i.defaultValues={plot:i.plotOptions.quantile,scaling:i.scalingOptions.logarithmic,results:i.resultsOptions.correct},i.checkForScoreBasedPlot(),i.possibleValues=[],i.lineCount=1,i.state=i.setPlotData(),i}return(0,l.Z)(n,[{key:"setPlotData",value:function(){var e=this,t=X(),n=(0,c.Z)((0,c.Z)({},this.defaultValues),t),i=n.selection,r=n.plot,s=n.scaling,l=n.results,a=i,o=this.props.tools.map((function(e){return e.toolIdx})).join(""),u=new RegExp("runset-["+o+"]"),d=void 0===i||!u.test(i);if(i=d?this.getColumnSelection(i):this.getRunsetSelection(i),r===this.plotOptions.scoreBased&&(d&&!this.isInVisibleRunsetSupportingScore(i)||!d)){this.setPossibleValues();var h=this.possibleValues.find((function(t){return"status"!==t.type&&e.isInVisibleRunsetSupportingScore(t.display_title)}));h||(h=this.possibleValues.find((function(t){return e.isInVisibleRunsetSupportingScore(t.display_title)}))),i=h?h.display_title:i,d=!0}return a&&i&&a!==i&&O({selection:i}),{selection:i,plot:r,scaling:s,results:l,isValue:d,isInvisible:[],areAllColsHidden:void 0===i,isResultSelectionDisabled:r===this.plotOptions.scoreBased}}},{key:"getColumnSelection",value:function(e){var t=e?this.props.tools.map((function(e){return e.columns})).flat().find((function(t){return t.display_title===e})):this.props.preSelection;if(!t||!this.isColVisibleInAnyTool(t)){var n=re(this.props.tools,this.props.hiddenCols),i=(0,f.Z)(n,2),r=i[0],s=i[1];t=void 0!==r?this.props.tools.find((function(e){return e.toolIdx===r})).columns.find((function(e){return e.colIdx===s})):void 0}return t&&t.display_title}},{key:"getRunsetSelection",value:function(e){var t=this,n=parseInt(e.split("-")[1]);return this.props.tools.find((function(e){return e.toolIdx===n})).columns.some((function(e){return t.isColVisible(n,e.colIdx)}))||(n=re(this.props.tools,this.props.hiddenCols)[0]),void 0!==n?"runset-"+n:void 0}},{key:"checkForScoreBasedPlot",value:function(){var e=this;this.props.tools.some((function(t){return t.scoreBased&&e.isToolVisible(t)}))&&(this.plotOptions=(0,c.Z)({scoreBased:"Score-based Quantile Plot"},this.plotOptions),this.props.tools.every((function(t){return t.scoreBased&&e.isToolVisible(t)}))&&(this.defaultValues.plot=this.plotOptions.scoreBased))}},{key:"componentDidMount",value:function(){window.addEventListener("resize",this.updateDimensions),window.addEventListener("popstate",this.refreshUrlState)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.updateDimensions),window.removeEventListener("popstate",this.refreshUrlState)}},{key:"setPossibleValues",value:function(){var e=this;this.props.tools.forEach((function(t){t.columns.forEach((function(n){e.isColVisible(t.toolIdx,n.colIdx)&&!e.possibleValues.some((function(e){return e.display_title===n.display_title}))&&e.possibleValues.push(n)}))}))}},{key:"renderAllSettings",value:function(){var e=this,t=this.state.plot===this.plotOptions.scoreBased?"Score-based Quantile Plots always show correct results offset by the score of wrong results. Any defined filters will still be applied.":"In addition to which results are selected here, any defined filters will still be applied.";return(0,j.jsxs)("div",{className:"settings-legend-container",children:[(0,j.jsx)("div",{className:"settings-container",children:(0,j.jsxs)("div",{className:"settings-border-container",children:[(0,j.jsxs)("div",{className:"settings-subcontainer flexible-width",children:[(0,j.jsxs)("div",{className:"setting flexible-width",children:[(0,j.jsx)("span",{className:"setting-label",children:"Selection:"}),(0,j.jsxs)("select",{className:"setting-select",name:"setting-Selection",value:this.state.selection,onChange:function(e){return O({selection:e.target.value})},children:[(0,j.jsx)("optgroup",{label:"Runsets",children:this.props.tools.map((function(t,n){var i=e.state.plot===e.plotOptions.scoreBased;return e.isToolVisible(t)?(0,j.jsx)("option",{value:"runset-"+n,name:"Runset "+n,disabled:i,className:i?"disabled":"",children:H(t)},"runset-"+n):null}))}),(0,j.jsx)("optgroup",{label:"Columns",children:this.renderColumns()})]})]}),ot("Plot",this.state.plot,(function(e){return O({plot:e.target.value})}),this.plotOptions)]}),(0,j.jsxs)("div",{className:"settings-subcontainer",children:[ot("Scaling",this.state.scaling,(function(e){return O({scaling:e.target.value})}),this.scalingOptions),ot("Results",this.state.results,(function(e){return O({results:e.target.value})}),this.resultsOptions,t,this.state.isResultSelectionDisabled)]})]})}),(0,j.jsx)("div",{children:(0,j.jsx)(at.Ri,{colors:T,items:this.renderLegend(),onItemClick:function(t,n){var i;if(i=t.title.toString(),!(e.state.isInvisible.indexOf(i)<0))return e.setState({isInvisible:e.state.isInvisible.filter((function(e){return e!==i}))});e.setState({isInvisible:e.state.isInvisible.concat([i])})}})})]})}},{key:"render",value:function(){this.setPossibleValues(),this.renderAll();var e=this.props.isFlexible?at.wu:at.dp,t=this.props.isFlexible?{height:window.innerHeight-200}:{height:1e3,width:1500};return(0,j.jsxs)("div",{className:"quantilePlot",children:[!this.state.areAllColsHidden&&this.renderAllSettings(),(0,j.jsxs)(e,(0,c.Z)((0,c.Z)({margin:{left:90},yType:this.handleType()},t),{},{children:[(0,j.jsx)(at.pW,{}),(0,j.jsx)(at.xL,{}),(0,j.jsx)(at.Kc,{tickFormat:function(e){return e}}),(0,j.jsx)(at.B2,{tickFormat:function(e){return e}}),this.state.value?(0,j.jsx)(at.kW,{value:this.state.value}):null,this.renderLines()]})),this.state.areAllColsHidden?(0,j.jsx)("div",{className:"plot__noresults",children:"No columns to show!"}):0===this.lineCount&&(0,j.jsx)("div",{className:"plot__noresults",children:this.hasInvalidLog?"All results have undefined values":"No correct results"})]})}}]),n}(i.Component),pt=n(8282),mt=(n(8995),(0,pt.u7)(pt.ZP.Range)),vt=500,It=setTimeout((function(){}),vt),bt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;(0,s.Z)(this,n),i=t.call(this,e);var r=e.filter||{values:[]},l=r.values,a=r.min,o=r.max,c=r.type,u=r.number_of_significant_digits,d=0,h=0;if("measure"===c||"number"===c){var g=new ne(u).build();d=g(a),h=g(o);var f=l&&l[0];if(f&&f.includes(":")){var p=i.handleMinMaxValue(f,u);d=p.min,h=p.max}}return i.state={title:e.availableFilters&&e.availableFilters.length?e.availableFilters[0].title:"",values:[],idx:k(["availableFilters",0,"idx"],0,e),active:!0,selectedDistincts:[],sliderMin:d,sliderMax:h,numericMin:null,numericMax:null},i}return(0,l.Z)(n,[{key:"sendFilterUpdate",value:function(e){var t=this.props.filter,n=t.type,i=t.categories;i&&i.includes("empty ")&&!e.includes(xe)&&(e=e.concat(xe)),0===e.length&&"status"===n?this.props.onFilterUpdate({values:[W],title:this.state.title||this.props.title}):this.props.onFilterUpdate({values:e,title:this.state.title||this.props.title})}},{key:"componentDidUpdate",value:function(e,t){if(this.props.filter&&(!e.filter||e.filter.values!==this.props.filter.values)){var n=this.props.filter,i=n.values,r=n.number_of_significant_digits,s=(0,f.Z)(i,1)[0];if(s&&s.includes(":")){var l=this.handleMinMaxValue(s,r),a=l.min,o=l.max;this.setState({sliderMin:a,sliderMax:o,numericMin:a,numericMax:o})}}}},{key:"handleMinMaxValue",value:function(e,t){var n=new ne(t).build(),i=this.props.filter||{min:0,max:1/0},r=i.min,s=i.max,l=e.split(":"),a=(0,f.Z)(l,2),o=a[0],c=a[1];return{min:""!==o.trim()?o:n(r),max:""!==c.trim()?c:n(s)}}},{key:"handleNumberChange",value:function(e,t){var n,i,r={};if(r.sliderMin=Number(null!==(n=this.state.numericMin)&&void 0!==n?n:this.state.sliderMin),r.sliderMax=Number(null!==(i=this.state.numericMax)&&void 0!==i?i:this.state.sliderMax),r.sliderMin>r.sliderMax){var s=r.sliderMax;r.sliderMax=r.sliderMin,r.sliderMin=s}var l=r.sliderMin<=Number(e)?"":r.sliderMin,a=r.sliderMax>=Number(t)?"":r.sliderMax;r.values=["".concat(l,":").concat(a)],this.setState(r),this.sendFilterUpdate(r.values)}},{key:"render",value:function(){var e=this,t=this.props,n=t.filter,r=t.editable,s=t.availableFilters,l=i.createRef();return(0,j.jsxs)("div",{className:"filter-card",children:[function(t,i){return(0,j.jsx)("div",{className:"filter-card--header",children:i?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("span",{style:{marginLeft:"12px"},children:"Add filter for: "}),(0,j.jsxs)("select",{className:"filter-selection",defaultValue:"-1",ref:l,onChange:function(t){var n=t.target.value;-1!==n&&(e.setState({idx:-1,active:!0}),l.current.value="-1",e.props.addFilter(n))},children:[(0,j.jsx)("option",{value:"-1",disabled:!0,children:"Column"}),s.map((function(e){var t=e.idx,n=e.display_title;return(0,j.jsx)("option",{value:t,children:n},t)}))]})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("h4",{className:"title",children:"".concat(n.display_title," ").concat(n.unit?"("+n.unit+")":"")}),(0,j.jsx)(y.G,{className:"delete-button",icon:st.$aW,onClick:function(){e.props.removeFilter()}})]})})}(this.props.name,r),function(t){if(!t)return null;var n,r=t.title,s=t.type,l=t.number_of_significant_digits,a=t.categories,o=t.statuses,c=t.values,d=void 0===c?[]:c,h=t.min,g=t.max,p=i.createRef();if("status"===s)n=(0,j.jsxs)(j.Fragment,{children:[e.props.filter.categories&&e.props.filter.categories.includes("empty ")&&(0,j.jsxs)("div",{className:"filter-card--body--empty-rows",children:["Empty rows"," ",(0,j.jsx)("input",{type:"checkbox",name:"empty-rows",ref:p,checked:d.includes("empty "),onChange:function(t){var n="empty ";if(t.target.checked){var i=[].concat((0,u.Z)(d),[n]);e.setState({values:i}),e.sendFilterUpdate(i)}else{var r=S(n,d);e.setState({values:r}),e.sendFilterUpdate(r)}}})]}),"Category",(0,j.jsx)("ul",{className:"filter-card--body--list",children:a.filter((function(e){return"empty "!==e})).sort().map((function(t){var n=i.createRef();return(0,j.jsxs)("li",{children:[(0,j.jsx)("input",{type:"checkbox",name:"cat-".concat(t),checked:d.includes(t),ref:n,onChange:function(n){if(n.target.checked){var i=[].concat((0,u.Z)(d),[t]);e.setState({values:i}),e.sendFilterUpdate(i)}else{var r=S(t,d);e.setState({values:r}),e.sendFilterUpdate(r)}}}),(0,j.jsx)("label",{htmlFor:"cat-".concat(t),onClick:function(){return n.current.click()},className:t,children:t})]},t)}))}),"Status",(0,j.jsx)("ul",{className:"filter-card--body--list",children:o.sort().map((function(t){var n=i.createRef();return(0,j.jsxs)("li",{children:[(0,j.jsx)("input",{type:"checkbox",name:"stat-".concat(t),ref:n,checked:d.includes(t),onChange:function(n){if(n.target.checked){var i=[].concat((0,u.Z)(d),[t]);e.setState({values:i}),e.sendFilterUpdate(i)}else{var r=S(t,d);e.setState({values:r}),e.sendFilterUpdate(r)}}}),(0,j.jsx)("label",{htmlFor:"stat-".concat(t),onClick:function(){return n.current.click()},children:t})]},t)}))})]});else if("text"===s){var m=(0,f.Z)(d,1)[0];n=(0,j.jsx)("input",{type:"text",name:"text-".concat(r),placeholder:"Search for value",value:m,onChange:function(t){var n=t.target.value;clearTimeout(It),e.setState({values:[n]}),It=setTimeout((function(){e.sendFilterUpdate([n])}),vt)}})}else{var v=new ne(l).build();h=v(h),g=v(g);var I=le(h),b=le(g),C=I.length>b.length?I:b;n=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("div",{className:"filter-card--range-container",children:[(0,j.jsx)("b",{children:h}),(0,j.jsx)("b",{children:g})]}),(0,j.jsx)(mt,{min:Number(h),max:Number(g),step:C,defaultValue:[Number(h),Number(g)],value:[Number(e.state.sliderMin),Number(e.state.sliderMax)],onChange:function(t){var n=(0,f.Z)(t,2),i=n[0],r=n[1];e.setState({sliderMin:v(i),sliderMax:v(r)})},onAfterChange:function(t){var n=(0,f.Z)(t,2),i=n[0],r=n[1],s=v(i),l=v(r),a=s===h?"":s,o=l===g?"":l;e.setState({sliderMin:s,sliderMax:l,numericMin:i,numericMax:r,values:["".concat(a,":").concat(o)]}),e.sendFilterUpdate(["".concat(a,":").concat(o)])}}),(0,j.jsxs)("div",{className:"filter-card--range-input-fields",children:[(0,j.jsx)("label",{className:"range-input-fields--min",htmlFor:"inp-".concat(r,"-min"),children:"minimum"}),(0,j.jsx)("label",{className:"range-input-fields--max",htmlFor:"inp-".concat(r,"-max"),children:"maximum"}),(0,j.jsx)("input",{type:"number",name:"inp-".concat(r,"-min"),value:null!==e.state.numericMin?e.state.numericMin:e.state.sliderMin,lang:"en-US",step:C,onChange:function(t){var n=t.target.value;e.numericMinTimeout&&clearTimeout(e.numericMinTimeout),e.setState({numericMin:n}),e.numericMinTimeout=setTimeout((function(){return e.handleNumberChange(h,g)}),vt)}}),(0,j.jsx)("input",{type:"number",name:"inp-".concat(r,"-max"),step:C,lang:"en-US",value:null!==e.state.numericMax?e.state.numericMax:e.state.sliderMax,onChange:function(t){var n=t.target.value;e.numericMaxTimeout&&clearTimeout(e.numericMaxTimeout),e.setState({numericMax:n}),e.numericMaxTimeout=setTimeout((function(){return e.handleNumberChange(h,g)}),vt)}})]})]})}return(0,j.jsx)("div",{className:"filter-card--body",children:n})}(this.props.filter)]})}}]),n}(i.PureComponent),Ct=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;(0,s.Z)(this,n),i=t.call(this,e);var r=e.filters,l=e.toolName,a=e.currentFilters;for(var o in a)r[o]=(0,c.Z)((0,c.Z)((0,c.Z)({},r[o]),a[o]),{},{touched:r[o].touched+1,filtering:!0});return i.props.resetFilterHook((function(){return i.resetAllFilters()})),i.state={filters:r,toolName:l,addingFilter:!1,numCards:0},i}return(0,l.Z)(n,[{key:"getActiveFilters",value:function(){return this.state.filters.filter((function(e){return e.filtering})).sort((function(e,t){return e.numCards-t.numCards}))}},{key:"setFilter",value:function(e,t){var n=e.title,i=e.values,r=e.filtering,s=void 0===r||r,l=this.state.filters;l[t].values=i,l[t].filtering=s,l[t].touched+=1,this.setState({filters:(0,u.Z)(l)}),this.props.updateFilters({title:n,values:i},t)}},{key:"addFilter",value:function(e){var t=this.state,n=t.filters,i=t.numCards,r={filtering:!0,numCards:i,touched:0};"status"===n[e].type&&(r.values=[].concat((0,u.Z)(n[e].categories),(0,u.Z)(n[e].statuses))),n[e]=(0,c.Z)((0,c.Z)({},n[e]),r),this.setState({filters:n,addingFilter:!1,numCards:i+1})}},{key:"resetAllFilters",value:function(){var e=this.state.filters.filter((function(e){return e.filtering})),t=this.state.filters.map((function(e){return(0,c.Z)((0,c.Z)({},e),{},{filtering:!1,values:[]})}));this.setState({filters:(0,u.Z)(t)});var n,i=(0,g.Z)(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;r.values&&this.props.updateFilters({title:r.display_title,values:[]},r.idx)}}catch(s){i.e(s)}finally{i.f()}}},{key:"removeFilter",value:function(e,t){var n=this.state.filters;n[e].filtering=!1,n[e].values=[],this.setState({filters:(0,u.Z)(n)}),this.props.updateFilters({title:t,values:[]},e)}},{key:"componentDidUpdate",value:function(e){var t=e.currentFilters,n=this.props.currentFilters;if(!be()(t,n)){var i=this.state.filters;for(var r in n)i[r]=(0,c.Z)((0,c.Z)((0,c.Z)({},i[r]),n[r]),{},{touched:i[r].touched+1,filtering:!0});i=i.map((function(e,t){var i=!(!n[t]&&0!==e.touched);return(0,c.Z)((0,c.Z)({},e),{},{filtering:i,values:i?e.values:[]})})),this.setState({filters:(0,u.Z)(i)})}}},{key:"render",value:function(){var e=this,t=this.getActiveFilters(),n=this.props.hiddenCols||[],i=this.state.filters.filter((function(e,t){return!e.filtering&&!n.includes(t)}));return(0,j.jsxs)("div",{className:"filterBox--container",children:[(0,j.jsx)("h4",{className:"section-header",children:this.state.toolName}),t.length>0&&t.map((function(t,n){return(0,j.jsx)(bt,{onFilterUpdate:function(n){return e.setFilter(n,t.idx)},title:t.display_title,removeFilter:function(){return e.removeFilter(t.idx,t.display_title)},filter:t},"".concat(e.props.toolName,"-").concat(t.display_title,"-").concat(t.numCards))})),i.length&&(0,j.jsx)(bt,{availableFilters:i,editable:"true",style:{marginBottom:20},addFilter:function(t){return e.addFilter(t)},onFilterUpdate:function(t){return e.setFilter(t)}})||void 0,(0,j.jsx)("br",{})]})}}]),n}(i.PureComponent),xt=setTimeout((function(){}),500),yt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).state={values:i.extractFilters()},e.resetFilterHook((function(){return i.resetIdFilters()})),i}return(0,l.Z)(n,[{key:"resetIdFilters",value:function(){this.setState({values:{}}),this.sendFilterUpdate({})}},{key:"sendFilterUpdate",value:function(e){this.props.updateFilters(e)}},{key:"extractFilters",value:function(){for(var e=0,t={},n=0,i=Object.keys(this.props.ids);n0&&i.push({id:"id",values:n}),this.props.addTypeToFilter(i),this.props.setFilter(i,!0)}},{key:"updateFilters",value:function(e,t,n){var i=(0,u.Z)(this.state.filters),r=this.state.idFilters;i[e]=i[e]||[],i[e][t]=n,this.setState({filters:i}),this.sendFilters({filter:i,idFilter:r})}},{key:"updateIdFilters",value:function(e){var t=Object.keys(this.props.ids).map((function(t){return e[t]})),n=t.some((function(e){return""!==e&&!B(e)}))?t:void 0;this.setState({idFilters:n}),this.sendFilters({filter:this.state.filters,idFilter:n})}},{key:"render",value:function(){var e=this,t=this.props.hiddenCols||[];return(0,j.jsxs)("div",{className:Zt("filterBox",{"filterBox--hidden":!this.props.visible}),children:[(0,j.jsxs)("div",{className:"filterBox--header",children:[(0,j.jsx)(y.G,{icon:st.YIN,className:"filterBox--header--icon",onClick:this.props.hide}),this.props.headerComponent,(0,j.jsx)(y.G,{icon:st.$aW,className:"filterBox--header--reset-icon",onClick:function(){return e.resetAllFilters()}})]}),(0,j.jsxs)("div",{className:"filter-card--container",children:[(0,j.jsx)(yt,{ids:this.props.ids,updateFilters:function(t){return e.updateIdFilters(t)},resetFilterHook:this.resetFilterHook,filters:this.state.idFilters}),this.props.filterable.map((function(n,i){return(0,j.jsx)(Ct,{resetFilterHook:e.resetFilterHook,updateFilters:function(t,n){return e.updateFilters(i,n,t)},currentFilters:e.state.filters[i]||[],toolName:n.name,filters:n.columns,hiddenCols:t[i]},"filtercontainer-".concat(i))}))]})]})}}]),n}(i.PureComponent),At=n(6123),Ft=n.n(At),Wt=n(9737),Nt=n.n(Wt),Bt=n(7177),Gt=n.n(Bt),wt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;return(0,s.Z)(this,n),(i=t.call(this,e)).prepareTextForRendering=function(){if(""!==i.props.yamlText){var e=Gt().parseDocument(i.props.yamlText,{prettyErrors:!0}),t=e.get("input_files");t&&(Array.isArray(t.items)?t.items.forEach((function(e){e.value=i.encloseFileInTags(e.value)})):e.set("input_files",i.encloseFileInTags(t)));var n=e.get("properties");n&&Array.isArray(n.items)&&n.items.forEach((function(e){Array.isArray(e.items)&&e.items.forEach((function(e){"property_file"===e.key.value&&(e.value.value=i.encloseFileInTags(e.value.value))}))})),i.setState({content:e})}},i.encloseFileInTags=function(e){return i.state.splitterTag+i.state.fileTag+e+i.state.fileTag+i.state.splitterTag},i.loadFileInViewer=function(e,t){e.preventDefault(),i.props.loadNewFile(t)},i.state={splitterTag:"",fileTag:"",content:i.props.yamlText},i}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){this.prepareTextForRendering()}},{key:"componentDidUpdate",value:function(e){e.yamlText!==this.props.yamlText&&this.prepareTextForRendering()}},{key:"render",value:function(){var e=this;if(this.state.content.errors&&this.state.content.errors.length>0)return(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)("div",{className:"link-overlay-text",children:["Errors parsing YAML file:",(0,j.jsx)("ul",{children:this.state.content.errors.map((function(e,t){return(0,j.jsx)("li",{children:(0,j.jsx)("pre",{children:e.message})},t)}))}),(0,j.jsx)("pre",{children:this.props.yamlText}),";"]})});Gt().scalarOptions.str.fold={lineWidth:0};var t=this.state.content.toString().split(this.state.splitterTag).map((function(t){return t.match("^".concat(e.state.fileTag,"(?:.)+").concat(e.state.fileTag,"$"))?(t=t.replace(new RegExp(e.state.fileTag,"g"),""),(0,j.jsx)("a",{onClick:function(n){return e.loadFileInViewer(n,t)},className:"link-overlay-file-link",href:e.props.createHref(t),children:t},t)):t}));return(0,j.jsx)("pre",{className:"link-overlay-text",children:t})}}]),n}(i.Component),Yt=n(1842);Yt.jQ({useWebWorkers:!1});var St={},Vt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(e){var i;(0,s.Z)(this,n),(i=t.call(this,e)).loadNewFile=function(e){var t=i.createFileUrl(e);i.setState({isYAML:i.isYAMLFile(e),isSecondLevel:!0,content:"loading file: ".concat(t)}),i.loadFile(t)},i.loadOriginalFile=function(){i.setState({isYAML:i.isYAMLFile(i.props.link),isSecondLevel:!1,content:"loading file: ".concat(i.props.link),error:void 0}),i.loadFile(i.props.link)},i.loadOriginalFileIfEnter=function(e){"Enter"===e.key&&i.loadOriginalFile()},i.createFileUrl=function(e){return Nt().join(i.props.link,"../"+e)},i.loadFile=i.loadFileXMLHttpRequest,i.loadFileFromZip=function(e){var t=decodeURIComponent(e),n=t.lastIndexOf("/")>t.lastIndexOf("\\")?"/":"\\",r=t.lastIndexOf(n),s=t.substring(0,r)+".zip",l=t.split(n),a="".concat(l[l.length-2],"/").concat(l[l.length-1]);s in St?i.loadFileFromZipEntries(St[s],a,s):i.readZipArchive(s,a)},i.readZipArchive=function(e,t){new Yt.Mr(new Yt.R(e)).getEntries().then((function(n){i.handleZipEntries(n,t,e)}),(function(n){i.readZipArchiveNoHttpRange(e,t)}))},i.readZipArchiveNoHttpRange=function(e,t){new Yt.Mr(new Yt.pE(e)).getEntries().then((function(n){i.handleZipEntries(n,t,e)}),(function(n){i.readZipArchiveManually(e,t)}))},i.readZipArchiveManually=function(e,t){try{var n=new XMLHttpRequest;n.responseType="arraybuffer",n.addEventListener("load",(function(){var r=new Uint8Array(n.response);new Yt.Mr(new Yt.I8(r)).getEntries().then((function(n){return i.handleZipEntries(n,t,e)}),i.setError)}),!1),n.addEventListener("error",i.setError,!1),n.open("GET",e),n.send()}catch(r){i.setError('HTTP request for the file "'.concat(t,'" failed'),r)}},i.handleZipEntries=function(e,t,n){St[n]=e,i.loadFileFromZipEntries(e,t,n)},i.loadFileFromZipEntries=function(e,t,n){var r=e.find((function(e){return e.filename===t}));r?r.getData(new Yt.Ek).then((function(e){i.setState({content:e})})):i.setError('Could not find the file "'.concat(t,'" in "').concat(n,'"'))},i.setError=function(e,t){var n=t&&"string"===typeof t?t:e;i.setState({error:"".concat(n)})},i.handlePopState=function(){window.history.back(),window.addEventListener("click",i.props.close,!1)},i.renderHelpMessageForLocalLogs=function(){if("file:"!==window.location.protocol)return null;var e=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)("p",{children:["If you are using ",(0,j.jsx)("strong",{children:"Chrome"})," or a Chrome-based browser, try launching it with the command-line option"," ",(0,j.jsx)("strong",{children:(0,j.jsx)("code",{children:"--allow-file-access-from-files"})}),"."]}),(0,j.jsxs)("p",{children:["If you are using ",(0,j.jsx)("strong",{children:"Firefox"}),", please open the extended settings by entering ",(0,j.jsx)("code",{children:"about:config"})," in the URL bar, search for"," ",(0,j.jsx)("strong",{children:(0,j.jsx)("code",{children:"security.fileuri.strict_origin_policy"})})," ","and set this option to ",(0,j.jsx)("code",{children:"false"})," by double-clicking on it and restart your browser (",(0,j.jsx)("a",{href:"https://kb.mozillazine.org/Security.fileuri.strict_origin_policy",children:"more details"}),")."]}),(0,j.jsx)("p",{children:(0,j.jsx)("strong",{children:"Note that these settings will allow local web pages to access all of your files, so make sure to not open any untrusted local HTML documents."})})]}),t=new URL(i.state.currentFile,document.baseURI),n=function(e,t){var n=e.pathname.split("/"),i=t.pathname.split("/"),r=n.findIndex((function(e,t){return e!==i[t]}));return[n.slice(0,r).join("/"),n.slice(r).join("/")]}(window.location,t),r=(0,f.Z)(n,2),s=r[0],l=r[1];if(":"===window.location.pathname[2]){if(!s)return(0,j.jsxs)(j.Fragment,{children:[e,(0,j.jsx)("p",{children:"Alternatively, you can start a local web server serving the directories with the tables and result files, but for doing so you first need to make sure that table and result files are on the same partition."})]});"/"===s[0]&&(s=s.substring(1))}var a="127.0.0.1",o=8e3,c="http://".concat(a,":").concat(o,"/").concat(l).concat(window.location.hash);return(0,j.jsxs)(j.Fragment,{children:[e,(0,j.jsxs)("p",{children:["Alternatively, you can start a local web server serving the directories with the tables and result files.",(0,j.jsx)("br",{}),"To do so, execute the following command and then open"," ",(0,j.jsx)("a",{href:c,children:"this link"})," (adjust the port number ",o," if it is already used on your system):",(0,j.jsx)("br",{}),(0,j.jsx)(F,{children:(0,j.jsxs)("code",{children:["python3 -m http.server -b ",a," ",o," -d ",s||"/"]})})]})]})};var r=!!e.link&&i.isYAMLFile(e.link);return i.state={isYAML:r,content:"loading file: ".concat(e.link),currentFile:e.link,isSecondLevel:!1},i}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){this.loadFile(this.props.link),window.history.pushState({},"",""),window.addEventListener("popstate",this.props.close,!1)}},{key:"componentDidUpdate",value:function(){var e=document.getElementById("modal-container");e&&e.focus()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("popstate",this.props.close,!1),window.removeEventListener("click",this.props.close,!1)}},{key:"isYAMLFile",value:function(e){return e.endsWith(".yml")}},{key:"loadFileFetch",value:function(){var e=(0,Ne.Z)((0,We.Z)().mark((function e(t){var n,i;return(0,We.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=19;break}return this.setState({currentFile:t}),e.prev=2,e.next=5,fetch(t);case 5:if(n=e.sent,!Y(n.status)){e.next=13;break}return e.next=9,n.text();case 9:i=e.sent,this.setState({content:i}),e.next=14;break;case 13:throw Error("Received response status ".concat(n.status));case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),this.loadFileFromZip(t);case 19:case"end":return e.stop()}}),e,this,[[2,16]])})));return function(t){return e.apply(this,arguments)}}()},{key:"loadFileXMLHttpRequest",value:function(e){var t=this;if(e)try{this.setState({currentFile:e});var n=new XMLHttpRequest;n.addEventListener("load",(function(){if(Y(n.status)){var i=n.responseText;t.setState({content:i})}else t.loadFileFromZip(e)})),n.addEventListener("error",(function(){return t.loadFileFromZip(e)})),n.open("GET",e),n.send()}catch(i){this.loadFileFromZip(e)}}},{key:"render",value:function(){var e=this;return rt().setAppElement(document.getElementById("root")),(0,j.jsxs)(rt(),{id:"modal-container",ariaHideApp:!1,className:Ft()("overlay",{"second-level":this.state.isSecondLevel}),isOpen:!0,onRequestClose:function(){return e.handlePopState()},children:[(0,j.jsxs)("div",{className:"link-overlay-header-container",children:[(0,j.jsx)(y.G,{icon:st.YIN,onClick:function(){return e.handlePopState()},className:"closing"}),this.state.isSecondLevel?(0,j.jsxs)("span",{className:"link-overlay-back-button",tabIndex:"0",role:"button",onClick:this.loadOriginalFile,onKeyDown:this.loadOriginalFileIfEnter,children:[(0,j.jsx)(y.G,{className:"link-overlay-back-icon",icon:st.acZ}),"Back to task definition"]}):""]}),this.state.error?(0,j.jsxs)("div",{className:"link-overlay-text",children:[(0,j.jsxs)("p",{style:{marginTop:"0"},children:["Error while loading content (",this.state.error,")."]}),(0,j.jsxs)("p",{children:["This could be a problem of the"," ",(0,j.jsx)("a",{href:"https://en.wikipedia.org/wiki/Same-origin_policy",children:"same-origin policy"})," ","of your browser."]}),this.renderHelpMessageForLocalLogs(),(0,j.jsxs)("p",{children:["You can also try to download the file:"," ",(0,j.jsx)("a",{href:this.state.currentFile,children:this.state.currentFile})]})]}):this.state.isYAML?(0,j.jsx)(wt,{yamlText:this.state.content,createHref:this.createFileUrl,loadNewFile:this.loadNewFile}):(0,j.jsx)("pre",{className:"link-overlay-text",children:this.state.content})]})}}]),n}(i.Component),kt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){var e;(0,s.Z)(this,n);for(var i=arguments.length,r=new Array(i),l=0;l1&&void 0!==arguments[1]&&arguments[1];r.filteredData=t?e:e.map((function(e){return e._original}))},r.filterPlotData=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r.lastImmediate&&clearImmediate(r.lastImmediate),r.lastImmediate=setImmediate((function(){r.filterUrlSetter(e,r.routerRef.current.history),r.lastFiltered=e.filter((function(e){return e.values&&e.values.length>0||e.value}))})),t&&r.setFilter(r.runFilter(e),!0),r.setState({tableData:r.filteredData,filtered:e})},r.resetFilters=function(){r.setState({tableData:r.originalTable,filtered:[]})},r.findAllValuesOfColumn=function(e,t){return r.originalTools.map((function(n,i){return n.columns.map((function(s,l){if(e(n,s)){var a=r.originalTable.map((function(e){return t(e.results[i],e.results[i].values[l])})).filter(Boolean);return(0,u.Z)(new Set(a)).sort()}}))}))},r.getRowName=function(e){return e.id.filter((function(e){return e})).join(" | ")},r.getRelevantUrlParams=function(){return(document.location.href.split("?")[1]||"").split("&").filter((function(e){return e.startsWith("hidden")||e.startsWith("filter")})).join("&")},r.switchToQuantile=function(e){r.setState({quantilePreSelection:e});var t=r.getRelevantUrlParams();document.location.hash="#/quantile"+(t?"?"+t:"")};var l,a=function(e){var t=e.head,n=e.tools,i=e.rows,r=e.stats,s=e.props,l=e.initial;return{tableHeader:t,taskIdNames:t.task_id_names,tools:n.map((function(e,t){return(0,c.Z)((0,c.Z)({},e),{},{toolIdx:t,columns:e.columns.map((function(e,t){return(0,c.Z)((0,c.Z)({},e),{},{colIdx:t})})),scoreBased:i.every((function(e){return void 0!==e.results[t].score}))})})),columns:n.map((function(e){return e.columns.map((function(e){return e.title}))})),tableData:i,stats:r,properties:s,initial:l}}(e.data),o=a.tableHeader,d=a.taskIdNames,h=a.tools,f=a.columns,p=a.tableData,m=a.stats,v=a.initial;v&&!document.location.href.includes("#")&&(l=v,document.location.href=encodeURI("".concat(document.location.href,"#").concat(l)));var b=function(e){var t=e.tools,n=e.rows;return t.map((function(e,t){var i,r=e.tool,s=e.date,l=e.niceName,a="".concat(r," ").concat(s," ").concat(l),o=e.columns.map((function(e,t){if(e)return"status"===e.type?(i=t,(0,c.Z)((0,c.Z)({},e),{},{categories:{},statuses:{},idx:t})):"text"===e.type?(0,c.Z)((0,c.Z)({},e),{},{distincts:{},idx:t}):(0,c.Z)((0,c.Z)({},e),{},{min:1/0,max:-1/0,idx:t})}));B(i)||(o[i]=(0,c.Z)((0,c.Z)({},o[i]),{},{categories:{},statuses:{}}));var u,d=(0,g.Z)(n);try{for(d.s();!(u=d.n()).done;){var h=u.value.results[t];for(var f in B(i)||(o[i].categories["".concat(h.category," ")]=!0),h.values){var p=h.values[f].raw,m=o[f];m&&!B(p)&&("status"===m.type?m.statuses[p]=!0:"text"===m.type?m.distincts[p]=!0:(m.min=Math.min(m.min,Number(p)),m.max=Math.max(m.max,Number(p))))}}}catch(v){d.e(v)}finally{d.f()}return{name:a,columns:o.map((function(e){var t=e.distincts,n=e.categories,i=e.statuses,r=(0,I.Z)(e,Ce);return t?(0,c.Z)((0,c.Z)({},r),{},{distincts:Object.keys(t)}):n?(0,c.Z)((0,c.Z)({},r),{},{categories:Object.keys(n),statuses:Object.keys(i)}):r}))}}))}(r.props.data);r.originalTable=p,r.originalTools=h,r.taskIdNames=d,r.columns=f,r.stats=m,r.tableHeader=o,r.filteredData=[],r.routerRef=i.createRef(),r.state={tools:h,tableData:p,filterable:b,showSelectColumns:!1,showLinkOverlay:!1,filtered:[],filterBoxVisible:!1,active:Ht(),quantilePreSelection:h[0].columns[1],hiddenCols:ie(h)},r.statusValues=r.findAllValuesOfColumn((function(e,t){return"status"===t.type}),(function(e,t){return G(t)})),r.originalTools.forEach((function(e,t){return e.columns.filter((function(e){return"status"===e.type})).forEach((function(e,n){r.originalTable.some((function(e){return"empty"===e.results[t].category}))&&r.statusValues[t][n].push(xe)}))})),r.categoryValues=r.findAllValuesOfColumn((function(e,t){return"status"===t.type}),(function(e,t){return e.category}));var C=r.categoryValues.map((function(e){return e&&e.map((function(e){return e&&e.map((function(e){return"".concat(e," ")}))}))}));r.filterUrlSetter=$(r.statusValues,C),r.filterUrlRetriever=function(e,t){var n=q({categoryValues:t,statusValues:e});return function(e){var t=X(e);return t.filter?n(t.filter):null}}(r.statusValues,C);var x=r.getFiltersFromUrl();return x&&(r.filteredData=r.runFilter(x),r.lastFiltered=x,r.state=(0,c.Z)((0,c.Z)({},r.state),{},{tableData:r.filteredData,filtered:x})),r}return(0,l.Z)(n,[{key:"componentDidMount",value:function(){var e=this;this.removeHistoryListener=this.routerRef.current.history.listen((function(t,n){e.updateState(),"POP"===n&&e.updateFiltersFromUrl()}))}},{key:"componentWillUnmount",value:function(){this.removeHistoryListener()}},{key:"runFilter",value:function(e){var t=e.reduce((function(e,t){var n=t.id,i=t.value,r=t.type,s=t.values;if(B(i)&&B(s)||"string"===typeof i&&"all"===i.trim())return e;if("id"===n)return e.id={value:i,values:s},e;var l,a=z(n),o=a.tool,c=a.column;if("diff"===i)return e.diff||(e.diff=[]),e.diff.push({col:c}),e;if(e[o]||(e[o]={}),N({type:r})&&i.includes(":")){var u=i.split(":"),d=(0,f.Z)(u,2),h=d[0],g=d[1];l={min:h=""===h?-1/0:Number(h),max:g=""===g?1/0:Number(g)}}else l=" "===i[i.length-1]?{category:i.substr(0,i.length-1)}:"status"===r?{status:i}:{value:i};return e[o][c]||(e[o][c]=[]),e[o][c].push(l),e}),{});return ye(t)(this.originalTable)}},{key:"render",value:function(){var e,t,n=this,i=function(e){var t=e.className,i=e.isReset,r=void 0!==i&&i,s=e.onClick,l=e.enabled;return(0,j.jsx)(kt,{className:t,showFilterText:r,onClick:s,enabled:l,isFiltered:!!n.state.filtered.length,resetFilters:n.resetFilters,filteredCount:n.state.tableData.length,totalCount:n.originalTable.length})},r=this.getRelevantUrlParams();return(0,j.jsx)(d.UT,{ref:this.routerRef,children:(0,j.jsxs)("div",{className:"overview",children:[(0,j.jsxs)("div",{className:"overview-container",children:[(0,j.jsx)(jt,{headerComponent:i({className:"filterBox--header--reset",isReset:!0,enabled:!1}),tableHeader:this.tableHeader,tools:this.state.tools,selectColumn:this.toggleSelectColumns,filterable:this.state.filterable,setFilter:this.filterPlotData,resetFilters:this.resetFilters,filtered:this.state.filtered,visible:this.state.filterBoxVisible,hiddenCols:this.state.hiddenCols,hide:function(){n.setState({filterBoxVisible:!1})},ids:(e=this.originalTable,t=this.taskIdNames,k(["0","id"],[],e).reduce((function(e,n,i){return(0,c.Z)((0,c.Z)({},e),{},(0,p.Z)({},t[i],n))}),{})),addTypeToFilter:this.addTypeToFilter}),(0,j.jsxs)("div",{className:"menu",children:[Rt.map((function(e){var t=e.key,i=e.title,s=e.path,l=e.icon;return(0,j.jsxs)(d.rU,{className:Ft()("menu-item",{selected:n.state.active===t}),to:s+(r?"?"+r:""),onClick:function(){return n.setState((function(){return{active:t}}))},children:[i," ",l||""]},s)})),i({className:"reset tooltip",enabled:!0,onClick:function(){n.setState({filterBoxVisible:!0})}})]}),(0,j.jsx)("div",{className:"route-container",children:(0,j.jsxs)(h.rs,{children:[(0,j.jsx)(h.AW,{exact:!0,path:"/",children:(0,j.jsx)($e,{tools:this.state.tools,tableHeader:this.tableHeader,version:this.props.data.version,selectColumn:this.toggleSelectColumns,stats:this.stats,onStatsReady:this.props.onStatsReady,switchToQuantile:this.switchToQuantile,tableData:this.state.tableData,hiddenCols:this.state.hiddenCols,filtered:this.state.filtered.length>0})}),(0,j.jsx)(h.AW,{path:"/table",children:(0,j.jsx)(Fe,{tableData:this.state.tableData,tools:this.state.tools,selectColumn:this.toggleSelectColumns,filterPlotData:this.filterPlotData,filters:this.state.filtered,toggleLinkOverlay:this.toggleLinkOverlay,statusValues:this.statusValues,categoryValues:this.categoryValues,hiddenCols:this.state.hiddenCols,addTypeToFilter:this.addTypeToFilter})}),(0,j.jsx)(h.AW,{path:"/quantile",children:(0,j.jsx)(ft,{table:this.state.tableData,tools:this.state.tools,preSelection:this.state.quantilePreSelection,getRowName:this.getRowName,hiddenCols:this.state.hiddenCols,isFlexible:this.props.renderPlotsFlexible})}),(0,j.jsx)(h.AW,{path:"/scatter",children:(0,j.jsx)(gt,{table:this.state.tableData,columns:this.columns,tools:this.state.tools,getRowName:this.getRowName,hiddenCols:this.state.hiddenCols,isFlexible:this.props.renderPlotsFlexible})}),(0,j.jsx)(h.AW,{path:"/info",children:(0,j.jsx)(nt,{version:this.props.data.version,selectColumn:this.toggleSelectColumns})})]})})]}),(0,j.jsxs)("div",{children:[this.state.showSelectColumns&&(0,j.jsx)(lt,{close:this.toggleSelectColumns,currColumns:this.columns,tableHeader:this.tableHeader,tools:this.state.tools,hiddenCols:this.state.hiddenCols,history:this.routerRef.current.history}),this.state.showLinkOverlay&&(0,j.jsx)(Vt,{close:this.toggleLinkOverlay,link:this.state.link,toggleLinkOverlay:this.toggleLinkOverlay})]})]})})}}]),n}(i.Component);var Xt=function(e){(0,a.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,s.Z)(this,n),t.apply(this,arguments)}return(0,l.Z)(n,[{key:"render",value:function(){return(0,j.jsx)("div",{className:"App",children:(0,j.jsx)("main",{children:(0,j.jsx)(Tt,{data:window.data,renderPlotsFlexible:!0,onStatsReady:this.props.onStatsReady})})})}}]),n}(i.Component),Kt=Xt;r.render((0,j.jsx)(Kt,{}),document.getElementById("root")),document.getElementById("msg-container").remove()},4654:function(){}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.m=e,function(){var e=[];n.O=function(t,i,r,s){if(!i){var l=1/0;for(u=0;u=s)&&Object.keys(n.O).every((function(e){return n.O[e](i[o])}))?i.splice(o--,1):(a=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[i,r,s]}}(),n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e={179:0};n.O.j=function(t){return 0===e[t]};var t=function(t,i){var r,s,l=i[0],a=i[1],o=i[2],c=0;if(l.some((function(t){return 0!==e[t]}))){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(o)var u=o(n)}for(t&&t(i);c { // Split the search string into key-value pairs and generate an object from them const keyValuePairs = search.split("&").map((pair) => pair.split("=")); const out = {}; + + // All parameters in the search string are decoded except filter to allow filter handling later on its own for (const [key, ...value] of keyValuePairs) { out[decodeURI(key)] = key === "filter" ? value.join("=") : decodeURI(value.join("=")); @@ -401,6 +403,10 @@ export const decodeFilter = (filterID) => { if (splitedArray.length === 2) { throw new Error("Invalid filter ID"); } + + // tool is always the first element value of the splitedArray + // column is always the last element value of the splitedArray + // name is the concatenation of remaining elements in between first and last element of splitedArray, separated by _ return { tool: splitedArray[0], name: