From 7edba62254d1bcb201ac26077e4829b5dc483bf3 Mon Sep 17 00:00:00 2001 From: Uladzislau Lasitsa Date: Thu, 21 Oct 2021 15:53:58 +0300 Subject: [PATCH 01/39] [TSVB] Chart with override index pattern and last_value are migrated with entire_time_range from 7.13+ (#115041) * Move logic about default time range mode inside index pattern component * Fix lint * Fix types * Cover case with override_index_pattern Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/application/components/vis_editor.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/plugins/vis_types/timeseries/public/application/components/vis_editor.tsx b/src/plugins/vis_types/timeseries/public/application/components/vis_editor.tsx index 9e46427e33c2e..caf7ac638af78 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/vis_editor.tsx +++ b/src/plugins/vis_types/timeseries/public/application/components/vis_editor.tsx @@ -79,6 +79,15 @@ export class VisEditor extends Component ({ + [TIME_RANGE_MODE_KEY]: + this.props.vis.title && + this.props.vis.params.type !== 'timeseries' && + val.override_index_pattern + ? TIME_RANGE_DATA_MODES.LAST_VALUE + : TIME_RANGE_DATA_MODES.ENTIRE_TIME_RANGE, + ...val, + })), }, extractedIndexPatterns: [''], }; From 8b66ef161d9c158167f22255041c606707db64cc Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 21 Oct 2021 14:59:07 +0200 Subject: [PATCH 02/39] [Reporting] Baseline capture tests (#113910) * added page to reporting example app that contains the capture tests * first version of PNG capture for test A * added types file to common * added data-shared-item attr to image, also added capture menu items * fix image CSS by providing a fixed width and height * explicitly add layout for print, does not seem to do anything though? * added magic numbers of image sizes * added reporting examples test folder * first version of capture test for generating and comparing PNGs * added PNG service and PNG baseline fixture * added pdf-to-img dev dependency * refactor compare_pngs to accept a buffer * added comment to interface * png service -> compare images service * export image compare service * added test for pdf export * clean up log * minor fixes and added pdf print optimized test * added pdf and pdf print fixtures * refactor lib function name * Update difference thresholds Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 1 + test/functional/services/lib/compare_pngs.ts | 52 +++++- .../reporting_example/common/index.ts | 2 + .../reporting_example/common/locator.ts | 6 +- .../reporting_example/common/types.ts | 13 ++ .../reporting_example/public/application.tsx | 22 ++- .../public/application_context.tsx | 33 ++++ .../public/components/index.ts | 8 + .../public/components/test_image_a.tsx | 31 ++++ .../reporting_example/public/constants.ts | 17 ++ .../public/containers/capture_test.scss | 10 ++ .../public/containers/capture_test.tsx | 91 ++++++++++ .../app.tsx => containers/main.tsx} | 164 +++++++++++++++--- .../reporting_example/public/types.ts | 3 +- x-pack/test/examples/config.ts | 6 +- .../reporting_examples/capture_test.ts | 91 ++++++++++ .../fixtures/baseline/capture_a.pdf | Bin 0 -> 693858 bytes .../fixtures/baseline/capture_a.png | Bin 0 -> 572591 bytes .../fixtures/baseline/capture_a_print.pdf | Bin 0 -> 635222 bytes .../test/examples/reporting_examples/index.ts | 17 ++ .../functional/services/compare_images.ts | 149 ++++++++++++++++ x-pack/test/functional/services/index.ts | 2 + yarn.lock | 39 ++++- 23 files changed, 710 insertions(+), 47 deletions(-) create mode 100644 x-pack/examples/reporting_example/common/types.ts create mode 100644 x-pack/examples/reporting_example/public/application_context.tsx create mode 100644 x-pack/examples/reporting_example/public/components/index.ts create mode 100644 x-pack/examples/reporting_example/public/components/test_image_a.tsx create mode 100644 x-pack/examples/reporting_example/public/constants.ts create mode 100644 x-pack/examples/reporting_example/public/containers/capture_test.scss create mode 100644 x-pack/examples/reporting_example/public/containers/capture_test.tsx rename x-pack/examples/reporting_example/public/{components/app.tsx => containers/main.tsx} (61%) create mode 100644 x-pack/test/examples/reporting_examples/capture_test.ts create mode 100644 x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a.pdf create mode 100644 x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a.png create mode 100644 x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a_print.pdf create mode 100644 x-pack/test/examples/reporting_examples/index.ts create mode 100644 x-pack/test/functional/services/compare_images.ts diff --git a/package.json b/package.json index aeadfb74b7d73..1e72af27e4de9 100644 --- a/package.json +++ b/package.json @@ -764,6 +764,7 @@ "oboe": "^2.1.4", "parse-link-header": "^1.0.1", "pbf": "3.2.1", + "pdf-to-img": "^1.1.1", "pirates": "^4.0.1", "pixelmatch": "^5.1.0", "postcss": "^7.0.32", diff --git a/test/functional/services/lib/compare_pngs.ts b/test/functional/services/lib/compare_pngs.ts index fe1a1a359052b..521781c5a6d2b 100644 --- a/test/functional/services/lib/compare_pngs.ts +++ b/test/functional/services/lib/compare_pngs.ts @@ -10,26 +10,56 @@ import { parse, join } from 'path'; import Jimp from 'jimp'; import { ToolingLog } from '@kbn/dev-utils'; +interface PngDescriptor { + path: string; + + /** + * If a buffer is provided this will avoid the extra step of reading from disk + */ + buffer?: Buffer; +} + +const toDescriptor = (imageInfo: string | PngDescriptor): PngDescriptor => { + if (typeof imageInfo === 'string') { + return { path: imageInfo }; + } + return { + ...imageInfo, + }; +}; + +/** + * Override Jimp types that expect to be mapped to either string or buffer even though Jimp + * accepts both https://www.npmjs.com/package/jimp#basic-usage. + */ +const toJimp = (imageInfo: string | Buffer): Promise => { + return (Jimp.read as (value: string | Buffer) => Promise)(imageInfo); +}; + /** * Comparing pngs and writing result to provided directory * - * @param sessionPath - * @param baselinePath + * @param session + * @param baseline * @param diffPath * @param sessionDirectory * @param log * @returns Percent */ export async function comparePngs( - sessionPath: string, - baselinePath: string, + sessionInfo: string | PngDescriptor, + baselineInfo: string | PngDescriptor, diffPath: string, sessionDirectory: string, log: ToolingLog ) { - log.debug(`comparePngs: ${sessionPath} vs ${baselinePath}`); - const session = (await Jimp.read(sessionPath)).clone(); - const baseline = (await Jimp.read(baselinePath)).clone(); + const sessionDescriptor = toDescriptor(sessionInfo); + const baselineDescriptor = toDescriptor(baselineInfo); + + log.debug(`comparePngs: ${sessionDescriptor.path} vs ${baselineDescriptor.path}`); + + const session = (await toJimp(sessionDescriptor.buffer ?? sessionDescriptor.path)).clone(); + const baseline = (await toJimp(baselineDescriptor.buffer ?? baselineDescriptor.path)).clone(); if ( session.bitmap.width !== baseline.bitmap.width || @@ -63,8 +93,12 @@ export async function comparePngs( image.write(diffPath); // For debugging purposes it'll help to see the resized images and how they compare. - session.write(join(sessionDirectory, `${parse(sessionPath).name}-session-resized.png`)); - baseline.write(join(sessionDirectory, `${parse(baselinePath).name}-baseline-resized.png`)); + session.write( + join(sessionDirectory, `${parse(sessionDescriptor.path).name}-session-resized.png`) + ); + baseline.write( + join(sessionDirectory, `${parse(baselineDescriptor.path).name}-baseline-resized.png`) + ); } return percent; } diff --git a/x-pack/examples/reporting_example/common/index.ts b/x-pack/examples/reporting_example/common/index.ts index ba2fcd21c8c70..893bd4dee8ae1 100644 --- a/x-pack/examples/reporting_example/common/index.ts +++ b/x-pack/examples/reporting_example/common/index.ts @@ -8,6 +8,8 @@ export const PLUGIN_ID = 'reportingExample'; export const PLUGIN_NAME = 'reportingExample'; +export { MyForwardableState } from './types'; + export { REPORTING_EXAMPLE_LOCATOR_ID, ReportingExampleLocatorDefinition, diff --git a/x-pack/examples/reporting_example/common/locator.ts b/x-pack/examples/reporting_example/common/locator.ts index fc39ec1c52654..cbb7c7d110571 100644 --- a/x-pack/examples/reporting_example/common/locator.ts +++ b/x-pack/examples/reporting_example/common/locator.ts @@ -8,6 +8,7 @@ import { SerializableRecord } from '@kbn/utility-types'; import type { LocatorDefinition } from '../../../../src/plugins/share/public'; import { PLUGIN_ID } from '../common'; +import type { MyForwardableState } from '../public/types'; export const REPORTING_EXAMPLE_LOCATOR_ID = 'REPORTING_EXAMPLE_LOCATOR_ID'; @@ -20,10 +21,11 @@ export class ReportingExampleLocatorDefinition implements LocatorDefinition<{}> '1.0.0': (state: {}) => ({ ...state, migrated: true }), }; - public readonly getLocation = async (params: {}) => { + public readonly getLocation = async (params: MyForwardableState) => { + const path = Boolean(params.captureTest) ? '/captureTest' : '/'; return { app: PLUGIN_ID, - path: '/', + path, state: params, }; }; diff --git a/x-pack/examples/reporting_example/common/types.ts b/x-pack/examples/reporting_example/common/types.ts new file mode 100644 index 0000000000000..f05ba3a274525 --- /dev/null +++ b/x-pack/examples/reporting_example/common/types.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { Ensure, SerializableRecord } from '@kbn/utility-types'; + +export type MyForwardableState = Ensure< + SerializableRecord & { captureTest: 'A' }, + SerializableRecord +>; diff --git a/x-pack/examples/reporting_example/public/application.tsx b/x-pack/examples/reporting_example/public/application.tsx index d945048ecd73e..3e1afd7c517a2 100644 --- a/x-pack/examples/reporting_example/public/application.tsx +++ b/x-pack/examples/reporting_example/public/application.tsx @@ -7,23 +7,29 @@ import React from 'react'; import ReactDOM from 'react-dom'; +import { Router, Route, Switch } from 'react-router-dom'; import { AppMountParameters, CoreStart } from '../../../../src/core/public'; -import { ReportingExampleApp } from './components/app'; +import { CaptureTest } from './containers/capture_test'; +import { Main } from './containers/main'; +import { ApplicationContextProvider } from './application_context'; import { SetupDeps, StartDeps, MyForwardableState } from './types'; +import { ROUTES } from './constants'; export const renderApp = ( coreStart: CoreStart, deps: Omit, - { appBasePath, element }: AppMountParameters, // FIXME: appBasePath is deprecated + { appBasePath, element, history }: AppMountParameters, // FIXME: appBasePath is deprecated forwardedParams: MyForwardableState ) => { ReactDOM.render( - , + + + + } /> +
} /> + + + , element ); diff --git a/x-pack/examples/reporting_example/public/application_context.tsx b/x-pack/examples/reporting_example/public/application_context.tsx new file mode 100644 index 0000000000000..4ec16808f3f42 --- /dev/null +++ b/x-pack/examples/reporting_example/public/application_context.tsx @@ -0,0 +1,33 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useContext, createContext, FC } from 'react'; + +import type { MyForwardableState } from './types'; + +interface ContextValue { + forwardedState?: MyForwardableState; +} + +const ApplicationContext = createContext(undefined); + +export const ApplicationContextProvider: FC<{ forwardedState: ContextValue['forwardedState'] }> = ({ + forwardedState, + children, +}) => { + return ( + {children} + ); +}; + +export const useApplicationContext = (): ContextValue => { + const ctx = useContext(ApplicationContext); + if (!ctx) { + throw new Error('useApplicationContext called outside of ApplicationContext!'); + } + return ctx; +}; diff --git a/x-pack/examples/reporting_example/public/components/index.ts b/x-pack/examples/reporting_example/public/components/index.ts new file mode 100644 index 0000000000000..7b138d90bb0a3 --- /dev/null +++ b/x-pack/examples/reporting_example/public/components/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { TestImageA } from './test_image_a'; diff --git a/x-pack/examples/reporting_example/public/components/test_image_a.tsx b/x-pack/examples/reporting_example/public/components/test_image_a.tsx new file mode 100644 index 0000000000000..1ce94f35fdd29 --- /dev/null +++ b/x-pack/examples/reporting_example/public/components/test_image_a.tsx @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { FunctionComponent } from 'react'; +import React from 'react'; +import { VIS } from '../constants'; + +type Props = React.DetailedHTMLProps, HTMLImageElement>; + +export const TestImageA: FunctionComponent = ({ + width = VIS.width, + height = VIS.height, + ...restProps +}) => { + return ( + Test image + ); +}; + +const testImage = `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vP32O7LIYkuW7tdLVf/tystK65Ny8M4778hVf7+69CMWGDJEll7629eiD3T2uksbMUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGlwgrEF66y03iDbx7K3VG6TrrLtB6QzSTz/9zL51qeUM0u40SLX4zDPPJP+86TpXky+9yNXXWLt0dqXe98RjDxab2unxZll21iDV13/a6WfK8KOOLb6VYbvsJHvvtbvrbX388ccy7/wLlWpos/rmG0eX1rszuOOOu2SrrbcVPW6WWnIJueSvFxXPEO7JBuk//3mrbL7FVqW3se02v5eDDtyvtK6Dzl532ZNYQQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaWIAGadDO0csJX3TRxaVq9TRIF/rJgrLiikOLNfTsztGjrys20EpFC4PjjztaNv71hvauusbt0CBVmP/+738yccKE4uVr64IyG0U2SLWsfofta6+/LnPPNVfppzR6g7Sz1116AwwQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgQYXaPgG6UsvvSwPPfxI4dKjb8sUU0whs8wyiyy91BJdnkWpl1h94IEH5eFHHi1c+ncOWXSRnxabZPfc+x957733i7uld+9esvJKK3X4bs/nnn9ennn6WXnzrbeK32U5a+Fn/nieH5U1svL9GtEg3WbrLeXggw4oldZLuq619q/KzvT87eabyvAjD5P77ntA3v3vf0vPHTJkPplj9q8vcZzufP31N+SRRx9LqzJL4QzUPn36yKuvvS4HH3KYvPXW26XHTjrxWOnff+rid57ONdf/le7XwcSJEwuWD8nzL7xQtJvnxz+Sn/50IRk8eLqy5+Ur+voeKfi/8cabxUbvzDPNWNwXCy+8kPTq1St/etV1fQ1PPvmU3H3PvYV9P60stNBPimcsVzuD9MabbpZx476+HK7u69VXW7XDz6h1X99627/kvf+9J8N227NUQ8/oPfSQg4rrSy25uAwaNEhefvkVeaLwOtNN759mmmnl/gcekP8UvnP2//7v/2TNNVaXBx98SN4qXE433ZYpXMpWL//bWYNUL397//0PFi9Z/dPCe19kkYWLvw9p+7Ts6j0//fQz8sKLL6WnF85eXVymnHJK+ectt8mjjz4qp552ZumxlVYaKhttuEFhX01WtNPvb+3sdZc2+mbQnd/b3Gy5ZZcumE0j/yt431PY36mJvNhii3T5e5+/DtYRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgVygYRukn3z6qey40zDRy35Wuu2+2zDZY/dhlR6Ss84+Vw47fHiHx84641S5+JJL5fbb7yg99sB9d8tMhcad3l597TXZf/+D5ZZbbyuu5/9acegKcvRRR8iss86SPySTokGqP0QbVkcd/fVlYnV9qy23kMMOPUhOOnmEHH/CyXpX8bbl734rhx92cFotLtVALdJth+23lTFjxsgFF/453dVhuduuu8iee+xaul8baltvu4O8aJpq6UG9pPIF558tP/jBHOmu4nLs2LFy8KGHy5///O0ZtfYJut3w4YfJkkssbu/udHz33ffIdjvsXGyY2SftuMN2xYbvKSNOLd2dvoNU7/jxvAuUnYH7xmsvlp7X3X297PIrVTRIBS8tXCJ32UJjT88i1mMh3fR7Y88485xSk1svpzvy8r8W388114xKT5MbrrtGhgyZv2KDVPftttvvVHpuGhxy8AGy9e+3TKvFZbX3rE849rgTxXqdc/YZxf954KeLLFFWJ195/tknio1U3Q+VXnd6fj2/t7mZWl47arT85eJLUtnicvrpB8uIU06U5Zdbtux+VhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACB7gg0ZINUm3ib/3YruavQGKt200aeNvTs7R9XXyM77Fi5carP0yaLnpmWbqlBqmdr/mq9DYtnyKXHKi1/+MM5ZdQ1V8m0005b9vCkaJB+9dVXsspqa5a+51R/oDZ511prDXn++Rdk+aGrlF6Dns14/3/uKq3rIG/qXTf6arn88itqbpC+8sqrsvY665V5lf2Awop6/uOqK8qapEcOP0ZOP+Os/Kkd1q8vvJ4FFhjS4X57h77PNX+xTlmj0z6e789aGqT17Ovc0r4GHXfWINWzel959dXS07vbIC1t2Mng7DNPkzXX/Hnp0Z5skNb7e5s3SJdeeim5887yY7n0BguD9Dtr72OMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCNQq0JAN0i223Fpuuumfpfcw9dT95RdrrSl6dtq1144u3a+DYwpndG666SbF+/Synssst2LZ47rt4ov/TPSxSmdBalNRm4vnX/AnOfCgQ0vb6n165p7eLrn08rJtjz1muPxm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vHp+b7syo0GadFkigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAhEBYg1RfTDqL7bQ/niIrr7yiLLX0ChUbNZVeuH6Hon6XYrpps+bCP11UPKvzrbfeTncXl3q51z1231WWXrr8UqTpSdok1e9EvPPuu+WRhx+Vnyy0oCyz1FLF73H83ZbbVGyQ6rZ6mVBt1px19rkdGlJ6Ft2vf72B/H6r30nv3r3TjyotJ1WDVN/rT36ygCyy8MKy5po/L/ve09IPLwyuv+FG2er329m7xH7/ZNkD36xcd/0NcvjhR5XtI/2+St0u3fTsVG2oXXb5yLKzP/Xx5ZZbRnbecXtZaqny/aANrauvGVVocJ8hTz31dCpVXGpjdJVVVpI/7LOXTFv43tJabu+++26xWT76uuslHQt6Vurxxx1V/B7Uww4fXirzpwvOLR57eseP512g9Jr12HzmqcdKz6t3X+t708b9aaefUaqtRfUSxb/dfFO55NLLRc/OTbejC83jzb5pHqf7dLnLsN3lyr99+926/7z5epnnxz+S/AxSvezygQf+QXbbba/Smcz6XvQs360Kx2L6rlxb+4MPPpADDzq0dOatPn+lFVeU7bbbWp5//oWyyzHbBqnW0G2POPJoufSykbak3HDdNTJkyPydvu705Hp+b7syyxukuu/vuvO29CNZIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAALdEghtkKafPOKUE2W9dddJq66lNkf++9//yvvvf1BsDmqDbcCAAVVr6qV233zrLZlpxhmlb9++pefqmYPaNLO3p554uEOjTps8eqbpO++8U/yZehlT+52fafsXXnix+L2oun5y4Ts5r712dHpI7vz3rcXvjCzdMYkH+fek6o977pnHZaqppuryJ2tT7L333pcBAwfI9IMHV2zCqunbBY8PCy5ac5ZZZi58N+WUXdZW87fffls+L5wJOmfhOzQ7+w7aLgt984Q33nizeAZt+s7PWrfr7Hm17ut8ez0u3333v4Uzlj+T731vBvf7yutXWtfG/5tvvVlwnFP69OnYpM+3GT9+grz19lsy80wz1/R8u336Hfpq4lfFM6z79etnH+5yXM/vbZdFeQICCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggECBQd4P00MOPlLPPPq/iS4hskFb8AZ3cqQ3KQw47onSWoV5S97hjjyo28saOHVs4M/Q8OfqY40pb6yVHH3mo/PtFSw/WMFh51TU6nCGZNvsuGqTa3Bt5xZXFBu8+++5fdtarXkr1iMMPSS+HJQIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIFATqbpDqGWZffjm2ImK/fn0LZ6z1qfjYpLxTz/hceNHyy73qz1tggSHy2GOPd/jRf9h3b9lpx/LL0nZ4UpU7erpBqpev1deQ37Txe8ftt3wnZzXmP5t1BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpZoO4GaaO+qVGjr5dttt2hy5e39167F5qj21f8PtEuN/7mCQcceIg8+eRTFZ9+2qmniF4OeFLe9Lswjzr62A4/4q8X/0mWX27ZDvdzBwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAALtLtByDVLdoXpm5ZlnnSPX33Cj6Hdgptscs88uQ4bMJ7/73W9lySUWT3c37fLCP10kI0deWfy+1EGDBsqPfvwj2arw3oYMmb9p3xMvHAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFJKdCSDVIL9v77H8gnn34i35thhuJ3kdrHGCOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQHsJtHyDtL12J+8WAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJoADdJqOjyGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAItJUCDtKV2J28GAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSqCdAgrabDYwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0FICNEhbanfyZhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoJpAyzdITzr1PPn4k0+rGciCQ+aRX/1itYrPGTd+vFw96mZ54qln5b//e19mmH46mX/eH8naa64sk/fp02Gbf91xr9x86x3y4UefyFw/nEM232RdGTRwQNnzHnjoMbn2+ltk2aUWkxWXX6rsMVYQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQGDSCbR8g3TXvQ8TbXJWuw2Z70ey/e837fCUL774Uk4sNFjfePPt4mN9+04hX345tjiedZaZZPedtpJ+/fqWtnv8yWfkjHMvFn3e7N+fRZ574WUZPN0gOeyA3UrP+ejjT+SAw06Q3r16yREH7ylT95+q9FjE4IOPvm0G73LXSPlywriIspOkxilDN5KZ+5c3jyfJD3IU/XzMl/Ll2G8Np5qyr/SdYnJHxfbedMKEifLxp5+XEHr37iXTTh37O1Aq3iYD9VTXdFNPdeVWn4D+vuvvfbrp77v+3nOrX8DmklYZNGDq+ouxZfH4JJfiDgRyKc4yVSKXkkTMklyKcbRVyCWr4R/zeclvaCuQS1YjZkwuxTimKuRSkohbkktxllqJXIr1JJdiPbUauRRrSi7Femq1dsullm+QTpz4beMgP1xO+OO58vIrr8vaa6wsq628XP6wXDLyarnj7vtlmqn7y967bSvTDRoo73/woRx70lnyyaefyTJLLiobb7B2abs//fVK+c/9j8h+e+4g2kA9/ZyLCmeePifDD9lLBkw7TfF5x484R156+TXZdstNimeuljYOGtgDWBukXzRwg3QEDdKgvd48ZZhYxe8rJlaxpkysYj21ms0lXadBqgr13/jAX79dpS3JpUoqvvvIJZ9fvjW5lIv418klv6GtQC5ZDf+YXPIb5hXIpVzEt04u+fwqbU0uVVKp/z5yqX67SluSS5VUfPeRSz6/fGtyKRfxr7dbLrV8g7SzQ0KblNqs1MvkHnvEvjLFFFOUPVXPFN1z/+GiDdZD9tu1eGnd9AS91O4hw0+WXoWzQE8Yvl9p25NPO7941uipJxwqk002mVx1zY3Fy+3uU2iuzj7brHLbv++RkVeNlkUWGiJbbr5hKhe6tAcwDVI/LRMrv6GtwMTKasSMmVjFOKYqTKySRNzS5pJWpUHqsyWXfH751uRSLuJfJ5f8hrYCuWQ1YsbkUoxjqkIuJYmYJbkU42irkEtWwz8ml/yGeQVyKRfxrZNLPr98a3IpF/Gvk0t+Q1uBXLIaMeN2y6W2bZAed8rZVc8eve+BR+XCi6+Q2WadWfbdY/sOR9fRJ5whr73xlmyx6fqy2MILFh//y2V/l7vvfVD2HLa1zDnHbKLff/r8i6/IMYfvK2PGfFFsqk7Zr58cWbi0rl6Gd1Lc7AFMg9QvzMTKb2grMLGyGjFjJlYxjqkKE6skEbe0uaRVaZD6bMkln1++NbmUi/jXySW/oa1ALlmNmDG5FOOYqpBLSSJmSS7FONoq5JLV8I/JJb9hXoFcykV86+SSzy/fmlzKRfzr5JLf0FYgl6xGzLjdcqktG6QvvPSKnPjH8745e/QPhTNAO36n5Ogbb5NR198ia642VNYo/JPfRt9wq4wq/LPm6ivKGquuUHz4uedfkpNPv6B4Zung6QaKnmmq30Wql+c98rjT5K2335Vdd/idzD3XnHm5sHV7AA8rXGJ3DJfYddkysXLxddiYiVUHEvcdTKzchGUFmFiVcYSs2FzSgjRIfazkks8v35pcykX86+SS39BWIJesRsyYXIpxTFXIpSQRsySXYhxtFXLJavjH5JLfMK9ALuUivnVyyeeXb00u5SL+dXLJb2grkEtWI2bcbrnUlg1S/Q7RV157Q9Zes/Ddoyt1/O5RPZTS2aCbbLi2LL3Eoh2OrjvvuV/+evnVsuTiC8umG61TevzBR56QW2+/u/hdpT+e+4ey/jo/l9tuv6fYTF1u6Z/JRuutVXrupBjYA5gzSP3CTKz8hrYCEyurETNmYhXjmKowsUoScUubS1qVBqnPllzy+eVbk0u5iH+dXPIb2grkktWIGZNLMY6pCrmUJGKW5FKMo61CLlkN/5hc8hvmFcilXMS3Ti75/PKtyaVcxL9OLvkNbQVyyWrEjNstl9quQfr8Cy/LSYXvCv36u0crnz2qh9Lp51wkTzz1nGzzu43lJwvM2+HoeuSxp+TsCy6R+eedW3bYerMOj6c7Xn/jbTnqhNNlwLTTyGEH7CZ9Ct95Oilv9gBu5gbpmC/GVmWasl/1SxRHbT9+/AQZP2FC6bVMPnkf6V347tnv6ueXfnA2aNaf/9VXX4kGV7r17t1Lpp16qrRaWkbtv1LBbNCsfult2NdfaWI1dtz49NSKS7t9pSe0s38+sdJjVPPC3vDr3n9/vyh8p7e9ddUgbefjT526ev/5f0enmrKv9DVXwuhqe47f8uM3/8Dfq9dkMsXkHa8sko5h/Mr9kkta6vGn/x3V4zTd9PicbLLJiqv4de2X3NJyQmEeOq4wH0039dTf+0o3fv/L8yY3Ssef/bykz0m5hF9tfrlr/ofo9Hkpf17yz+9P6/h/7Z/nfMol/Lr/3890bOW5pJ8/dY5vbxx/tf/+55+XbM5bUzvm+K1+/Oa51C/7Si78qvvlv7/53/Hyz0v22NRxvn3+eLv7T1H4O6j+3Snd8r/j4Vf7fz+TYf53vGr/HW3346+W959/XrJ/x6tl+7RfKi3bdfvu/h2vkl0z3dd2DdJjTjxTXn39TfnlWqvIqisu2+m+0u8f1e8h3WzjdWWJxRbq8Lx77ntYLrrkb7LYIgvKFr9Zv8Pjeoc21g4dfnLhbNKPZJ/CZXYHD55O7vnPQ/Lyq6/LHLPNKkv87Kcydf+OzaGKxWq8006smrlBat9Hpbee/pBR6TG9j+0/7YymeH9P+6UXl0+s0v3sv9r3Xz6x0g/8dvKaTO2yp/d/I//8/AO/dUvjRn79+hr5/an99yftU7tsdD/98KTHabrlH/gb/fU32u9P3iBNrp0tG+3156+T/d/av/+6v6s1SNn/te3/3Cn9Xuf3579f6Xn5/Wm9XbfPG6TJI1/iN3VOUrbersdPQpjU7z/9HF1WapBO6p/fSsd//nkpn5ta6zRupfef3pNdcvzUlr/WzI4ntV/+ecn+bB1P6p/f7Md//jem/O94+HX/+M//jpcfk3a92Y8fXn9zz//SsdjVfkzPa9ZlWzVIny18R+gphe8I1bOBjhu+X4ezguxOvHr0zXLDzbfLL9csNFJX6thIvfGf/5Z/jLpJVlt5OVl7jZXtpqXxyKtGy23/vkdWX3l5WX3V5eXIY08tfi9pesIM008n+++9U9XXkZ5b69IGUzM3SBvl/0AaN3686B9P023yPr0L/7dpb84grfMM3vz/iM4nVsm5UfZ/ej35spH+D6J8YqWTV84g7f7/wZf2cf6Bv0/h971P4ffe3hpp/9vXlcaN9vvT3f/zrNFef3JNy57e//l/R/MP/Ph17/c/b5DqmY76h77Obj29/5vh548dN04mTuQM0krHUD37b8LEiTLOXBmiWoOU3//afv/t5yXdT+kDP361+eXHdt4gTZ+X8ufVc/zbGu2yfZ7zKZfa5f3bfW7Hnvef51KlBim//7X//ueflzSX0pUi7D6zY8/+0zqtvn2eS5xBao+e7u///O94+eel8uqcQdrVf/84g7R7ZzDnx1el/37lf8er9t/RStvbn9HV/muH7fPPS/bveO3w/u3xkI/rff/d/Tte/nObbb2tGqTDjz9d3njzbVlnrVVllRWXqbqv7rj7Prlk5DWdXkI3XYJ34w1+IcssuViHWs+/+IqcdOp58r0ZBsuB++wsTz3zQvGyvXrG6Wa//pVcfPk/5N7CWah6eV69TG/UzU6smrlBGuXhrZN/4O9qYuX9ea2+ff6H6M4apK3uEPn+8olVpQ/8kT+v1WtV+sCvv/fc6hewuaRV0h+i66/Y3luSS7H7n1yK9dRq5FKsKbkU66nVyKVYU3Ip1pNcivXUauRSrCm5FOup1cilWFNyKdaTXIr11GrkUqwpuRTrqdXaLZfapkH69LMvyB/P/JP0LVzL/5jD9+3yrM0PP/pY9j/0+OIRdsLw/aVfv2//QP7FF1/KHvsdWXzsyIP3lIEDpi2O07++LHzf2oFHnCifffa5HLTvLjLj96aXG28pnHF67U2lhugTTz1baJj+paZmbapby9IewDRIaxGr/hwmVtV9uvsoE6vuinX9fCZWXRt15xlMrLqjVdtzbS7pFjRIa3Pr7FnkUmcy9d1PLtXnVm0rcqmaTvcfI5e6b9bVFuRSV0Lde5xc6p5XV88ml7oS6v7j5FL3zaptQS5V06nvMXKpPrfOtiKXOpOp735yqT63aluRS9V0uv8YudR9s662aLdcapsG6ZHHnSZvvvWO/OoXq8nKQ5cuOw70y3z/Mepmka++krUL302qp2Lr7bSzL5Inn35O5vzBbLL7TltJr169CpcMmygnnXa+vPjSqzLfPHPLjttsVlZLV9L3l6679uqy0gpLFR+/85775a+XXy2bFs4eXbLw3aN33/ug/OWyv0tnZ6B2KFrjHfYApkFaI1qVpzGxqoJTx0NMrOpA62ITJlZdAHXzYSZW3QSr4ek2l/TpNEhrQKvyFHKpCk4dD5FLdaB1sQm51AVQNx8ml7oJVsPTyaUakLrxFHKpG1g1PJVcqgGpm08hl7oJ1sXTyaUugOp4mFyqA63KJuRSFZw6HiKX6kDrYhNyqQugbj5MLnUTrIant1sutUWD9KlnnpdTz/pzp2ePPvzok3LOhZcWD4+tNt9QFl5oSHH89jv/lWNPPkv0jFA983SWmWcsNlnT+t67biszzThD2WH1+JPPyBnnXixzzDar7LXrNqXvYtBahx/zR5lm6v6y4vJLyS3/uks++fSz4uV38xplBbu5Yg9gGqTdxKvwdCZWFVAcdzGxcuB1sikTq05g6rybiVWdcFU2s7mkT6NBWgWrhofIpRqQuvEUcqkbWDU+lVyqEarGp5FLNUJ142nkUjewangquVQDUjeeQi51A6vGp5JLNULV+DRyqUaobjyNXOoGVg1PJZdqQOrGU8ilbmDV+FRyqUaoGp9GLtUI1Y2ntVsutUWD9OgTzpDX3nhL1l17tcIZneVnj+qx8d77H8rhR48Q/VLfg/+wi0w/eLrSIfPe+x/IWedfUvzu0nTnrLPMJNtuubEMnm5Ququ4HDt2nOx78DEybtx4OeyA3WTQwAFlj2tT9Kprbiyehapno+p3oaYzTMue6FixBzANUgfkN5sysfIb2gpMrKxGzJiJVYxjqsLEKknELW0uaVUapD5bcsnnl29NLuUi/nVyyW9oK5BLViNmTC7FOKYq5FKSiFmSSzGOtgq5ZDX8Y3LJb5hXIJdyEd86ueTzy7cml3IR/zq55De0FcglqxEzbrdcaosGaS2Hxvjx44tP69OnT8Wnjy9chve99z6QwYMHlS7BW/GJXdypl+h9593/yfdmGCy9v7mUbxebdOthewAPu2ukjJkwrlvbf5dPHjF0I5m5f3kT+bv8+bX8LCZWtSjV/hwmVrVb1fpMJla1StX2PCZWtTl151k2l3Q7GqTd0ev4XHKpo4nnHnLJo1d5W3Kpsku995JL9cp1vh251LlNPY+QS/Wodb4NudS5Tb2PkEv1ylXejlyq7OK5l1zy6HXcllzqaOK5h1zy6FXellyq7FLvveRSvXKdb9duuUSDtPNjoSkfsQcwZ5D6dyETK7+hrcDEymrEjJlYxTimKkyskkTc0uaSVqVB6rMll3x++dbkUi7iXyeX/Ia2ArlkNWLG5FKMY6pCLiWJmCW5FONoq5BLVsM/Jpf8hnkFcikX8a2TSz6/fGtyKRfxr5NLfkNbgVyyGjHjdsslGqQxx03DVLEHMA1S/25hYuU3tBWYWFmNmDETqxjHVIWJVZKIW9pc0qo0SH225JLPL9+aXMpF/Ovkkt/QViCXrEbMmFyKcUxVyKUkEbMkl2IcbRVyyWr4x+SS3zCvQC7lIr51csnnl29NLuUi/nVyyW9oK5BLViNm3G65RIM05rhpmCr2AKZB6t8tTKz8hrYCEyurETNmYhXjmKowsUoScUubS1qVBqnPllzy+eVbk0u5iH+dXPIb2grkktWIGZNLMY6pCrmUJGKW5FKMo61CLlkN/5hc8hvmFcilXMS3Ti75/PKtyaVcxL9OLvkNbQVyyWrEjNstl2iQxhw3DVPFHsA0SP27hYmV39BWYGJlNWLGTKxiHFMVJlZJIm5pc0mr0iD12ZJLPr98a3IpF/Gvk0t+Q1uBXLIaMWNyKcYxVSGXkkTMklyKcbRVyCWr4R+TS37DvAK5lIv41skln1++NbmUi/jXySW/oa1ALlmNmHG75RIN0pjjpmGq2AOYBql/tzCx8hvaCkysrEbMmIlVjGOqwsQqScQtbS5pVRqkPltyyeeXb00u5SL+dXLJb2grkEtWI2ZMLsU4pirkUpKIWZJLMY62CrlkNfxjcslvmFcgl3IR3zq55PPLtyaXchH/OrnkN7QVyCWrETNut1yiQRpz3DRMFXsA0yD17xYmVn5DW4GJldWIGTOxinFMVZhYJYm4pc0lrUqD1GdLLvn88q3JpVzEv04u+Q1tBXLJasSMyaUYx1SFXEoSMUtyKcbRViGXrIZ/TC75DfMK5FIu4lsnl3x++dbkUi7iXyeX/Ia2ArlkNWLG7ZZLNEhjjpuGqWIPYBqk/t3CxMpvaCswsbIaMWMmVjGOqQoTqyQRt7S5pFVpkPpsySWfX741uZSL+NfJJb+hrUAuWY2YMbkU45iqkEtJImZJLsU42irkktXwj8klv2FegVzKRXzr5JLPL9+aXMpF/Ovkkt/QViCXrEbMuN1yiQZpzHHTMFXsAUyD1L9bmFj5DW0FJlZWI2bMxCrGMVVhYpUk4pY2l7QqDVKfLbnk88u3JpdyEf86ueQ3tBXIJasRMyaXYhxTFXIpScQsyaUYR1uFXLIa/jG55DfMK5BLuYhvnVzy+eVbk0u5iH+dXPIb2grkktWIGbdbLtEgjTluGqaKPYBpkPp3CxMrv6GtwMTKasSMmVjFOKYqTKySRNzS5pJWpUHqsyWXfH751uRSLuJfJ5f8hrYCuWQ1YsbkUoxjqkIuJYmYJbkU42irkEtWwz8ml/yGeQVyKRfxrZNLPr98a3IpF/Gvk0t+Q1uBXLIaMeN2yyUapDHHTcNUsQfwsLtGypgJ4xrmteUvZMTQjWTm/gPyuxtqnYlV7O5gYhXrqdWYWMWaMrGK9dRqNpd0nQapKtR/I5fqt6u0JblUScV3H7nk88u3JpdyEf86ueQ3tBXIJavhH5NLfsO8ArmUi/jWySWfX6WtyaVKKvXfRy7Vb1dpS3KpkorvPnLJ55dvTS7lIv71dsslGqT+Y6ahKtgDmDNI/buGiZXf0FZgYmU1YsZMrGIcUxUmVkkibmlzSavSIPXZkks+v3xrcikX8a+TS35DW4FcshoxY3IpxjFVIZeSRMySXIpxtFXIJavhH5NLfsO8ArmUi/jWySWfX741uZSL+NfJJb+hrUAuWY2YcbvlEg3SmOOmYarYA5gGqX+3MLHyG9oKTKysRsyYiVWMY6rCxCpJxC1tLmlVGqQ+W3LJ55dvTS7lIv51cslvaCuQS1YjZkwuxTimKuRSkohZkksxjrYKuWQ1/GNyyW+YVyCXchHfOrnk88u3JpdyEf86ueQ3tBXIJasRM263XKJBGnPcNEwVewDTIPXvFiZWfkNbgYmV1YgZM7GKcUxVmFglibilzSWtSoPUZ0su+fzyrcmlXMS/Ti75DW0FcslqxIzJpRjHVIVcShIxS3IpxtFWIZeshn9MLvkN8wrkUi7iWyeXfH751uRSLuJfJ5f8hrYCuWQ1Ysbtlks0SGOOm4apYg9gGqT+3cLEym9oKzCxshoxYyZWMY6pChOrJBG3tLmkVWmQ+mzJJZ9fvjW5lIv418klv6GtQC5ZjZgxuRTjmKqQS0kiZkkuxTjaKuSS1fCPySW/YV6BXMpFfOvkks8v35pcykX86+SS39BWIJesRsy43XKJBmnMcdMwVewBTIPUv1uYWPkNbQUmVlYjZszEKsYxVWFilSTiljaXtCoNUp8tueTzy7cml3IR/zq55De0FcglqxEzJpdiHFMVcilJxCzJpRhHW4Vcshr+MbnkN8wrkEu5iG+dXPL55VuTS7mIf51c8hvaCuSS1YgZt1su0SCNOW4apoo9gGmQ+ncLEyu/oa3AxMpqxIyZWMU4pipMrJJE3NLmklalQeqzJZd8fvnW5FIu4l8nl/yGtgK5ZDVixuRSjGOqQi4liZgluRTjaKuQS1bDPyaX/IZ5BXIpF/Gtk0s+v3xrcikX8a+TS35DW4Fcshox43bLJRqkMcdNw1SxBzANUv9uYWLlN7QVmFhZjZgxE6sYx1SFiVWSiFvaXNKqNEh9tuSSzy/fmlzKRfzrvaOnqQAAQABJREFU5JLf0FYgl6xGzJhcinFMVcilJBGzJJdiHG0Vcslq+Mfkkt8wr0Au5SK+dXLJ55dvTS7lIv51cslvaCuQS1YjZtxuuUSDNOa4aZgq9gCmQerfLUys/Ia2AhMrqxEzZmIV45iqMLFKEnFLm0talQapz5Zc8vnlW5NLuYh/nVzyG9oK5JLViBmTSzGOqQq5lCRiluRSjKOtQi5ZDf+YXPIb5hXIpVzEt04u+fzyrcmlXMS/Ti75DW0FcslqxIzbLZdokMYcNw1TxR7ANEj9u4WJld/QVmBiZTVixkysYhxTFSZWSSJuaXNJq9Ig9dmSSz6/fGtyKRfxr5NLfkNbgVyyGjFjcinGMVUhl5JEzJJcinG0Vcglq+Efk0t+w7wCuZSL+NbJJZ9fvjW5lIv418klv6GtQC5ZjZhxu+USDdKY46ZhqtgDeNhdI2XMhHEN89ryFzJi6EYyc/8B+d0Ntc7EKnZ3MLGK9dRqTKxiTZlYxXpqNZtLuk6DVBXqv5FL9dtV2pJcqqTiu49c8vnlW5NLuYh/nVzyG9oK5JLV8I/JJb9hXoFcykV86+SSz6/S1uRSJZX67yOX6rertCW5VEnFdx+55PPLtyaXchH/ervlEg1S/zHTUBXsAcwZpP5dw8TKb2grMLGyGjFjJlYxjqkKE6skEbe0uaRVaZD6bMkln1++NbmUi/jXySW/oa1ALlmNmDG5FOOYqpBLSSJmSS7FONoq5JLV8I/JJb9hXoFcykV86+SSzy/fmlzKRfzr5JLf0FYgl6xGzLjdcokGacxx0zBV7AFMg9S/W5hY+Q1tBSZWViNmzMQqxjFVYWKVJOKWNpe0Kg1Sny255PPLtyaXchH/OrnkN7QVyCWrETMml2IcUxVyKUnELMmlGEdbhVyyGv4xueQ3zCuQS7mIb51c8vnlW5NLuYh/nVzyG9oK5JLViBm3Wy7RII05bhqmij2AaZD6dwsTK7+hrcDEymrEjJlYxTimKkyskkTc0uaSVqVB6rMll3x++dbkUi7iXyeX/Ia2ArlkNWLG5FKMY6pCLiWJmCW5FONoq5BLVsM/Jpf8hnkFcikX8a2TSz6/fGtyKRfxr5NLfkNbgVyyGjHjdsslGqQxx03DVLEHMA1S/25hYuU3tBWYWFmNmDETqxjHVIWJVZKIW9pc0qo0SH225JLPL9+aXMpF/Ovkkt/QViCXrEbMmFyKcUxVyKUkEbMkl2IcbRVyyWr4x+SS3zCvQC7lIr51csnnl29NLuUi/nVyyW9oK5BLViNm3G65RIM05rhpmCr2AKZB6t8tTKz8hrYCEyurETNmYhXjmKowsUoScUubS1qVBqnPllzy+eVbk0u5iH+dXPIb2grkktWIGZNLMY6pCrmUJGKW5FKMo61CLlkN/5hc8hvmFcilXMS3Ti75/PKtyaVcxL9OLvkNbQVyyWrEjNstl2iQxhw3DVPFHsA0SP27hYmV39BWYGJlNWLGTKxiHFMVJlZJIm5pc0mr0iD12ZJLPr98a3IpF/Gvk0t+Q1uBXLIaMWNyKcYxVSGXkkTMklyKcbRVyCWr4R+TS37DvAK5lIv41skln1++NbmUi/jXySW/oa1ALlmNmHG75RIN0pjjpmGq2AOYBql/tzCx8hvaCkysrEbMmIlVjGOqwsQqScQtbS5pVRqkPltyyeeXb00u5SL+dXLJb2grkEtWI2ZMLsU4pirkUpKIWZJLMY62CrlkNfxjcslvmFcgl3IR3zq55PPLtyaXchH/OrnkN7QVyCWrETNut1yiQRpz3DRMFXsA0yD17xYmVn5DW4GJldWIGTOxinFMVZhYJYm4pc0lrUqD1GdLLvn88q3JpVzEv04u+Q1tBXLJasSMyaUYx1SFXEoSMUtyKcbRViGXrIZ/TC75DfMK5FIu4lsnl3x++dbkUi7iXyeX/Ia2ArlkNWLG7ZZLNEhjjpuGqWIPYBqk/t3CxMpvaCswsbIaMWMmVjGOqQoTqyQRt7S5pFVpkPpsySWfX741uZSL+NfJJb+hrUAuWY2YMbkU45iqkEtJImZJLsU42irkktXwj8klv2FegVzKRXzr5JLPL9+aXMpF/Ovkkt/QViCXrEbMuN1yiQZpzHHTMFXsATzsrpEyZsK4hnlt+QsZMXQjmbn/gPzuhlpnYhW7O5hYxXpqNSZWsaZMrGI9tZrNJV2nQaoK9d/IpfrtKm1JLlVS8d1HLvn88q3JpVzEv04u+Q1tBXLJavjH5JLfMK9ALuUivnVyyedXaWtyqZJK/feRS/XbVdqSXKqk4ruPXPL55VuTS7mIf73dcokGqf+YaagK9gDmDFL/rmFi5Te0FZhYWY2YMROrGMdUhYlVkohb2lzSqjRIfbbkks8v35pcykX86+SS39BWIJesRsyYXIpxTFXIpSQRsySXYhxtFXLJavjH5JLfMK9ALuUivnVyyeeXb00u5SL+dXLJb2grkEtWI2bcbrlEgzTmuGmYKvYApkHq3y1MrPyGtgITK6sRM2ZiFeOYqjCxShJxS5tLWpUGqc+WXPL55VuTS7mIf51c8hvaCs2YS29+9pEc9Z/r7NtoqPHEiV/JEYv+ovSayKUSRV0Dcqkutk43Ipc6pan7AXKpbrqKGzZjLlV8Iw10J5+XYncGuRTrSS7Femo1cinWlFyK9dRq7ZZLNEjjj6EerWgPYBqk/l3BxMpvaCswsbIaMWMmVjGOqQoTqyQRt7S5pFX5Q7TPllzy+eVbk0u5iH+dXPIb2grNmEvaIB1262X2bTTUeMo+k8spS25Qek3kUomirgG5VBdbpxuRS53S1P0AuVQ3XcUNmzGXKr6RBrqTz0uxO4NcivUkl2I9tRq5FGtKLsV6arV2yyUapPHHUI9WtAcwDVL/rmBi5Te0FZhYWY2YMROrGMdUhYlVkohb2lzSqvwh2mdLLvn88q3JpVzEv04u+Q1thWbMJRqkdg+2/phcit3H5FKsp1Yjl2JNmzGXYgXiq/F5KdaUXIr1JJdiPbUauRRrSi7Femq1dsslGqTxx1CPVrQHMA1S/65gYuU3tBWYWFmNmDETqxjHVIWJVZKIW9pc0qo0SH225JLPL9+aXMpF/Ovkkt/QVmjGXKJBavdg64/Jpdh9TC7Femo1cinWtBlzKVYgvhqfl2JNyaVYT3Ip1lOrkUuxpuRSrKdWa7dcokEafwz1aEV7ANMg9e8KJlZ+Q1uBiZXViBkzsYpxTFWYWCWJuKXNJa1Kg9RnSy75/PKtyaVcxL9OLvkNbYVmzCUapHYPtv6YXIrdx+RSrKdWI5diTZsxl2IF4qvxeSnWlFyK9SSXYj21GrkUa0ouxXpqtXbLJRqk8cdQj1a0BzANUv+uYGLlN7QVmFhZjZgxE6sYx1SFiVWSiFvaXNKqNEh9tuSSzy/fmlzKRfzr5JLf0FZoxlyiQWr3YOuPyaXYfUwuxXpqNXIp1rQZcylWIL4an5diTcmlWE9yKdZTq5FLsabkUqynVmu3XKJBGn8M9WhFewDTIPXvCiZWfkNbgYmV1YgZM7GKcUxVmFglibilzSWtSoPUZ0su+fzyrcmlXMS/Ti75DW2FZswlGqR2D7b+mFyK3cfkUqynViOXYk2bMZdiBeKr8Xkp1pRcivUkl2I9tRq5FGtKLsV6arV2yyUapPHHUI9WtAcwDVL/rmBi5Te0FZhYWY2YMROrGMdUhYlVkohb2lzSqjRIfbbkks8v35pcykX86+SS39BWaMZcokFq92Drj8ml2H1MLsV6ajVyKda0GXMpViC+Gp+XYk3JpVhPcinWU6uRS7Gm5FKsp1Zrt1yiQRp/DPVoRXsAD7trpIyZMK5HX0+1Hz5i6EYyc/8B1Z7S448xsYrdBUysYj21GhOrWFMmVrGeWs3mkq7TIFWF+m/kUv12lbYklyqp+O4jl3x++dbNmEs0SPO92Nrr5FLs/iWXYj21GrkUa9qMuRQrEF+Nz0uxpuRSrCe5FOup1cilWFNyKdZTq7VbLtEgjT+GerSiPYA5g9S/K5hY+Q1tBSZWViNmzMQqxjFVYWKVJOKWNpe0Kg1Sny255PPLtyaXchH/OrnkN7QVmjGXaJDaPdj6Y3Ipdh+TS7GeWo1cijVtxlyKFYivxuelWFNyKdaTXIr11GrkUqwpuRTrqdXaLZdokMYfQz1a0R7ANEj9u4KJld/QVmBiZTVixkysYhxTFSZWSSJuaXNJq9Ig9dmSSz6/fGtyKRfxr5NLfkNboRlziQap3YOtPyaXYvcxuRTrqdXIpVjTZsylWIH4anxeijUll2I9yaVYT61GLsWakkuxnlqt3XKJBmn8MdSjFe0BTIPUvyuYWPkNbQUmVlYjZszEKsYxVWFilSTiljaXtCoNUp8tueTzy7cml3IR/zq55De0FZoxl2iQ2j3Y+mNyKXYfk0uxnlqNXIo1bcZcihWIr8bnpVhTcinWk1yK9dRq5FKsKbkU66nV2i2XaJDGH0M9WtEewDRI/buCiZXf0FZgYmU1YsZMrGIcUxUmVkkibmlzSavSIPXZkks+v3xrcikX8a+TS35DW6EZc4kGqd2DrT8ml2L3MbkU66nVyKVY02bMpViB+Gp8Xoo1JZdiPcmlWE+tRi7FmpJLsZ5ard1yiQZp/DHUoxXtAUyD1L8rmFj5DW0FJlZWI2bMxCrGMVVhYpUk4pY2l7QqDVKfLbnk88u3JpdyEf86ueQ3tBWaMZdokNo92Ppjcil2H5NLsZ5ajVyKNW3GXIoViK/G56VYU3Ip1pNcivXUauRSrCm5FOup1dotl2iQxh9DPVrRHsA0SP27gomV39BWYGJlNWLGTKxiHFMVJlZJIm5pc0mr0iD12ZJLPr98a3IpF/Gvk0t+Q1uhGXOJBqndg60/Jpdi9zG5FOup1cilWNNmzKVYgfhqfF6KNSWXYj3JpVhPrUYuxZqSS7GeWq3dcokGafwx1KMV7QFMg9S/K5hY+Q1tBSZWViNmzMQqxjFVYWKVJOKWNpe0Kg1Sny255PPLtyaXchH/OrnkN7QVmjGXaJDaPdj6Y3Ipdh+TS7GeWo1cijVtxlyKFYivxuelWFNyKdaTXIr11GrkUqwpuRTrqdXaLZdokMYfQz1a0R7ANEj9u4KJld/QVmBiZTVixkysYhxTFSZWSSJuaXNJq9Ig9dmSSz6/fGtyKRfxr5NLfkNboRlziQap3YOtPyaXYvcxuRTrqdXIpVjTZsylWIH4anxeijUll2I9yaVYT61GLsWakkuxnlqt3XKJBmn8MdSjFe0BTIPUvyuYWPkNbQUmVlYjZszEKsYxVWFilSTiljaXtCoNUp8tueTzy7cml3IR/zq55De0FZoxl2iQ2j3Y+mNyKXYfk0uxnlqNXIo1bcZcihWIr8bnpVhTcinWk1yK9dRq5FKsKbkU66nV2i2XaJDGH0M9WtEewMPuGiljJozr0ddT7YePGLqRzNx/QLWn9PhjTKxidwETq1hPrcbEKtaUiVWsp1azuaTrNEhVof4buVS/XaUtyaVKKr77yCWfX751M+YSDdJ8L7b2OrkUu3/JpVhPrUYuxZo2Yy7FCsRX4/NSrCm5FOtJLsV6ajVyKdaUXIr11Grtlks0SOOPoR6taA9gziD17womVn5DW4GJldWIGTOxinFMVZhYJYm4pc0lrUqD1GdLLvn88q3JpVzEv04u+Q1thWbMJRqkdg+2/phcit3H5FKsp1Yjl2JNmzGXYgXiq/F5KdaUXIr1JJdiPbUauRRrSi7Femq1dsslGqTxx1CPVrQHMA1S/65gYuU3tBWYWFmNmDETqxjHVIWJVZKIW9pc0qo0SH225JLPL9+aXMpF/Ovkkt/QVmjGXKJBavdg64/Jpdh9TC7Femo1cinWtBlzKVYgvhqfl2JNyaVYT3Ip1lOrkUuxpuRSrKdWa7dcokEafwz1aEV7ANMg9e8KJlZ+Q1uBiZXViBkzsYpxTFWYWCWJuKXNJa1Kg9RnSy75/PKtyaVcxL9OLvkNbYVmzCUapHYPtv6YXIrdx+RSrKdWI5diTZsxl2IF4qvxeSnWlFyK9SSXYj21GrkUa0ouxXpqtXbLJRqk8cdQj1a0BzANUv+uYGLlN7QVmFhZjZgxE6sYx1SFiVWSiFvaXNKqNEh9tuSSzy/fmlzKRfzr5JLf0FZoxlyiQWr3YOuPyaXYfUwuxXpqNXIp1rQZcylWIL4an5diTcmlWE9yKdZTq5FLsabkUqynVmu3XKJBGn8M9WhFewDTIPXvCiZWfkNbgYmV1YgZM7GKcUxVmFglibilzSWtSoPUZ0su+fzyrcmlXMS/Ti75DW2FZswlGqR2D7b+mFyK3cfkUqynViOXYk2bMZdiBeKr8Xkp1pRcivUkl2I9tRq5FGtKLsV6arV2yyUapPHHUI9WtAcwDVL/rmBi5Te0FZhYWY2YMROrGMdUhYlVkohb2lzSqjRIfbbkks8v35pcykX86+SS39BWaMZcokFq92Drj8ml2H1MLsV6ajVyKda0GXMpViC+Gp+XYk3JpVhPcinWU6uRS7Gm5FKsp1Zrt1yiQRp/DPVoRXsA0yD17womVn5DW4GJldWIGTOxinFMVZhYJYm4pc0lrUqD1GdLLvn88q3JpVzEv04u+Q1thWbMJRqkdg+2/phcit3H5FKsp1Yjl2JNmzGXYgXiq/F5KdaUXIr1JJdiPbUauRRrSi7Femq1dsslGqTxx1CPVrQHMA1S/65gYuU3tBWYWFmNmDETqxjHVIWJVZKIW9pc0qo0SH225JLPL9+aXMpF/Ovkkt/QVmjGXKJBavdg64/Jpdh9TC7Femo1cinWtBlzKVYgvhqfl2JNyaVYT3Ip1lOrkUuxpuRSrKdWa7dcavkG6fMvvCy33H63PPvcSzJ+/Hj54Zyzy9JLLCKL/HSBmo6ecYVtrh51szzx1LPy3/+9LzNMP53MP++PZO01V5bJ+/TpUONfd9wrN996h3z40Scy1w/nkM03WVcGDRxQ9rwHHnpMrr3+Fll2qcVkxeWXKnvMu2IPYBqkXk0RJlZ+Q1uBiZXViBkzsYpxTFWYWCWJuKXNJa1Kg9RnSy75/PKtyaVcxL9OLvkNbYVmzCUapHYPtv6YXIrdx+RSrKdWI5diTZsxl2IF4qvxeSnWlFyK9SSXYj21GrkUa0ouxXpqtXbLpZZukD786JNyzoWXVjxKVltpuWKTs+KD39z5xRdfyomnnidvvPl28Z6+faeQL78cWxzPOstMsvtOW0m/fn1LJR5/8hk549yLRZ83+/dnkecKzdnB0w2Sww7YrfScjz7+RA447ATp3auXHHHwnjJ1/6lKj0UM7AE87K6RMmbCuIiyk6TGiKEbycz9y5vHk+QHOYoysXLgVdiUiVUFFOddTKycgNnmTKwykIBVm0tajgapD5Vc8vnlW5NLuYh/nVzyG9oKzZhLNEjtHmz9MbkUu4/JpVhPrUYuxZo2Yy7FCsRX4/NSrCm5FOtJLsV6ajVyKdaUXIr11Grtlkst2yD98KOPZf9Djy8eIRutt1bxrNHx4yfIPfc9JJf/bVTx/v332klmmfl7xXGlf10y8mq54+77ZZqp+8veu20r0w0aKO9/8KEce9JZ8smnn8kySy4qG2+wdmnTP/31SvnP/Y/IfnvuINpAPf2ciwpnnj4nww/ZSwZMO03xecePOEdeevk12XbLTWTBIfOUto0a2AOYM0j9qkys/Ia2AhMrqxEzZmIV45iqMLFKEnFLm0talQapz5Zc8vnlW5NLuYh/nVzyG9oKzZhLNEjtHmz9MbkUu4/JpVhPrUYuxZo2Yy7FCsRX4/NSrCm5FOtJLsV6ajVyKdaUXIr11Grtlkst2yC96pobCpe6vVPWWn1F+fmqK5QdKef9+XJ58OHHZfllFpcN112z7LG0omeK7rn/cJk4caIcst+uxUvrpsf0UruHDD9ZehXOAj1h+H4yxRRTFB86+bTzi2eNnnrCoTLZZJPJVdfcWLzc7j6F5urss80qt/37Hhl51WhZZKEhsuXmG6ZyoUt7ANMg9dMysfIb2gpMrKxGzJiJVYxjqsLEKknELW0uaVUapD5bcsnnl29NLuUi/nVyyW9oKzRjLtEgtXuw9cfkUuw+JpdiPbUauRRr2oy5FCsQX43PS7Gm5FKsJ7kU66nVyKVYU3Ip1lOrtVsutWyDdNe9DxP9/tDjj9xPppyyX9mRMn7CBPn88zHSt9DY1MvhVrrd98CjcuHFV8hss84s++6xfYenHH3CGfLaG2/JFpuuL4stvGDx8b9c9ne5+94HZc9hW8ucc8wmJxUuz/v8i6/IMYfvK2PGfFFsqk7Zr58cWbi0bmc/t8MP6uYd9gCmQdpNvApPZ2JVAcVxFxMrB14nmzKx6gSmzruZWNUJV2Uzm0v6NBqkVbBqeIhcqgGpG08hl7qBVeNTyaUaoWp8WjPmEg3SGnduizyNXIrdkeRSrKdWI5diTZsxl2IF4qvxeSnWlFyK9SSXYj21GrkUa0ouxXpqtXbLpZZskH722eey94FHF5ubu++8ldz34KPy5NPPF78/dMh8P5KfLDCvDBpY/bsvR994m4y6/hZZc7Whskbhn/w2+oZbZVThnzULZ6iu8c0Zqs89/5KcfPoFxTNLB083UPRMU/0uUr0875HHnSZvvf2u7LrD72TuuebMy4Wt2wOYBqmflYmV39BWYGJlNWLGTKxiHFMVJlZJIm5pc0mr0iD12ZJLPr98a3IpF/Gvk0t+Q1uhGXOJBqndg60/Jpdi9zG5FOup1cilWNNmzKVYgfhqfF6KNSWXYj3JpVhPrUYuxZqSS7GeWq3dcqklG6RvvPm2DD/+dPnhnLOLNkvfefd/ZUeKXhp3r8JZnrMXLnvb2S2dDbrJhmsXvr900Q5Pu/Oe++Wvl18tSy6+sGy60Tqlxx985Am59fa7i99V+uO5fyjrr/Nzue32e4rN1OWW/pno96FOyps9gGmQ+qWZWPkNbQUmVlYjZszEKsYxVWFilSTiljaXtCoNUp8tueTzy7cml3IR/zq55De0FZoxl2iQ2j3Y+mNyKXYfk0uxnlqNXIo1bcZcihWIr8bnpVhTcinWk1yK9dRq5FKsKbkU66nV2i2XWrJB+viTz8oZ5/6ldHSssOwSsviiP5EvCt8reuM//y1PPfN88SzPQ/ffTaYbVPlM0tPPuUieeOo52eZ3GxfPOC0V+2bwyGNPydkXXCLzzzu37LD1ZvnDpfXX33hbjjrhdBkw7TRy2AG7SZ8+fUqPTYqBPYCbuUE6fvyEqjx9+vSu+njU9l98Oa54qeb0w/r2nVymKOzD7+rnp5+bL5v150+c+JV8VrjcdLr17t1Lpp16qrRaWkbtv1LBbNCsfult2NdfaWL11VdfpadWXNrtKz2hnf3zidXkk/eRflNMXsaEX/f++/vJZ2PK/LpqkLbz8adQXb3/sePGix6n6TbVlH0LXxnw7THa1fYcv+XHb/6Bv1evyaR/9tUMyVqX+JX7WRsd6/H3+Rdfirqmm3qqq97w69ovuaVl/juvv+/6e1/p1ii//29//rHsdvvISi+xIe6bss/kcsqSG5ReS8qlRvErvbBs0Ki/P/kfotPnpezl8/tf4+fX/PNSyqVG3f9pPzfy70+eS/r5Uz+H2lsjv359nY20//PPS5pLUxQ+M1W7NdLrr/Q6e3r/27/j6eubpv+UZS8Tv+7Nn/K/4+Wfl8pwCys9vf8b/edPNtlkxYZecsv/jtfor78Rf3/yv+PZz0vJOS0b8fWn16bLRtj/+ecl+3c8/Lr338+0b7v7d7y0XbMuW7JB+vCjT8o5F15a3Cf5JXInTpwoJxa+G/Sll18rnt05dLklK+47/f5R/R7SzTZeV5ZYbKEOz7nnvoflokv+JostsqBs8Zv1Ozyud+h3nR46/OTC2aQfyT6Fy+wOHjyd3POfh+TlV1+XOQpnry7xs5/K1P07NocqFqvxTjuxauYGqX0fld56+kNGpcf0Prb/tDOa4v097ZdeXD6xSvez/2rff/nESj/w633Vbj29/xv55+cf+Cs5NvLr19fL70/tvz+V9m+j++kfoao1SBv99Tfa70/eIK10TNj7Gu3129emY/Z/a//+6z6u1iBtlP3/zphP5MD7r9GX25C3zhqkjeLXGVqj/vcnb5A22+tPr5f93/r//Uz7ulKDlP1f+/7PPy/lc9PkbJeN+t+v9BrZ/7Xv/2Rml43u11WDtNFff0///uR/Y8r/jodf939/8r/j2d+nfNzT+5+fP3W+S8rWW/34T2+2q+MgPa9Zly3ZIE2X2NWdcuJRB0jfvlOU7Z8HHnpMzr9opMw3z9yy4zaVz/68evTNcsPNt8sv11xFVl1p2bLtdUXPRP3HqJtktZWXk7XXWLnD43rHyKtGy23/vkdWX3l5WX3V5eXIY08tfi9pevIM008n+++9k0weeFap/cVs5gZp/n8qJLO0zP+PunR/WkZtP7FwBsREczZe78LlmScrnAXxXf389H7yZbP+fD2z0Z5Vkk+s0vuM2n+pXr5sVr/0PuzrzydWOnnV/0u62s1uX+l57eyff+DvVfi/JXtl/4c5fuX/R3N+DOXHT/5/FHY1scq3z+u3u7/mULUGKX7lZyx3dfzkDVL9P6Q1mzq7tfvxV8v7z3/n1VNd9VbL9p3Zt+v2+dypWoO0UX7/tUH6h3v+Xm1X9uhjnTVIG8WvM5xG/f3JG6Tp81L+Phr19afX2Sj7P/+dT7mEX/fmn2m/6jLPpUoN0kbZ//Z123Ej7f/885Lm0oTCiQjVbo30+iu9zp7e//bvePr68jOe8Ove73/+d7yuGqQ9vf8b/edP1a9v2f+En/8dr9FffyP+/uR/x7Ofl/L/RjXi67evsRH2fz53sn/Hw697//1M+zafO3X1d7y0XbMuW7JB+mXhUrq7/+GIYuPx5GMP6rBvnn3+JTnl9Atk1llmkv323KHD43rHHXffJ5eMvKbTS+imS/BuvMEvZJklF+tQ4/kXX5GTCmeqfm+GwXLgPjsXLuv7gug2esbpZr/+lVx8+T/k3sJZqHp5Xr1Mb9TNTqyauUEa5eGtk3/g72pi5f15rb59/ofofGLV6u9/Ury/fGJV6QP/pPi5rVqz0gd+/b3nVr+AzSWt0uoTq/qlatuSXKrNqdZnkUu1StX+PHKpdqtantmMucR3kNayZ1vnOeRS7L4kl2I9tRq5FGvajLkUKxBfjc9LsabkUqwnuRTrqdXIpVhTcinWU6u1Wy61ZINUd6Q2SLVRut+eOxYaoTPqXaXbVdfcKDffeoesuPxSst4vVy/dbwcffvSx7H/o8cW7Thi+v/Qr/B8z6fZF4eysPfY7srh65MF7ysAB06aHikv9uQcecaJ89tnnctC+u8iM35tebrylcMbptTeVGqJPPPVsoWH6F1lnrVVllRWXKdves2IP4GF3jZQxE779njJP3Umx7YihG8nM/St/B+yk+Hn11GRiVY9a59swsercpt5HmFjVK1d5OyZWlV0899pc0jo0SD2aIuSSzy/fmlzKRfzr5JLf0FZoxlyiQWr3YOuPyaXYfUwuxXpqNXIp1rQZcylWIL4an5diTcmlWE9yKdZTq5FLsabkUqynVmu3XGrZBumtt98tV/z9Oplm6v7Fy9jqUm9PPPVc8UxOHe+83W9lnh/9X+GSnxMKl8u9WaRw+c+111pF+vT++gtsTzv7Inny6edkzh/MJrvvtJX0KlzWTr/D9KTTzpcXX3q100v0pu8vXXft1WWlFZbSHyV33nO//PXyq2XTwtmjSxa+e/Tuex+Uv1z2d+nsDNTiRnX8yx7AnEFaB2C2CROrDMS5ysTKCVhhcyZWFVAcdzGxcuB1sqnNJX0KDdJOoGq8m1yqEarGp5FLNUJ142nkUjewanhqM+YSDdIadmwLPYVcit2Z5FKsp1Yjl2JNmzGXYgXiq/F5KdaUXIr1JJdiPbUauRRrSi7Femq1dsullm2QaiPzkOGnyHvvf1A8SvRyumPGjJH3P/iouG7PHn340SflnAsvLd6/1eYbysILDSmO337nv3LsyWcVz0TV7zGdZeYZ5c233imt773rtjLTjDMUn5v+9fiTz8gZ514sc8w2q+y16zal71zSWocf88diw1Z/9i3/uks++fSz4uV38xqpVj1LewDTIK1HsHwbJlblHt41JlZewY7bM7HqaOK5h4mVR6/ytjaX9Bk0SCs71XovuVSrVG3PI5dqc+rOs8il7mh1/dxmzCUapF3v11Z6BrkUuzfJpVhPrUYuxZo2Yy7FCsRX4/NSrCm5FOtJLsV6ajVyKdaUXIr11Grtlkst2yDVnTl27Fi5/KrRxbM1dV1vAwdOK0svvoissdrQr+8o/Pu99z+Uw48eUfxi+YP/sItMP3g689gHctb5l8gbb75duk+brdtuubEMnm5Q6T4djB07TvY9+BgZN268HHbAbjJoYPnlY7Upqpf31eatno2ql9dNZ5iWFXKs2AOYBqkD8ptNmVj5DW0FJlZWI2bMxCrGMVVhYpUk4pY2l7QqDVKfLbnk88u3JpdyEf86ueQ3tBWaMZdokNo92Ppjcil2H5NLsZ5ajVyKNW3GXIoViK/G56VYU3Ip1pNcivXUauRSrCm5FOup1dotl1q6QZoOj68Kl85997/vSf+pppSpv7nUbnosLcePH18c9unTJ91VthxfuAzve+99IIMHDypdgrfsCTWuaHP0nXf/J9+bYbD0/uZSvjVuWtPT7AFMg7QmsqpPYmJVlafbDzKx6jZZlxswseqSqFtPYGLVLa6anmxzSTegQVoTW6dPIpc6panrAXKpLraqG5FLVXm6/WAz5hIN0m7v5qbegFyK3X3kUqynViOXYk2bMZdiBeKr8Xkp1pRcivUkl2I9tRq5FGtKLsV6arV2y6W2aJDGHyaNW9EewDRI/fuJiZXf0FZgYmU1YsZMrGIcUxUmVkkibmlzSavSIPXZkks+v3xrcikX8a+TS35DW6EZc4kGqd2DrT8ml2L3MbkU66nVyKVY02bMpViB+Gp8Xoo1JZdiPcmlWE+tRi7FmpJLsZ5ard1yiQZp/DHUoxXtATzsrpEyZsK4Hn091X74iKEbycz9yy9DXO35PfEYE6tYdSZWsZ5ajYlVrCkTq1hPrWZzSddpkKpC/TdyqX67SluSS5VUfPeRSz6/fOtmzCUapPlebO11cil2/5JLsZ5ajVyKNW3GXIoViK/G56VYU3Ip1pNcivXUauRSrCm5FOup1dotl2iQxh9DPVrRHsCcQerfFUys/Ia2AhMrqxEzZmIV45iqMLFKEnFLm0talQapz5Zc8vnlW5NLuYh/nVzyG9oKzZhLNEjtHmz9MbkUu4/JpVhPrUYuxZo2Yy7FCsRX4/NSrCm5FOtJLsV6ajVyKdaUXIr11Grtlks0SOOPoR6taA9gGqT+XcHEym9oKzCxshoxYyZWMY6pChOrJBG3tLmkVWmQ+mzJJZ9fvjW5lIv418klv6Gt0Iy5RIPU7sHWH5NLsfuYXIr11GrkUqxpM+ZSrEB8NT4vxZqSS7Ge5FKsp1Yjl2JNyaVYT63WbrlEgzT+GOrRivYApkHq3xVMrPyGtgITK6sRM2ZiFeOYqjCxShJxS5tLWpUGqc+WXPL55VuTS7mIf51c8hvaCs2YSzRI7R5s/TG5FLuPyaVYT61GLsWaNmMuxQrEV+PzUqwpuRTrSS7Femo1cinWlFyK9dRq7ZZLNEjjj6EerWgPYL6D1L8rmFj5DW0FJlZWI2bMxCrGMVVhYpUk4pY2l7QqDVKfLbnk88u3JpdyEf86ueQ3tBWaMZdokNo92Ppjcil2H5NLsZ5ajVyKNW3GXIoViK/G56VYU3Ip1pNcivXUauRSrCm5FOup1dotl2iQxh9DPVrRHsCcQerfFUys/Ia2AhMrqxEzZmIV45iqMLFKEnFLm0talQapz5Zc8vnlW5NLuYh/nVzyG9oKzZhLNEjtHmz9MbkUu4/JpVhPrUYuxZo2Yy7FCsRX4/NSrCm5FOtJLsV6ajVyKdaUXIr11Grtlks0SOOPoR6taA9gGqT+XcHEym9oKzCxshoxYyZWMY6pChOrJBG3tLmkVWmQ+mzJJZ9fvjW5lIv418klv6Gt0Iy5RIPU7sHWH5NLsfuYXIr11GrkUqxpM+ZSrEB8NT4vxZqSS7Ge5FKsp1Yjl2JNyaVYT63WbrlEgzT+GOrRivYApkHq3xVMrPyGtgITK6sRM2ZiFeOYqjCxShJxS5tLWpUGqc+WXPL55VuTS7mIf51c8hvaCs2YSzRI7R5s/TG5FLuPyaVYT61GLsWaNmMuxQrEV+PzUqwpuRTrSS7Femo1cinWlFyK9dRq7ZZLNEjjj6EerWgPYBqk/l3BxMpvaCswsbIaMWMmVjGOqQoTqyQRt7S5pFVpkPpsySWfX741uZSL+NfJJb+hrdCMuUSD1O7B1h+TS7H7mFyK9dRq5FKsaTPmUqxAfDU+L8WakkuxnuRSrKdWI5diTcmlWE+t1m65RIM0/hjq0Yr2AKZB6t8VTKz8hrYCEyurETNmYhXjmKowsUoScUubS1qVBqnPllzy+eVbk0u5iH+dXPIb2grNmEs0SO0ebP0xuRS7j8mlWE+tRi7FmjZjLsUKxFfj81KsKbkU60kuxXpqNXIp1pRcivXUau2WSzRI44+hHq1oD+Bhd42UMRPG9ejrqfbDRwzdSGbuP6DaU3r8MSZWsbuAiVWsp1ZjYhVrysQq1lOr2VzSdRqkqlD/jVyq367SluRSJRXffeSSzy/fuhlziQZpvhdbe51cit2/5FKsp1Yjl2JNmzGXYgXiq/F5KdaUXIr1JJdiPbUauRRrSi7Femq1dsslGqTxx1CPVrQHMGeQ+ncFEyu/oa3AxMpqxIyZWMU4pipMrJJE3NLmklalQeqzJZd8fvnW5FIu4l8nl/yGtkIz5hINUrsHW39MLsXuY3Ip1lOrkUuxps2YS7EC8dX4vBRrSi7FepJLsZ5ajVyKNSWXYj21WrvlEg3S+GOoRyvaA5gGqX9XMLHyG9oKTKysRsyYiVWMY6rCxCpJxC1tLmlVGqQ+W3LJ55dvTS7lIv51cslvaCs0Yy7RILV7sPXH5FLsPiaXYj21GrkUa9qMuRQrEF+Nz0uxpuRSrCe5FOup1cilWFNyKdZTq7VbLtEgjT+GerSiPYBpkPp3BRMrv6GtwMTKasSMmVjFOP4/e28CLVlRpW0HNVPFWMUgICLiAIKiKDKpCChNi6Jtq3zYyHJYymrbFlCcGGQQaKWlRRRdim3jh4qKX6uA/IoIqIyCA8ogIoIDBYhMMhRQA3/uhLjsijqZNzL2vnVP3PPkWnoizom9b+YTcXnj7LdO3piFjVUk4XfUuiRZMUhtbNElG780Gl1Kidj76JKdoc5Qoy5hkOoZnPptdMl3jtElX56SDV3yZVqjLvkS8M/G/ZIvU3TJlye65MtTsqFLvkzRJV+ekq1ruoRB6r+GJjWjXsD8DVL7VLCxsjPUGdhYaRo+bTZWPhxjFjZWkYTfUeuSZMUgtbFFl2z80mh0KSVi76NLdoY6Q426hEGqZ3Dqt9El3zlGl3x5SjZ0yZdpjbrkS8A/G/dLvkzRJV+e6JIvT8mGLvkyRZd8eUq2rukSBqn/GprUjHoB8wSpfSrYWNkZ6gxsrDQNnzYbKx+OMQsbq0jC76h1SbJikNrYoks2fmk0upQSsffRJTtDnaFGXcIg1TM49dvoku8co0u+PCUbuuTLtEZd8iXgn437JV+m6JIvT3TJl6dkQ5d8maJLvjwlW9d0CYPUfw1Naka9gDFI7VPBxsrOUGdgY6Vp+LTZWPlwjFnYWEUSfketS5IVg9TGFl2y8Uuj0aWUiL2PLtkZ6gw16hIGqZ7Bqd9Gl3znGF3y5SnZ0CVfpjXqki8B/2zcL/kyRZd8eaJLvjwlG7rkyxRd8uUp2bqmSxik/mtoUjPqBYxBap8KNlZ2hjoDGytNw6fNxsqHY8zCxiqS8DtqXZKsGKQ2tuiSjV8ajS6lROx9dMnOUGeoUZcwSPUMTv02uuQ7x+iSL0/Jhi75Mq1Rl3wJ+GfjfsmXKbrkyxNd8uUp2dAlX6boki9PydY1XcIg9V9Dk5pRL2AMUvtUsLGyM9QZ2FhpGj5tNlY+HGMWNlaRhN9R65JkxSC1sUWXbPzSaHQpJWLvo0t2hjpDjbqEQapncOq30SXfOUaXfHlKNnTJl2mNuuRLwD8b90u+TNElX57oki9PyYYu+TJFl3x5Srau6RIGqf8amtSMegFjkNqngo2VnaHOwMZK0/Bps7Hy4RizsLGKJPyOWpckKwapjS26ZOOXRqNLKRF7H12yM9QZatQlDFI9g1O/jS75zjG65MtTsqFLvkxr1CVfAv7ZuF/yZYou+fJEl3x5SjZ0yZcpuuTLU7J1TZcwSP3X0KRm1Av4gEvOCIuWLp7U9zPsh5+0y95hg3lrDhsy6dfYWPlOARsrX56SjY2VL1M2Vr48JZvWJeljkAqF8he6VM6uKRJdaqJiO4cu2fil0TXqEgZpOotTu48u+c4vuuTLU7KhS75Ma9QlXwL+2bhf8mWKLvnyRJd8eUo2dMmXKbrky1OydU2XMEj919CkZtQLmCdI7VPBxsrOUGdgY6Vp+LTZWPlwjFnYWEUSfketS5IVg9TGFl2y8Uuj0aWUiL2PLtkZ6gw16hIGqZ7Bqd9Gl3znGF3y5SnZ0CVfpjXqki8B/2zcL/kyRZd8eaJLvjwlG7rkyxRd8uUp2bqmSxik/mtoUjPqBYxBap8KNlZ2hjoDGytNw6fNxsqHY8zCxiqS8DtqXZKsGKQ2tuiSjV8ajS6lROx9dMnOUGeoUZcwSPUMTv02uuQ7x+iSL0/Jhi75Mq1Rl3wJ+GfjfsmXKbrkyxNd8uUp2dAlX6boki9PydY1XcIg9V9Dk5pRL2AMUvtUsLGyM9QZ2FhpGj5tNlY+HGMWNlaRhN9R65JkxSC1sUWXbPzSaHQpJWLvo0t2hjpDjbqEQapncOq30SXfOUaXfHlKNnTJl2mNuuRLwD8b90u+TNElX57oki9PyYYu+TJFl3x5Srau6RIGqf8amtSMegHzN0jtU8HGys5QZ2BjpWn4tNlY+XCMWdhYRRJ+R61LkhWD1MYWXbLxS6PRpZSIvY8u2RnqDDXqEgapnsGp30aXfOcYXfLlKdnQJV+mNeqSLwH/bNwv+TJFl3x5oku+PCUbuuTLFF3y5SnZuqZLGKT+a2hSM+oFzBOk9qlgY2VnqDOwsdI0fNpsrHw4xixsrCIJv6PWJcmKQWpjiy7Z+KXR6FJKxN5Hl+wMdYYadQmDVM/g1G+jS75zjC758pRs6JIv0xp1yZeAfzbul3yZoku+PNElX56SDV3yZYou+fKUbF3TJQxS/zU0qRn1AsYgtU8FGys7Q52BjZWm4dNmY+XDMWZhYxVJ+B21LklWDFIbW3TJxi+NRpdSIvY+umRnqDPUqEsYpHoGp34bXfKdY3TJl6dkQ5d8mdaoS74E/LNxv+TLFF3y5Yku+fKUbOiSL1N0yZenZOuaLmGQ+q+hSc2oFzAGqX0q2FjZGeoMbKw0DZ82GysfjjELG6tIwu+odUmyYpDa2KJLNn5pNLqUErH30SU7Q52hRl3CINUzOPXb6JLvHKNLvjwlG7rky7RGXfIl4J+N+yVfpuiSL090yZenZEOXfJmiS748JVvXdAmD1H8NTWpGvYAxSO1TwcbKzlBnYGOlafi02Vj5cIxZ2FhFEn5HrUuSFYPUxhZdsvFLo9GllIi9jy7ZGeoMNeoSBqmewanfRpd85xhd8uUp2dAlX6Y16pIvAf9s3C/5MkWXfHmiS748JRu65MsUXfLlKdm6pksYpP5raFIz6gWMQWqfCjZWdoY6AxsrTcOnzcbKh2PMwsYqkvA7al2SrBikNrboko1fGo0upUTsfXTJzlBnqFGXMEj1DE79NrrkO8foki9PyYYu+TKtUZd8Cfhn437Jlym65MsTXfLlKdnQJV+m6JIvT8nWNV3CIPVfQ5OaUS/gAy45IyxaunhS38+wH37SLnuHDeatOWzIpF9jY+U7BWysfHlKNjZWvkzZWPnylGxal6SPQSoUyl/oUjm7pkh0qYmK7Ry6ZOOXRteoSxik6SxO7T665Du/6JIvT8mGLvkyrVGXfAn4Z+N+yZcpuuTLE13y5SnZ0CVfpuiSL0/J1jVdwiD1X0OTmlEvYJ4gtU8FGys7Q52BjZWm4dNmY+XDMWZhYxVJ+B21LklWDFIbW3TJxi+NRpdSIvY+umRnqDPUqEsYpHoGp34bXfKdY3TJl6dkQ5d8mdaoS74E/LNxv+TLFF3y5Yku+fKUbOiSL1N0yZenZOuaLmGQ+q+hSc2oFzAGqX0q2FjZGeoMbKw0DZ82GysfjjELG6tIwu+odUmyYpDa2KJLNn5pNLqUErH30SU7Q52hRl3CINUzOPXb6JLvHKNLvjwlG7rky7RGXfIl4J+N+yVfpuiSL090yZenZEOXfJmiS748JVvXdAmD1H8NTWpGvYAxSO1TwcbKzlBnYGOlafi02Vj5cIxZ2FhFEn5HrUuSFYPUxhZdsvFLo9GllIi9jy7ZGeoMNeoSBqmewanfRpd85xhd8uUp2dAlX6Y16pIvAf9s3C/5MkWXfHmiS748JRu65MsUXfLlKdm6pksYpP5raFIz6gXM3yC1TwUbKztDnYGNlabh02Zj5cMxZqlxYyWF6F/f8Zf4EVp3XLTo4fCyDZ859r4wSMdQFDXQpSJsA4PQpYFoii+gS8XoGgNr1aUDLvhG4+dpw8lVZ8wMn9rhDWNvBV0aQ1HUQJeKsA0MQpcGoim+gC4Vo2sMrFGXGj9Ii07qOp68LXTJNjnoko1fGo0upUTsfXTJzlBnQJc0DZ9213QJg9Rn3bQmi17APEFqnxY2VnaGOgMbK03Dp83GyodjzFLjxoondeLsdeOILvnOM7rky1OyoUu+TNElX56SDYPUlym65MsTXfLlKdnQJV+mNeqSLwH/bLqOJ9kxSG2M0SUbvzQaXUqJ2Pvokp2hzoAuaRo+7a7pEgapz7ppTRa9gDFI7dPCxsrOUGdgY6Vp+LTZWPlwjFlq3FhhkMbZ68YRXfKdZ3TJl6dkQ5d8maJLvjwlGwapL1N0yZcnuuTLU7KhS75Ma9QlXwL+2XQdT7JjkNoYo0s2fmk0upQSsffRJTtDnQFd0jR82l3TJQxSn3XTmix6AWOQ2qeFjZWdoc7AxkrT8GmzsfLhGLPUuLHCII2z140juuQ7z+iSL0/Jhi75MkWXfHlKNgxSX6boki9PdMmXp2RDl3yZ1qhLvgT8s+k6nmTHILUxRpds/NJodCklYu+jS3aGOgO6pGn4tLumSxikPuumNVn0AsYgtU8LGys7Q52BjZWm4dNmY+XDMWapcWOFQRpnrxtHdMl3ntElX56SDV3yZYou+fKUbBikvkzRJV+e6JIvT8mGLvkyrVGXfAn4Z9N1PMmOQWpjjC7Z+KXR6FJKxN5Hl+wMdQZ0SdPwaXdNlzBIfdZNa7LoBYxBap8WNlZ2hjoDGytNw6fNxsqHY8xS48YKgzTOXjeO6JLvPKNLvjwlG7rkyxRd8uUp2TBIfZmiS7480SVfnpINXfJlWqMu+RLwz6breJIdg9TGGF2y8Uuj0aWUiL2PLtkZ6gzokqbh0+6aLmGQ+qyb1mTRC/iAS84Ii5Yubs17S9/ISbvsHTaYt2Z6ulV9Nla+08HGypenZGNj5cu0xo0VBqnvGmh7NnTJd4bQJV+ekg1d8mWKLvnylGwYpL5M0SVfnuiSL0/Jhi75Mq1Rl3wJ+GfTdTzJjkFqY4wu2fil0ehSSsTeR5fsDHUGdEnT8Gl3TZcwSH3WTWuy6AXME6T2aWFjZWeoM7Cx0jR82mysfDjGLDVurDBI4+x144gu+c4zuuTLU7KhS75M0SVfnpINg9SXKbrkyxNd8uUp2dAlX6Y16pIvAf9suo4n2TFIbYzRJRu/NBpdSonY++iSnaHOgC5pGj7trukSBqnPumlNFr2AMUjt08LGys5QZ2BjpWn4tNlY+XCMWWrcWGGQxtnrxhFd8p1ndMmXp2RDl3yZoku+PCUbBqkvU3TJlye65MtTsqFLvkxr1CVfAv7ZdB1PsmOQ2hijSzZ+aTS6lBKx99ElO0OdAV3SNHzaXdMlDFKfddOaLHoBY5Dap4WNlZ2hzsDGStPwaeuN1Z/vvzvMmzsnTJu2ik/yCciy6ZrrhJvu/dsEZPZJuXjJ0vDQQ4+EjVdbOwjPmTOnhzmzZ/kkn4AswhODdALAtjgluuQ7OeiSL0/JpnVJ+musNjdMnz5NmrwKCNR4w48uFUx0xSHoku/koUu+PCUbuuTLtEZd8iXgn03X8SQ7BqmNMbpk45dGo0spEXsfXbIz1BnQJU3Dp901XcIg9Vk3rcmiFzB/g9Q+LWys7Ax1BjZWmoZPW2+sTvjNj8L199zuk3gCshy4zW5hpw03C6ddd3k488arJuAn+KTc/clbhNdv+vxwxR1/DKf89mKfpBOQZat1NgpHbL8nBukEsG1zSnTJd3bQJV+ekk3rkvQxSIVC+avGG34M0vL5rjESXfKdNXTJl6dkQ5d8mdaoS74E/LPpOp5kxyC1MUaXbPzSaHQpJWLvo0t2hjoDuqRp+LS7pksYpD7rpjVZ9ALmCVL7tLCxsjPUGdhYaRo+bb2xwiD1YYpB6sMxZuGrDCMJnyO65MMxZkGXIgm/o9YlyYpBamNb4w0/BqltzmuLRpd8Zwxd8uUp2dAlX6Y16pIvAf9suo4n2TFIbYzRJRu/NBpdSonY++iSnaHOgC5pGj7trukSBqnPumlNFr2AMUjt08LGys5QZ2BjpWn4tPXGCoPUhykGqQ/HmAWDNJLwOaJLPhxjFnQpkvA7al2SrBikNrY13vBjkNrmvLZodMl3xtAlX56SDV3yZVqjLvkS8M+m63iSHYPUxhhdsvFLo9GllIi9jy7ZGeoM6JKm4dPumi5hkPqsm9Zk0QsYg9Q+LWys7Ax1BjZWmoZPW2+sMEh9mGKQ+nCMWTBIIwmfI7rkwzFmQZciCb+j1iXJikFqY1vjDT8GqW3Oa4tGl3xnDF3y5SnZ0CVfpjXqki8B/2y6jifZMUhtjNElG780Gl1Kidj76JKdoc6ALmkaPu2u6RIGqc+6aU0WvYAxSO3TwsbKzlBnYGOlafi09cYKg9SHKQapD8eYBYM0kvA51qhLF93y+/C7u9v595GXPRrCI4sXh302e2F/gqZPn9Y39Hxmq5tZtC4JAQxS2zrQN/zyt7Fvuv/OMHPGdFvSCYx+21Y78bexJ5BvG1PXqEtt5BjfE/dLkYTfEV3yYymZtC5Jf/asmWHuqrOlyauQgK7jSQoM0kKQj4ehSzZ+aTS6lBKx99ElO0OdAV3SNHzaXdMlDFKfddOaLHoBY5Dap4WNlZ2hzsDGStPwaeuNFQapD1MMUh+OMQsGaSThc6xRl8Qg/dQvz/cBMAFZNl9r/fDe5+zWz4xBagesdUmyYZDamOobfjFIT/ntxbaEExi91TobhSO23xODdAIZtzF1jbrURo7xPXG/FEn4HdElP5aSSeuS9DFIhYLtpet4kgmD1MYTXbLxS6PRpZSIvY8u2RnqDOiSpuHT7pouYZD6rJvWZNEL+IBLzgiLli5uzXtL38hJu+wdNpi3Znq6VX02Vr7TwcbKl6dk0xsrDFIfvhikPhxjFgzSSMLnWKMuYZD6zH0tWbQuyXvGILXNnL7hxyC1sYzR6FIk4XOsUZd8PvnEZOF+yZ8ruuTLVOuSZMYgtfPVdTzJhkFqY4ou2fil0ehSSsTeR5fsDHUGdEnT8Gl3TZcwSH3WTWuy6AXME6T2aWFjZWeoM7Cx0jR82npjhUHqwxSD1IdjzM4lecgAAEAASURBVEIhOpLwOdaoSxikPnNfSxatS/KeMUhtM6dv+DFIbSxjNLoUSfgca9Qln08+MVm4X/Lnii75MtW6JJkxSO18dR1PsmGQ2piiSzZ+aTS6lBKx99ElO0OdAV3SNHzaXdMlDFKfddOaLHoBY5Dap4WNlZ2hzsDGStPwaeuNFQapD1MMUh+OMQuF6EjC51ijLmGQ+sx9LVm0Lsl7xiC1zZy+4ccgtbGM0ehSJOFzrFGXfD75xGThfsmfK7rky1TrkmTGILXz1XU8yYZBamOKLtn4pdHoUkrE3keX7Ax1BnRJ0/Bpd02XMEh91k1rsugFjEFqnxY2VnaGOgMbK03Dp603VhikPkwxSH04xiy6EC1f/b40PBovte74iZf+M1/9PgGzgkE6AVBbnFLrkrxNDFLbZOkbfgxSG8sYrXVJzlGIjmTKjtwvlXEbFMX90iAy5efRpXJ2TZFal+Q6BmkTpdHO6TqeRKJLo/FLR6NLKRFbH12y8WuKRpeaqJSfQ5fK2Q2K7JouYZAOWgmVntcLmL9Bap9ENlZ2hjoDGytNw6etN1YYpD5MMUh9OMYsuhCNLkUq5ccadQmDtHy+a4zUuiTvH4PUNov6hh+D1MYyRmtdknMUoiOZsmONulT2SVdOFPdL/pzRJV+mWpckMwapna+u40k2dMnGFF2y8Uuj0aWUiL2PLtkZ6gzokqbh0+6aLmGQ+qyb1mTRC5gnSO3TwsbKzlBnYGOlafi09cYKg9SHKQapD8eYRReiMUgjlfJjjbqEQVo+3zVGal2S949BaptFfcOPQWpjGaO1Lsk5CtGRTNmxRl0q+6QrJ4r7JX/O6JIvU61LkhmD1M5X1/EkG7pkY4ou2fil0ehSSsTeR5fsDHUGdEnT8Gl3TZcwSH3WTWuy6AWMQWqfFjZWdoY6AxsrTcOnrTdWGKQ+TDFIfTjGLLoQjUEaqZQfa9QlDNLy+a4xUuuSvH8MUtss6ht+DFIbyxitdUnOUYiOZMqONepS2SddOVHcL/lzRpd8mWpdkswYpHa+uo4n2dAlG1N0ycYvjUaXUiL2PrpkZ6gzoEuahk+7a7o0pQ3SU7/yrfDHP98ycGV86L3/GmbPnjXwulxYvGRJOPN754VrrvtduONvd4V115kfttzimWGvPV8eZs6YsULsjy+6PJx3wUXhnnvvC09/2iZhvze9Lqy91prLjfv5L38Tzv7++eElO24bdt15x+WuWTt6AWOQWmmGwMbKzlBnYGOlafi09cYKg9SHKQapD8eYRReiMUgjlfKj1iUxS2bNmhFmTJ9ennCCI1+80dMDBukEQ25Zeq1L8tYwSG0TpG/4MUhtLGO01iU5RyE6kik7al2SDHNXnd03TMqyEcX9kv8aQJd8mWpdkswYpHa+uo4n2dAlG1N0ycYvjUaXUiL2PrpkZ6gzoEuahk+7a7o0pQ3Sgw85Lix66KGBK+OE/zg0zJk9e+D1hx56OPzXZ/473LLwtv4YMVMffviRfnujDZ8U3vvut4c5c56Iv/ra68PnvvjVvun6lCdvGG648eawYP7a4ejDDhr7Gff+/b5w2NEnhOnTpoVjjjg4rDZv7tg1j4ZewBikdqJsrOwMdQY2VpqGT1tvrDBIfZhikPpwjFl0IRqDNFIpP2pd+tZNvwzn/uW68mQTHPmazbYO+26xHQbpBHNuW3qtS/LeMEhtM6Rv+DFIbSxjtNYlOUchOpIpO2pdkgwYpGUcYxT3S5GE3xFd8mMpmbQuSR+DVCjYXrqOJ5nQJRtPdMnGL41Gl1Ii9j66ZGeoM6BLmoZPu2u6NGUN0mXLloV/P/jIMK1nRH7q+I80rg65Nux1+hlnhosuvTKsvtq88IGD9g/z114r3HX3PeH4T34+3Hf/A+HFO7ww7POGvcZSfPlr/y/87MqrwiEHvyuIgfrZU07rPXl6QzjuyPeHNddYvT/uEyedEm66+c9h/7e9KTx3q83HYr0aegFjkNqpsrGyM9QZ2FhpGj5tvbHCIPVhikHqwzFm0YVoDNJIpfyodQmDtJyjjtx8rfXDe5+zW//U9OnT+oaevk57NAJalyQSg3Q0fulofcOPQZrSKetrXZIMFKLLOMYorUtyDoM0kik7cr9Uxm1YFLo0jM7o17QuSTQG6egM0whdx5Nr6FJKaLQ+ujQar/FGo0vjERr9Oro0OrNhEejSMDpl17qmS1PWIL3zrrvDR475ZM/UXDN89PD3jbwa5EnRgw89LojReuQhB/a/Wjcmka/aPfK4E/vm6wnHHdL7ervHvqb3xJO/1H9q9DMnHBVWWWWV8O2zzu1/3e4He+bqUzbeKFz408vCGd8+J7zgeVuFt+33xpjO9agXMIVoO1o2VnaGOgMbK03Dp603VhikPkwxSH04xiy6EI0uRSrlR61LGKTlHHUkBqmmYW9rXZJsGKQ2pvqGH4PUxjJGa12ScxSiI5myo9YlyYBBWsYxRnG/FEn4HdElP5aSSeuS9DFIhYLtpet4kgldsvFEl2z80mh0KSVi76NLdoY6A7qkafi0u6ZLU9Ygvf6GP4STPndqeMZmTw0H/tvbRl4dV/z81+HUr34rbLzRBuFD7/vXFeI/dsLnwp9vuTW8Zd/Xh223eW7/+le+8Z1w6eW/CAcf8I6w6SYbh0/2vp7393/4Y/j4Rz8UFi16qG+qrjpnTji299W64/3t0xV+YOYJvYB5gjQT2pBhbKyGwCm4xMaqANo4IXpjhUE6DqzMyxikmaAyh+lCNAZpJrQhw7QuYZAOATXCJQzSEWBlDNW6JMMxSDOgDRmib/gxSIeAGuGS1iUJoxA9AryGoVqX5DIGaQOkEU5xvzQCrMyh6FImqMxhWpckBIM0E9yQYbqOJ8PQpSGwMi6hSxmQRhiCLo0AK3MoupQJKnMYupQJaoRhXdOlKWuQXnzZleFr3zwzbPXsZ/W+7nb98Ieb/hTEnNxqy2eG5265eVh99dWGLotzzr0wfO/754c9/2GX8Mre/9LXOT+4IHyv978999g1vHL3l/Uv3/D7m8KJn/2f/pOlC+avFeRJU/lbpPL1vMf+58nh1tv+Gg5811vDM56+aZrOra8XMAapHSsbKztDnYGNlabh09YbKwxSH6YYpD4cYxZdiMYgjVTKj1qXMEjLOepIDFJNw97WuiTZMEhtTPUNPwapjWWM1rok5yhERzJlR61LkgGDtIxjjOJ+KZLwO6JLfiwlk9Yl6WOQCgXbS9fxJBO6ZOOJLtn4pdHoUkrE3keX7Ax1BnRJ0/Bpd02XpqxB+t2zfxjOPf+njati5owZ4cO9vxO6/nrrNF6Xk/Fp0De9ca+w0/YvXGFcNGB32G6bsO/erx27/ourrgkX/OTS/t8qfdYznhZe/9p/DBf+5LK+mfrSnV4U9v7nV42NnYiGXsAYpHbCbKzsDHUGNlaahk9bb6wwSH2YYpD6cIxZdCEagzRSKT9qXcIgLeeoIzFINQ17W+uSZMMgtTHVN/wYpDaWMVrrkpyjEB3JlB21LkkGDNIyjjGK+6VIwu+ILvmxlExal6SPQSoUbC9dx5NM6JKNJ7pk45dGo0spEXsfXbIz1BnQJU3Dp901XZqyBulPL7kiyP/mrjon7LrzjuFJ66/b/0rc/6/3ZKg8ySlPkx512EFh3txVG1fOZ085LVxz3Q3hnW/dJ2z9nC1WGHPVb64LX/if08OWWzwjvOsdb17hejzxl1tuC/9xwmfDmmusHo7u/bwZPXN2Il96AddskC5ZsnQophkzpg+97hX/0MOLw+IlS8Z+1uzZM8Os3hyurJ8/9oOTRq0/f9myR8MDva+bjq/p06f1C6exH49e8xfzpcda+cXPod+/3li13SB9z9a7hB02eFo4/YYrw5k3XhU/TuuOGKS+U6IL0TUYpOvOHv4NE/r3r4nURP/365HFS/qFKfnZbTdIX73pc8KbnvWicMmtN4ZPX3VhE65WnNMG6bRpq4R5vb3joNdkz38NP//Bhx4OUkiJL+EpXOVVw/uP77vpOBnvX//Ot90g3XL+BuGwF70y3Pbg38NBPzmjCWErzmldkjcUC9ET/d/vyVg/GvhE/fy0EB3vl/TPlvZE/fz4c6bK/KX3S1GX4Fd+/5/qUtM/3Jkq6yf+PqRHz/XTVIieNXN4ncvz56efTfq1z5+u48nnWX3e8nVK+I32+5/W8cb7hzu1r5+Jfv+rrLJKkLpTfKV1vIn++VNx/es6nnDV90uRczxOxc8fP5scPdaPvl+SnDN7mjRn1kxpsv8s9E/ue2BRn1/8v3i/FPtT7ThlDdJBE/Xww4+EY47/dO8Jz3vD2978hvCC5z+ncaj8/VH5O6Rv3ud1Yfttn7fCmMuu+FU47fT/Ddu+4LnhLf/y+hWuy4klS5eGo447sf+zPtj7mt0FC+aHy372y3Dzn/4SNtl4o7D9i54fVps3tzG29KTeWNVskOrP0cRivF9M4u9vwjZ2brL5xTeSbqzieeYvf/70xqrtBuk7Nt8pbLvuJuHshddgkMbFbjhutc5G4Yjt9wwLH7g3HHDBNwyZJjZUF6JrMEjnLBl+Az7Z//2Uf6UvhSl5td0gjf/Y4Gd3/DF88bcXT+xCM2TXBul4aSZ7/vn5w/8Bw1TfP7TdII2/S7cvui8cfuVZ4/06Tdp1rUvyJuLv1VRfP/FzDgJf+vlTg3RQ/on6+fHnlb5/4h8jMNX5xXmWY5NBOtU/v+fvX5NBGvemmrNue/58nTe2mb/8+kFkpo9Tnd94BulU//zW3z/5b+YwgxR+o//+6Tqe/l1salvnj/hu3z9a5z+uyfHyxHG1HjtnkMpEnfujn4bvfu+HYcfe1+P+i/p6XD2JZ55zXvjBeT8Jr9nzFWH33V6iL/XbMcc/vPylYa9XvnyF63LijG+fEy786WVhj5fvHPbYfedw7PGf6f9d0jh43XXmh0M/8O4gX/nr9dLCVLNBmv5LhZRP+i/q0ute8ct6T0Ase/TRsfTTp00Lq/SeglhZP3/sByeNYT//jkX3h/sfXP5feiThYbUBT07HcRMW30O5dNmysGD2vP6PGmSQes1f/DzpcRg/GVvTz9cbq7YbpPs/+yVhu/WfGr7zp19jkKaLsqCPQVoAbZyQk3bZO6wWZg0dNdn//RAdikWothukezxly/DGzbYJl99+c/j8tT8dynUyL0ZTR96D/Atp0aZBr8me/xp+fvqvgIWncJVXDe9/0NxP1vt/tLcPjU/ktt8gfVL4wPNfEcQg/fBl3xmGclKvDTJIa9r/NQGcrPefGqTxfil9j/z+L/9EWMonzp/+nZcxUZfgl8cv5Sr9VJeaDNLIvylezsH/Cf5NBqnc4w97we8Jfk2cdB1PrqdPjMFvOL/09zet441nkKbx6Rx1nf/cObOHGqTwG15/bVo/uo4n603fL7H+lifQxE+PkPWX7p2m9e49pz1+T58Tr/Ol7a7Gp3snDNJ0ZUyB/s9/dXX40v/9ZtjiWU8P795/v8ZPdNGlV4TTzzhr4Ffoxq/g3ecNrw4v3mHbFXL8/g9/DJ/8zH+H9dZdEA7/4L+H666/MUiMPHH65v/zT+Gr3/xuuLz3FKp8Pa98Ta/XS2+sajZIvXhY86Q3/ONtrKw/zyP+olt+Hz71y/M9Uk1IDl2IHmSQTsgPnqJJ9caq7QbpgdvsFnbacLNw2nWXY5A6rEcMUgeISQoxSDeYt2Zytl1drUttN0hfs9nWYd8ttgvoUrvW0ES/G61L8rOaCtET/R6mUn5diG67QVqjLslameo3/BP9+6B1SX5WDfdLE83Ekp+/9Wah1xyLLjVzKT2rdUly8DdIS0k+EafreHIWXXqCTUkLXSqhNjgGXRrMpvQKulRKrjkOXWrmYjnbNV2ask+Qihn5h5v+3PuK3H9a4W+Ifv1bZ/X/PulrXtV7OnTXFZ8OlQV0z71/D4ce9Yn+WjrhuEPDnN6/mImvh3p/W+l9hxzb7x57xMFhrTXXiJf6R/ka38OP+a/wwAMPho986D1h/fXWCeee33tq9ewfjhmi11z3u55h+pXw2lftHl6x64uXi7d09ALGILWQfCy2xo0VhWj7vNeUQW+sMEh9Zi5+LSiFaB+e+kmdGr5iF4PUZ94lCwapH8uaMmldkveNQWqbPX3Djy7ZWMZorUtyjkJ0JFN2rPF+qeyTrpwoCtH+nNElX6ZalyQzBqmdr67jSTZ0ycYUXbLxS6PRpZSIvY8u2RnqDOiSpuHT7pouTVmD9Pvn/Ticdc6Pwuqrzet/ja0c5XX1tdeHz33xq/32IQe/K2y04ZN6X1u1tPeVu+eF3jPZYa+eaTpj+mN/f+zkL5wWrv3tDWHTp24c3vvut4dpva+1W9b76pBPnvylnvn6p/DszZ8R/u2db+7n0v8X/37p6/baI+z2sh37ly6+7MrwtW+eGfbtPT26Q+9vj156+S/CV77xnTDoCVSdb5S2XsAYpKOQax5b48YKg7R5LqfqWb2xwiD1mWUMUh+OMYsuRGOQRirlR61LPEFazlFH8s0Gmoa9rXVJsmGQ2pjqG34MUhvLGK11Sc5RiI5kyo5alyQDT5CWcYxRFKIjCb8juuTHUjJpXZI+BqlQsL10HU8yoUs2nuiSjV8ajS6lROx9dMnOUGdAlzQNn3bXdGnKGqR/v+/+cNx/nhzuu/+B/soQI3TRokXhrrvv7fdf/Y+7hT1esXO//atfXxtOOfXr/fbb93tj2OZ5W/Xbt91+Rzj+xM8HeSJ09uxZYcMN1g8Lb719rP+BA/cPT1p/3f7Y+H/RgN1k443C+w9859jfXJJcH/34p/uG7a477xjO//El/fcmX7+b5oi5So56AVOILiG4fEyNGysM0uXncKr39MYKg9RntjFIfTjGLLoQjS5FKuVHrUsYpOUcdSQGqaZhb2tdkmwYpDam+oYfg9TGMkZrXZJzFKIjmbKj1iXJgEFaxjFGUYiOJPyO6JIfS8mkdUn6GKRCwfbSdTzJhC7ZeKJLNn5pNLqUErH30SU7Q50BXdI0fNpd06Upa5DKcniwZ4ie+pVv9f/+pzz5Ka9115kfXvaS7fv/65/o/d+dd90TPvqxk4L8YfkjPvyesM6C+fFS79rd4fNfOj3csvC2sXNitu7/tn3Cgvlrj52TxiOPLA4fOuLjYfHiJeHoww4Ka6+1/N8xE1P022ed238KVZ5Gla/XjU+YLpfI0NELmCdIDSAfD61xY4VBap/3mjLojRUGqc/MYZD6cIxZdCEagzRSKT9qXcIgLeeoI6NBevui+8LP7rg5zOn9o7i2vt74zBf039o3f/fztr7FfuH0RetsEtZbdfX+e8QgtU2VvuHHILWxjNFal+QchehIpuyodUkyYJCWcYxRFKIjCb+jvl+SrOiSja3WJcmEQWrjKdG6jid9dEkolL/QpXJ2TZHoUhMV2zl0ycYvjUaXUiL2ftd0aUobpHE5PNr76lwxOufNnRtWXXVOPL3cccmSJf3+jBkzljsfO0t6X8N75513hwUL1h77Ct54bZSjGLW3//VvYb11F4Tpj3+V7yjx443VCxiDdDxa41+vcWOFQTr+vE6lEXpjhUHqM7MYpD4cYxZdiMYgjVTKj1qXMEjLOepIbZAefuVZ+lKr2nNnzApf3uMt/fe03/dPDYuWPNKq96ffzDEvfDUGqQZiaOsbfgxSA0gVqnVJTlOIVnAKmlqXJByDtACiCqEQrWA4NfX9kqTEILWB1bokmTBIbTwlWtfxpI8uCYXyF7pUzq4pEl1qomI7hy7Z+KXR6FJKxN7vmi51wiC1L4t6MugFjEFqn7caN1YYpPZ5rymD3lhhkPrMHAapD8eYRReiMUgjlfKj1iUM0nKOOhKDVNPwaWOQ+nCULPqGH4PUh6vWJclIIdrGVeuSZMIgtfGkEG3j1xSt75fkOgZpE6X8c1qXJAqDNJ/doJG6jidj0KVBpPLOo0t5nHJHoUu5pPLHoUv5rHJGoks5lEYb0zVdwiAdbX20frRewBik9umqcWOFQWqf95oy6I0VBqnPzGGQ+nCMWXQhGoM0Uik/al3CIC3nqCMxSDUNnzYGqQ9HyaJv+DFIfbhqXZKMFKJtXLUuSSYMUhtPCtE2fk3R+n5JrmOQNlHKP6d1SaIwSPPZDRqp63gyBl0aRCrvPLqUxyl3FLqUSyp/HLqUzypnJLqUQ2m0MV3TJQzS0dZH60frBYxBap+uGjdWGKT2ea8pg95YYZD6zBwGqQ/HmEUXojFII5Xyo9YlDNJyjjoSg1TT8GljkPpwlCz6hh+D1Ier1iXJSCHaxlXrkmTCILXxpBBt49cUre+X5DoGaROl/HNalyQKgzSf3aCRuo4nY9ClQaTyzqNLeZxyR6FLuaTyx6FL+axyRqJLOZRGG9M1XcIgHW19tH60XsAYpPbpqnFjhUFqn/eaMuiNFQapz8xhkPpwjFl0IRqDNFIpP2pdwiAt56gjMUg1DZ92NEhFl+546H6fpBOQZb9nbx922nCzCcjsl1Lf8GOQ+nDVuiQZKUTbuGpdkkwYpDaeFKJt/Jqi9f2SXMcgbaKUf07rkkRhkOazGzRS1/FkDLo0iFTeeXQpj1PuKHQpl1T+OHQpn1XOSHQph9JoY7qmSxiko62P1o/WCxiD1D5dNW6sMEjt815TBr2xwiD1mTkMUh+OMYsuRGOQRirlR61LGKTlHHUkBqmm4dPWBun199zuk3QCshy4zW4YpI5ct1pno3DE9nuGhQ/cGw644BuOmX1TaV2SzBSibXy1LkkmDFIbTwrRNn5N0fp+Sa5jkDZRyj9HITqfVe5IXceTGHQpl1zzOHSpmUvpWXSplNzgOHRpMJuSK+hSCbXhMV3TJQzS4euhuqt6AWOQ2qevxo0VBql93mvKoDdWGKQ+M4dB6sMxZtGFaAzSSKX8qHUJg7Sco47EINU0fNoYpD4cJYu+4ecJUh+uWpckI4VoG1etS5IJg9TGk0K0jV9TtL5fkusYpE2U8s9pXZIoniDNZzdopK7jyRh0aRCpvPPoUh6n3FHoUi6p/HHoUj6rnJHoUg6l0cZ0TZcwSEdbH60frRcwBql9umrcWGGQ2ue9pgx6Y4VB6jNzGKQ+HGMWXYjGII1Uyo9alzBIyznqSAxSTcOnjUHqw1Gy6Bt+DFIfrlqXJCOFaBtXrUuSCYPUxpNCtI1fU7S+X5LrGKRNlPLPaV2SKAzSfHaDRuo6noxBlwaRyjuPLuVxyh2FLuWSyh+HLuWzyhmJLuVQGm1M13QJg3S09dH60XoBU4i2T1eNGysMUvu815RBb6wwSH1mDoPUh2PMogvR6FKkUn7UuoRBWs5RR2KQaho+bQxSH46SRd/wY5D6cNW6JBkpRNu4al2STBikNp4Uom38mqL1/ZJcxyBtopR/TuuSRGGQ5rMbNFLX8WQMujSIVN55dCmPU+4odCmXVP44dCmfVc5IdCmH0mhjuqZLGKSjrY/Wj9YLmCdI7dNV48YKg9Q+7zVl0BsrDFKfmcMg9eEYs+hCNAZppFJ+1LqEQVrOUUdikGoaPm0MUh+OkkXf8GOQ+nDVuiQZKUTbuGpdkkwYpDaeFKJt/Jqi9f2SXMcgbaKUf07rkkRhkOazGzRS1/FkDLo0iFTeeXQpj1PuKHQpl1T+OHQpn1XOSHQph9JoY7qmSxiko62P1o/WCxiD1D5dNW6sMEjt815TBr2xwiD1mTkMUh+OMYsuRGOQRirlR61LGKTlHHUkBqmm4dPGIPXhKFn0DT8GqQ9XrUuSkUK0javWJcmEQWrjSSHaxq8pWt8vyXUM0iZK+ee0LkkUBmk+u0EjdR1PxqBLg0jlnUeX8jjljkKXcknlj0OX8lnljESXciiNNqZruoRBOtr6aP1ovYAxSO3TVePGCoPUPu81ZdAbKwxSn5nDIPXhGLPoQjQGaaRSftS6hEFazlFHYpBqGj5tDFIfjpJF3/BjkPpw1bokGSlE27hqXZJMGKQ2nhSibfyaovX9klzHIG2ilH9O65JEYZDmsxs0UtfxZAy6NIhU3nl0KY9T7ih0KZdU/jh0KZ9Vzkh0KYfSaGO6pksYpKOtj9aP1gsYg9Q+XTVurDBI7fNeUwa9scIg9Zk5DFIfjjGLLkRjkEYq5UetSxik5Rx1JAappuHTxiD14ShZ9A0/BqkPV61LkpFCtI2r1iXJhEFq40kh2savKVrfL8l1DNImSvnntC5JFAZpPrtBI3UdT8agS4NI5Z1Hl/I45Y5Cl3JJ5Y9Dl/JZ5YxEl3IojTama7qEQTra+mj9aL2AMUjt01XjxgqD1D7vNWXQGysMUp+ZwyD14Riz6EI0BmmkUn7UuoRBWs5RR2KQaho+bQxSH46SRd/wY5D6cNW6JBkpRNu4al2STBikNp4Uom38mqL1/ZJcxyBtopR/TuuSRGGQ5rMbNFLX8WQMujSIVN55dCmPU+4odCmXVP44dCmfVc5IdCmH0mhjuqZLGKSjrY/Wj9YLGIPUPl01bqwwSO3zXlMGvbHCIPWZOQxSH44xiy5EY5BGKuVHrUsYpOUcdSQGqabh08Yg9eEoWfQNPwapD1etS5KRQrSNq9YlyYRBauNJIdrGryla3y/JdQzSJkr557QuSRQGaT67QSN1HU/GoEuDSOWdR5fyOOWOQpdySeWPQ5fyWeWMRJdyKI02pmu6hEE62vpo/Wi9gDFI7dNV48YKg9Q+7zVl0BsrDFKfmcMg9eEYs+hCNAZppFJ+1LqEQVrOUUdikGoaPm0MUh+OkkXf8GOQ+nDVuiQZKUTbuGpdkkwYpDaeFKJt/Jqi9f2SXMcgbaKUf07rkkRhkOazGzRS1/FkDLo0iFTeeXQpj1PuKHQpl1T+OHQpn1XOSHQph9JoY7qmSxiko62P1o/WCxiD1D5dNW6sMEjt815TBr2xwiD1mTkMUh+OMYsuRGOQRirlR61LGKTlHHUkBqmm4dPGIPXhKFn0DT8GqQ9XrUuSkUK0javWJcmEQWrjSSHaxq8pWt8vyXUM0iZK+ee0LkkUBmk+u0EjdR1PxqBLg0jlnUeX8jjljkKXcknlj0OX8lnljESXciiNNqZruoRBOtr6aP1ovYAxSO3TVePGCoPUPu81ZdAbKwxSn5nDIPXhGLPoQjQGaaRSftS6hEFazlFHYpBqGj5tDFIfjpJF3/BjkPpw1bokGSlE27hqXZJMGKQ2nhSibfyaovX9klzHIG2ilH9O65JEYZDmsxs0UtfxZAy6NIhU3nl0KY9T7ih0KZdU/jh0KZ9Vzkh0KYfSaGO6pksYpKOtj9aP1guYQrR9umrcWGGQ2ue9pgx6Y4VB6jNzGKQ+HGMWXYhGlyKV8qPWJQzSco46EoNU0/BpY5D6cJQs+oYfg9SHq9YlyUgh2sZV65JkwiC18aQQbePXFK3vl+Q6BmkTpfxzWpckCoM0n92gkbqOJ2PQpUGk8s6jS3mcckehS7mk8sehS/msckaiSzmURhvTNV3CIB1tfbR+tF7APEFqn64aN1YYpPZ5rymD3lhhkPrMHAapD8eYRReiMUgjlfKj1iUM0nKOOhKDVNPwaWOQ+nCULPqGH4PUh6vWJclIIdrGVeuSZMIgtfGkEG3j1xSt75fkOgZpE6X8c1qXJAqDNJ/doJG6jidj0KVBpPLOo0t5nHJHoUu5pPLHoUv5rHJGoks5lEYb0zVdwiAdbX20frRewBik9umqcWOFQWqf95oy6I0VBqnPzGGQ+nCMWXQhGoM0Uik/al3CIC3nqCMxSDUNnzYGqQ9HyaJv+DFIfbhqXZKMFKJtXLUuSSYMUhtPCtE2fk3R+n5JrmOQNlHKP6d1SaIwSPPZDRqp63gyBl0aRCrvPLqUxyl3FLqUSyp/HLqUzypnJLqUQ2m0MV3TJQzS0dZH60frBYxBap+uGjdWGKT2ea8pg95YYZD6zBwGqQ/HmEUXojFII5Xyo9YlDNJyjjoSg1TT8GljkPpwlCz6hh+D1Ier1iXJSCHaxlXrkmTCILXxpBBt49cUre+X5DoGaROl/HNalyQKgzSf3aCRuo4nY9ClQaTyzqNLeZxyR6FLuaTyx6FL+axyRqJLOZRGG9M1XcIgHW19tH60XsAYpPbpqnFjhUFqn/eaMuiNFQapz8xhkPpwjFl0IRqDNFIpP2pdwiAt56gjMUg1DZ82BqkPR8mib/gxSH24al2SjBSibVy1LkkmDFIbTwrRNn5N0fp+Sa5jkDZRyj+ndUmiMEjz2Q0aqet4MgZdGkQq7zy6lMcpdxS6lEsqfxy6lM8qZyS6lENptDFd0yUM0tHWR+tH6wWMQWqfrho3Vhik9nmvKYPeWGGQ+swcBqkPx5hFF6IxSCOV8qPWJQzSco46EoNU0/BpY5D6cJQs+oYfg9SHq9YlyUgh2sZV65JkwiC18aQQbePXFK3vl+Q6BmkTpfxzWpckCoM0n92gkbqOJ2PQpUGk8s6jS3mcckehS7mk8sehS/msckaiSzmURhvTNV3CIB1tfbR+tF7AGKT26apxY4VBap/3mjLojRUGqc/MYZD6cIxZdCEagzRSKT9qXcIgLeeoIzFINQ2fNgapD0fJom/4MUh9uGpdkowUom1ctS5JJgxSG08K0TZ+TdH6fkmuY5A2Uco/p3VJojBI89kNGqnreDIGXRpEKu88upTHKXcUupRLKn8cupTPKmckupRDabQxXdMlDNLR1kfrR+sFjEFqn64aN1YYpPZ5rymD3lhhkPrMHAapD8eYRReiMUgjlfKj1iUM0nKOOhKDVNPwaWOQ+nCULPqGH4PUh6vWJclIIdrGVeuSZMIgtfGkEG3j1xSt75fkOgZpE6X8c1qXJAqDNJ/doJG6jidj0KVBpPLOo0t5nHJHoUu5pPLHoUv5rHJGoks5lEYb0zVdwiAdbX20frRewBik9umqcWOFQWqf95oy6I0VBqnPzGGQ+nCMWXQhGoM0Uik/al3CIC3nqCMxSDUNnzYGqQ9HyaJv+DFIfbhqXZKMFKJtXLUuSSYMUhtPCtE2fk3R+n5JrmOQNlHKP6d1SaIwSPPZDRqp63gyBl0aRCrvPLqUxyl3FLqUSyp/HLqUzypnJLqUQ2m0MV3TJQzS0dZH60frBYxBap+uGjdWGKT2ea8pg95YYZD6zBwGqQ/HmEUXojFII5Xyo9YlDNJyjjoSg1TT8GljkPpwlCz6hh+D1Ier1iXJSCHaxlXrkmTCILXxpBBt49cUre+X5DoGaROl/HNalyQKgzSf3aCRuo4nY9ClQaTyzqNLeZxyR6FLuaTyx6FL+axyRqJLOZRGG9M1XcIgHW19tH60XsAUou3TVePGCoPUPu81ZdAbKwxSn5nDIPXhGLPoQjS6FKmUH7UuYZCWc9SRGKSahk8bg9SHo2TRN/wYpD5ctS5JRgrRNq5alyQTBqmNJ4VoG7+maH2/JNcxSJso5Z/TuiRRGKT57AaN1HU8GYMuDSKVdx5dyuOUOwpdyiWVPw5dymeVMxJdyqE02piu6RIG6Wjro/Wj9QLmCVL7dNW4scIgtc97TRn0xgqD1GfmMEh9OMYsuhCNQRqplB+1LmGQlnPUkRikmoZPG4PUh6Nk0Tf8GKQ+XLUuSUYK0TauWpckEwapjSeFaBu/pmh9vyTXMUibKOWf07okURik+ewGjdR1PBmDLg0ilXceXcrjlDsKXcollT8OXcpnlTMSXcqhNNqYrukSBulo66P1o/UCxiC1T1eNGysMUvu815RBb6wwSH1mDoPUh2PMogvRGKSRSvlR6xIGaTlHHYlBqmn4tDFIfThKFn3Dj0Hqw1XrkmSkEG3jqnVJMmGQ2nhSiLbxa4rW90tyHYO0iVL+Oa1LEoVBms9u0Ehdx5Mx6NIgUnnn0aU8Trmj0KVcUvnj0KV8Vjkj0aUcSqON6ZouYZCOtj5aP1ovYAxS+3TVuLHCILXPe5rh9/fckZ5qTf/BRQ+F2avMCOutunrAIPWZFgxSH44xiy5E12KQtvl3/uGHHwmPLF4Snrr6goBBGleZ7YhBauPXFI1B2kSl7Jy+4ccgLWOYRmldkmsUolNCo/VrvF8a7ROu3NEUov15U4j2Zap1STJjkNr56jqeZEOXbEzRJRu/NBpdSonY++iSnaHOgC5pGj7trukSBqnPumlNFr2AMUjt01LjxgqD1D7vaYb9vn9qWLTkkfR0a/q1FaJPu+7ycOaNV7WGX/pGMEhTIra+LkTXYpAedenZ4eo7F9o++ARGv2PzncK2626CQerEGIPUCaRKU5suqbfeuqa+4ccg9ZkerUuSkUK0jWuN90u2Tzyx0RSi/flSiPZlqnVJMmOQ2vnqOp5kQ5dsTNElG780Gl1Kidj76JKdoc6ALmkaPu2u6RIGqc+6aU0WvYAxSO3TUuPGCoPUPu9pBgzSlEhZ/8Btdgs7bbhZwCAt45dGbbXORuGI7fcMCx+4NxxwwTfSy63p60I0BqnPtGCQ+nCMWTBIIwm/IwapH0t9w49B6sNV65JkpBBt41rj/ZLtE09sNIVof74Uon2Zal2SzBikdr66jifZ0CUbU3TJxi+NRpdSIvY+umRnqDOgS5qGT7truoRB6rNuWpNFL2AMUvu01LixwiC1z3uaAYM0JVLWxyAt4zYoCoN0EJny8yftsnfYYN6agSdIyxnqyNdstnXYd4vtQi26dPui+8LhV56lP0Kr2nNnzApf3uMt/feELvlMTdQln2wTk0Xf8GOQ+jDGIPXhGLPUeL8U33sbjxSi/WeFQrQvU61LkhmD1M5X1/EkGwapjSm6ZOOXRqNLKRF7H12yM9QZ0CVNw6fdNV3CIPVZN63JohcwBql9WmrcWNVSiJbZmT59Wlhjtbn2iZrgDBSifQDHQjRPkPrwxCD14aizYJBqGvY2Bqmdoc6AQapp+LSjLvlkm5gs+oYfg9SHMQapD8eYpcb7pfje23ikEO0/KxSifZlqXZLMGKR2vrqOJ9kwSG1M0SUbvzQaXUqJ2Pvokp2hzoAuaRo+7a7pEgapz7ppTRa9gDFI7dNS48YKg9Q+72kGDNKUSFk/FqIxSMv4pVEYpCkRex+D1M5QZ8Ag1TTsbQxSO8M0Q9Sl9Hyb+vqGH4PUZ2YwSH04xiw13i/F997GI4Vo/1mhEO3LVOuSZMYgtfPVdTzJhkFqY4ou2fil0ehSSsTeR5fsDHUGdEnT8Gl3TZcwSH3WTWuy6AWMQWqflho3Vhik9nlPM2CQpkTK+rEQjUFaxi+NwiBNidj7GKR2hjoDBqmmYW9jkNoZphmiLqXn29TXN/wYpD4zg0HqwzFmqfF+Kb73Nh4pRPvPCoVoX6ZalyQzBqmdr67jSTYMUhtTdMnGL41Gl1Ii9j66ZGeoM6BLmoZPu2u6hEHqs25ak0Uv4AMuOSMsWrq4Ne8tfSOxEJ2eb1O/xo0VBqn/CsIg9WEaC9EYpD48MUh9OOosUZf4G6SaSnkbg7ScXVMkBmkTFdu5qEu2LBMbrW/4MUh9WGOQ+nCMWWq8X4rvvY1HCtH+s0Ih2pep1iXJjEFq56vreJINg9TGFF2y8Uuj0aWUiL2PLtkZ6gzokqbh0+6aLmGQ+qyb1mTRC5gnSO3TUuPGCoPUPu9pBgzSlEhZPxaiMUjL+KVRGKQpEXsfg9TOUGfAINU07G0MUjvDNEPUpfR8m/r6hh+D1GdmMEh9OMYsNd4vxffexiOFaP9ZoRDty1TrkmTGILXz1XU8yYZBamOKLtn4pdHoUkrE3keX7Ax1BnRJ0/Bpd02XMEh91k1rsugFjEFqn5YaN1YYpPZ5TzNgkKZEyvqxEI1BWsYvjcIgTYnY+xikdoY6AwappmFvY5DaGaYZoi6l59vU1zf8GKQ+M4NB6sMxZqnxfim+9zYeKUT7zwqFaF+mWpckMwapna+u40k2DFIbU3TJxi+NRpdSIvY+umRnqDOgS5qGT7truoRB6rNuWpNFL2AMUvu01LixwiC1z3uaAYM0JVLWj4VoDNIyfmkUBmlKxN7HILUz1BkwSDUNexuD1M4wzRB1KT3fpr6+4ccg9ZkZDFIfjjFLjfdL8b238Ugh2n9WKET7MtW6JJkxSO18dR1PsmGQ2piiSzZ+aTS6lBKx99ElO0OdAV3SNHzaXdMlDFKfddOaLHoBY5Dap6XGjRUGqX3e0wwYpCmRsn4sRGOQlvFLozBIUyL2PgapnaHOgEGqadjbGKR2hmmGqEvp+Tb19Q0/BqnPzGCQ+nCMWWq8X4rvvY1HCtH+s0Ih2pep1iXJjEFq56vreJINg9TGFF2y8Uuj0aWUiL2PLtkZ6gzokqbh0+6aLmGQ+qyb1mTRCxiD1D4tNW6sMEjt855mwCBNiZT1YyEag7SMXxqFQZoSsfcxSO0MdQYMUk3D3sYgtTNMM0RdSs+3qa9v+DFIfWYGg9SHY8xS4/1SfO9tPFKI9p8VCtG+TLUuSWYMUjtfXceTbBikNqboko1fGo0upUTsfXTJzlBnQJc0DZ9213QJg9Rn3bQmi17AGKT2aalxY4VBap/3NAMGaUqkrB8L0RikZfzSKAzSlIi9j0FqZ6gzYJBqGvY2BqmdYZoh6lJ6vk19fcOPQeozMxikPhxjlhrvl+J7b+ORQrT/rFCI9mWqdUkyY5Da+eo6nmTDILUxRZds/NJodCklYu+jS3aGOgO6pGn4tLumSxikPuumNVn0AsYgtU9LjRsrDFL7vKcZMEhTImX9WIjGIC3jl0ZhkKZE7H0MUjtDnQGDVNOwtzFI7QzTDFGXfvyX36WXWtNfsmRpeHjxkrDDepsGDFKfacEg9eEYs9R4vxTfexuPFKL9Z4VCtC9TCtG+PCWbruNJH4NUKJS/0KVydk2R6FITFds5dMnGL41Gl1Ii9n7XdAmD1L5mWpVBL2AMUvvU1LixwiC1z3uaAYM0JVLWj4VoDNIyfmkUBmlKxN7HILUz1BkwSDUNexuD1M4wzYAupURs/Rp1ST4xhWjbvNd4v2T7xBMbTSHany+FaF+mFKJ9eUo2XceTProkFMpf6FI5u6ZIdKmJiu0cumTjl0ajSykRe79ruoRBal8zrcqgFzAGqX1qatxYYZDa5z3NgEGaEinrU4gu4zYoqsZC9AGXnBEWLV086CNN+nkMUt8pwCD15YlB6stTsqFLvkxr1CUhQCHatg5qvF+yfeKJjaYQ7c+XQrQvUwrRvjwlm67jSR9dEgrlL3SpnF1TJLrURMV2Dl2y8Uuj0aWUiL3fNV3CILWvmVZl0Au4lkJ0qwAmb6bGjRUGaTKJDl0MUgeIvRQUon04xiw1FqJr0aWjLj07XH3nwoi6dcd3bL5T2HbdTcK3bvplOPcv17Xu/cU3hEEaSfgcMUh9OOos6JKmYW/XqEvyqSlE2+a+xvsl2yee2GgK0f58KUT7MqUQ7ctTsuk6nvTRJaFQ/kKXytk1RaJLTVRs59AlG780Gl1Kidj7XdMlDFL7mmlVBr2AeYLUPjU1bqwwSO3znmbAIE2JlPUpRJdxGxRVYyEag3TQbI52HoN0NF7jjd58rfXDe5+zW7h90X3h8CvPGm/4pF3HIPVHjy75Mq1Rl4QAhWjbOqjxfsn2iSc2mkK0P18K0b5MKUT78pRsuo4nfXRJKJS/0KVydk2R6FITFds5dMnGL41Gl1Ii9n7XdAmD1L5mWpVBL2AMUvvU1LixwiC1z3uaAYM0JVLWpxBdxm1QVI2FaAzSQbM52nkM0tF4jTcag3Q8QqNfP+aFrw7rrbp6OOE3PwrX33P76AlWUgS65Au6Rl0SAhSibeugxvsl2yee2GgK0f58KUT7MqUQ7ctTsuk6nvTRJaFQ/kKXytk1RaJLTVRs59AlG780Gl1Kidj7XdMlDFL7mmlVBr2AMUjtU1PjxgqD1D7vaQYM0pRIWZ9CdBm3QVE1FqIxSAfN5mjnMUhH4zXeaAzS8QiNfh2DdHRmwyJ2f/IW4fWbPj9ccccfwym/vXjY0Em9VqMuCTAK0bZlU+P9ku0TT2w0hWh/vhSifZlSiPblKdl0HU/66JJQKH+hS+XsmiLRpSYqtnPoko1fGo0upUTs/a7pEgapfc20KoNewBik9qmpcWOFQWqf9zQDBmlKpKyPQVrGbVBUjYVoDNJBsznaeQzS0XiNNxqDdDxCo1/HIB2d2bAIDNJhdEa/tuqMmeFTO7xhLJBC9BiKokaN90tFH3QlBVGI9gdNIdqXKYVoX56STdfxpI8uCYXyF7pUzq4pEl1qomI7hy7Z+KXR6FJKxN7vmi5hkNrXTKsy6AWMQWqfmho3Vhik9nlPM2CQpkTK+hikZdwGRWGQDiJTfv6kXfYOG8xbMxx16dnh6jsXliea4EgMUl/AGKS+PCUbBqkvUwxSX54YpL48a7xf8iXgm41CtC9PyUYh2pcphWhfnpJN1/Gkj0EqFMpf6FI5u6ZIdKmJiu0cumTjl0ajSykRe79ruoRBal8zrcqgFzAGqX1qatxYYZDa5z3NgEGaEinrY5CWcRsUhUE6iEz5eQzScnZNka/ZbOuw7xbbhVp06fZF94XDrzyr6aO04tzcGbPCl/d4S/+9oEs+U4Iu+XCMWWrUJXnvFKLjDJYda7xfKvukKyeKQrQ/ZwrRvkwpRPvylGy6jid9dEkolL/QpXJ2TZHoUhMV2zl0ycYvjUaXUiL2ftd0CYPUvmZalUEvYAxS+9TUuLGqpRAtszN9+rSwxmpz7RM1wRkoRPsAphDtwzFmqbEQzVfsxtmzHXmC1MYvjeYJ0pSIvc8TpHaGOgNPkGoa9jZPkNoZ6gw13i/p99+2NoVo/xmhEO3LlEK0L0/Jput40scgFQrlL3SpnF1TJLrURMV2Dl2y8Uuj0aWUiL3fNV3CILWvmVZl0AsYg9Q+NTVurDBI7fOeZsAgTYmU9TFIy7gNisIgHUSm/DxPkJaza4rkCdImKuXneIK0nN2gSHRpEJmy8zXqknxSCtFl8x2jarxfiu+9jUcK0f6zQiHalymFaF+ekk3X8aSPLgmF8he6VM6uKRJdaqJiO4cu2fil0ehSSsTe75ouYZDa10yrMugFjEFqn5oaN1YYpPZ5TzNgkKZEyvoUosu4DYqqsRDNE6SDZnO08zxBOhqv8UbzBOl4hEa/zhOkozMbFsETpMPojH6NJ0hHZzYsosb7pWGfZ7KvUYj2nwEK0b5MKUT78pRsuo4nfQxSoVD+QpfK2TVFoktNVGzn0CUbvzQaXUqJ2Ptd0yUMUvuaaVUGvYBrKUS3CmDyZmrcWGGQJpPo0MUgdYDYS4FB6sMxZsEgjST8jjxB6sdSMvEEqS9PniD15SnZ0CVfpjXqkhCgEG1bBzXeL9k+8cRGU4j250sh2pcphWhfnpJN1/Gkjy4JhfIXulTOrikSXWqiYjuHLtn4pdHoUkrE3u+aLnXKID3l1K+HhbfeHp680Qbh7fu9MWu1LF6yJJz5vfPCNdf9Ltzxt7vCuuvMD1tu8cyw154vDzNnzFghx48vujycd8FF4Z577wtPf9omYb83vS6svdaay437+S9/E87+/vnhJTtuG3bdecflrlk7egHzBKmVZgg1bqwwSO3znmbAIE2JlPUpRJdxGxRVYyG6ln+4c9SlZ4er71w4CP2kn+cJUt8p4AlSX56SjSdIfZnyBKkvT54g9eVZ4/2SLwHfbBSifXlKNgrRvkwpRPvylGy6jid9DFKhUP5Cl8rZNUWiS01UbOfQJRu/NBpdSonY+13Tpc4YpJdc9vPw1W9+t79CFsxfOxx92EHjrpaHHno4/Ndn/jvcsvC2/tjZs2eFhx9+pN/eaMMnhfe+++1hzpzZY3muvvb68LkvfjXIuKc8ecNww403h/Rn3fv3+8JhR58Qpk+bFo454uCw2ry5Y/EeDb2AMUjtRGvcWGGQ2uc9zYBBmhIp62OQlnEbFIVBOohM+XmeIC1n1xTJE6RNVMrP8QRpObtBkejSIDJl52vUJfmkFKLL5jtG1Xi/FN97G48Uov1nhUK0L1MK0b48JZuu40kfXRIK5S90qZxdUyS61ETFdg5dsvFLo9GllIi93zVd6oRBev/9D/RNSXkaVF6paTlo2Zx+xpnhokuvDKuvNi984KD9w/y11wp33X1POP6Tnw/39XK+eIcXhn3esNdY+Je/9v/Cz668Khxy8LuCGKifPeW03pOnN4Tjjnx/WHON1fvjPnHSKeGmm/8c9n/bm8Jzt9p8LNaroRcwBqmdao0bKwxS+7ynGTBIUyJlfQrRZdwGRdVYiOYJ0kGzOdp5niAdjdd4o3mCdDxCo1/nCdLRmQ2L4AnSYXRGv8YTpKMzGxZR4/3SsM8z2dcoRPvPAIVoX6YUon15SjZdx5M+BqlQKH+hS+XsmiLRpSYqtnPoko1fGo0upUTs/a7pUicM0i/8z+nhqt9cF7Z53lbhF7+6OssglSdFDz70uLBs2bJw5CEH9r9aNy4v+ardI487MUzrPQV6wnGHhFmzZvUvnXjyl/pPjX7mhKPCKqusEr591rn9r9v9YM9cfcrGG4ULf3pZOOPb54QX9N7H2zK/4jf+zNyjXsAYpLnUBo+rcWOFQTp4PkuvYJCWkls+DoN0eR7WHgapleCK8TxBuiITyxmeILXQWzGWJ0hXZGI9gy5ZCS4fX6MuySegEL38PI7aq/F+adTPuDLHU4j2p00h2pcphWhfnpJN1/Gkjy4JhfIXulTOrikSXWqiYjuHLtn4pdHoUkrE3u+aLk15g/Ta394QTv7Caf2nQA8+4B3hiGNPzDJIr/j5r8OpX/1W2Lj390o/9L5/XWFlfeyEz4U/33JreMu+rw/bbvPc/vWvfOM74dLLfxHk52y6ycbhk72v5/39H/4YPv7RD4VFix7qm6qrzpkTju19ta58De9EvPQCxiC1E65xY4VBap/3NAMGaUqkrE8huozboKgaC9E8QTpoNkc7zxOko/EabzRPkI5HaPTrPEE6OrNhETxBOozO6Nd4gnR0ZsMiarxfGvZ5JvsahWj/GaAQ7cuUQrQvT8mm63jSxyAVCuUvdKmcXVMkutRExXYOXbLxS6PRpZSIvd81XZrSBukjjywOh330hPDAAw+G9/zrW8L6660TDj3qE1kG6TnnXhi+9/3zw57/sEt4Ze9/6eucH1wQvtf735577BpeufvL+pdv+P1N4cTP/k//ydIF89cK8qSp/C1S+XreY//z5HDrbX8NB77rreEZT980TefW1wsYg9SOtcaNFQapfd7TDBikKZGyPgZpGbdBURikg8iUn+cJ0nJ2TZE8QdpEpfwcT5CWsxsUiS4NIlN2vkZdkk9KIbpsvmNUjfdL8b238Ugh2n9WKET7MqUQ7ctTsuk6nvTRJaFQ/kKXytk1RaJLTVRs59AlG780Gl1Kidj7XdOlKW2QytfZytfaylfrvr33lbb33Pv3bIM0Pg36pjfuFXba/oUrrKyLL7syfO2bZ4Ydttsm7Lv3a8eu/+Kqa8IFP7m0/7dKn/WMp4XXv/Yfw4U/uaxvpr50pxeFvf/5VWNjJ6KhFzAGqZ1wjRsrDFL7vKcZMEhTImV9CtFl3AZF1ViI5gnSQbM52nmeIB2N13ijeYJ0PEKjX+cJ0tGZDYvgCdJhdEa/xhOkozMbFlHj/dKwzzPZ1yhE+88AhWhfphSifXlKNl3Hkz4GqVAof6FL5eyaItGlJiq2c+iSjV8ajS6lROz9runSlDVIb1l4WzjuE58NM2fMCMce+f4wb+6qIxmknz3ltHDNdTeEd751n7D1c7ZYYWXJ3zSVv2265RbPCO96x5tXuB5P/OWW28J/nPDZsOYaq4ejDzsozOi9n4l86QVcs0G6ZMnSoZhmzJg+9LpX/EMPLw6LlywZ+1mzZ88Ms3pzuLJ+/tgPThrDfv5UMEi95i/BNtYdxk8GpT//7eedFh5c8shYfNsatRSi37P1LmGHDZ4WTr/hynDmjVe1DePY+6EQPYbCpaEL0TUYpOvOXi3zgFx/AAAS5ElEQVQc87NzwjV33ery+SciSS0G6as3fU5407NeFC659cbw6asunAgULjnrMUhnhi/v8db+Z+Yf7rhMfeAf7vhwjFm2nL9BOOxFrwy3Pfj3cNBPzoinW3fUuiRvLhai0/1f+sZH3T92JT4tRMf7pa58/vg5vdbPsmWPhgd6f54nvqZNWyXMW3VOq+8/5b16ff74udOj5ffvwYceDlLgj681Vpsbpk+fFrv9Y5vfv7xBy+f3jm8qRM+aObzO1ab335/w5P8me/51HU/e2urzVl3uHcJvtPpfWsebu+rsMHvWzOWY6s5kz3/bf/4qq6wSxNCLL/nvp/x3NL7a/v7b+PuTGqSi86L3Ta82vn/9Ptsw/48sXhJEm+JrZk+T5jz+Ow+/0f77GRne98Ci2Owf4/3ScienUGdKGqSPPvpoOPpjJ4W/3nFnePM+rwvbb/u8/pSN8gSp/P1R+TukOl7P+2VX/Cqcdvr/hm1f8Nzwln95vb401l6ydGk46rgTe0+T3hs+2Pua3QUL5ofLfvbLcPOf/hI22XijsP2Lnh9Wm/eEqIwFGhp6Y1WzQao/RxOO8X4xuxw/FQzSts1f202dWgzSaOqcvfAaDNKm/7CNeI4nSEcEljFcvmJ3zpLp4YRf/yhcf+/tGRGTMyT+Ln3rpl+Gc/9y3eS8iYyfWss/NqjFIBVT5/9ikGasvPwhGKT5rHJG1vS79Kkd3jD2keJ9Rdv2n2Nv8PFGfJ/p+difrPefGqTx/aTHtr7/+D4nix8//zECE80/cpZjk0E60T9/Kq3/JoNUF6Y169ieSp8/fiZ9ZP3cr3Gs0J7s+R/PIGX+hs+f/DdzmEEKv+H8mtZ/apCu8EujTjTFq8srPIGur0mb+NVSJMv1Wb/D12+ENd46iuNqPU5Jg/RHF14c/vfMH4SnbvLk8P4D3jk2N6MYpGeec174wXk/Ca/Z8xVh991eMpYjNs790U/Dd7/3w/APL39p2OuVL4+nlzvGr/jd4+U7hz123zkce/xn+n+XNA5ad5354dAPvLv/lGs8Zz3qX+y2mzrxb701feb0XyqkY9J/UZde94pf1vuXpst6hnt8TZ82LazS+1c9K+vnx5+bHof9/KlgkHrNX8ot9ofxkzHpz3/XT74eHlr6xL9GinnacqzFIN3/2S8J263/1PCdP/0ag9Rh8WCQOkBMUogurRZmheN/9cPw27tvS662p1uLQbrHU7YMb9xsm3D57TeHz1/70/YATN5JLaYOf4M0mTiHLgapA0SVYvO1nhQ+8PxXhNsX3Rc+fNl31JV2NQc9QZru/9J3Per+sSvxqUEa75e68vnj5/RaP/KPvfXTjvLkjjytw/pb/om6yD0eh/FPn25pMkiHxcvPgP8T/JsM0qXLnnhCN86JPsLvCX6aS2zrOp6cS594gt9wfunvb1rHG88gTePjvMRj1/nPnTN7qEEKv+WftIvrJh6b1k9qkIrOi943vZri9Tj4Lwrp3mlaj+W0x78pAn6j/fczrq1074RBGslUdDzwA0f3vxZ11Tlzwuqrzxt753Kjceddd/f76627IDx5ow36f5t0bIBqXHTpFeH0M84a+BW68St493nDq8OLd9hWRT7W/P0f/hg++Zn/DvJzDv/gv4frrr8xSIw8cfrm//NP4avf/G64vPcUqnw9r3xNr9dLb6xqfoLUi4c1T3rDP97GyvrzPOKngkHqwcEzB19l6EOTQrQPx5gFgzSS8DvGf7hz1KVnh6vvXOiX2DlTLQbpazbbOuy7xXahFl0SU+fwK89yni2/dBikfixjJnQpkvA51qhL8smn+g2/z+wOzlLj/dLgTzP5V/hbb/5zkBaimwxS/586dTM2GaRSJ+FVTkDX8SQLulTOUiLRJRu/NBpdSonY++iSnaHOgC5pGj7trunSlHyC9N8PPjIsG+dfsMlykSc4jzzkwMaVE582lYsnHHdomNP7FzPx9VDvb1i875Bj+91jjzg4rLXmGvFS//jww4+Ew4/5r/DAAw+Gj3zoPWH99dYJ557fe+L07B+OGaLXXPe7nmH6lfDaV+0eXrHri5eLt3T0AsYgtZB8LLbGjVUthWghnP7tAvuMTUwGDFIfrhSifTjGLDUWomv5ZgMM0rjKbEcMUhu/NBqDNCVi76NLdoY6Q426JO+fQrSexdHbNd4vjf4pV14EhWh/1hSifZlSiPblKdl0HU/66JJQKH+hS+XsmiLRpSYqtnPoko1fGo0upUTs/a7p0pQ0SAeZo3ff8/fwkZ5xOX/tNcNRhx7UXy3Tel+ZurT3t0K/+73zQu+Z7LDXq14RZkx/7A/YnvyF08K1v70hbPrUjcN73/323h9MntY3Xj958pfCH276U3j25s8I//bON6+w6uLfL33dXnuE3V62Y//6xZddGb72zTPDvr2nR3fo/e3RSy//RfjKN74TBj2BukLSzBN6AWOQZkIbMqzGjRUG6ZAJLbyEQVoILgmjEJ0AMXZrLERjkBon/fFwniD14Riz8BW7kYTfsZavfkeX/OZcMtWoS/K+KUQLhfJXjfdL5Z924iMpRPszphDty5RCtC9PyabreNJHl4RC+QtdKmfXFIkuNVGxnUOXbPzSaHQpJWLvd02XpqRBOmgZxKdCF8xfOxx92GMGqYz91a+vDaec+vV+2Nv3e2PY5nlb9du33X5HOP7Ezwd5InT27Flhww3WDwtvvX2s/4ED9w9PWn/d/tj4f1dfe3343Be/GjbZeKPw/gPfOfYd4pLrox//dFh9tXlh1513DOf/+JJw3/0P9L9+N80Rc5Uc9QLGIC0huHxMjRsrDNLl59Cjh0HqQTEECtE+HGOWGgvRGKRx9mxHDFIbvzQagzQlYu9jkNoZ6gy7P3mL8PpNnx+uuOOP4ZTfXqwvtapdoy4JQArRtmVU4/2S7RNPbDSFaH++FKJ9mVKI9uUp2XQdT/roklAof6FL5eyaItGlJiq2c+iSjV8ajS6lROz9rulSpwzSv993f/jwEceH1CC98657wkc/dlKQPyx/xIffE9ZZMH9sJcnfLP38l04Ptyy8bezcRhs+Kez/tn36ecZO9hqPPLI4fOiIj4fFi5f0Ddi111pTX+6bot8+69z+U6jyNKp8vW58wnS5gYaOXsAYpAaQj4fWuLGqxSCVv/X27Zt/FWbMmGGfqAnK8P4XvqKfGYPUBzAGqQ/HmKXGQjQGaZw92xGD1MYvjcYgTYnY+xikdoY6AwappmFvrzpjZvjUDm8YS0QhegxFUaPG+6WiD7qSgihE+4OmEO3LlEK0L0/Jput40keXhEL5C10qZ9cUiS41UbGdQ5ds/NJodCklYu93TZc6ZZAOWx5LlizpXx5k1izpfQ3vnXfeHRYsWHvsK3iH5Rt0Tb7+9/a//i2st+6C3t9ffOyrfAeNLTmvFzAGaQnB5WNq3FjVZJAefuVZywNvUY+/9eY/GRikvkwxSH15SraTdtk7bDCv9zX8l54drr5zof8PcMqIQeoE8vE0GKS+PCUbBqkvUwxSX54YpL48a7xf8iXgm41CtC9PyUYh2pcphWhfnpJN1/Gkj0EqFMpf6FI5u6ZIdKmJiu0cumTjl0ajSykRe79ruoRBal8zrcqgFzAGqX1qatxYYZDa510yYJD6cNRZMEg1DXsbg9TOMM2AQZoSsfVfs9nWYd8ttgvoko1jjEaXIgm/I7rkx1Iy1ahL8r4pRAuF8leN90vln3biIylE+zOmEO3LlEK0L0/Jput40keXhEL5C10qZ9cUiS41UbGdQ5ds/NJodCklYu93TZcwSO1rplUZ9ALGILVPTY0bKwrR9nmXDBSifTjqLBSiNQ17u8ZCNF+xa593ycATpD4cYxaeII0k/I48QerHUjLxBKkvT54g9eVZ4/2SLwHfbBSifXlKNgrRvkwpRPvylGy6jid9DFKhUP5Cl8rZNUWiS01UbOfQJRu/NBpdSonY+13TJQxS+5ppVQa9gDFI7VNT48YKg9Q+75IBg9SHo86CQapp2NsYpHaGaQaeIE2J2Po8QWrjl0ajSykRex9dsjPUGWrUJXn/FKL1LI7ervF+afRPufIiKET7s6YQ7cuUQrQvT8mm63jSR5eEQvkLXSpn1xSJLjVRsZ1Dl2z80mh0KSVi73dNlzBI7WumVRn0Aq7lSZ1WAUzeTI0bKwzSZBILuxSiC8ENCaMQPQROwaUaC9G16BJ/g7RgQTaEYJA2QDGcQpcM8AaEoksDwBSerlGX5KNSiC6c8MfDarxfsn3iiY2mEO3Pl0K0L1MK0b48JZuu40kfXRIK5S90qZxdUyS61ETFdg5dsvFLo9GllIi93zVdwiC1r5lWZdALmCdI7VNT48YKg9Q+75KBQrQPR52FQrSmYW/XWIjGILXPu2TgK3Z9OMYsfMVuJOF35Ct2/VhKJr5i15cnX7Hry7PG+yVfAr7ZKET78pRsFKJ9mVKI9uUp2XQdT/oYpEKh/IUulbNrikSXmqjYzqFLNn5pNLqUErH3u6ZLGKT2NdOqDHoBY5Dap6bGjRUGqX3eJQMGqQ9HnQWDVNOwtzFI7QzTDHzFbkrE1ucJUhu/NBpdSonY++iSnaHOUKMuyfunEK1ncfR2jfdLo3/KlRdBIdqfNYVoX6YUon15SjZdx5M+uiQUyl/oUjm7pkh0qYmK7Ry6ZOOXRqNLKRF7v2u6hEFqXzOtyqAXMAapfWpq3FhhkNrnXTJQiPbhqLNQiNY07O0aC9E8QWqfd8nAE6Q+HGMWniCNJPyOPEHqx1Iy8QSpL0+eIPXlWeP9ki8B32wUon15SjYK0b5MKUT78pRsuo4nfQxSoVD+QpfK2TVFoktNVGzn0CUbvzQaXUqJ2Ptd0yUMUvuaaVUGvYAxSO1TU+PGCoPUPu+SAYPUh6POgkGqadjbGKR2hmkGniBNidj6PEFq45dGo0spEXsfXbIz1Blq1CV5/xSi9SyO3q7xfmn0T7nyIihE+7OmEO3LlEK0L0/Jput40keXhEL5C10qZ9cUiS41UbGdQ5ds/NJodCklYu93TZcwSO1rplUZ9ALGILVPTY0bKwxS+7xLBgrRPhx1FgrRmoa9XWMhmidI7fMuGXiC1IdjzMITpJGE35EnSP1YSiaeIPXlyROkvjxrvF/yJeCbjUK0L0/JRiHalymFaF+ekk3X8aSPQSoUyl/oUjm7pkh0qYmK7Ry6ZOOXRqNLKRF7v2u6hEFqXzOtyqAXMAapfWpq3FhhkNrnXTJgkPpw1FkwSDUNexuD1M4wzcATpCkRW58nSG380mh0KSVi76NLdoY6Q426JO+fQrSexdHbNd4vjf4pV14EhWh/1hSifZlSiPblKdl0HU/66JJQKH+hS+XsmiLRpSYqtnPoko1fGo0upUTs/a7pEgapfc20KoNewBik9qmpcWOFQWqfd8lAIdqHo85CIVrTsLdrLETzBKl93iUDT5D6cIxZeII0kvA78gSpH0vJxBOkvjx5gtSXZ433S74EfLNRiPblKdkoRPsypRDty1Oy6Tqe9DFIhUL5C10qZ9cUiS41UbGdQ5ds/NJodCklYu93TZcwSO1rplUZ9ALGILVPTY0bKwxS+7xLBgxSH446CwappmFvY5DaGaYZeII0JWLr8wSpjV8ajS6lROx9dMnOUGeoUZfk/VOI1rM4ervG+6XRP+XKi6AQ7c+aQrQvUwrRvjwlm67jSR9dEgrlL3SpnF1TJLrURMV2Dl2y8Uuj0aWUiL3fNV3CILWvmVZl0AsYg9Q+NTVurDBI7fMuGShE+3DUWShEaxr2do2FaJ4gtc+7ZOAJUh+OMQtPkEYSfkeeIPVjKZl4gtSXJ0+Q+vKs8X7Jl4BvNgrRvjwlG4VoX6YUon15SjZdx5M+BqlQKH+hS+XsmiLRpSYqtnPoko1fGo0upUTs/a7pEgapfc20KoNewLUUolsFMHkzNW6sMEiTSSzsYpAWghsShkE6BE7BJQzSAmjjhPAE6TiARrzME6QjAhtnOLo0DqCCy+hSAbQhITXqknwcCtFDJjXjUo33Sxkfa9KGUIj2R08h2pcphWhfnpJN1/Gkjy4JhfIXulTOrikSXWqiYjuHLtn4pdHoUkrE3u+aLmGQ2tdMqzLoBcwTpPapqXFjhUFqn3fJQCHah6POQiFa07C3ayxE1/IPd4669Oxw9Z0L7ZM0QRl4gtQXLE+Q+vKUbDxB6suUJ0h9efIEqS/PGu+XfAn4ZqMQ7ctTslGI9mVKIdqXp2TTdTzpY5AKhfIXulTOrikSXWqiYjuHLtn4pdHoUkrE3u+aLmGQ2tdMqzLoBYxBap+aGjdWGKT2eZcMGKQ+HHUWDFJNw97GILUzTDPwBGlKxNbnCVIbvzQaXUqJ2Pvokp2hzlCjLsn7pxCtZ3H0do33S6N/ypUXQSHanzWFaF+mFKJ9eUo2XceTProkFMpf6FI5u6ZIdKmJiu0cumTjl0ajSykRe79ruvT/AwAA//9lXvcrAABAAElEQVTsnQmYpVV1rjfQdDeTQAOiECSamEg0aoiooEYFROJADNfhYtTr8ESeGK+KIWoQg6IQNaKoiFdRo6ISJYmRKYgMDhAGcYoCIihOIIhMAjI1eGsd3eXq1X9V19nfovz//t/zPEntdarW11Xv3u13zrfY1ev8cuZReKw1BK674abZn+Vl/31sufXOO2brvi3e9fhnlXtvtGnfvq1Vvp9f3HJbue323zDccINlZdnS9Vf5mr4VZ15+aXnn107v27c1+/08YLOtyyv/eLdy1S03ltedf/zs831bbLhkafnIns+ffFvPO/nD5ZaVt/ftW5z9ft70sKeWe26wSTnsm6eVi6+/avb5vi1eseNu5VHb/F45+qJzy3Hf/Ubfvr3Z72eP39mhPP2+f1K+fPUPylHfPmv2+b4tHrTltuWgRz65XHHzDeXlZ3yyb9/e7PezwZL1yzt3fsakfvmML90yAF96w9knlG9dc8Xsz9C3xV8/4FFlp622L/922dfKKT++qG/f3uz38xe/95DynB0eUfClWSTSAl+S8HU240udWJqfHKIv2Q+7+aYbN//MNJYyxPdLfd63O++8q/z8pl/MfovrrbduucfGG87WLKYnYDyNa30YT+PKo42A5SP2974+LB+xnIRHOwGf45kKvtTO0jrxJY1f7MaXIhG9xpd0hl4BX/I0ctZj86V1GJDmHJy+qPgDzIBU35UhvrAiiNb33RQIonM4ehWCaE9DXw8xiGZAqu+7KTAgzeFYVfgPdyqJvI/8hzt5LE2J/3Anl6f/D3dMmSBa4zvE90vaT3z3dhNE5/MliM5lShCdy9PUfI5nNb5kFNof+FI7u65OfKmLivYcvqTxi934UiSi12PzJQak+pnplYI/wAxI9a0Z4gsrBqT6vpsCA9Icjl6FAamnoa8ZkOoMo0L9zQbcII1k2mpukLZxm6sLX5qLTPvz+FI7u67OIfqS/RwE0V27ufDnhvh+aeE/3eJ/JUF0PnOC6FymBNG5PE3N53hW40tGof2BL7Wz6+rEl7qoaM/hSxq/2I0vRSJ6PTZfYkCqn5leKfgDzIBU35ohvrBiQKrvuykQROdw9CoE0Z6Gvh5iEM0NUn3fTYEbpDkcqwo3SCuJvI/cIM1jaUrcIM3lyQ3SXJ5DfL+USyBXjSA6l6epEUTnMiWIzuVpaj7Hs5oBqVFof+BL7ey6OvGlLirac/iSxi9240uRiF6PzZcYkOpnplcK/gAzINW3ZogvrBiQ6vtuCgxIczh6FQaknoa+ZkCqM4wK3CCNRLSaG6Qav9iNL0Uieo0v6Qy9whB9yb5/gmi/i9Ovh/h+afqfcvE6CKLzWRNE5zIliM7laWo+x7MaXzIK7Q98qZ1dVye+1EVFew5f0vjFbnwpEtHrsfkSA1L9zPRKwR9gBqT61gzxhRUDUn3fTYEgOoejVyGI9jT09RCDaG6Q6vtuCtwgzeFYVbhBWknkfeQGaR5LU+IGaS5PbpDm8hzi+6VcArlqBNG5PE2NIDqXKUF0Lk9T8zme1QxIjUL7A19qZ9fViS91UdGew5c0frEbX4pE9HpsvsSAVD8zvVLwB5gBqb41Q3xhxYBU33dTYECaw9GrMCD1NPQ1A1KdYVTgBmkkotXcINX4xW58KRLRa3xJZ+gVhuhL9v0TRPtdnH49xPdL0/+Ui9dBEJ3PmiA6lylBdC5PU/M5ntX4klFof+BL7ey6OvGlLirac/iSxi9240uRiF6PzZcYkOpnplcK/gAP5aZOrwCGb2aIL6wYkIZNbCwJohvBzdNGED0PnIZPDTGIHoovveHsE8q3rrmiYVcWp4UbpLmcuUGay9PUuEGay5QbpLk8uUGay3OI75dyCeSqEUTn8jQ1guhcpgTRuTxNzed4VjMgNQrtD3ypnV1XJ77URUV7Dl/S+MVufCkS0eux+RIDUv3M9ErBH2BukOpbM8QXVgxI9X03BQakORy9CgNST0NfMyDVGUYFbpBGIlrNDVKNX+zGlyIRvcaXdIZeYYi+ZN8/QbTfxenXQ3y/NP1PuXgdBNH5rAmic5kSROfyNDWf41mNLxmF9ge+1M6uqxNf6qKiPYcvafxiN74Uiej12HyJAal+Znql4A8wA1J9a4b4wooBqb7vpkAQncPRqxBEexr6eohBNDdI9X03BW6Q5nCsKtwgrSTyPnKDNI+lKXGDNJcnN0hzeQ7x/VIugVw1guhcnqZGEJ3LlCA6l6ep+RzPagakRqH9gS+1s+vqxJe6qGjP4Usav9iNL0Uiej02X2JAqp+ZXin4A8yAVN+aIb6wYkCq77spMCDN4ehVGJB6GvqaAanOMCpwgzQS0WpukGr8Yje+FInoNb6kM/QKQ/Ql+/4Jov0uTr8e4vul6X/KxesgiM5nTRCdy5QgOpenqfkcz2p8ySi0P/CldnZdnfhSFxXtOXxJ4xe78aVIRK/H5ksMSPUz0ysFf4AZkOpbM8QXVgxI9X03BYLoHI5ehSDa09DXQwyiuUGq77spcIM0h2NV4QZpJZH3kRukeSxNiRukuTy5QZrLc4jvl3IJ5KoRROfyNDWC6FymBNG5PE3N53hWMyA1Cu0PfKmdXVcnvtRFRXsOX9L4xW58KRLR67H5EgNS/cz0SsEfYAak+tYM8YUVA1J9302BAWkOR6/CgNTT0NcMSHWGUYEbpJGIVnODVOMXu/GlSESv8SWdoVcYoi/Z908Q7Xdx+vUQ3y9N/1MuXgdBdD5rguhcpgTRuTxNzed4VuNLRqH9gS+1s+vqxJe6qGjP4Usav9iNL0Uiej02X2JAqp+ZXin4A8yAVN+aIb6wYkCq77spEETncPQqBNGehr4eYhDNDVJ9302BG6Q5HKsKN0gribyP3CDNY2lK3CDN5ckN0lyeQ3y/lEsgV40gOpenqRFE5zIliM7laWo+x7OaAalRaH/gS+3sujrxpS4q2nP4ksYvduNLkYhej82XGJDqZ6ZXCv4AMyDVt2aIL6wYkOr7bgoMSHM4ehUGpJ6GvmZAqjOMCtwgjUS0mhukGr/YjS9FInqNL+kMvcIQfcm+f4Jov4vTr4f4fmn6n3LxOgii81kTROcyJYjO5WlqPsezGl8yCu0PfKmdXVcnvtRFRXsOX9L4xW58KRLR67H5EgNS/cz0SsEfYAak+tYM8YUVA1J9302BIDqHo1chiPY09PUQg2hukOr7bgrcIM3hWFW4QVpJ5H3kBmkeS1PiBmkuT26Q5vIc4vulXAK5agTRuTxNjSA6lylBdC5PU/M5ntUMSI1C+wNfamfX1YkvdVHRnsOXNH6xG1+KRPR6bL7EgFQ/M71S8AeYAam+NUN8YcWAVN93U2BAmsPRqzAg9TT0NQNSnWFU4AZpJKLV3CDV+MVufCkS0Wt8SWfoFYboS/b9E0T7XZx+PcT3S9P/lIvXQRCdz5ogOpcpQXQuT1PzOZ7V+JJRaH/gS+3sujrxpS4q2nP4ksYvduNLkYhej82XGJDqZ6ZXCv4AMyDVt2aIL6wYkOr7bgoE0TkcvQpBtKehr4cYRHODVN93U+AGaQ7HqsIN0koi7yM3SPNYmhI3SHN5coM0l+cQ3y/lEshVI4jO5WlqBNG5TAmic3mams/xrGZAahTaH/hSO7uuTnypi4r2HL6k8Yvd+FIkotdj8yUGpPqZ6ZWCP8AMSPWtGeILKwak+r6bAgPSHI5ehQGpp6GvGZDqDKMCN0gjEa3mBqnGL3bjS5GIXuNLOkOvMERfsu+fINrv4vTrIb5fmv6nXLwOguh81gTRuUwJonN5mprP8azGl4xC+wNfamfX1YkvdVHRnsOXNH6xG1+KRPR6bL7EgFQ/M71S8AeYAam+NUN8YcWAVN93UyCIzuHoVQiiPQ19PcQgmhuk+r6bAjdIczhWFW6QVhJ5H7lBmsfSlLhBmsuTG6S5PIf4fimXQK4aQXQuT1MjiM5lShCdy9PUfI5nNQNSo9D+wJfa2XV14ktdVLTn8CWNX+zGlyIRvR6bLzEg1c9MrxT8AWZAqm/NEF9YMSDV990UGJDmcPQqDEg9DX3NgFRnGBW4QRqJaDU3SDV+sRtfikT0Gl/SGXqFIfqSff8E0X4Xp18P8f3S9D/l4nUQROezJojOZUoQncvT1HyOZzW+ZBTaH/hSO7uuTnypi4r2HL6k8Yvd+FIkotdj8yUGpPqZ6ZWCP8AMSPWtGeILKwak+r6bAkF0DkevQhDtaejrIQbR3CDV990UuEGaw7GqcIO0ksj7yA3SPJamxA3SXJ7cIM3lOcT3S7kEctUIonN5mhpBdC5TguhcnqbmczyrGZAahfYHvtTOrqsTX+qioj2HL2n8Yje+FIno9dh8iQGpfmZ6peAPMANSfWuG+MKKAam+76bAgDSHo1dhQOpp6GsGpDrDqMAN0khEq7lBqvGL3fhSJKLX+JLO0CsM0Zfs+yeI9rs4/XqI75em/ykXr4MgOp81QXQuU4LoXJ6m5nM8q/Elo9D+wJfa2XV14ktdVLTn8CWNX+zGlyIRvR6bLzEg1c9MrxT8AWZAqm/NEF9YMSDV990UCKJzOHoVgmhPQ18PMYjmBqm+76bADdIcjlWFG6SVRN5HbpDmsTQlbpDm8uQGaS7PIb5fyiWQq0YQncvT1Aiic5kSROfyNDWf41nNgNQotD/wpXZ2XZ34UhcV7Tl8SeMXu/GlSESvx+ZLDEj1M9MrBX+AGZDqWzPEF1YMSPV9NwUGpDkcvQoDUk9DXzMg1RlGBW6QRiJazQ1SjV/sxpciEb3Gl3SGXmGIvmTfP0G038Xp10N8vzT9T7l4HQTR+awJonOZEkTn8jQ1n+NZjS8ZhfYHvtTOrqsTX+qioj2HL2n8Yje+FIno9dh8iQGpfmZ6peAPMANSfWuG+MKKAam+76ZAEJ3D0asQRHsa+nqIQTQ3SPV9NwVukOZwrCrcIK0k8j5ygzSPpSlxgzSXJzdIc3kO8f1SLoFcNYLoXJ6mRhCdy5QgOpenqfkcz2oGpEah/YEvtbPr6sSXuqhoz+FLGr/YjS9FIno9Nl9iQKqfmV4p+APMgFTfmiG+sGJAqu+7KTAgzeHoVRiQehr6mgGpzjAqcIM0EtFqbpBq/GI3vhSJ6DW+pDP0CkP0Jfv+CaL9Lk6/HuL7pel/ysXrIIjOZ00QncuUIDqXp6n5HM9qfMkotD/wpXZ2XZ34UhcV7Tl8SeMXu/GlSESvx+ZLDEj1M9MrBX+AGZDqWzPEF1YMSPV9NwWC6ByOXoUg2tPQ10MMorlBqu+7KXCDNIdjVeEGaSWR95EbpHksTYkbpLk8uUGay3OI75dyCeSqEUTn8jQ1guhcpgTRuTxNzed4VjMgNQrtD3ypnV1XJ77URUV7Dl/S+MVufCkS0eux+RIDUv3M9ErBH2AGpPrWDPGFFQNSfd9NgQFpDkevwoDU09DXDEh1hlGBG6SRiFZzg1TjF7vxpUhEr/ElnaFXGKIv2fdPEO13cfr1EN8vTf9TLl4HQXQ+a4LoXKYE0bk8Tc3neFbjS0ah/YEvtbPr6sSXuqhoz+FLGr/YjS9FIno9Nl9iQKqfmV4p+APMgFTfmiG+sGJAqu+7KRBE53D0KgTRnoa+HmIQzQ1Sfd9NgRukORyrCjdIK4m8j9wgzWNpStwgzeXJDdJcnkN8v5RLIFeNIDqXp6kRROcyJYjO5WlqPsezmgGpUWh/4Evt7Lo68aUuKtpz+JLGL3bjS5GIXo/NlxiQ6memVwr+ADMg1bdmiC+sGJDq+24KDEhzOHoVBqSehr5mQKozjArcII1EtJobpBq/2I0vRSJ6jS/pDL3CEH3Jvn+CaL+L06+H+H5p+p9y8ToIovNZE0TnMiWIzuVpaj7HsxpfMgrtD3ypnV1XJ77URUV7Dl/S+MVufCkS0eux+RIDUv3M9ErBH2AGpPrWDPGFFQNSfd9NgSA6h6NXIYj2NPT1EINobpDq+24K3CDN4VhVuEFaSeR95AZpHktT4gZpLk9ukObyHOL7pVwCuWoE0bk8TY0gOpcpQXQuT1PzOZ7VDEiNQvsDX2pn19WJL3VR0Z7DlzR+sRtfikT0emy+xIBUPzO9UvAHmAGpvjVDfGHFgFTfd1NgQJrD0aswIPU09DUDUp1hVOAGaSSi1dwg1fjFbnwpEtFrfEln6BWG6Ev2/RNE+12cfj3E90vT/5SL10EQnc+aIDqXKUF0Lk9T8zme1fiSUWh/4Evt7Lo68aUuKtpz+JLGL3bjS5GIXo/NlxiQ6memVwr+ADMg1bdmiC+sGJDq+24KBNE5HL0KQbSnoa+HGERzg1Tfd1PgBmkOx6rCDdJKIu8jN0jzWJoSN0hzeXKDNJfnEN8v5RLIVSOIzuVpagTRuUwJonN5mprP8axmQGoU2h/4Uju7rk58qYuK9hy+pPGL3fhSJKLXY/MlBqT6memVgj/ADEj1rRniCysGpPq+mwID0hyOXoUBqaehrxmQ6gyjAjdIIxGt5gapxi9240uRiF7jSzpDrzBEX7LvnyDa7+L06yG+X5r+p1y8DoLofNYE0blMCaJzeZqaz/GsxpeMQvsDX2pn19WJL3VR0Z7DlzR+sRtfikT0emy+xIBUPzO9UvAHmAGpvjVDfGHFgFTfd1MgiM7h6FUIoj0NfT3EIJobpPq+mwI3SHM4VhVukFYSeR+5QZrH0pS4QZrLkxukuTyH+H4pl0CuGkF0Lk9TI4jOZUoQncvT1HyOZzUDUqPQ/sCX2tl1deJLXVS05/AljV/sxpciEb0emy8xINXPTK8U/AFmQKpvzRBfWDEg1ffdFBiQ5nD0KgxIPQ19zYBUZxgVuEEaiWg1N0g1frEbX4pE9Bpf0hl6hSH6kn3/BNF+F6dfD/H90vQ/5eJ1EETnsyaIzmVKEJ3L09R8jmc1vmQU2h/4Uju7rk58qYuK9hy+pPGL3fhSJKLXY/MlBqT6memVgj/ADEj1rRniCysGpPq+mwJBdA5Hr0IQ7Wno6yEG0dwg1ffdFLhBmsOxqnCDtJLI+8gN0jyWpsQN0lye3CDN5TnE90u5BHLVCKJzeZoaQXQuU4LoXJ6m5nM8qxmQGoX2B77Uzq6rE1/qoqI9hy9p/GI3vhSJ6PXYfIkBqX5meqXgDzADUn1rhvjCigGpvu+mwIA0h6NXYUDqaehrBqQ6w6jADdJIRKu5Qarxi934UiSi1/iSztArDNGX7PsniPa7OP16iO+Xpv8pF6+DIDqfNUF0LlOC6FyepuZzPKvxJaPQ/sCX2tl1deJLXVS05/AljV/sxpciEb0emy8xINXPTK8U/AFmQKpvzRBfWDEg1ffdFAiiczh6FYJoT0NfDzGI5gapvu+mwA3SHI5VhRuklUTeR26Q5rE0JW6Q5vLkBmkuzyG+X8olkKtGEJ3L09QIonOZEkTn8jQ1n+NZzYDUKLQ/8KV2dl2d+FIXFe05fEnjF7vxpUhEr8fmSwxI9TPTKwV/gBmQ6lszxBdWDEj1fTcFBqQ5HL0KA1JPQ18zINUZRgVukEYiWs0NUo1f7MaXIhG9xpd0hl5hiL5k3z9BtN/F6ddDfL80/U+5eB0E0fmsCaJzmRJE5/I0NZ/jWY0vGYX2B77Uzq6rE1/qoqI9hy9p/GI3vhSJ6PXYfIkBqX5meqXgDzADUn1rhvjCigGpvu+mQBCdw9GrEER7Gvp6iEE0N0j1fTcFbpDmcKwq3CCtJPI+coM0j6UpcYM0lyc3SHN5DvH9Ui6BXDWC6FyepkYQncuUIDqXp6n5HM9qBqRGof2BL7Wz6+rEl7qoaM/hSxq/2I0vRSJ6PTZfWqsHpNdce1058eQzyve+/8NyzbXXl63vuWX5w/vfrzxlz13LBhssX9BpuWPlynLciaeWCy76Trn6Z9eWrbZcUR64wx+UvZ68e1l/yZLVNL5w5rnl1DPOLNffcGP5/fttX5737L3L5pttusrXfeVr3ywnnHx6ecwuO5VdH7vLKp9TC3+AGZCqNEsZ4gsrBqT6vpsCA9Icjl6FAamnoa8ZkOoMowI3SCMRreYGqcYvduNLkYhe40s6Q68wRF+y758g2u/i9Oshvl+a/qdcvA6C6HzWBNG5TAmic3mams/xrMaXjEL7A19qZ9fViS91UdGew5c0frEbX4pE9HpsvrTWDkgvuvjScuRRHyt33XXX5FQsW7a03Hbb7ZP1Fis2L6/ab9+y8UYbzntibr31tvL2Iz5YLr/iytU0tt3mXuWVL31RWb582azGty68uLz3Ax8v9mfd53e2KZd89/vF/qyDD9xv9mtu+PmN5cCDDyvrrbtuedNB+6/xe5htXODCH2AGpAuENs+XDfGFFQPSeTZ0ik8RRE8Ba4FfShC9QFAL/LIhBtHcIF3g5q7hy7hBugZAU36aG6RTAlvAl3ODdAGQpvgSbpBOAWsBX8oN0gVAmuJLhvh+aYofb9G/lCA6HzlBdC5TguhcnqbmczyrGZAahfYHvtTOrqsTX+qioj2HL2n8Yje+FIno9dh8aa0dkL7qdW8uN9/8i/LYRz+i7L3XE8uSmdueP/zR5eVDRx87uQn6uMc8sjzjL58074k55tjjyplnn1822XijyUB1xeablWuvu7689R3vKzfedHN59M4PK/s8Y69ZjY984t/Leed/oxyw/0uKDVCPPOromZunl5RDX//3ZdN7bDL5ure966hy2fd/VPZ94bPLgx/0gNnerIU/wAxIdapDfGHFgFTfd1NgQJrD0aswIPU09DUDUp1hVOAGaSSi1dwg1fjFbnwpEtFrfEln6BWG6Ev2/RNE+12cfj3E90vT/5SL10EQnc+aIDqXKUF0Lk9T8zme1fiSUWh/4Evt7Lo68aUuKtpz+JLGL3bjS5GIXo/Nl9bKAen3f/jj8s+Hv79sttk9yiH/uP8qp+IrX/9W+dBHP7Xazc5VvmimsNum+7/20MkN1Ncf8IrJr9atX2O/avf1hx5e1p25BXrYoQeUpUuXTj51+Hs+NLk1esRhbyjrrLNO+fTxp0x+3e6rZ26r3me7bcvnv3ROOfbTJ5U/feiDyguf98wql/rRH2AGpDraIb6wYkCq77spEETncPQqBNGehr4eYhDNDVJ9302BG6Q5HKsKN0gribyP3CDNY2lK3CDN5ckN0lyeQ3y/lEsgV40gOpenqRFE5zIliM7laWo+x7OaAalRaH/gS+3sujrxpS4q2nP4ksYvduNLkYhej82X1soB6cqZfzf0F7fcWpauv/4qvwLXjsfPrrm2HHTI4WsckH75K/9TPvzxfyvbbXvv8pq/+5vVTtabD3tv+dHlPynPf87Ty047Pnjy+Y998j/L2ed+tez/8r8u991+u/KOmV/Pe+n3flDe8sbXlFtmvh8bqm6wfHk5ZOZX69qv4b07Hv4AMyDVCQ/xhRUDUn3fTYEBaQ5Hr8KA1NPQ1wxIdYZRgRukkYhWc4NU4xe78aVIRK/xJZ2hVxiiL9n3TxDtd3H69RDfL03/Uy5eB0F0PmuC6FymBNG5PE3N53hW40tGof2BL7Wz6+rEl7qoaM/hSxq/2I0vRSJ6PTZfWisHpHMdA/v3SD96zH8UG34+YddHl6c9ZY+5vrScdMrny4knn16e/MTHlyfN/F98nPTZM8qJM//35D13LU/a43GTT19y6WXl8CP/ZXKzdIsVm01+la/9W6T2750e8s/vKT+58qflFS95Qbn/7983yqXV/gAzINWxDvGFFQNSfd9NgSA6h6NXIYj2NPT1EINobpDq+24K3CDN4VhVuEFaSeR95AZpHktT4gZpLk9ukObyHOL7pVwCuWoE0bk8TY0gOpcpQXQuT1PzOZ7VDEiNQvsDX2pn19WJL3VR0Z7DlzR+sRtfikT0emy+tNYPSO1X5Z72+bPKFTPDyW9886LJr8zdaKMNy2te+Tdlxeabznli6m3QZz9zr/KoRz5sta8765zzyyc+dVzZ+RE7luc862mzn//qNy4oZ3zx7Mm/VfqH979fefrT/rx8/ovnTIapf/aoh5dn/a+nzH7t3bHwB5gBqU54iC+sGJDq+24KDEhzOHoVBqSehr5mQKozjArcII1EtJobpBq/2I0vRSJ6jS/pDL3CEH3Jvn+CaL+L06+H+H5p+p9y8ToIovNZE0TnMiWIzuVpaj7HsxpfMgrtD3ypnV1XJ77URUV7Dl/S+MVufCkS0eux+dJaPyC99robyuveeNjsybB/N9RudNqvzp3vceRRR5cLLrqkvPgF+5SH/PEOq32pDVvf/y/HlAfucP/ykr9+7mqfr0/8+PIryz8ddmTZ9B6blIMP3K8sWbKkfupu+egP8JAHpCtX3jkvnyVL1pv381n9t952R7lj5lc218eyZeuXpTN7uFh/fv1z48f5/nwGpJFWW73hkvXLB3d/3qT5RaceXX6x8vY2oUXoGspNnZc95PFl53vfrxxzyfnluO9+YxHItP0R3NRp4zZXl7+pM4QbpFst27i86byTygXX/mSuH+m3/vxQbpA+9b5/XJ79hw8v//2T75Z3f+Pzv3Vuc30Dw7lBun75yJ4vmPwYzzv5w+UWfGmuLV3w8wxIF4xqQV/4wBX3Lgc+/Enlyl/8vOz3xWMX1PPb+CLvS/bn1yA66/3DXD/TfK/frWeof34Mouv7pchhbf3568+ZtX933fXLcvPMP89TH+uuu07ZaIPlvX7/ad9r1s9ff+74UTk/v7j1tmIBf33cY+MNy3rrrVvLycc+f//2DSo/f3Z/VxC9dP35c64+ff+TDQ//77e9/z7Hs29tk402WOU7hN90+V/M8TbcYFlZtnT9VZj64re9/33/89dZZ53JTfzKzP730/53tD76/v338e9PHJCaz5vfdz36+P3777MP+3/7HSuLeVN9rD/jSct//XceftP972dleOPNt9Tl5GN9v7TKk2tRsdYPSG+f+QvyzQsvLj/96c+K3e684idXTbZvt8c9quy91xPn3Er790ftV/E+d5+9yyN3euhqX3fOl79ejp75db07/emDy/P/6umrfd6eWHnnneUNM//uqA1pXz0zlN1iixXlnPO+Vr7/wx+X7bfbtjzy4X9SNp65zZr58C+shjwg9T9HF581/cUccz8D0q4TM/1zPjzr+1BnKAPSOtQ54YoLGJBOfyRX6xjiTZ2+/12yG6TLV65XDvvmaeXi63/1emE18D14ov5d+rfLvlZO+fFFPfiOur+F+h8bnHf1D8oHvn1W9xf14NmhDEjNlz7KgDT1xDAgTcVZhvR36Z07P2P2h6/vK8b8/sFgtP78cUA6CzYsKufw9GzZ+udXAfpvqig6P46dv4fSNSDl/Cz8/HQNSH0w7VnX9djPHz//xvUodH68u//+rWlAenf/+UPff/vfTBvo1UcckMJv4f/7WRnGAWl9vuvj0M8P3/9v93//VP71TK5Jp37dUD+u9QPSuDFXXnX15N8DtX+P9O3/dGBZtmxp/JJJfdxJp5bPnvrF8hdPfkLZY7fHrPY1p5z2pfKZEz9Xnrj7n5W9nrT7ap+3J4799Enl8186p+y5+2PLnns8thzy1iMm/y5p/eKttlxRXvuql5b1E2+VemMa8oA0/pcKlVn9GP+Luvp8/ZjVf9fMf2l61y9/WWXLejM3kNeZ+a96FuvPn/2Dw2K+P58BaYDVWNqvMjziMc+adL/ki/9abr3zN/81UqPk3dY2lAHpvn/0mPKIrX+3/OcP/4cBacJpYECaADFI2IB047K0vPXrnyvfvu7K8Nn+lEMZkO55nweWZ/7ejuXcq75f3nfhl/oDMHwnQxnq8Ct2w8YllAxIEyA6iQdsdq/yqj95QrnqlhvLP5zzn+4z/Vr6/wjOvrP6hj/r/cNcP+18r9+tZ6h/fhyQ1vdLkcPa+vPXnzNr/345897T33a0mzsWRsNv1Rt1lXv9OB//eLula0A6X7/9GfD/Df+uAemdM/nafA/4/YZfFyef49nn440n+M3PL/79jTnemgaksT/u0dj5b7h82bwDUvitetNuIecnDkjN583vux5jP38L+fnja6d1Z1iu++vfFLGQ/i7u9bmx9sfXTvX9UuWytn0c3YDUNtB+Na79ily7+Wk3QLseZ5795XLMscfP+St066/g3ecZTy2P3nmn1SQu/d4PyjuO+GC551ZblNe9+v+Wiy7+brEe+/Oe+7//snz8U58p587cQrVfz2u/pjfr4V9YDXlAmsVD1Ylv+Nf0wkr98zL6GZBmUOTfIM2huKoKQfSqPNSKAalKcPV+/g3S1Zkoz/BvkCr0Vu9lQLo6E/UZfEkluGr/EH3JfoK1/Q3/qruUXw3x/VI+hTxF/q23PJZVKQbRXQPS+rV8XDOBrgGp5SQ82gn4HM9U8KV2ltaJL2n8Yje+FInoNb6kM/QK+JKnkbMemy+tlQPS4086rXzhzHPLE3Z99OSGZzwaR7zvozMDy0vLi/7Ps8qOD3lg/PSkvv6Gn5fXvuFtk/Vhh762LJ/5L2bq49aZf8Pi7w44ZFIectD+ZbNN71E/Nfl42223l9e96e3l5pt/Uf7xNS8rW99zy3LK6TM3Tk/43OxA9IKLvjMzMP1YedpT9ph8n6sICIU/wAxIBZC/bh3iCysGpPq+mwJBdA5Hr0IQ7Wno6yEG0UP4Fbv33mjT8oazTyjfuuYKfZPuJoWh3CBlQJp7APClXJ6mhi/lMh2iLxkBgmjtHAzx/ZL2E9+93QTR+XwJonOZEkTn8jQ1n+NZjS8ZhfYHvtTOrqsTX+qioj2HL2n8Yje+FIno9dh8aa0ckH7n0svKO4/8l8mvrn35S15Q7vu7201OxsqVK8t5M/+u6Mc/+atf+VR/xe6dM/9W6GdOPLWUmV9ns9dTnlCWrPerf8D2Pe8/ulz47Usm/a986Ytm/sHkdYv9at53vOdD5XuX/bD80QPuX/72xc9d7dTVf7907732LLs9bpfJ58865/zyiU8dV54zc3t055l/e/Tsc79aPjbzfcx1A3U10QU+4Q8wA9IFQpvny4b4wooB6TwbOsWnCKKngLXALyWIXiCoBX7ZEINoBqQL3Nw1fBkD0jUAmvLT/IrdKYEt4MuH8qvf8aUFbOYUXzJEX7IfjyB6ik3u+NIhvl/q+DF68xRBdP5WEETnMiWIzuVpaj7HsxpfMgrtD3ypnV1XJ77URUV7Dl/S+MVufCkS0eux+dJaOSC13z19+MwQ037NrT02WL683OteW5Uf/PDyyYDTntt7ryfODC8fZcvy9f+5sBz14X+drF/0vGeWHR/6oMna/r3Stx7+vmI3Qu3fKt3m3luXK35y1Wz9qlfsW+619VaTr63/71sXXlze+4GPl+2327b8/StePPs7xE3rjW95d9lk443Kro/dpZz+hf8uN9508+TX70aNqtXy0R9gBqQtBFftGeILKwakq+5ha8WAtJXc3H0E0XOzafnMEINoBqQtO716DwPS1ZkozzAgVeh19zIg7ebS+uwev7NDefp9/6R8+eoflKO+fVarzN3eN0RfMigE0drRGOL7Je0nvnu7CaLz+RJE5zIliM7laWo+x7MaXzIK7Q98qZ1dVye+1EVFew5f0vjFbnwpEtHrsfnSWjkgtWNgQ9KTPntG+dJ/f3kyiKxHw/5N0L986hPLgx/0gPpUueba68sb3/yuYv+w/EH/8LKy5RYr3OeuK+/70DHl8iuunH1u223uVfZ94T5lixWbzz5ni9tvv6O85qC3lDvuWFkOPnC/svlmm67yeRuKfvr4UyZDWruNar9et94wXeULhcIfYAakAshftw7xhRUDUn3fTYEBaQ5Hr8KA1NPQ10MMohmQ6vtuCgxIczhWFQaklUTeRwakeSxNiQFpLs8Nlqxf3rnzM2ZFCaJnUTQthvh+qekHXaQmguh80ATRuUwJonN5mprP8azGl4xC+wNfamfX1YkvdVHRnsOXNH6xG1+KRPR6bL601g5I/VG49bbbyvXX/7xsteWKst6vf32u/7yt7dfv2mPJkiWTj/H/rZz5NbzXXHNd2WKLzWd/BW/8moXU9it6r/rpz4oNauf6XhaiM9fX+APMgHQuSgt/fogvrBiQLnx/5/tKBqTz0Wn7HAPSNm5zdTEgnYtM+/PvevyzCv8GaTu/2Mm/QRqJaDW+pPHr6saXuqi0PzdEX7KfliC6fc+tc4jvl7Sf+O7tJojO50sQncuUIDqXp6n5HM9qfMkotD/wpXZ2XZ34UhcV7Tl8SeMXu/GlSESvx+ZLoxiQ6sdiOAr+ADMg1fdtiC+sGJDq+24KBNE5HL0KQbSnoa+HGERzg1Tfd1PgBmkOx6rCDdJKIu8jN0jzWJoSN0hzeXKDNJfnEN8v5RLIVSOIzuVpagTRuUwJonN5mprP8axmQGoU2h/4Uju7rk58qYuK9hy+pPGL3fhSJKLXY/MlBqT6memVgj/ADEj1rRniCysGpPq+mwID0hyOXoUBqaehrxmQ6gyjAjdIIxGt5gapxi9240uRiF7jSzpDrzBEX7LvnyDa7+L06yG+X5r+p1y8DoLofNYE0blMCaJzeZqaz/GsxpeMQvsDX2pn19WJL3VR0Z7DlzR+sRtfikT0emy+xIBUPzO9UvAHmAGpvjVDfGHFgFTfd1MgiM7h6FUIoj0NfT3EIJobpPq+mwI3SHM4VhVukFYSeR+5QZrH0pS4QZrLkxukuTyH+H4pl0CuGkF0Lk9TI4jOZUoQncvT1HyOZzUDUqPQ/sCX2tl1deJLXVS05/AljV/sxpciEb0emy8xINXPTK8U/AFmQKpvzRBfWDEg1ffdFBiQ5nD0KgxIPQ19zYBUZxgVuEEaiWg1N0g1frEbX4pE9Bpf0hl6hSH6kn3/BNF+F6dfD/H90vQ/5eJ1EETnsyaIzmVKEJ3L09R8jmc1vmQU2h/4Uju7rk58qYuK9hy+pPGL3fhSJKLXY/MlBqT6memVgj/ADEj1rRniCysGpPq+mwJBdA5Hr0IQ7Wno6yEG0dwg1ffdFLhBmsOxqnCDtJLI+8gN0jyWpsQN0lye3CDN5TnE90u5BHLVCKJzeZoaQXQuU4LoXJ6m5nM8qxmQGoX2B77Uzq6rE1/qoqI9hy9p/GI3vhSJ6PXYfIkBqX5meqXgDzADUn1rhvjCigGpvu+mwIA0h6NXYUDqaehrBqQ6w6jADdJIRKu5Qarxi934UiSi1/iSztArDNGX7PsniPa7OP16iO+Xpv8pF6+DIDqfNUF0LlOC6FyepuZzPKvxJaPQ/sCX2tl1deJLXVS05/AljV/sxpciEb0emy8xINXPTK8U/AFmQKpvzRBfWDEg1ffdFAiiczh6FYJoT0NfDzGI5gapvu+mwA3SHI5VhRuklUTeR26Q5rE0JW6Q5vLkBmkuzyG+X8olkKtGEJ3L09QIonOZEkTn8jQ1n+NZzYDUKLQ/8KV2dl2d+FIXFe05fEnjF7vxpUhEr8fmSwxI9TPTKwV/gBmQ6lszxBdWDEj1fTcFBqQ5HL0KA1JPQ18zINUZRgVukEYiWs0NUo1f7MaXIhG9xpd0hl5hiL5k3z9BtN/F6ddDfL80/U+5eB0E0fmsCaJzmRJE5/I0NZ/jWY0vGYX2B77Uzq6rE1/qoqI9hy9p/GI3vhSJ6PXYfIkBqX5meqXgDzADUn1rhvjCigGpvu+mQBCdw9GrEER7Gvp6iEE0N0j1fTcFbpDmcKwq3CCtJPI+coM0j6UpcYM0lyc3SHN5DvH9Ui6BXDWC6FyepkYQncuUIDqXp6n5HM9qBqRGof2BL7Wz6+rEl7qoaM/hSxq/2I0vRSJ6PTZfYkCqn5leKfgDzIBU35ohvrBiQKrvuykwIM3h6FUYkHoa+poBqc4wKnCDNBLRam6QavxiN74Uieg1vqQz9ApD9CX7/gmi/S5Ovx7i+6Xpf8rF6yCIzmdNEJ3LlCA6l6ep+RzPanzJKLQ/8KV2dl2d+FIXFe05fEnjF7vxpUhEr8fmSwxI9TPTKwV/gBmQ6lszxBdWDEj1fTcFgugcjl6FINrT0NdDDKK5QarvuylwgzSHY1XhBmklkfeRG6R5LE2JG6S5PLlBmstziO+XcgnkqhFE5/I0NYLoXKYE0bk8Tc3neFYzIDUK7Q98qZ1dVye+1EVFew5f0vjFbnwpEtHrsfkSA1L9zPRKwR9gBqT61gzxhRUDUn3fTYEBaQ5Hr8KA1NPQ1wxIdYZRgRukkYhWc4NU4xe78aVIRK/xJZ2hVxiiL9n3TxDtd3H69RDfL03/Uy5eB0F0PmuC6FymBNG5PE3N53hW40tGof2BL7Wz6+rEl7qoaM/hSxq/2I0vRSJ6PTZfYkCqn5leKfgDzIBU35ohvrBiQKrvuykQROdw9CoE0Z6Gvh5iEM0NUn3fTYEbpDkcqwo3SCuJvI/cIM1jaUrcIM3lyQ3SXJ5DfL+USyBXjSA6l6epEUTnMiWIzuVpaj7Hs5oBqVFof+BL7ey6OvGlLirac/iSxi9240uRiF6PzZcYkOpnplcK/gAzINW3ZogvrBiQ6vtuCgxIczh6FQaknoa+ZkCqM4wK3CCNRLSaG6Qav9iNL0Uieo0v6Qy9whB9yb5/gmi/i9Ovh/h+afqfcvE6CKLzWRNE5zIliM7laWo+x7MaXzIK7Q98qZ1dVye+1EVFew5f0vjFbnwpEtHrsfkSA1L9zPRKwR9gBqT61gzxhRUDUn3fTYEgOoejVyGI9jT09RCDaG6Q6vtuCtwgzeFYVbhBWknkfeQGaR5LU+IGaS5PbpDm8hzi+6VcArlqBNG5PE2NIDqXKUF0Lk9T8zme1QxIjUL7A19qZ9fViS91UdGew5c0frEbX4pE9HpsvsSAVD8zvVLwB5gBqb41Q3xhxYBU33dTYECaw9GrMCD1NPQ1A1KdYVTgBmkkotXcINX4xW58KRLRa3xJZ+gVhuhL9v0TRPtdnH49xPdL0/+Ui9dBEJ3PmiA6lylBdC5PU/M5ntX4klFof+BL7ey6OvGlLirac/iSxi9240uRiF6PzZcYkOpnplcK/gAzINW3ZogvrBiQ6vtuCgTRORy9CkG0p6GvhxhEc4NU33dT4AZpDseqwg3SSiLvIzdI81iaEjdIc3lygzSX5xDfL+USyFUjiM7laWoE0blMCaJzeZqaz/GsZkBqFNof+FI7u65OfKmLivYcvqTxi934UiSi12PzJQak+pnplYI/wAxI9a0Z4gsrBqT6vpsCA9Icjl6FAamnoa8ZkOoMowI3SCMRreYGqcYvduNLkYhe40s6Q68wRF+y758g2u/i9Oshvl+a/qdcvA6C6HzWBNG5TAmic3mams/xrMaXjEL7A19qZ9fViS91UdGew5c0frEbX4pE9HpsvsSAVD8zvVLwB5gBqb41Q3xhxYBU33dTIIjO4ehVCKI9DX09xCCaG6T6vpsCN0hzOFYVbpBWEnkfuUGax9KUuEGay5MbpLk8h/h+KZdArhpBdC5PUyOIzmVKEJ3L09R8jmc1A1Kj0P7Al9rZdXXiS11UtOfwJY1f7MaXIhG9HpsvMSDVz0yvFPwBZkCqb80QX1gxINX33RQYkOZw9CoMSD0Nfc2AVGcYFbhBGoloNTdINX6xG1+KRPQaX9IZeoUh+pJ9/wTRfhenXw/x/dL0P+XidRBE57MmiM5lShCdy9PUfI5nNb5kFNof+FI7u65OfKmLivYcvqTxi934UiSi12PzJQak+pnplYI/wAxI9a0Z4gsrBqT6vpsCQXQOR69CEO1p6OshBtHcINX33RS4QZrDsapwg7SSyPvIDdI8lqbEDdJcntwgzeU5xPdLuQRy1Qiic3maGkF0LlOC6FyepuZzPKsZkBqF9ge+1M6uqxNf6qKiPYcvafxiN74Uiej12HyJAal+Znql4A8wA1J9a4b4wooBqb7vpsCANIejV2FA6mnoawakOsOowA3SSESruUGq8Yvd+FIkotf4ks7QKwzRl+z7J4j2uzj9eojvl6b/KRevgyA6nzVBdC5Tguhcnqbmczyr8SWj0P7Al9rZdXXiS11UtOfwJY1f7MaXIhG9HpsvMSDVz0yvFPwBZkCqb80QX1gxINX33RQIonM4ehWCaE9DXw8xiOYGqb7vpsAN0hyOVYUbpJVE3kdukOaxNCVukOby5AZpLs8hvl/KJZCrRhCdy9PUCKJzmRJE5/I0NZ/jWc2A1Ci0P/CldnZdnfhSFxXtOXxJ4xe78aVIRK/H5ksMSPUz0ysFf4AZkOpbM8QXVgxI9X03BQakORy9CgNST0NfMyDVGUYFbpBGIlrNDVKNX+zGlyIRvcaXdIZeYYi+ZN8/QbTfxenXQ3y/NP1PuXgdBNH5rAmic5kSROfyNDWf41mNLxmF9ge+1M6uqxNf6qKiPYcvafxiN74Uiej12HyJAal+Znql4A8wA1J9a4b4wooBqb7vpkAQncPRqxBEexr6eohBNDdI9X03BW6Q5nCsKtwgrSTyPnKDNI+lKXGDNJcnN0hzeQ7x/VIugVw1guhcnqZGEJ3LlCA6l6ep+RzPagakRqH9gS+1s+vqxJe6qGjP4Usav9iNL0Uiej02X2JAqp+ZXin4A8yAVN+aIb6wYkCq77spMCDN4ehVGJB6GvqaAanOMCpwgzQS0WpukGr8Yje+FInoNb6kM/QKQ/Ql+/4Jov0uTr8e4vul6X/KxesgiM5nTRCdy5QgOpenqfkcz2p8ySi0P/CldnZdnfhSFxXtOXxJ4xe78aVIRK/H5ksMSPUz0ysFf4AZkOpbM8QXVgxI9X03BYLoHI5ehSDa09DXQwyiuUGq77spcIM0h2NV4QZpJZH3kRukeSxNiRukuTy5QZrLc4jvl3IJ5KoRROfyNDWC6FymBNG5PE3N53hWMyA1Cu0PfKmdXVcnvtRFRXsOX9L4xW58KRLR67H5EgNS/cz0SsEfYAak+tYM8YUVA1J9302BAWkOR6/CgNTT0NcMSHWGUYEbpJGIVnODVOMXu/GlSESv8SWdoVcYoi/Z908Q7Xdx+vUQ3y9N/1MuXgdBdD5rguhcpgTRuTxNzed4VuNLRqH9gS+1s+vqxJe6qGjP4Usav9iNL0Uiej02X2JAqp+ZXin4A8yAVN+aIb6wYkCq77spEETncPQqBNGehr4eYhDNDVJ9302BG6Q5HKsKN0gribyP3CDNY2lK3CDN5ckN0lyeQ3y/lEsgV40gOpenqRFE5zIliM7laWo+x7OaAalRaH/gS+3sujrxpS4q2nP4ksYvduNLkYhej82XGJDqZ6ZXCv4AMyDVt2aIL6wYkOr7bgoMSHM4ehUGpJ6GvmZAqjOMCtwgjUS0mhukGr/YjS9FInqNL+kMvcIQfcm+f4Jov4vTr4f4fmn6n3LxOgii81kTROcyJYjO5WlqPsezGl8yCu0PfKmdXVcnvtRFRXsOX9L4xW58KRLR67H5EgNS/cz0SsEfYAak+tYM8YUVA1J9302BIDqHo1chiPY09PUQg2hukOr7bgrcIM3hWFW4QVpJ5H3kBmkeS1PiBmkuT26Q5vIc4vulXAK5agTRuTxNjSA6lylBdC5PU/M5ntUMSI1C+wNfamfX1YkvdVHRnsOXNH6xG1+KRPR6bL7EgFQ/M71S8AeYAam+NUN8YcWAVN93U2BAmsPRqzAg9TT0NQNSnWFU4AZpJKLV3CDV+MVufCkS0Wt8SWfoFYboS/b9E0T7XZx+PcT3S9P/lIvXQRCdz5ogOpcpQXQuT1PzOZ7V+JJRaH/gS+3sujrxpS4q2nP4ksYvduNLkYhej82XGJDqZ6ZXCv4AMyDVt2aIL6wYkOr7bgoE0TkcvQpBtKehr4cYRHODVN93U+AGaQ7HqsIN0koi7yM3SPNYmhI3SHN5coM0l+cQ3y/lEshVI4jO5WlqBNG5TAmic3mams/xrGZAahTaH/hSO7uuTnypi4r2HL6k8Yvd+FIkotdj8yUGpPqZ6ZWCP8AMSPWtGeILKwak+r6bAgPSHI5ehQGpp6GvGZDqDKMCN0gjEa3mBqnGL3bjS5GIXuNLOkOvMERfsu+fINrv4vTrIb5fmv6nXLwOguh81gTRuUwJonN5mprP8azGl4xC+wNfamfX1YkvdVHRnsOXNH6xG1+KRPR6bL7EgFQ/M71S8AeYAam+NUN8YcWAVN93UyCIzuHoVQiiPQ19PcQgmhuk+r6bAjdIczhWFW6QVhJ5H7lBmsfSlLhBmsuTG6S5PIf4fimXQK4aQXQuT1MjiM5lShCdy9PUfI5nNQNSo9D+wJfa2XV14ktdVLTn8CWNX+zGlyIRvR6bLzEg1c9MrxT8AWZAqm/NEF9YMSDV990UGJDmcPQqDEg9DX3NgFRnGBW4QRqJaDU3SDV+sRtfikT0Gl/SGXqFIfqSff8E0X4Xp18P8f3S9D/l4nUQROezJojOZUoQncvT1HyOZzW+ZBTaH/hSO7uuTnypi4r2HL6k8Yvd+FIkotdj8yUGpPqZ6ZWCP8AMSPWtGeILKwak+r6bAkF0DkevQhDtaejrIQbR3CDV990UuEGaw7GqcIO0ksj7yA3SPJamxA3SXJ7cIM3lOcT3S7kEctUIonN5mhpBdC5TguhcnqbmczyrGZAahfYHvtTOrqsTX+qioj2HL2n8Yje+FIno9dh8iQGpfmZ6peAPMANSfWuG+MKKAam+76bAgDSHo1dhQOpp6GsGpDrDqMAN0khEq7lBqvGL3fhSJKLX+JLO0CsM0Zfs+yeI9rs4/XqI75em/ykXr4MgOp81QXQuU4LoXJ6m5nM8q/Elo9D+wJfa2XV14ktdVLTn8CWNX+zGlyIRvR6bLzEg1c9MrxT8AWZAqm/NEF9YMSDV990UCKJzOHoVgmhPQ18PMYjmBqm+76bADdIcjlWFG6SVRN5HbpDmsTQlbpDm8uQGaS7PIb5fyiWQq0YQncvT1Aiic5kSROfyNDWf41nNgNQotD/wpXZ2XZ34UhcV7Tl8SeMXu/GlSESvx+ZLDEj1M9MrBX+AGZDqWzPEF1YMSPV9NwUGpDkcvQoDUk9DXzMg1RlGBW6QRiJazQ1SjV/sxpciEb3Gl3SGXmGIvmTfP0G038Xp10N8vzT9T7l4HQTR+awJonOZEkTn8jQ1n+NZjS8ZhfYHvtTOrqsTX+qioj2HL2n8Yje+FIno9dh8iQGpfmZ6peAPMANSfWuG+MKKAam+76ZAEJ3D0asQRHsa+nqIQTQ3SPV9NwVukOZwrCrcIK0k8j5ygzSPpSlxgzSXJzdIc3kO8f1SLoFcNYLoXJ6mRhCdy5QgOpenqfkcz2oGpEah/YEvtbPr6sSXuqhoz+FLGr/YjS9FIno9Nl9iQKqfmV4p+APMgFTfmiG+sGJAqu+7KTAgzeHoVRiQehr6mgGpzjAqcIM0EtFqbpBq/GI3vhSJ6DW+pDP0CkP0Jfv+CaL9Lk6/HuL7pel/ysXrIIjOZ00QncuUIDqXp6n5HM9qfMkotD/wpXZ2XZ34UhcV7Tl8SeMXu/GlSESvx+ZLDEj1M9MrBX+AGZDqWzPEF1YMSPV9NwWC6ByOXoUg2tPQ10MMorlBqu+7KXCDNIdjVeEGaSWR95EbpHksTYkbpLk8uUGay3OI75dyCeSqEUTn8jQ1guhcpgTRuTxNzed4VjMgNQrtD3ypnV1XJ77URUV7Dl/S+MVufCkS0eux+RIDUv3M9ErBH2AGpPrWDPGFFQNSfd9NgQFpDkevwoDU09DXDEh1hlGBG6SRiFZzg1TjF7vxpUhEr/ElnaFXGKIv2fdPEO13cfr1EN8vTf9TLl4HQXQ+a4LoXKYE0bk8Tc3neFbjS0ah/YEvtbPr6sSXuqhoz+FLGr/YjS9FIno9Nl9iQKqfmV4p+AM8lAHpIef9V68Y+m/mzpV3lkfe875lp622nzy94QbLyrKl6/sv6d2aAWnOlhBE53D0KgTRnoa+HmIQzQ1Sfd9NgRukORyrCjdIK4m8j9wgzWNpStwgzeXJDdJcngTRGc3KCQAAQABJREFUuTwJonN5mhpBdC5TguhcnqbmczyrGZAahfYHvtTOrqsTX+qioj2HL2n8Yje+FIno9dh8iQGpfmZ6peAP8FAGpG84+4TyrWuu6BVH/83UINqeY0DqybStCaLbuM3XRRA9H53pP0cQPT2z+Tp8EM2AdD5SC/9c9aV/u+xr5ZQfX7TwxkX+Sm6Q5gLnP9zJ5Wlq/Ic7uUyH+B/uGAGCaO0cEERr/GI3QXQkotcE0TpDr0AQ7WnkrH2OZ4r4ksYVX9L4xW58KRLRa3xJZ+gV8CVPI2c9Nl9iQJpzbnqj4g8wA9KcbalBtKkxINWZMiDVGUYFBqSRiFYzINX4xW4GpJGIXldfYkCqszQFfCmHo1fBlzwNfY0v6Qy9gvcle54g2tOZfk0QPT2z+ToIouej0/Y5gug2bnN1EUTPRab9eZ/jmQq+1M7SOvEljV/sxpciEb3Gl3SGXgFf8jRy1mPzJQakOeemNyr+ADMgzdmWGkSbGgNSnSlBtM4wKhBERyJaTRCt8YvdPojmBmmk01ZXX2JA2sYvduFLkYhe40s6Q6+AL3ka+tr7kqkRRGtMCaI1frGbIDoS0WuCaJ2hVyCI9jRy1j7HM0V8SeOKL2n8Yje+FInoNb6kM/QK+JKnkbMemy8xIM05N71R8QeYAWnOttQg2tQYkOpMCaJ1hlGBIDoS0WqCaI1f7PZBNAPSSKetrr7EgLSNX+zClyIRvcaXdIZeAV/yNPS19yVTI4jWmBJEa/xiN0F0JKLXBNE6Q69AEO1p5Kx9jmeK+JLGFV/S+MVufCkS0Wt8SWfoFfAlTyNnPTZfYkCac256o+IPMAPSnG2pQbSpMSDVmRJE6wyjAkF0JKLVBNEav9jtg2gGpJFOW119iQFpG7/YhS9FInqNL+kMvQK+5Gnoa+9LpkYQrTEliNb4xW6C6EhErwmidYZegSDa08hZ+xzPFPEljSu+pPGL3fhSJKLX+JLO0CvgS55GznpsvsSANOfc9EbFH2AGpDnbUoNoU2NAqjMliNYZRgWC6EhEqwmiNX6x2wfRDEgjnba6+hID0jZ+sQtfikT0Gl/SGXoFfMnT0Nfel0yNIFpjShCt8YvdBNGRiF4TROsMvQJBtKeRs/Y5niniSxpXfEnjF7vxpUhEr/ElnaFXwJc8jZz12HyJAWnOuemNij/ADEhztqUG0abGgFRnShCtM4wKBNGRiFYTRGv8YrcPohmQRjptdfUlBqRt/GIXvhSJ6DW+pDP0CviSp6GvvS+ZGkG0xpQgWuMXuwmiIxG9JojWGXoFgmhPI2ftczxTxJc0rviSxi9240uRiF7jSzpDr4AveRo567H5EgPSnHPTGxV/gBmQ5mxLDaJNjQGpzpQgWmcYFQiiIxGtJojW+MVuH0QzII102urqSwxI2/jFLnwpEtFrfEln6BXwJU9DX3tfMjWCaI0pQbTGL3YTREciek0QrTP0CgTRnkbO2ud4pogvaVzxJY1f7MaXIhG9xpd0hl4BX/I0ctZj8yUGpDnnpjcq/gAzIM3ZlhpEmxoDUp0pQbTOMCoQREciWk0QrfGL3T6IZkAa6bTV1ZcYkLbxi134UiSi1/iSztAr4Euehr72vmRqBNEaU4JojV/sJoiORPSaIFpn6BUIoj2NnLXP8UwRX9K44ksav9iNL0Uieo0v6Qy9Ar7kaeSsx+ZLDEhzzk1vVPwBZkCasy01iDY1BqQ6U4JonWFUIIiORLSaIFrjF7t9EM2ANNJpq6svMSBt4xe78KVIRK/xJZ2hV8CXPA197X3J1AiiNaYE0Rq/2E0QHYnoNUG0ztArEER7Gjlrn+OZIr6kccWXNH6xG1+KRPQaX9IZegV8ydPIWY/NlxiQ5pyb3qj4A8yANGdbahBtagxIdaYE0TrDqEAQHYloNUG0xi92+yCaAWmk01ZXX2JA2sYvduFLkYhe40s6Q6+AL3ka+tr7kqkRRGtMCaI1frGbIDoS0WuCaJ2hVyCI9jRy1j7HM0V8SeOKL2n8Yje+FInoNb6kM/QK+JKnkbMemy8xIM05N71R8QeYAWnOttQg2tQYkOpMCaJ1hlGBIDoS0WqCaI1f7PZBNAPSSKetrr7EgLSNX+zClyIRvcaXdIZeAV/yNPS19yVTI4jWmBJEa/xiN0F0JKLXBNE6Q69AEO1p5Kx9jmeK+JLGFV/S+MVufCkS0Wt8SWfoFfAlTyNnPTZfYkCac256o+IPMAPSnG2pQbSpMSDVmRJE6wyjAkF0JKLVBNEav9jtg2gGpJFOW119iQFpG7/YhS9FInqNL+kMvQK+5Gnoa+9LpkYQrTEliNb4xW6C6EhErwmidYZegSDa08hZ+xzPFPEljSu+pPGL3fhSJKLX+JLO0CvgS55GznpsvrRWD0iv+unPymdP+2K55NLLyvU33Fjus9025cEPfEDZY7fHlHXWWWdBJ+aOlSvLcSeeWi646Dvl6p9dW7backV54A5/UPZ68u5l/SVLVtP4wpnnllPPOHPy5/3+/bYvz3v23mXzzTZd5eu+8rVvlhNOPr08Zpedyq6P3WWVz6mFP8AMSFWav+qvQbRVDEh1pgTROsOoQBAdiWg1QbTGL3b7IJoBaaTTVldfYkDaxi924UuRiF7jSzpDr4AveRr62vuSqRFEa0wJojV+sZsgOhLRa4JonaFXIIj2NHLWPsczRXxJ44ovafxiN74Uieg1vqQz9Ar4kqeRsx6bL621A9If/ujy8vZ3f7DYgNMe6667brnrrrsm6wfucP+y7wufXdZbb71JPdf/u/XW28rbj/hgufyKKydfsmzZ0nLbbbdP1ttuc6/yype+qCxfvmy2/VsXXlze+4GPF/u6+/zONuWS736/bLFi83LwgfvNfs0NP7+xHHjwYWW9me/nTQftXzbeaMPZz2Us/AFmQJpBtJQaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmS2vtgPS1B7+tXH/9z8vDH/aQ8tQ/321yi/PiS75XPvDhT5Zbbr21/NWznlZ2ecSO856aY449rpx59vllk403Kq/ab9+yYvPNyrXXXV/e+o73lRtvurk8eueHlX2esdesxkc+8e/lvPO/UQ7Y/yXFBqhHHnX0zM3TS8qhr//7suk9Npl83dvedVS57Ps/mgxoH/ygB8z2Zi38AWZAmkO1BtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+dJaOSD9+Y03lX846K2TW6NvO+SAyY3OejxOOf1L5TMnfG7yq3b3fdGz69OrfbSbovu/9tDJrdPXH/CKya/WrV9kv2r39YcePtE/7NADytKlSyefOvw9H5rcGj3isDdMfoXvp48/ZfLrdl89M1y9z3bbls9/6Zxy7KdPKn/60AeVFz7vmVUu9aM/wAxIc9DWINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X1orB6TXXHvdzGDyrLLNvbee/Duf/mh8/4c/Lv98+PvLdtveu7zm7/7Gf2qV9Ze/8j/lwx//tzm/7s2Hvbf86PKflOc/5+llpx0fPOn92Cf/s5x97lfL/i//63Lf7bcr75j59byXfu8H5S1vfE255ZZbJ0PVDZYvL4fM/Gpd+zW8d8fDH2AGpDmEaxBtagxIdaYE0TrDqEAQHYloNUG0xi92+yCaAWmk01ZXX2JA2sYvduFLkYhe40s6Q6+AL3ka+tr7kqkRRGtMCaI1frGbIDoS0WuCaJ2hVyCI9jRy1j7HM0V8SeOKL2n8Yje+FInoNb6kM/QK+JKnkbMemy+tlQPS+Y7C8SedVk4+9QuTX69rv2Z3rsdJp3y+nHjy6eXJT3x8edLM/8XHSZ89o5w4839P3nPX8qQ9Hjf59CWXXlYOP/JfJjdLt1ixWbGbpvZvkdqv5z3kn99TfnLlT8srXvKCcv/fv2+US6v9AWZAmoO1BtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+dKoBqRX/fRn5eA3v2tyUv7xNS8rW99zyzlPTb0N+uxn7lUe9ciHrfZ1Z51zfvnEp44rO8/8O6bPcYPWr37jgnLGF8+e/Fulf3j/+5WnP+3Py+e/eM5kmPpnj3p4edb/espqWplP+APMgDSHbA2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/Ol0QxIb775F+WNb3l3ufGmm8tuj92l7P0Xe857Yo486uhywUWXlBe/YJ/ykD/eYbWv/cY3Lyrv/5djygN3uH95yV8/d7XP1yd+fPmV5Z8OO7Jseo9NysEH7leWLFlSP3W3fPQHmAFpDuIaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmS6MYkN5++x3lrYe/b/Irbv9g5tfbvuxvnl/WWWedeU+M/fuj9u+QPnefvcsjd3roal97zpe/Xo4+5j/KTn/64PL8v3r6ap+3J1beeWd5w6GHz9wmvaG8eubX7G6xxYpyznlfK/bvoG6/3bblkQ//k7LxRht29rY+6Q8wA9JWiqv21SDaP7umF6x+H3xfXd+d/Wdefml559dOr39U7z4OJYj24VnfhzpDCaLr36UTrrigHPfdb/TubNZviCC6ksj5OKS/S+96/LPK8pXrlcO+eVq5+PqrcgDcDSr171LfB6T179J5V/+gfODbZ90NJHIkh+RLH93zBZMf+nknf7jcsvL2HAB3g8pQfOkVO+5WHrXN75WjLzoXX0o4B0P6u/TOnZ8x+xPX1+W/zdfv9s0M9c+PQfQs2LConMPTs+VQf/76A/D931RRdH78be+//6busfGGZb311vVPDfbvX/0hFvP8dQXR9tx8j9/2/vPnbzzf9qz1539NFx0W8+9P10b0/c+3/820gV592P9+2nP10ffvv49//+OAtLLs+tjH799/n+x/v1//qOen7vWadOrXDfXjWj8gveuuu8o7Z/5d0Eu/94Oy1ZYrygH7v6QsXbp0jft13Emnls+e+sXyF09+Qtljt8es9vWnnPal8pkTP1eeuPuflb2etPtqn7cnjv30SeXzXzqn7Ln7Y8ueezy2HPLWIyb/Lmn9Yvt+Xvuql5b1E2+V+v9hYkBaSWsfaxDtVdb0Pwx+H3xfXd+d/QxIK2Xt45CGOkMJouvfJQak2tms3Q/actty0COfXK64+Yby8jM+WZ/u3cch/V1iQJp7fBiQ5vK0v0sMSHOZMiDN5cmAdO0OSOZ6/8KA9Fd/j36b7//sO+DPn//vn/9fOwaknsav1tOcHwakGr/Vu/n7O835a+HHgFQbkDMg1fh1vX5iQPqbv8l399//Lv6/+dP539818a+s1sSxft1QP67VA9Jf/vKX5agP/2uxX4e7ycYbTYaR9nEhjzPP/nI55tjj5/wVuvVX8O7zjKeWR++802qSNpB9xxEfLPfcaovyulf/33LRxd8t1mM3Tp/7v/+yfPxTnynnztxCtV/Pa7+mN+vhDzYD0hyqdahjamt6YZXzJ2oqDEg1frV7wyVLy0f2fP6k5KZOpaJ9JIjW+MVuBqSRiF7bgPTeG21a3nD2CeVb11yhC95NCtWX+n6D9C9+7yHlOTs8ouBLOQcBX8rh6FXwJU9DXw/Rl+ynXtvf8Os7O79CHJAO4f3S/D/Rb/ez/CrDfP4xiO4akOb/qWuvYteA1P7e82gn4HM8U8GX2llaJ76k8Yvd+FIkotf4ks7QK+BLnkbOemy+tFYPSD/57yeUL551Xtlg+fKZ4ejfls0323TBp+T6G35eXvuGt02+/rBDX1uWL//NC75bb72t/N0Bh0w+d8hB+5fNNr3HKrq33XZ7ed2b3l7s3z39x9e8rGx9zy3LKafP3Dg94XOzA9ELLvrOzMD0Y+VpT9mjPGHXR6/SrxT+ADMgVUj+prcG0fbMEN7wE0T/Zu+UFUG0Qq+7lyC6m0vrs0MMovv+66oZkLaexu4+BqTdXFqfxZdayc3dhy/NzablM0P0Jfs5CaJbdvs3PQTRv2GRsSKIzqC4qgZB9Ko81IogWiW4er/P8eyz+NLqjKZ5Bl+ahtaavxZfWjOjab8CX5qW2Pxfjy/Nz6fls2PzpbV2QHry575Qjv+v0ya/vvYfZn6trg0p53rcOfNvhX7mxFNLmblxutdTnlCWrLfe5Evf8/6jy4XfvqTc93e3K6986YvKuuuuW+xX9r7jPR8q37vsh+WPHnD/8rcvfu5qsvXfL917rz3Lbo/bZfL5s845v3ziU8eV58zcHt155t8ePfvcr5aPffI/y1w3UFcTXeAT/gAzIF0gtDV8GQPSNQCa8tND+fVrBNFTbuwCvpwgegGQpviSIQbRDEin2OB5vrT6EjdI54E0xafwpSlgLfBLh/Kr3/GlBW7oAr9siL5kPxpB9AI3eI4vI4ieA0zj0wTRjeDmaSOIngdOw6cIohugraHF53j2pfjSGoCt4dP40hoATflpfGlKYAv4cnxpAZCm+BJ8aQpYC/zSsfnSWjkg/fZ3vlve/f8+Mtly+/c9N9ts1Rue9SwcsP/fzvx7pOuXr//PhZNfxWvPv+h5zyw7PvRBky+58qqry1sPf1+xG6HLli0t29x763LFT66arV/1in3LvbbeqspNPn7rwovLez/w8bL9dtuWv3/Fi8s666wzq/XGt7x78qt+d33sLuX0L/x3ufGmmye/fjdqrCI4ZeEPMAPSKeHN8eU1iLZPc4N0DkhTPE0QPQWsBX4pQfQCQS3wy+q/m/jlq39Qjvr2WQvsWvwvG2IQzYA055xUX2JAmsMTX8rh6FXwJU9DX+NLOkOv4P9tbHueINrTmX5NED09s/k6CKLno9P2OYLoNm5zdRFEz0Wm/Xmf45kKvtTO0jrxJY1f7MaXIhG9xpd0hl4BX/I0ctZj86W1ckB67vlfLx/9xH+s8US8/Z8OnAw+r7n2+vLGN7+r3DlzO/Sgf3hZ2XKLFbO911x7XXnfh44pl19x5exz225zr7LvC/cpW6zYfPY5W9x++x3lNQe9pdxxx8py8IH7rfYrfW0o+unjT5ncQrXbqPbrdesN01WEhMIfYAakAkjXWoNoe4oBqQPTuCSIbgQ3TxtB9DxwGj5FEN0AbZ4WH0QzIJ0H1BSfqr7EgHQKaPN8Kb40D5zGT+FLjeDmaMOX5gDT+LT3JZMgiG4E+es2gmiNX+wmiI5E9JogWmfoFQiiPY2ctc/xTBFf0rjiSxq/2I0vRSJ6jS/pDL0CvuRp5KzH5ktr5YC05SisXLly0rZk5sZp12PlzK/hveaa68oWW2w++yt4u75uTc/Zr+i96qc/K/fcaouy3q9/le+aeqb5vD/ADEinITf319Yg2r6CAencnBb6GYLohZJa+NcRRC+c1UK+kiB6IZQW/jU+iGZAunBu831l9SUGpPNRWvjn8KWFs1roV+JLCyW1sK/DlxbGaaFf5X3JegiiF0qu++sIoru5tD5LEN1Kbu4+gui52bR8hiC6hdr8PT7Hs6/El+bntabP4ktrIjTd5/Gl6Xgt5KvxpYVQWvjX4EsLZ7XQrxybLzEgXejJGMjX+QPMgDRn02oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X2JAmnNueqPiDzAD0pxtqUG0qTEg1ZkSROsMowJBdCSi1QTRGr/Y7YNoBqSRTltdfYkBaRu/2IUvRSJ6jS/pDL0CvuRp6GvvS6ZGEK0xJYjW+MVuguhIRK8JonWGXoEg2tPIWfsczxTxJY0rvqTxi934UiSi1/iSztAr4EueRs56bL7EgDTn3PRGxR9gBqQ521KDaFNjQKozJYjWGUYFguhIRKsJojV+sdsH0QxII522uvoSA9I2frELX4pE9Bpf0hl6BXzJ09DX3pdMjSBaY0oQrfGL3QTRkYheE0TrDL0CQbSnkbP2OZ4p4ksaV3xJ4xe78aVIRK/xJZ2hV8CXPI2c9dh8iQFpzrnpjYo/wAxIc7alBtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+RID0pxz0xsVf4AZkOZsSw2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/MlBqQ556Y3Kv4AMyDN2ZYaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmSwxIc85Nb1T8AWZAmrMtNYg2NQakOlOCaJ1hVCCIjkS0miBa4xe7fRDNgDTSaaurLzEgbeMXu/ClSESv8SWdoVfAlzwNfe19ydQIojWmBNEav9hNEB2J6DVBtM7QKxBEexo5a5/jmSK+pHHFlzR+sRtfikT0Gl/SGXoFfMnTyFmPzZcYkOacm96o+APMgDRnW2oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X2JAmnNueqPiDzAD0pxtqUG0qTEg1ZkSROsMowJBdCSi1QTRGr/Y7YNoBqSRTltdfYkBaRu/2IUvRSJ6jS/pDL0CvuRp6GvvS6ZGEK0xJYjW+MVuguhIRK8JonWGXoEg2tPIWfsczxTxJY0rvqTxi934UiSi1/iSztAr4EueRs56bL7EgDTn3PRGxR9gBqQ521KDaFNjQKozJYjWGUYFguhIRKsJojV+sdsH0QxII522uvoSA9I2frELX4pE9Bpf0hl6BXzJ09DX3pdMjSBaY0oQrfGL3QTRkYheE0TrDL0CQbSnkbP2OZ4p4ksaV3xJ4xe78aVIRK/xJZ2hV8CXPI2c9dh8iQFpzrnpjYo/wAxIc7alBtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+RID0pxz0xsVf4AZkOZsSw2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/MlBqQ556Y3Kv4AMyDN2ZYaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmSwxIc85Nb1T8AWZAmrMtNYg2NQakOlOCaJ1hVCCIjkS0miBa4xe7fRDNgDTSaaurLzEgbeMXu/ClSESv8SWdoVfAlzwNfe19ydQIojWmBNEav9hNEB2J6DVBtM7QKxBEexo5a5/jmSK+pHHFlzR+sRtfikT0Gl/SGXoFfMnTyFmPzZcYkOacm96o+APMgDRnW2oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X2JAmnNueqPiDzAD0pxtqUG0qTEg1ZkSROsMowJBdCSi1QTRGr/Y7YNoBqSRTltdfYkBaRu/2IUvRSJ6jS/pDL0CvuRp6GvvS6ZGEK0xJYjW+MVuguhIRK8JonWGXoEg2tPIWfsczxTxJY0rvqTxi934UiSi1/iSztAr4EueRs56bL7EgDTn3PRGxR9gBqQ521KDaFNjQKozJYjWGUYFguhIRKsJojV+sdsH0QxII522uvoSA9I2frELX4pE9Bpf0hl6BXzJ09DX3pdMjSBaY0oQrfGL3QTRkYheE0TrDL0CQbSnkbP2OZ4p4ksaV3xJ4xe78aVIRK/xJZ2hV8CXPI2c9dh8iQFpzrnpjYo/wAxIc7alBtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+RID0pxz0xsVf4AZkOZsSw2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/MlBqQ556Y3Kv4AMyDN2ZYaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmSwxIc85Nb1T8AWZAmrMtNYg2NQakOlOCaJ1hVCCIjkS0miBa4xe7fRDNgDTSaaurLzEgbeMXu/ClSESv8SWdoVfAlzwNfe19ydQIojWmBNEav9hNEB2J6DVBtM7QKxBEexo5a5/jmSK+pHHFlzR+sRtfikT0Gl/SGXoFfMnTyFmPzZcYkOacm96o+APMgDRnW2oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X2JAmnNueqPiDzAD0pxtqUG0qTEg1ZkSROsMowJBdCSi1QTRGr/Y7YNoBqSRTltdfYkBaRu/2IUvRSJ6jS/pDL0CvuRp6GvvS6ZGEK0xJYjW+MVuguhIRK8JonWGXoEg2tPIWfsczxTxJY0rvqTxi934UiSi1/iSztAr4EueRs56bL7EgDTn3PRGxR9gBqQ521KDaFNjQKozJYjWGUYFguhIRKsJojV+sdsH0QxII522uvoSA9I2frELX4pE9Bpf0hl6BXzJ09DX3pdMjSBaY0oQrfGL3QTRkYheE0TrDL0CQbSnkbP2OZ4p4ksaV3xJ4xe78aVIRK/xJZ2hV8CXPI2c9dh8iQFpzrnpjYo/wAxIc7alBtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+RID0pxz0xsVf4AZkOZsSw2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/MlBqQ556Y3Kv4AMyDN2ZYaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmSwxIc85Nb1T8AWZAmrMtNYg2NQakOlOCaJ1hVCCIjkS0miBa4xe7fRDNgDTSaaurLzEgbeMXu/ClSESv8SWdoVfAlzwNfe19ydQIojWmBNEav9hNEB2J6DVBtM7QKxBEexo5a5/jmSK+pHHFlzR+sRtfikT0Gl/SGXoFfMnTyFmPzZcYkOacm96o+APMgDRnW2oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X2JAmnNueqPiDzAD0pxtqUG0qTEg1ZkSROsMowJBdCSi1QTRGr/Y7YNoBqSRTltdfYkBaRu/2IUvRSJ6jS/pDL0CvuRp6GvvS6ZGEK0xJYjW+MVuguhIRK8JonWGXoEg2tPIWfsczxTxJY0rvqTxi934UiSi1/iSztAr4EueRs56bL7EgDTn3PRGxR9gBqQ521KDaFNjQKozJYjWGUYFguhIRKsJojV+sdsH0QxII522uvoSA9I2frELX4pE9Bpf0hl6BXzJ09DX3pdMjSBaY0oQrfGL3QTRkYheE0TrDL0CQbSnkbP2OZ4p4ksaV3xJ4xe78aVIRK/xJZ2hV8CXPI2c9dh8iQFpzrnpjYo/wAxIc7alBtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+RID0pxz0xsVf4AZkOZsSw2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/MlBqQ556Y3Kv4AMyDN2ZYaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmSwxIc85Nb1T8AWZAmrMtNYg2NQakOlOCaJ1hVCCIjkS0miBa4xe7fRDNgDTSaaurLzEgbeMXu/ClSESv8SWdoVfAlzwNfe19ydQIojWmBNEav9hNEB2J6DVBtM7QKxBEexo5a5/jmSK+pHHFlzR+sRtfikT0Gl/SGXoFfMnTyFmPzZcYkOacm96o+APMgDRnW2oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X2JAmnNueqPiDzAD0pxtqUG0qTEg1ZkSROsMowJBdCSi1QTRGr/Y7YNoBqSRTltdfYkBaRu/2IUvRSJ6jS/pDL0CvuRp6GvvS6ZGEK0xJYjW+MVuguhIRK8JonWGXoEg2tPIWfsczxTxJY0rvqTxi934UiSi1/iSztAr4EueRs56bL7EgDTn3PRGxR9gBqQ521KDaFNjQKozJYjWGUYFguhIRKsJojV+sdsH0QxII522uvoSA9I2frELX4pE9Bpf0hl6BXzJ09DX3pdMjSBaY0oQrfGL3QTRkYheE0TrDL0CQbSnkbP2OZ4p4ksaV3xJ4xe78aVIRK/xJZ2hV8CXPI2c9dh8iQFpzrnpjYo/wAxIc7alBtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+RID0pxz0xsVf4AZkOZsSw2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/MlBqQ556Y3Kv4AMyDN2ZYaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmSwxIc85Nb1T8AWZAmrMtNYg2NQakOlOCaJ1hVCCIjkS0miBa4xe7fRDNgDTSaaurLzEgbeMXu/ClSESv8SWdoVfAlzwNfe19ydQIojWmBNEav9hNEB2J6DVBtM7QKxBEexo5a5/jmSK+pHHFlzR+sRtfikT0Gl/SGXoFfMnTyFmPzZcYkOacm96o+APMgDRnW2oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02X2JAmnNueqPiDzAD0pxtqUG0qTEg1ZkSROsMowJBdCSi1QTRGr/Y7YNoBqSRTltdfYkBaRu/2IUvRSJ6jS/pDL0CvuRp6GvvS6ZGEK0xJYjW+MVuguhIRK8JonWGXoEg2tPIWfsczxTxJY0rvqTxi934UiSi1/iSztAr4EueRs56bL7EgDTn3PRGxR9gBqQ521KDaFNjQKozJYjWGUYFguhIRKsJojV+sdsH0QxII522uvoSA9I2frELX4pE9Bpf0hl6BXzJ09DX3pdMjSBaY0oQrfGL3QTRkYheE0TrDL0CQbSnkbP2OZ4p4ksaV3xJ4xe78aVIRK/xJZ2hV8CXPI2c9dh8iQFpzrnpjYo/wAxIc7alBtGmxoBUZ0oQrTOMCgTRkYhWE0Rr/GK3D6IZkEY6bXX1JQakbfxiF74Uieg1vqQz9Ar4kqehr70vmRpBtMaUIFrjF7sJoiMRvSaI1hl6BYJoTyNn7XM8U8SXNK74ksYvduNLkYhe40s6Q6+AL3kaOeux+RID0pxz0xsVf4AZkOZsSw2iTY0Bqc6UIFpnGBUIoiMRrSaI1vjFbh9EMyCNdNrq6ksMSNv4xS58KRLRa3xJZ+gV8CVPQ197XzI1gmiNKUG0xi92E0RHInpNEK0z9AoE0Z5GztrneKaIL2lc8SWNX+zGlyIRvcaXdIZeAV/yNHLWY/MlBqQ556Y3Kv4AMyDN2ZYaRJsaA1KdKUG0zjAqEERHIlpNEK3xi90+iGZAGum01dWXGJC28Ytd+FIkotf4ks7QK+BLnoa+9r5kagTRGlOCaI1f7CaIjkT0miBaZ+gVCKI9jZy1z/FMEV/SuOJLGr/YjS9FInqNL+kMvQK+5GnkrMfmSwxIc85Nb1T8AWZAmrMtNYg2NQakOlOCaJ1hVCCIjkS0miBa4xe7fRDNgDTSaaurLzEgbeMXu/ClSESv8SWdoVfAlzwNfe19ydQIojWmBNEav9hNEB2J6DVBtM7QKxBEexo5a5/jmSK+pHHFlzR+sRtfikT0Gl/SGXoFfMnTyFmPzZcYkOacm96o+APMgDRnW2oQbWoMSHWmBNE6w6hAEB2JaDVBtMYvdvsgmgFppNNWV19iQNrGL3bhS5GIXuNLOkOvgC95Gvra+5KpEURrTAmiNX6xmyA6EtFrgmidoVcgiPY0ctY+xzNFfEnjii9p/GI3vhSJ6DW+pDP0CviSp5GzHpsvMSDNOTe9UfEHmAFpzrbUINrUGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02XxrVgPTKq64uxxx7XPn5jTeVJ+z6mLLLI3Zc46m5Y+XKctyJp5YLLvpOufpn15attlxRHrjDH5S9nrx7WX/JktX6v3DmueXUM84s199wY/n9+21fnvfsvcvmm226ytd95WvfLCecfHp5zC47lV0fu8sqn1MLf4AZkKo0f9Vfg2irGJDqTAmidYZRgSA6EtFqgmiNX+z2QTQD0kinra6+xIC0jV/swpciEb3Gl3SGXgFf8jT0tfclUyOI1pgSRGv8YjdBdCSi1wTROkOvQBDtaeSsfY5niviSxhVf0vjFbnwpEtFrfEln6BXwJU8jZz02XxrFgPSXv/xl+eypXyzH/9dps6fkibv/WdnrSbvP1l2LW2+9rbz9iA+Wy6+4cvLpZcuWlttuu32y3nabe5VXvvRFZfnyZbOt37rw4vLeD3y82Nfd53e2KZd89/tlixWbl4MP3G/2a274+Y3lwIMPK+utu25500H7l4032nD2cxkLf4AZkGYQLaUG0abGgFRnShCtM4wKBNGRiFYTRGv8YrcPohmQRjptdfUlBqRt/GIXvhSJ6DW+pDP0CviSp6GvvS+ZGkG0xpQgWuMXuwmiIxG9JojWGXoFgmhPI2ftczxTxJc0rviSxi9240uRiF7jSzpDr4AveRo567H50lo/IL3lllvLWw9/X/np1deUdWeGklus2GxyE3QhA1K7bXrm2eeXTTbeqLxqv33Lis03K9ded3156zveV2686eby6J0fVvZ5xl6zJ+8jn/j3ct753ygH7P+SYgPUI486eubm6SXl0Nf///bOA96OovrjExKS0EsoQgxFREF6r9KbNAEpgoCICooIAULvLdTQpEgRQUAEBCSUPyBNaujSQXonQiCICIQk/PdsmPvOm7f3vrt75t53997vfj7Jm9ndObv73Zn7mz1nZ3ZfN9OMM6T7nXzG+e7V1950u+68nVt80YUqZWMldAUmQBqHqndEizUCpHamOKLtDEMLOKJDIrY8jmgbv7C0dkQTIA3pFMt7XSJAWoxfWApdConY8+iSnaG2gC5pGva01iWxhiPaxhRHtI1fWBpHdEjEnscRbWeoLeCI1jTipLUfTyyiSzau6JKNX1gaXQqJ2PPokp2htoAuaRpx0p2mS20fIJXA6JHHne7mm/eb7uc7buPuumeMu/2u+1xvAVIZKTri4JFu8uTJ7oiDhqdT6/oqJlPtHjHytDTgOmrkQW7gwIHpptPOujAdNXrmqCNdv3793LXX35pOt7t/ElydZ9jQ9NhXXXuTW2bJRd3OO27tzUX9qyswAdI4aL0jWqwRILUzxRFtZxhawBEdErHlcUTb+IWltSOaAGlIp1je6xIB0mL8wlLoUkjEnkeX7Ay1BXRJ07CntS6JNRzRNqY4om38wtI4okMi9jyOaDtDbQFHtKYRJ639eGIRXbJxRZds/MLS6FJIxJ5Hl+wMtQV0SdOIk+40XWr7AKlMafvk08+n3/uUKnLN6FvqCpA+/OiT7qLL/uqGDZ3LHbDPr3vUruNHnePefPtdt9P2W7rlll483X7pFX9zDzz4mBux5y/d/PMOc6cm0/O+9Mrr7oSjD3AyklWCqtMMHuyOTabWlWl4G7HoCkyANA5h74gWawRI7UxxRNsZhhZwRIdEbHkc0TZ+YWntiCZAGtIplve6RIC0GL+wFLoUErHn0SU7Q20BXdI07GmtS2INR7SNKY5oG7+wNI7okIg9jyPazlBbwBGtacRJaz+eWESXbFzRJRu/sDS6FBKx59ElO0NtAV3SNOKkO02X2j5AGlaLegOkN916l7vx5jvcRuuv6TZM/oXLTbfc6W5M/m20wVpuw/XWSDe/+NKr7rSz/9htKl/5FqlMz3vsSWe5d9/7txu+28/cgt+ePzQXLa8rMAHSOFi9I1qsESC1M8URbWcYWsARHRKx5XFE2/iFpbUjmgBpSKdY3usSAdJi/MJS6FJIxJ5Hl+wMtQV0SdOwp7UuiTUc0TamOKJt/MLSOKJDIvY8jmg7Q20BR7SmESet/XhiEV2ycUWXbPzC0uhSSMSeR5fsDLUFdEnTiJPuNF0iQFql3vjRoNttvalbZcVle+x135hH3J+vHO1WWmFpt/02m1W2P/bEM+7Oux9Iv1X63QW/5bbc7AfurrvHpMHU1VZZ3m3zo40r+zYioSswAdI4hL0jWqwRILUzxRFtZxhawBEdErHlcUTb+IWltSOaAGlIp1je6xIB0mL8wlLoUkjEnkeX7Ay1BXRJ07CntS6JNRzRNqY4om38wtI4okMi9jyOaDtDbQFHtKYRJ639eGIRXbJxRZds/MLS6FJIxJ5Hl+wMtQV0SdOIk+40XSJAWqXenH3+Je6Z5150u/xsW7fEYgv32OuJp55z5/3xcrfIwgu63X65Q4/tfsVbb7/njht1tptpxhncUYfs5QYMGOA3NeSvrsAESOMg9o5osUaA1M4UR7SdYWgBR3RIxJbHEW3jF5bWjmgCpCGdYnmvSwRIi/ELS6FLIRF7Hl2yM9QW0CVNw57WuiTWcETbmOKItvELS+OIDonY8zii7Qy1BRzRmkactPbjiUV0ycYVXbLxC0ujSyERex5dsjPUFtAlTSNOutN0iQBplXoj3x+V75DusO0WbsXlluyx15iH/+kuufwat9wyi7udfrJlj+2yYuKkSe7I5LujH370sds/mWZ3yJBZ3ZiHHnevvfGWm3fYULfi8ku56aebNrNs0ZW6AhMgLUqxeznviNZre+uw6vugy/l0I8vf+/ZL7vTH7/CHarm/ZXFEa+dZqwd1yuKI9m3phneecaNffqLl6qY/IRzRnkScv2VqS2esuY0bPLG/G/XU7e6F8WPjAGiAFd+WWj1A6tvSQ++/7i54/r4GkIhjsky69KcNfpZe9I43X+Q+mzghDoAGWCmLLg1fem23ytwLuEueexBdilAPytSWTl9pq8oV+355X/bf5WTKevzQEV0BGyQ852B1JVvW6/cXwPn/16PI/NvX91+f1IzTT+v6959Krypt+/MX0cz6l+WIlnW1lr6+/xx/+lq3p+3rf28DHZrZfrJuRKsfX34zJaDnF/n9lHV+afXzb8X2HwZIPcusv614/vo8uf+t3f+x1h9/r3uz4/cr618CpFXu3OibbnO33Ha3++FG67r11v5+j71uvf0ed92Nf3frr7Oa23TDdXpslxVXXXuTu+ueMW6DdVZ3G6y3ujv2xDPd+x98WNl39tlmdQfvt7ubOuKoUv3DRIC0gtqU8I5obaS3HwZ9H3Q5n25keQKknrLtb5mCOmVxRPu2RIDUVjd96UVnG+oOX3Ej986nH7s977zCr265v2VqSwRI41YfAqRxeUpbIkAalykB0rg8CZC2t4Ok2vMLAdIp7agvn//kDDh+7fanf+0IkGoaU9J56g8BUhu/nqVpv3nqXxF+BEhtAXICpDZ+Wf0nAqRdLbnR7T+Lf9fR+f3tjb9n1RtHv19Z/xIgrXLn7n3gYXf5VddXnULXT8G77VabuFVXWq6HlZdeed2deuYf3ByzD3GH7v9b99wLLzspIyNOd/jx5u6yK69zDyajUGV6XpmmN9aiKzYB0jhUfVBHrPXWsYpzRJsVAqQ2fr70tAMGuiz303YAAEAASURBVIs32CnNMlLHU7H9xRFt4xeWJkAaErHnJUA613QzuSMfuME9Pe4du8EGWfC61OojSH+4wBJu+4VXcOhSnIqALsXhqK2gS5qGPV1GXZKrbvcHfvudrW0hDJCW4Xmp9hX17VamMozPP3REZwVI4x+1fS1mBUil3bMUJ6D9eGIFXSrOUkqiSzZ+YWl0KSRiz6NLdobaArqkacRJd5ouESCtUm/Gf/wfd/CRJ6dbR4082A0e3NXh+/zzL9w+Bx2bbjv28BFu5plm7Gbliy8muEOPOcV9+un/3GEH7OHmnGM2d+sdyYjTG/5eCYg+89y/koDppW6zjddz6661arfyloyuwARILSS7ynpHtKwpwwM/juiue2dJ4Yi20MsuiyM6m0vRtWV0RLf6dNUESIvWxuxyBEizuRRdiy4VJVe9HLpUnU2RLWXUJblOHNFF7nZXGRzRXSxipHBEx6DY3QaO6O48rDkc0VaCPctrP55sRZd6MsqzBl3KQ6v3fdGl3hnl3QNdykus9v7oUm0+RbZ2mi4RIE1qyaTkW6HX3Xibc1995TbdeF03oH//tO6cdd4l7tnnX3TzzzfM7b37z91UU03lJk+e7E4960L3yqtvuO8ttKD7zS479Khn/vulW2y6gVt7jZXT7feNecT9+crRbvtk9OhKybdHH3jwMXfpFX9z1Uag9jBa5wpdgQmQ1gmtl90IkPYCKOfmsky/hiM6542tY3cc0XVAyrFLGR3RBEhz3OAau3pdYgRpDUg5NqFLOWDVuWtZpn5Hl+q8oXXuVkZdkkvDEV3nDa6yG47oKmAKrsYRXRBcjWI4omvAKbAJR3QBaL0U0X482RVd6gVYL5vRpV4A5dyMLuUEVsfu6FIdkHLsgi7lgFXnrp2mSwRIk4rxzyefdedf9Je0ivx8x63d0ksumqbfG/u+O/G0c52MCB00aKCbe6453Tvvjq3k9xu+q/vGnLN3q1pPP/uCO+eCy9y8w4a6fYfv4vr161exdfQJv3MzTD+dW2v1ld0d/7jfffLfT9Ppd0Mb3QzmzOgKTIA0J7wqu3tHtGxmBGkVSDlW44jOAavOXXFE1wmqzt38dxMffv91d/7z99VZqvm7ldERTYA0Tj3xukSANA5PdCkOR20FXdI07Gl0yc5QW9Dfxpb1OKI1nfxpHNH5mdUqgSO6Fp1i23BEF+NWrRSO6Gpkiq/Xfjyxgi4VZykl0SUbv7A0uhQSsefRJTtDbQFd0jTipDtNlwiQJvVm3Ifj3dHHn+EmJaNDDz9wDzfbkFkrtWnchx+5cy+83L39znuVdUPn/obbdedt3ZBZZ6msk8SECV+6Aw4/wX355UR31CF7uVlmnqnbdgmKXnv9rekoVBmNKtPr+hGm3XY0ZHQFJkBqAKmKeke0rCJAqsAUTOKILgiuRjEc0TXgFNiEI7oAtBpFtCOaAGkNUDk2eV0iQJoDWo1d0aUacApuQpcKgqtSDF2qAqbgaq1LYgJHdEGQXxfDEW3jF5bGER0SsedxRNsZags4ojWNOGntxxOL6JKNK7pk4xeWRpdCIvY8umRnqC2gS5pGnHSn6VLHBUirVZOJEyemmwYMGJC5y8RkGt5x4z5yQ4bMUpmCN3PHXlbKFL1j//2Bm2P2Ia7/11P59lIk12ZdgQmQ5kJXdWfviJYdCJBWxVT3BhzRdaOqe0cc0XWjqmtHHNF1Yap7J+2IJkBaN7aaO3pdIkBaE1PdG9GlulHVvSO6VDequnZEl+rCVPdOWpekEI7outFl7ogjOhNL4ZU4ogujq1oQR3RVNIU24IguhK1mIe3Hkx3RpZq4et2ILvWKKNcO6FIuXHXtjC7VhanundClulHVvWOn6RIB0rqrRjl21BWYAGmce+Yd0WKNAKmdKY5oO8PQAo7okIgtjyPaxi8srR3RBEhDOsXyXpcIkBbjF5ZCl0Ii9jy6ZGeoLaBLmoY9rXVJrOGItjHFEW3jF5bGER0SsedxRNsZags4ojWNOGntxxOL6JKNK7pk4xeWRpdCIvY8umRnqC2gS5pGnHSn6RIB0jj1pmWs6ApMgDTObfGOaLFGgNTOFEe0nWFoAUd0SMSWxxFt4xeW1o5oAqQhnWJ5r0sESIvxC0uhSyERex5dsjPUFtAlTcOe1rok1nBE25jiiLbxC0vjiA6J2PM4ou0MtQUc0ZpGnLT244lFdMnGFV2y8QtLo0shEXseXbIz1BbQJU0jTrrTdIkAaZx60zJWdAUmQBrntnhHtFgjQGpniiPazjC0gCM6JGLL44i28QtLa0c0AdKQTrG81yUCpMX4haXQpZCIPY8u2RlqC+iSpmFPa10SaziibUxxRNv4haVxRIdE7Hkc0XaG2gKOaE0jTlr78cQiumTjii7Z+IWl0aWQiD2PLtkZagvokqYRJ91pukSANE69aRkrugITII1zW7wjWqwRILUzxRFtZxhawBEdErHlcUTb+IWltSOaAGlIp1je6xIB0mL8wlLoUkjEnkeX7Ay1BXRJ07CntS6JNRzRNqY4om38wtI4okMi9jyOaDtDbQFHtKYRJ639eGIRXbJxRZds/MLS6FJIxJ5Hl+wMtQV0SdOIk+40XSJAGqfetIwVXYEJkMa5Ld4RLdYIkNqZ4oi2Mwwt4IgOidjyOKJt/MLS2hFNgDSkUyzvdYkAaTF+YSl0KSRiz6NLdobaArqkadjTWpfEGo5oG1Mc0TZ+YWkc0SERex5HtJ2htoAjWtOIk9Z+PLGILtm4oks2fmFpdCkkYs+jS3aG2gK6pGnESXeaLhEgjVNvWsaKrsAESOPcFu+IFmsESO1McUTbGYYWcESHRGx5HNE2fmFp7YgmQBrSKZb3ukSAtBi/sBS6FBKx59ElO0NtAV3SNOxprUtiDUe0jSmOaBu/sDSO6JCIPY8j2s5QW8ARrWnESWs/nlhEl2xc0SUbv7A0uhQSsefRJTtDbQFd0jTipDtNlwiQxqk3LWNFV2ACpHFui3dEizUCpHamOKLtDEMLOKJDIrY8jmgbv7C0dkQTIA3pFMt7XSJAWoxfWApdConY8+iSnaG2gC5pGva01iWxhiPaxhRHtI1fWBpHdEjEnscRbWeoLeCI1jTipLUfTyyiSzau6JKNX1gaXQqJ2PPokp2htoAuaRpx0p2mSwRI49SblrGiKzAB0ji3xTuixRoBUjtTHNF2hqEFHNEhEVseR7SNX1haO6IJkIZ0iuW9LhEgLcYvLIUuhUTseXTJzlBbQJc0DXta65JYwxFtY4oj2sYvLI0jOiRiz+OItjPUFnBEaxpx0tqPJxbRJRtXdMnGLyyNLoVE7Hl0yc5QW0CXNI046U7TJQKkcepNy1jRFZgAaZzb4h3RYo0AqZ0pjmg7w9ACjuiQiC2PI9rGLyytHdEESEM6xfJelwiQFuMXlkKXQiL2PLpkZ6gtoEuahj2tdUms4Yi2McURbeMXlsYRHRKx53FE2xlqCziiNY04ae3HE4voko0rumTjF5ZGl0Ii9jy6ZGeoLaBLmkacdKfpEgHSOPWmZazoCkyANM5t8Y5osUaA1M4UR7SdYWgBR3RIxJbHEW3jF5bWjmgCpCGdYnmvSwRIi/ELS6FLIRF7Hl2yM9QW0CVNw57WuiTWcETbmOKItvELS+OIDonY8zii7Qy1BRzRmkactPbjiUV0ycYVXbLxC0ujSyERex5dsjPUFtAlTSNOutN0iQBpnHrTMlZ0BSZAGue2eEe0WCNAameKI9rOMLSAIzokYsvjiLbxC0trRzQB0pBOsbzXJQKkxfiFpdClkIg9jy7ZGWoL6JKmYU9rXRJrOKJtTHFE2/iFpXFEh0TseRzRdobaAo5oTSNOWvvxxCK6ZOOKLtn4haXRpZCIPY8u2RlqC+iSphEn3Wm6RIA0Tr1pGSu6AhMgjXNbvCNarBEgtTPFEW1nGFrAER0SseVxRNv4haW1I5oAaUinWN7rEgHSYvzCUuhSSMSeR5fsDLUFdEnTsKe1Lok1HNE2pjiibfzC0jiiQyL2PI5oO0NtAUe0phEnrf14YhFdsnFFl2z8wtLoUkjEnkeX7Ay1BXRJ04iT7jRdIkAap960jBVdgQmQxrkt3hEt1giQ2pniiLYzDC3giA6J2PI4om38wtLaEU2ANKRTLO91iQBpMX5hKXQpJGLPo0t2htoCuqRp2NNal8QajmgbUxzRNn5haRzRIRF7Hke0naG2gCNa04iT1n48sYgu2biiSzZ+YWl0KSRiz6NLdobaArqkacRJd5ouESCNU29axoquwARI49wW74gWawRI7UxxRNsZhhZwRIdEbHkc0TZ+YWntiCZAGtIplve6RIC0GL+wFLoUErHn0SU7Q20BXdI07GmtS2INR7SNKY5oG7+wNI7okIg9jyPazlBbwBGtacRJaz+eWESXbFzRJRu/sDS6FBKx59ElO0NtAV3SNOKkO02XCJDGqTctY0VXYAKkcW6Ld0SLNQKkdqY4ou0MQws4okMitjyOaBu/sLR2RBMgDekUy3tdIkBajF9YCl0Kidjz6JKdobaALmka9rTWJbGGI9rGFEe0jV9YGkd0SMSexxFtZ6gt4IjWNOKktR9PLKJLNq7oko1fWBpdConY8+iSnaG2gC5pGnHSnaZLBEjj1JuWsaIrMAHSOLfFO6LFGgFSO1Mc0XaGoQUc0SERWx5HtI1fWFo7ogmQhnSK5b0uESAtxi8shS6FROx5dMnOUFtAlzQNe1rrkljDEW1jiiPaxi8sjSM6JGLP44i2M9QWcERrGnHS2o8nFtElG1d0ycYvLI0uhUTseXTJzlBbQJc0jTjpTtMlAqRx6k3LWNEVmABpnNviHdFijQCpnSmOaDvD0AKO6JCILY8j2sYvLK0d0QRIQzrF8l6XCJAW4xeWQpdCIvY8umRnqC2gS5qGPa11SazhiLYxxRFt4xeWxhEdErHncUTbGWoLOKI1jThp7ccTi+iSjSu6ZOMXlkaXQiL2PLpkZ6gtoEuaRpx0p+kSAdI49aZlrOgKTIA0zm3xjmixRoDUzhRHtJ1haAFHdEjElscRbeMXltaOaAKkIZ1iea9LBEiL8QtLoUshEXseXbIz1BbQJU3Dnta6JNZwRNuY4oi28QtL44gOidjzOKLtDLUFHNGaRpy09uOJRXTJxhVdsvELS6NLIRF7Hl2yM9QW0CVNI06603SJAGmcetMyVnQFJkAa57Z4R7RYI0BqZ4oj2s4wtIAjOiRiy+OItvELS2tHNAHSkE6xvNclAqTF+IWl0KWQiD2PLtkZagvokqZhT2tdEms4om1McUTb+IWlcUSHROx5HNF2htoCjmhNI05a+/HEIrpk44ou2fiFpdGlkIg9jy7ZGWoL6JKmESfdabpEgDROvWkZK7oCEyCNc1u8I1qsESC1M8URbWcYWsARHRKx5XFE2/iFpbUjmgBpSKdY3usSAdJi/MJS6FJIxJ5Hl+wMtQV0SdOwp7UuiTUc0TamOKJt/MLSOKJDIvY8jmg7Q20BR7SmESet/XhiEV2ycUWXbPzC0uhSSMSeR5fsDLUFdEnTiJPuNF0iQBqn3rSMFV2BCZDGuS3eES3WCJDameKItjMMLeCIDonY8jiibfzC0toRTYA0pFMs73WJAGkxfmEpdCkkYs+jS3aG2gK6pGnY01qXxBqOaBtTHNE2fmFpHNEhEXseR7SdobaAI1rTiJPWfjyxiC7ZuKJLNn5haXQpJGLPo0t2htoCuqRpxEl3mi4RII1Tb1rGiq7ABEjj3BbviBZrBEjtTHFE2xmGFnBEh0RseRzRNn5hae2IJkAa0imW97pEgLQYv7AUuhQSsefRJTtDbQFd0jTsaa1LYg1HtI0pjmgbv7A0juiQiD2PI9rOUFvAEa1pxElrP55YRJdsXNElG7+wNLoUErHn0SU7Q20BXdI04qQ7TZcIkMapNy1jRVdgAqRxbot3RIs1AqR2pjii7QxDCziiQyK2PI5oG7+wtHZEEyAN6RTLe10iQFqMX1gKXQqJ2PPokp2htoAuaRr2tNYlsYYj2sYUR7SNX1gaR3RIxJ7HEW1nqC3giNY04qS1H08soks2ruiSjV9YGl0Kidjz6JKdobaALmkacdKdpksESOPUm5axoiswAdI4t8U7osUaAVI7UxzRdoahBRzRIRFbHke0jV9YWjuiCZCGdIrlvS4RIC3GLyyFLoVE7Hl0yc5QW0CXNA17WuuSWMMRbWOKI9rGLyyNIzokYs/jiLYz1BZwRGsacdLajycW0SUbV3TJxi8sjS6FROx5dMnOUFtAlzSNOOlO0yUCpHHqTctY0RWYAGmc2+Id0WKNAKmdKY5oO8PQAo7okIgtjyPaxi8srR3RBEhDOsXyXpcIkBbjF5ZCl0Ii9jy6ZGeoLaBLmoY9rXVJrOGItjHFEW3jF5bGER0SsedxRNsZags4ojWNOGntxxOL6JKNK7pk4xeWRpdCIvY8umRnqC2gS5pGnHSn6RIB0jj1pmWs6ApMgDTObfGOaLFGgNTOFEe0nWFoAUd0SMSWxxFt4xeW1o5oAqQhnWJ5r0sESIvxC0uhSyERex5dsjPUFtAlTcOe1rok1nBE25jiiLbxC0vjiA6J2PM4ou0MtQUc0ZpGnLT244lFdMnGFV2y8QtLo0shEXseXbIz1BbQJU0jTrrTdIkAaZx60zJWdAUmQBrntnhHtFgjQGpniiPazjC0gCM6JGLL44i28QtLa0c0AdKQTrG81yUCpMX4haXQpZCIPY8u2RlqC+iSpmFPa10SaziibUxxRNv4haVxRIdE7Hkc0XaG2gKOaE0jTlr78cQiumTjii7Z+IWl0aWQiD2PLtkZagvokqYRJ91pukSANE69aRkrugITII1zW7wjWqwRILUzxRFtZxhawBEdErHlcUTb+IWltSOaAGlIp1je6xIB0mL8wlLoUkjEnkeX7Ay1BXRJ07CntS6JNRzRNqY4om38wtI4okMi9jyOaDtDbQFHtKYRJ639eGIRXbJxRZds/MLS6FJIxJ5Hl+wMtQV0SdOIk+40XSJAGqfetIwVXYEJkMa5Ld4RLdYIkNqZ4oi2Mwwt4IgOidjyOKJt/MLS2hFNgDSkUyzvdYkAaTF+YSl0KSRiz6NLdobaArqkadjTWpfEGo5oG1Mc0TZ+YWkc0SERex5HtJ2htoAjWtOIk9Z+PLGILtm4oks2fmFpdCkkYs+jS3aG2gK6pGnESXeaLhEgjVNvWsaKrsAESOPcFu+IFmsESO1McUTbGYYWcESHRGx5HNE2fmFp7YgmQBrSKZb3ukSAtBi/sBS6FBKx59ElO0NtAV3SNOxprUtiDUe0jSmOaBu/sDSO6JCIPY8j2s5QW8ARrWnESWs/nlhEl2xc0SUbv7A0uhQSsefRJTtDbQFd0jTipDtNlwiQxqk3LWNFV2ACpHFui3dEizUCpHamOKLtDEMLOKJDIrY8jmgbv7C0dkQTIA3pFMt7XSJAWoxfWApdConY8+iSnaG2gC5pGva01iWxhiPaxhRHtI1fWBpHdEjEnscRbWeoLeCI1jTipLUfTyyiSzau6JKNX1gaXQqJ2PPokp2htoAuaRpx0p2mSwRI49SblrGiKzAB0ji3xTuixRoBUjtTHNF2hqEFHNEhEVseR7SNX1haO6IJkIZ0iuW9LhEgLcYvLIUuhUTseXTJzlBbQJc0DXta65JYwxFtY4oj2sYvLI0jOiRiz+OItjPUFnBEaxpx0tqPJxbRJRtXdMnGLyyNLoVE7Hl0yc5QW0CXNI046U7TJQKkcepNy1jRFZgAaZzb4h3RYo0AqZ0pjmg7w9ACjuiQiC2PI9rGLyytHdEESEM6xfJelwiQFuMXlkKXQiL2PLpkZ6gtoEuahj2tdUms4Yi2McURbeMXlsYRHRKx53FE2xlqCziiNY04ae3HE4voko0rumTjF5ZGl0Ii9jy6ZGeoLaBLmkacdKfpEgHSOPWmZazoCkyANM5t8Y5osUaA1M4UR7SdYWgBR3RIxJbHEW3jF5bWjmgCpCGdYnmvSwRIi/ELS6FLIRF7Hl2yM9QW0CVNw57WuiTWcETbmOKItvELS+OIDonY8zii7Qy1BRzRmkactPbjiUV0ycYVXbLxC0ujSyERex5dsjPUFtAlTSNOutN0iQBpnHrTMlZ0BSZAGue2eEe0WCNAameKI9rOMLSAIzokYsvjiLbxC0trRzQB0pBOsbzXJQKkxfiFpdClkIg9jy7ZGWoL6JKmYU9rXRJrOKJtTHFE2/iFpcvqiH507OvhpbRM/n+fT3BzDJrezTHNDOk5zTj9tK5//6la5vzKdiI4ouPfMe3HE+voko0xumTjF5Yuqy6F19FKeQKkce8GuhSXp1jrNF0iQBq/DvWpRV2BCZDGuRXeES3WCJDameKItjMMLeCIDonY8jiibfzC0toRTYA0pFMs73WJAGkxfmEpdCkkYs+jS3aG2gK6pGnY01qXxBqOaBtTHNE2fmHpsjqid7z5IvfZxAnh5bRM3uuSnBABUtttwRFt45dVWvvxZDu6lEWp/nXoUv2s6tmzrLpUz7X11T4ESOOSR5fi8hRrnaZLBEjj16E+tagrMAHSOLfCO6LFGgFSO1Mc0XaGoQX/wD/qqdvdC+PHhptbJj986bXdKnMv4C557kE3+uUnWua8whPBER0SseW1I5oAqY2lL+11iQCpJ2L7iy7Z+GWVRpeyqBRfhy4VZ5dVUuuSbMcRnUWp/nU4outnVc+eZXVEEyCt5+62xz44ouPfR+3HE+voko0xumTjF5Yuqy6F19FKeQKkce8GuhSXp1jrNF0iQBq/DvWpRV2BCZDGuRXeES3WCJDameKItjMMLeCIDonY8jiibfzC0toRTYA0pFMs73WJAGkxfmEpdCkkYs+jS3aG2gK6pGnY01qXxBqOaBtTHNE2fmHpsjqiCZCGd7J98zii499b7ccT6+iSjTG6ZOMXli6rLoXX0Up5AqRx7wa6FJenWOs0XSJAGr8O9alFXYEJkMa5Fd4RLdYIkNqZ4oi2Mwwt4IgOidjyOKJt/MLS2hFNgDSkUyzvdYkAaTF+YSl0KSRiz6NLdobaArqkadjTWpfEGo5oG1Mc0TZ+YemyOqIJkIZ3sn3zOKLj31vtxxPr6JKNMbpk4xeWLqsuhdfRSnkCpHHvBroUl6dY6zRdIkAavw71qUVdgQmQxrkV3hEt1giQ2pniiLYzDC3giA6J2PI4om38wtLaEU2ANKRTLO91iQBpMX5hKXQpJGLPo0t2htoCuqRp2NNal8QajmgbU+2IFl0aN+FT13+q/jajDSo913Qzuu0XXqFB1uOYLasjmgBpnPvvrcgnSd779D8+21J/J0+e7GYdOK3bcv6l3MPvv+4eG/em69+/Ndu8gNt32XVbil/WyWg/nmxHl7Io1b9O65KUKosf74F3X63/Ipu451dfTXYTJ05yv/7eaulR+/efKv2WcxNPoe0ORYA07i0lQBqXp1jrNF0iQBq/DvWpRV2BCZDGuRXeES3WytKxOv3xO+JcfAOs4IiODxVHdFymOKLj8tSOaAKkcdh6XSJAGocnuhSHo7aCLmka9jS6ZGeoLWhdkvU4ojWd/GntiC6LLuW/yuaVIEDaGNZel8T6jNNPmwT0pmrMgSJZlQDp6JefiGQtvpmy6VJ8AnEtaj+eWEaXbHy1Lokl/Hg2nlLaPy9JmgCpULAtBEht/MLSBEhDIvZ8p+kSAVJ7nWkpC7oCEyCNc2u8I1qs0bGyM/Udq7GffeIOfeR6u8EGWZh2wEB38QY7pdbL8kb0qKdudy+MH9sgInazw5de260y9wKOB347S7Gw6GxD3eErbuTe+fRjt+edV8Qx2gAr2hFNgDQOYK9LZXFE3/v2S44Xd+z3Hl2yMwwtoEshEVu+jLokV4wj2nbftSO6LLpku+LGliZA2hi+BEjjciVAGpen9uOJZXTJxlfrkljCj2fjKaW9H0/SBEiFgm0hQGrjF5YmQBoSsec7TZcIkNrrTEtZ0BWYAGmcW+Md0WKNjpWdqe9YESC1s/QW/AM/AVJPxPa3bA/8BEht91uXPmPNbdxc083kjnzgBvf0uHf0ppZKe10qiyOaAGmc6kOANA5HbYUAqaZhTxMgtTMsowXtiC6LLrUyZwKkjbk7/nlJrDOC1M64bM9L9iturAXtx5MjESC18da6JJbw49l4Smnvx5M0AVKhYFsIkNr4haUJkIZE7PlO0yUCpPY601IWdAUmQBrn1nhHtFijY2Vn6jtWBEjtLL0F/8BPgNQTsf0t2wM/AVLb/dalCZBqGvb0DxdYIv3WGwFSO0uxQIA0DkdthQCppmFPlzFA+r+JE9zMM05nv/gGWphu6kENtG43rR3RBEjtPHWAVOqnOKJnmG4au+EGWfD1sywz7ggGAqT2ylC25yX7FTfWgvbjyZEIkNp4a10SS/jxbDyltPfjSZoAqVCwLQRIbfzC0gRIQyL2fKfpEgFSe51pKQu6AhMgjXNrCJDG4eit+I4VAVJPxP6XAKmdobZQtgd+AqT67tnSBEht/MLSBEhDIrY8AVIbv6zSBEizqBRfV8YAaVmel4rflcaX1I5oAqR23jpAyvOSnae34J+XJE+A1FMp/rdsz0vFr7Q5JbUfT45IgNTGXeuSWCJAauMppb0fT9IESIWCbSFAauMXliZAGhKx5ztNlwiQ2utMS1nQFbgsD/xlmcpQbjQdK3t19x0rHvjtLL0F/8DPCFJPxPa3bA/8BEht91uXJkCqadjTBEjtDLUFAqSaRpw0AdI4HL2VMgZIy/JtbM+4Ff9qRzQBUvsdIkBqZ5hlwT8vyTYCpFmE8q0r2/NSvqtr/t7ajydHJ0Bquwdal8QSfjwbTynt/XiSJkAqFGwLAVIbv7A0AdKQiD3fabpEgNReZ1rKgq7ABEjj3BpGkMbh6K34jhUBUk/E/tc/8BMgtbMUC2V74CdAGue+ixUCpPFYiiUCpHF5EiCNy1OsESCNy7SMAdKyPC/FvVNxrWlHNAFSO1sCpHaGWRb885JsI0CaRSjfurI9L+W7uubvrf14cnQCpLZ7oHVJLBEgtfGU0t6PJ2kCpELBthAgtfELSxMgDYnY852mSwRI7XWmpSzoClyWB35GkMatQnzrLQ5PHNFxOGorOKI1DXu6jI7osozUKYsulcURjS7Z27tYQJficNRW0CVNw54uoy6V5XnJfncaZ0E7osuiS42jYbdMgNTOMMsCAdIsKsXXESAtzi6rpPbjyXYCpFmU6l+ndUlKESCtn121PQmQViNTbD0B0mLcqpUiQFqNTPH1naZLBEiL15WWLKkrcFke+MviiJYbTsfKXu19x4oRpHaW3oJ/4GcEqSdi+1u2B35GkNruty7NCFJNw55mBKmdobZAgFTTiJMmQBqHo7dCgNSTiPfX61I8i/EtaUc0AVI7XwKkdoZZFvzz0q1vPecGDxroppqqX9ZupnVfffWVqbwUHjLN9G6VuRdwlzz3oBv98hNme40yULbnpUZxiGVX+/HEJgFSG1mtS9LmBw4c4Ab0728zmlE6RpsXs5susIQrywulcr5lGUF6/StPyulGX2Lc988nfOmWmGWom2OaGdLzK8PMBtFBRjSoA6QPv/+6+2TSF27g1AMiHmGKqRj3XixJmxc/3qNjX49+jmIwxnl+9vmEdHY9f4LtrksESP2dbpO/umNFgDTOTWWK3TgcvRUCpJ5EvL/+gZ8AaRymZXvgJ0Aa576LFe+ILsuLO2VxRJflgZ8Xd+K1JXQpHkuxhC7F5TnNgKnd6SttlRoty/NSXAJxrWlHdFl0KS6BuNYIkMbl6a2hS55EnL9l06U4V904K9qPJ0dpd0d040hOsVxGXSrL85IQLkuAdMebL3KfTZzQ6OpW2L7XJTFAgLQwxrRgGCA9//n7bAYbWLqML5QKjnbXJQKkDaz0fWFad6zK8sBfFke03E9GkNprNQFSO8PQgu9YESANyRTLl+2BnwBpsfucVYoAaRaV4usYQVqcXVZJRpBmUbGtYwSpjV9YuowP/GV5XgpZt1K+jI7oVuIXngsB0pBInDzPS3E4eitle17y592qf7UfT86x3R3Rjb4PZdQlAqTxawUB0vhMW9WiDpA+lIwgvYAAqflW6RdKxVi76xIBUnOVaS0DumNVlgd+AqRx61BZOlaM1Il333ngj8dSLJXtgZ8Aabz7T4A0HkuxRIA0Lk8CpHF5ijUCpHGZljFAWpZvY8e9U3GtldERHZdAXGsESOPy9NZ4XvIk4vwt2/NSnKtunBXtx5OjtLsjunEkp1guoy6VxY8nhBlBGqcGe10Sa4wgtTHVAVKZYpcRpDaeUpoAqZ0hFvqQgO5YESCNcyOYYjcOR2+FEaSeRLy/vmPFCNI4TMv2wE+ANM59FysESOOxFEsESOPyJEAal6dYI0AalykB0rg8xZrXpfiW41ksoyM63tXHt0SAND5TscjzUlyuZXteinv18a1pP55YJ0BqY1xGXSJAarvnWaUZQZpFpT3XESCNf18JkMZnisUmEtAdKwKkccATII3D0VshQOpJxPvLA388lmKpbA/8BEjj3X/viC7LzAZl+dZbWR74mdkgXltCl+KxFEvoUlye+oG/LCNIRZfGf/G/uCAiWZv81Vduo2GLuuVmn9eVSZeufvGxSATimvnK9XMzDBjo9l5sbYcuxWOLLsVjKZbKqEsnPXxLXAgRrU2aPNkduczGFYtlCJCiS5XbZUqU8YXSs5+92/Wfqp/puhtZ+NQ1tk7NEyBtJOXWsq0DpEyxG+fe6OclsVgGXbJcOVPsWui1YFkCpPFvCgHSuEwJkMblKdZ44I/LtIwP/HveeUVcCBGt6Y5VmRzRT497JyKFuKa8LpXJEX3643fEhRDRGroUEebXptCluEzRpbg80aW4PMUauhSXKboUl6dYQ5fiMkWX4vLUuiSWy+CI5oXSOHWgjAHSQx+5Ps7FN8BKGWfcEQxMsWurDDpAyhS7Npa+dBl1yZ97kb8ESItQa+EyBEjj3xz/wC+Wp51mkBs0cOr4B4lokZE6cWCWsWPFFLtx7j0P/HE4eiu6Y0WA1FOx/fW6RIDUxtGXxhHtScT7iyM6HkuxhC7F5YkuxeUp1tCluEzRpbg8xRq6FJcpuhSXp9YlsUyA1M4XXbIz1BbQJU0jTtrrklgjQGpjSoDUxi+rdBl1Kes66l1HgLReUiXZjwBp/BvlO1ZimQCpnS8dKzvD0ILvWBEgDckUy/PAX4xbtVK6Y0WAtBqlfOu9LhEgzcet2t7oUjUyxdejS8XZZZVEl7KoFF+HLhVnV60kulSNTLH16FIxbrVKoUu16OTfhi7lZ1arhNYl2Y8AaS1a9W1Dl+rjVO9e6FK9pOrfz+uSlCBAWj+3rD0JkGZRsa0roy5ZrpgAqYVeC5YlQBr/pviO1cv/+cANGjS1Gzj1gPgHiWTxu7PM6RhBGgcmI0jjcNRWhi+9tltl7gXcJc896Ea//ITe1FJpHvjj3g7dsSJAGoet1yUCpHF48sAfh6O24h/4eXFHUymeRpeKs8sqiS5lUbGtQ5ds/MLS6FJIxJ5Hl+wMtQV0SdOwp7Uuid9phumnsRttkIUZBw52c003k2OK3TiAmWI3DkdvpYx+PGnz00072E3Vwt91FV9zKy8ESOPfHa1LYr0ML+5YKLR1gPTLiRPd6Btvc8889y/3/gcfutlnm9UtsvB33KYbreOmHlBfkCuvjX/c+6C77c573fiPP3Hf/ta8bsfttnCzzDxTt3v06ONPuRtuvsN9f+Xl3Fqrr9xtmzVDgNRKsGd5Hvh7MrGs4YHfQi+7LA/82VyKruWBvyi57HK6Y0WANJtR3rXoUl5itfdHl2rzKbIVXSpCrXoZdKk6myJb0KUi1GqXQZdq88m7FV3KS6z3/dGl3hnl2QNdykOr9321Lu1x/1Xu80lf9l6oj/Y4Y81tCJBGZE+ANCLMxFQZA6RleaE07p2Ka40AaVyeYk3rkuQJkAqFEi6ff/6FO+XMP7i333kvPftBgwa6L76YkKaHzv0Nt/fuP3eDBw+qeWV5bTz97AvunAsuS0YZDnTzfHNu9+LLr7khs87ijjpkr8pxPv7PJ+6Qo0a5/lNN5Y45fISbfrppK9tiJAiQxqDY3QYP/N15WHM88FsJ9izPA39PJpY1PPBb6PUsqztWBEh78imyBl0qQq16GXSpOpuiW9ClouSyy6FL2VyKrkWXipKrXg5dqs6myBZ0qQi12mXQpdp88m5Fl/ISq70/ulSbT5Gt6FIRatXLoEvV2RTdUjZdKnqdzShHgDQ+Za1LYp0AaXzGTbF4+VWj3b0PPJJMTTGd22+vXd2ss8zsPvxovDvx1HPdJ//91K260rJu2602rXkueW1c/Oer3UOPPOEOGrGbkyDs2edfkoxefdGNPGJfN9OMM6THOvmM892rr73pdt15O7f4ogvVPH6RjQRIi1CrXYaOVW0+ebfSscpLrPf9y9axYord3u9pPXssOttQd/iKG7l3Pv3Y7XnnFfUU6ZN9dMeKAGmcW4AuxeHoraBLnkS8v+hSPJZiCUd0XJ5alxipE4ctuhSHo7eCLnkS8f6iS/FYiiV0KS5PdCkuT7GGLsVlii7F5SnWyqZL8QnEs0iANB5Lb0nrkqwjQOrJlOivjBQdcfBIN3nyZHfEQcPTqXX96ctUu0eMPC2Z23sqN2rkQW7gwIF+U7e/RWycdtaF6ajRM0cd6fr16+euvf7WdLrd/ZMA7TzDhrq77hnjrrr2JrfMkou6nXfcutvxYmUIkMYi2WWHjlUXixgpOlYxKHa3UbaOFQHS7vevaI4AaVFy1csxZVR1NkW2MGVUEWrVyzBlVHU2Rbfwbeyi5LLLoUvZXCxr0SULvZ5l0aWeTCxr0CULveyy6FI2l6Jr0aWi5KqXQ5eqsymyBV0qQq16GXSpOpuiW7wuFS3fjHIESONTJkAan2nTLT786JPuosv+6oYNncsdsM+vexz/+FHnuDffftfttP2WbrmlF++xXVYUsXHpFX9zDzz4mBux5y/d/PMOc6cmU/y+9Mrr7oSjD3CfffZ5GpidZvBgd2wyta5Mw9uIhQBpfKoESOMyJUAal6dYI0AalylvRMflqTtWjCCNwxZdisPRW0GXPIl4f9GleCzFEroUl6fWJUaQxmGLLsXh6K2gS55EvL/oUjyWYgldistT6xLPS3HYoktxOHor6JInEe9vGXXpv19+EQ9AREuTJ012A/v1d1vOv5R7+P3X3fnP3xfRelxTZXxxRwgwgjRuPWiKtZtuvcvdePMdbqP113QbJv/C5aZb7nQ3Jv822mAtt+F6a4Sb03wRGy++9Ko77ew/pqNTh8w6s5PRqvItUpni99iTznLvvvdvN3y3n7kFvz1/5jFjrCRAGoNidxt0rLrzsOboWFkJ9ixfxo7V6Jef6HkhLbKGB/64N4IH/rg8xRq6FJcpuhSXp1hDl+IyRZfi8kSX4vIUa+hSXKboUlyeYg1dissUXYrLE12Ky1OsoUtxmaJLcXmKNXQpLlN0KS5PrUtimQBpXL5NseZHcm639aZulRWX7XHM+8Y84v585Wi30gpLu+232azHdllR1MZjTzzj7rz7gfR7p99d8Ftuy81+4O66e0wakF1tleXdNj/aOPN4sVYSII1FsssOHasuFjFSdKxiUOxug45Vdx7WHB0rK8Hu5XXHijeiu7MpmkOXipLLLocuZXOxrEWXLPR6lkWXejKxrEGXLPSyy6JL2VyKrkWXipKrXg5dqs6myBZ0qQi16mW0LjGzQXVOebagS3lo9b4vutQ7o7x7oEt5idXeH12qzSfvVq1LUpYAaV6CLbD/2edf4p557kW3y8+2dUsstnCPM3riqefceX+83C2y8IJut1/u0GO7rIhhQ+y89fZ77rhRZ7uZZpzBHXXIXm7AgAGyumELAdL4aOlYxWVKxyouT7FGxyouUzpWcXnqjhUB0jhs0aU4HL0VdMmTiPcXXYrHUiyhS3F5al3CER2HLboUh6O3gi55EvH+okvxWIoldCkuT3QpLk+xhi7FZYouxeUp1tCluEzRpbg8tS6JZQKkcfk2xZp8f1S+IbrDtlu4FZdbsscxxzz8T3fJ5de45ZZZ3O30ky17bJcVMWxMnDTJHTnytGQ06cdu/2Sa3SFDZnVjHnrcvfbGW27eYUPdissv5aafbtrM4xddWaYAaUUMnrzdvfDx2KKX3PByZelYeTF4KJlv/YIWnm+9LB0rLQatHtSptKWnkrY0nrZk/VHwbanVv11AW7Le6Z7laUs9mVjW+LaELlkodpVFl7pYxEqVrY+HLsW587ottXqAtKJLPC9FufnoUhSMFSO6LfG8VMFiSqBLJnw9CpfxeQld6nEbC60oW1vieanQbe5RCF3qgcS8omxtiecl8y1PDei2JCsIkMbh2lQro2+6zd1y293uhxut69Zb+/s9jn3r7fe46278u1t/ndXcphuu02O7rIhh46prb3J33TPGbbDO6m6D9VZ3x554ZvpdUn/A2Web1R283+5u6gaMKtWBUn88/kIAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCECgGoF2D4z66+73VbL4TLv8vfeBh93lV11fdQpdP33utltt4lZdabnMy7baeOmV192pZ/7BzTH7EHfo/r91z73wcjptr4xa3eHHm7vLrrzOPZiMZJUpfmWqXxYIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQKDxBNoyQDr+4/+4g488OaU3auTBbvDgQRWSn3/+hdvnoGPT/LGHj3AzzzRjZZtOWGx88cUEd+gxp7hPP/2fO+yAPdycc8zmbr0jGbV6w98rAdFnnvtXEjC91G228Xpu3bVW1YcmDQEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEINIhAWwZIhdVZ513inn3+RTf/fMPc3rv/3E011VRu8uTJ7tSzLnSvvPqG+95CC7rf7LJDinVS8q3Q6268zblkMO2mG6/rBvTvn67PYyMt8PV//vulW2y6gVt7jZXTtfeNecT9+crRbvtk9OhKybdHH3jwMXfpFX9ztUaxapukIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABO4G2DZC+N/Z9d+Jp5zoZzTlo0EA391xzunfeHVvJ7zd8V/eNOWdPCf7zyWfd+Rf9JU3/fMet3dJLLpqm89jwt+LpZ19w51xwmZt32FC37/BdXL9+/Sq2jj7hd26G6adza62+srvjH/e7T/77aTr9rj8Pb4O/EIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAYwi0bYBUcI378CN37oWXu7ffea9Cb+jc33C77rytGzLrLJV14z4c744+/gw3KRlheviBe7jZhsyqttVnQwpMmPClO+DwE9yXX050Rx2yl5tl5pkqdiQhQdFrr781HckqI1plel0/wrTbjmQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIGGEGjrAKknNjGZQnfcuI/ckCGzVKbP9dv834kTJ6bJAQMG+FXd/tZjo1uBKhmZ5nfsvz9wc8w+xPX/eirfKruyGgIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQiEygIwKkkZlhDgIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQKCkBAqQlvXGcNgQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgkJ8AAdL8zCgBAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQiUlAAB0pLeOE4bAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhDIT4AAaX5mlIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABEpKgABpSW8cpw0BCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCOQnQIA0PzNKQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACJSVAgLSkN47ThgAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE8hMgQJqfGSUgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIGSEiBAWtIbx2lDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAL5CRAgzc+MEhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQEkJECAt6Y3jtCEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgfwECJDmZ0YJCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCECgpAQIkJb0xnHaEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAfgIESPMza9kSL7z4irv9rvvcS6+8np7jt781r1t7jVXcdxf8Vsuec+wT++yzz90V19zgXn/jbfedb8/vtt1q07oO8Y97H3QPP/ZkWm6G6adLy26y4TpuyKwzZ5Yf9+F4d/1Nt7l/vfSq++S/n7p55xnqllt6cbf6qitk7i8r8x6jqqEmbPjiiwnuxpvvcM/962X33tj33WxDZnELf/fbbqP113TTTTdt3WeQt05+OXGiG33jbe6Z5/7l3v/gQzf7bLO6RRb+jtt0o3Xc1AMGZB437zEyjTRhpZznXXePca++/qb79H+fufnm/aZbYtGFkza6suvXr19dZ9AMPkWOUdfJN3inv99xr7v/wUdTlgfs/Ws3cODUdR0xb7ts17Z/590PuLvve6gqM/ktld/U3hZ4did0/4OPuYce+ad77fW33ODBg9y35p/HbbDOam6eYUO771gl14z6VuQYVU63Yas//Ohj97vfX9Sr/U0T3V5qiUUy9ytync2oz5kn26SVLyZ9mDvvGZP2Gyckuj9s2Nxu6YTfmqutVPcZwLUL1Tvv/tvdc/9DSR/mRffR+I/TPuSySd9ww/XWcFNNNVXXjjVSRTQ4bz+oyDFqnHK0TfX04WOdezPadt5jRAMZGPrqq6/cLbff7R58+J9u6qmndgeN2C3YY0r2qWdecKOTZ5uJSV/8lzv92M0915yZ++mVndb+5Zno8qtGu/988l+37lrfdyuvsLTGkaal/d97/8PuxZdfc5O/muzkeXzF5ZdOf1t77FxlRZF6XsbfgXrrprSlx594Ju1LDUieBxdImK6y4jJu8UUXqkKw5+pm8Ml7jJ5naV+Ttx1/+un/3OnnXOS+/PJL9/2Vl3Nrrb5yXSfRKW2/tzo6adIkd+xJZznZL2uZ6xtzuF1+tm3Wpm7rOqXNy0XXU0elD3XjLXe6FxJf1PiPP3HfnPsbbrGkvcszVL39qbztsRn3oNtNj5ypxlV+O0Xbe1t++6ud3KyzzJS5Wyex7K3NCyDpJ92Q+Eqff+Fl9/a7Y93MM82Q6tIP1l3DzTnHbJkMs1bm7Sc243c36zyt6+rpOz397L9Sn8nzic9UngeGJn3Qddda1S2z1GJ1H74ZfIoco+4LqGNH8dn988ln07jFtNNOk/rn1l5zFTds6FyZpfO23SwjeW2U+beUAGlWDSjhukcee8r98dKr0jP3nYbJkyen+Z9tv5Vbdun6f1hKePnpKT/59PPuosv+6iS4J8s835zb7b/3r9J0tf9EAP/y1+vdvQ88ku4iQThp0LIMGjTQjdhjl8RBMEea9/+JA+zkM86rHEeXWXWlZd2Pt9ykW8CryDH8sfrirzwonXzG+e7f749LDy/1ydelmWacIWUqf3tb8tbJzz//wp1y5h/c2++8l5oW/v5eDk06xXvv/vM0wKCPm/cYumwz07fcdnelYxq2z6WXXNTtvMNW3epM1rk1g0+RY2Sda7PXjf33B+6o48+oHHbUcQe7wYMGVfJZiSLtsp3b/nl/vNw98dRzWajSdbvuvF1NRxQ8e6K7+rqb3R3/uD/doH9HJS3OksUW+W7PQmpNM+pb3mOo02tqMmzj1Q6+1eYbujW+v2KPzXmvsxn1ucdJNnnFmCRYcsnl11SOquvokot/z/18x617dULBtYIv6buMdcefck6lv6R5Dpl1Fnfwvr9J+5VdJXqmimhw3n5QkWP0PNP4a+rpw8c492a07SLHiE90ikVxSom+y2+oX8465SifTP/+77PP3J+vHJ0GoPyG4b/Z2S24wHw+m/m3k9q/3FPpy1//f7dXWKyfOOrlpRy93DfmkZSlXufTm228Xurs8/lqf4vU8zL+DtRTN+WZ/IKL/uLEcSqLfuaWvDxzS1Cvt6UZfPIeo7dzzru9aDu+4OIrKm1f/Bj1vFzeKW2/njr6wbgP3eHHnlb1dsnL3kccNLzqdtnQKW2+3joqPqgTTz3Xffb55yk33Z+SF05+s8uOvb4Inbc9NuMe1KwEho29cb0reRHyqmtv6vUIhx2wR2Zwr5NY1tPmZaDDqYnP8t33/t2jfopG7fHrndIXomsBL9JPbMbvbq1zLrKt3r5T+Eyqj7XcMou7nX6ypV6VmW4Gn7zHyDzRgiuF5cV/vto9/OiTqQX9uyhpqXdhvz1v2806tbw2yvxbKtdPgDSrFpRsnYxgPOCwE9KzlpF26665apr++533pqPxJHP8Ufs7GRnZrosERv2Phbw98ebb79YVIJW3L85PHrxk+e2vfuoW+s4C7vMvvnB/uPhK9+zzLyZv/8/ijjpkr27YDjvmVDfuw4/c9xZa0P3ip9ukDq/nk7fbfvf7i9P95K1rcS76pcgxfNm++HvpX651Dzz0uJOg5LZbbeLmn3eYeyd5M+qyK69L39yVgJ44TmstReqkvJEtgWqpp/vttWvyBtvM7sOPxqcdZLEXPrQVOUatc27UNhn5dOjRo1Lz2/94c7fickumb5lK/Tr3wstTZ+qvf7G9W/R736l5Cs3gk/cYNU+4iRuPH3VO2ub9IesJkBZpl+3c9uXtZ2nnByQvlUjbDxfpeNVa4Nmdju9MyoPS7om2LJCMHP04eQP6hptvT39fZf0pxx9SMwDVjPqW9xjdr7K5Of+iTnhUeZHmwMNPTF9u2nf4Lm6+eb4Z7uLyXmcz6nOPk2ziChnxMHz/o1P9WX/t1dxayUwG0yQjnJ99/qU0mCKs69EluE65aeLE3/egkWkdlL7h9j/ezMmLZBI0Peu8P7mP//NJOqPLFpuuX/Mu59XgIv2gvMeoecKRNtbbh49x7s1o20WOEQllNzM6WDdvMmvB62++nW7XAdI3knWnnf3H9IVEmSFm8qTJqVO6ngBpp7R/Gclw4mnnpi+OSl9IZheSWW7CAKluj1tu9gO3UjJqVGaIeeyfT7tLr/hbyv7oQ/epOkLH37y89Vwft14/QN5j+HOL9beeuinHeiCZhUPYSd3c7Zfbp/ouzrd7khG6f7vh1vR0TjnukJovnzSDT5FjxGIpdoq2YxkVckYyetQv4bO2Xx/+7YS2X28d9T4gmbFt9113DFGlvwG9zRSVtz0WqW95j9HjQowr8tTRg444Ke03Lb/sEm6bLTZOg6HPvfCS+8Ofrky1Sn5fa8100gw+RY5hRJhZvB6uEliRf1mLzGx2yu/+kL58cuIxB/YIPBe5zrx1rcgxsq7Fuq7eNn/TrXelM+1JP//nP93afWu+edJZY/76t/9LXzafY/Yh7vAD96x5OkX6ic343a150jk31tt3eu2Nt9xJp52XWt9og7Xc2sksBlNPPSB9MUr89PJMKr+tMpthraUZfPIeo9b55t326ONPuQsvuSrt7+y47RbpwAVpOzf//R/pLHDSTzpd8BTaAAApd0lEQVTx6AMqZmO0qyI2ytr+PTgCpJ5Eif/K26zSMJZYbOEeU3j4UUEbrLu62+QHa5f4Kmuf+t4HHuMGJtNGScBSHFVnnvunugKk8naaOAzkbUl5KPDLxMR5KJ0zGU25VzJyUd5Wk0WmL5Y3huQHaOQR+7oB/fv7ImlwT34QxAkhAT6/5D2GL9dXfyXYLj+Ge+72s25TakrQWQJRMrJTHkZrLXnrpDi4Rxw8MhVAectS3rb0izghjhh5WhpIGDXyoKTjNjDdlPcY3l6z/9582z+S6ZhvTxwlSyVO0827HV4e+uXhX95+lregqy3N4FPkGNXOt5nr733g4WS6s+vToN74j/+Tttl6AqR522W7t/0RiXNf3tQdNTIZfZsESvIu8OxOzAecR+z5y/QlE79VOvmiLfIbW2tUbjPqW5Fj+Otopb//lzyoyjRHotOi1+FS5DqbUZ/D82xm3jtFpxk82J107IHdZjD4c/Iy1H1jHnUrJVNHbr/NZlVPC65daDxPmZpM+jD9Vd9QdOngI09Od5YHV+k/Zi1FNDhvP6jIMbLONfa6evrwsc69GW077zFi8/T2zrngsvRlTxlZL/3M3fc5PN2kA6QyvduV19yYPgP96Ic/cCedfl76slRvAdJOav8ymunI405PP43x8x23cTIaRz5pEwZIH3r0CXfxZVen05wdsM+v/W1I/56eBKHlsyzb/Ghjt9oqy3fbpjNF6nkZfwfqqZvCRZ65pa7JTDvhNHsHH3WyGz/+P6nvQ3wg1ZZm8Ml7jGrnWnR9kXYsU0QectSotD8qLz9LIL+eAGmntP1666i83C3+n3rYZd3fTmnz9dZRH3CWT5Ls89tfdEPmX5jobVRu3vbYjHvQ7UIiZurlWu2QMmvcq6+9mc6GIJoWLp3Est4271/MD2cw+CSZev+A5IVdWU5IBidNX2NwUt5+YjN+d8N7b83X23eSl53kU1lZvlKZHlpmOegt6NwMPkWOYWWoy/uXSddLPu/ww43XrWySuMWIA49NYyDaj5637VYMqkReG2X+LfWXTYDUkyjxX/+W1fAkoLVg8I04+b6UvBksb7hIQK9dF/m2zprfX6nyhlk9AVL5foyMOpG3gXXgzTOSb2GK3RWWXdLtuN0W6eo//fka92DyPTkZcSFv6eplwoQJbp8kyCAO8OOO3M/NOMP06Tdq8h5D22x2Wt4uk7efhImMdAjfePztiCPS6/vdyUfUHPmUt07K6F/50ZfRv6FTQRj4jshO22+ZfutV1uU9hpTpi0VGJE+Y8KWbZprBPb6jKm9AyxTPvQVIm8GnyDH6gqc+pnRED0ocz9LmDt3/t+kUzfJSQ28BUtq+puhSftK2pd1L2867wLM7MZme5+gTfufku0OH7Ld7941JTjqPXyR6Id+N0C/Z6B2boTV5j6HPr1XSwnL/Q49PHwr2T15Myvq2a97rbEZ97mt+vm+YNUuGBJsl6Czf1vtJjQApXLvu4nU3/N3desc9bp3kGzCbb9JzlKh3hNQKOhXR4Lz9oCLH6LrKxqXq6cPHOPdmtO0ix2gU2fuTFx0WXujbbpaZZ0pHj2QFSCW4LwF9/yKof7mnVl2V8+2k9i8jwGUKaD+V6zWjb8kMkMoIJ9lPZhGS0WR68S9Lho4tvY+ki9TzMv4O1FM3hcd/kz699PFldqHwmdS/BC6fLKgVIG0Gn7zHkGuLuRRpx9ckn4G4PfkMhLBbfNGF0yn36wnydUrbr7eOXnv9re62ZNa2H260rltv7e/nvq2d0ubrraNnn39J+h333+yyQzpbmwYqfip5wVQ0a7rkGarakrc9NuMeVDtX6/p6uWYd55XX3nCjzrig6uhRKdNJLOtt894vGWqP+Pv2OejYVLNOSF6InL7KC5FF+onN+N3NqiOWdfX2nTxPP5ujPqbMeLTHvkemq84cdWSPfoDftxl88h7Dn1usv/JynnwuQ3RG+vV68S+T6QFOeduutufTeW2U+bfUXzMBUk+ixH9/s/dh6dln/WhIRyLrgbjEl9vrqcsDaj0BUnlbSt6amm/eb7p999ylh13faZh/vmHJt0h/mW73b1nts8cv0ukUwkLy5vVrr7+V7i/lihwjtNkq+Zdefs2detaF6dRQMkVUrSVvnfRTVWy0/ppuw+RfuNx0y53uxuSfTLuw4XprpJvzHiO02dd5mXbiuGRErkzXLHPGh84UfX7N4FPkGPoc+yItb/o9/ewLzjuc9ksCJfUESIu0y3Zu+/Kx+cOOOSV1QP0gaV8yzeYXSWBfpopcbNGF3Fxzzl7z9sKzO55Hk7fwL0ymgZJ6udqqy7uHH3vSPf/Cy+nIscUXWShh+t1ev5HbjPqW9xjdr7I1cjcmwTz57Vow+VaeOPSzlrzX2Yz6nHWezVwnDuc99zsqfYjXD1PyQs8hR45KR5P3Np0RXLvumH+hbp3kExebb7Je14avUyNPPjv9vvpPtv6hW3nFZXpslxVFNDhvP6jIMTJPtoErq/XhY5x7M9p2kWM0EGfFdL3Pg/UGSDu5/VcLkFZgZyROOOX37o233kmm49vGLb3EIhl7TFlVpJ6X/Xeg3rqpocknIeQZSrTs1OMP7TEtpN63GXzyHkOfXyPSvbVj4Sf7yOcejjl8RDqVoXyTvJ4AaSe2/Vp1VKaAlOkyZba2/ybBu7feeS99QXLRhb+TPkcNHDh1zVvciW1egFSro35kuLywK98eluf8d5MXT8VPskTyTDrsm3PX5Ckb87bHZtyDXk860g7VuGaZ935LGfQhgz+ylk5lWavNy/fIR990W+pD3juZucjPGnPbnfe5a6+/peoL0p5vkX5iM353/fk16m+1vpMPkGb5Q2VmyOHJ86osRx+6d/oJtqzzawafvMfIOs9GrBOfsvhApT+kZyrK23azzi2vjXb4LSVAmlUTSrROPhK93yHHJd+OGuxOTqYfzVr81Ikyr3ytt62yypZxXTXnSngtMpWMfMtA3vSV74aGiw8azDzzjO7Yw0akm32n7ahD9k6/QROW8Z1k+Uann64m7zFCm62QF3GSaW5lKqNwOuLw/IrUST/V7HZbb+pWWbFrqmNv238TwE/5V+QY3lZf/pUO/iNJsESCzTJNgywSSJfOlYzeq7Y0g0/eY1Q712atl4emcy64NB0df1TSYZKRePUGSGn73e+STPsm079VW/zvWbXt8OxOxj8gye/VI8noePn91ItMw3nAPrvV1ONmaE3eY+hraIW0BPP2Pfi49IGg2uhROc+819mM+twK/OQtzz8lDlF5oJpzjtnSt1FlajNZ5MUxmdqsli7Btesu+t9QGZF7xEF7duP2wbgP3eHHnpbuXG2EqWzMq8FF+kF5j9F1hc1LVevDxzj3ZrTtIsdoBt1azj59/Hqdq53c/qs5+TRHnR7z8D/T0XlZn2fR+0k6bz1vh9+BeuvmM8/9K52mWEbpytR9soTTHKcr1X/N4FPkGOoUG5Ks1Y6Ft8xyIiNRZBp96av6OlpPgLQT236tOuqd+1k3UmaS2W/4LpXPA2Xt04ltXjhUq6Myo5F8f3DJxb6XztoWMuttmvIi7bEZ9yC8jkblq3ENj+enC5WXJLK+PSr7dzLLWm1eXsb//YV/dq+8+kba35cXyt9MXoCSEZPy3LTrztu6Rb/33RB5JV+kn9iM393KCTYoUa3v5Gfh8X5effgHHnrcXfqXa9NVWSNM/b7N4JP3GP7cGv1XXsqXl/P15xaLtN3wPIvYaIffUgKkYU0oWV4CLsckndysadL8pfiPCcsUlN/oZSSQL1Pmv9WcK+E13Xn3A+l0stWmN5Wp++S7SNJxOO3EKaN05Q0WcXbLNzjlW5zhItOlyrSp8r2fNb6/oityjNBmX+elg3DWeZc44Tr3XHO6g0bsVnV6AznXInXST6cSTlXhr/2Jp55zMpXSIgsv6Hb75Q6FjuFt9eXf+5PvjV6WfHfUL/INDRm9XO2bZH6/ZvDJewx/bn3xV6azPuiIk9NRTnoauHoDpEXaZTu3fRktf3Uy1ZZMDbP6qiu4BZJvOX6cfDdPfsvkrWhZ9LeYw3sOz+5Errr2pvQbZbJWHpRkuvKFvvtt9+57/3bXjr7ZffjRx+l3luU7EdWWZtS3vMeodq59tV6+7SzTFtYaPSrnlvc6m1Gf+4qZPq44mCVAKm8y60X6PLskD/fywF9rgWsXHfmWm7yMKP1D6afIi2QzzzSjezlxnvw+melAvu8sy5qrreS23OwHXQVVKq8GN6OvpU6vaclqffi8fLJOuBltu8gxss419rpazj59rHqdq53c/qs5+TRHn/YjRSQvzy/y+1BryVvP2+F3oN66KS8ci2PZL8stvXj6CZxaL/I0g0+RY/hraNTfWu3Y/0bNO2yo2y/5NIEseQKkndj2a9VR+W67BJvmGTa3WzV5yVu+OygvTcl39cSXJNOXyzNUtaUT27ywyKqj0oeS+uWX7ySfDpPpJIWpvNQn336WpZq/SLYVaY/NuAdybs1YsrhmHdfPalBrauhOZlmrzcs2Gbxx+VXX90AruiR+4Fq+Pf8b3Gk+6Gp9p9feeMuddNp5KcuNk9kC5VlJdP2x5PujMrOBX2r1oTpRl4SL/CYKV3l2P/KQvdKBI7K+SNuVcnopYqMdfksJkOpaUMK0n8NcfoRlSHXW4oMG/ruYWfu007pqzpXwGh969Al38WVXu2WWWsztvMNW4WY3PgkQHJx831C+e3J88qFtWQ447IT02wfHJtPRiPMrXC685Cr36ONPuZ/+5Edu+WWWcEWOEdrs6/zlV4129z7wSCr0EmQXHrWWInXSf3R6h223cCsut2QP8/7BbbllFnc7/WTLyrddy1bvP/xofPK22Zvu1dffdPLRcf+mmYzQk5HM1ZZm8Ml7jGrn2oz1V15zo/vHvQ+m36OV79L6xf/W9fYN0iLtshPbvnD1v2krLb+U2/7Hm3vU3f7CsxuO5IFpym+mrN0rmfb12wvMV9lBvpt7eDIaX5wm8n1Sebs8a2lGfct7jKzz7Kt1n3+ejB5NZs+Q0Y8H7P2rmlNu5b3OZtTnvuLmjyvac/gxp6YBPfn29wqJ7so3cWUE6UOPPJHu9otkKsilakwFCVdPc8rft5Np9Y5PptGUOhku4iAVB+oWm27g1l5j5XBzms+rwc3oa2WeaINXVuvD5+WTdZrNaNtFjpF1rrHX1XL26WPV61zt5PZfzcmnOUpaXkIZmUxjKk7/TTdMpjBcJ3sKQ10ubz1vh9+BeuumOFHfG/uBezYZSSqjSIWrPAfKZ3DmmH2IxlhJN4NPkWNUTrBBiWrtWLT/kKNGpTp15MHD3WxDZk3PwD9n1zOCtBPbfr11VN9OeSlSpteXPsEJiR9JgnxZSye2eeGQVUelby/fcJRF+k3yCQj9AsQNyWc1/i/5rIa8wCffKM1airTHZtyDrHNtxLosruFxXkwC+KclM0fVGj0qZTqZZa02Ly8//P2Oe9O6KS+Wz5/MuvPBuI/c3fc/lM62J3okz/h+6t2Qf5F+YjN+d8PzjJ2v1Xd6IBlEIqMPw0VmyZx++mnd+x986A7e9zfpYJ1wH8k3g0/eY2SdZ8x1EkD+w8VXpCbDgQxF2m54bkVstMNvKQHSsCaULO9/vKXzIHP1Zy0yVYV0zrK+UZq1f9nXVXOuhNf1YjLN6WnJNzWrjT6RqRLE2TVP8q2D/RMHrCz+batqDlmxJ3b9qLYixwjPsy/z/tufUr9ElOoZgVykTso8/jKff7W32G69/R533Y1/r0ylVOQYfcmx2rEffOSfTj74LUES6UhVW5rBJ+8xqp1ro9f7dimd+pFH7uumnWaayiHrDZAWaZed1vY9VM9bpoWt9u1heHpaU/76KXZl2tLDDtij+8YkJ1PFyJQxMpJM3pLMWppR3/IeI+s8+2qdn45H3i4XB0qtJe91NqM+1zrfZmy7+M9Xp4FQmQLqVz/frtusEF6XZJYMmS2j2gLXnmTEISoj75965nn3RTIiX+rnmqutmORfSJ0ptb4/mFeDi/SD8h6j5xU2fk21PnyMc29G2y5yjMZTdc7XFznWWad0jdAJj12Pc1XKdHL7r+Xk8zwlEHX08b9LR48vv+wS7qfb/chvqvk3bz339zWPHyDvMWqecISN/hrEVK26qQ8lZUTHZFTZ2quv7Lb44QZ6cyXtbTeST5FjVE6wQYlq7fh3v784fRFqo/XXdBsm//ySJ0DaiW3f32PhVW8dlX29XwjtFxrdl2p11Psts0aLyTde908GK4gPwM/u1t1ql9Z1Wpv3HKpx9dvlr58W+ocbr+vWW+v7elO3tK/3ncjSX7sA0W1etP2gI05KOYWfd5FPvwhbCeZtvcVG6axc3YB+nSnST2zG727WucZc11vf6ZnnXnQPPvy4e/b5l9w00wxKX4T4wbpruLOTT2rJS6gnHXtgN7+fPrdm8Ml7DH1+sdMvvPiKO+Oci1KzfmCWPoavv3nari4v6SI28vYvixwjPM/YeQKksYn2gT3/jdGs0Sh+aHStb5T2wSk39JDVnCvhQf13oaSTdeoJh3ZzEMq+fvoDPZ+3TPMq071mObalgctbbzIyyL+VWeQY4Xn2VV6cfDJlsCzyLbJvzT9P3aeSt07e+8DD6TQVfgrd8EB+uP62W23iVl1puXRz3mOENlsl769j5BH7VqZFCM+tGXyKHCM8z2bkzzz3T+l0zyL4sw2Zpdsh/TeJZOrifv36uYOSoL6073Ap0i47qe1rXv77A7UeRuGpibl0ZMO5ybdJqr3h7IN766y5qtt8k/W6F/4614z6lvcYmSfaByv/99lnbv9DT0hf/Dpgn187GQFZa8l7nc2oz7XOtxnbDj16VDrVc/jGqRxb+jJ77X90OjrH92WyzgmuWVSy1518xvnpVMYHJt8e/ubQb2TuVESDff+h3v5/kWNknmwDV1brw8c492a07SLHaCDOimnvhJAV2tlX2eHrRD3OVdm1k9t/b06+zz773B1z0pnpSJKFk+n1ZaST9EnrWYrU87L/DtRbN0N+vq3NNOMMTp6hqi3N4JP3GNXONdb6rHb8zrv/TkbtnZkewj8n+eNJX1++qyd9/VmSFyJlJOnaa6ziN3f724ltv2gd9d9j+1ESwF8rCeRnLZ3Y5oVDVh2V9Ucks+xIgCmrXzNp0iS3x75Hym7u9JMOdwP690/T4X9522Mz7kF4jo3KV+Pqj+cDK9LWTxp5UKafxO8rfzuVZbU2L58eOv+ivzg9RbnmleU/1tsl7bVL7kEn+aB76zuFnCQvM0XsfcAx6aZqg8FkYyfpkgxeODGZklgGwG2+yfpunTWztTpv200hB//ltdEOv6UESINKUMasjECTN/6zvm0k35W74x/3uxWWXTL9TkcZry/vOVdzrmTZkTeA5E2grLfUjjnxzPSbcTKFp8wnL8vDjz3pLrr0ry5rZNCzz7+YfqszfFDLe4ys82z2Oi/+clx5sO/tW2Th+eWtk346Y7EzauTBbvDgQRWTeroVPbVx3mNUDDY5ceqZf0jeehrrfvWLn6TTxejDS+fLO6JPSKbInj6ZKipraQafIsfIOtdGr/Nv49ZznFOPP8QNHNjzW8FSNm+7bOe2LyO05d9KKyzt5CFeL/77v72N1INnFzX94CPTPYdT7MiUW/ImZK3f1mbUtyLH6LrKvktde/2t7rY773XfXfBbbo9f79TriRS5zmbU515PvIE7HHnc6en0jyP2/GUyNdSwHkeS76/Ly17HHLaPm2XmmXpslxVw7cIio2+uvOYG96355nG777pj14Yk5X8Pao3ClwJFNDhvP6jIMbpdTBMy1frwsc69GW077zGagLXyJrgcK0aAtJPbfy0nnzjzTjz1XPfOu2PdfMm0e3sn3x4M+wC17neRel7234FqjmgJNMsnCaZKgstHJ1okzmS9+IBfb7+tzeCT9xj6OhqRzgqS+Blh6jmeTBspI6Cylk5s+9XqqHx/XKYsluXAEbv1eNH5sORTBuM+/MjVepmvE9u88Mqqo7LeBzq22HT9HkF6H9zrbeatvO2xGfdArq0ZSzWu/tj+GXSzjddz6661ql9d9W+nsqzW5p9+9gV3zgWXufnnG5ZO7x6Cu/u+h9wVV9/gll5yUSef0Kq25O0nNuN3t9q5xlpfre/0p+Q7o+J7ls8QrL92908R3D/mUXdZ8p3nlRMf1U+22azqqTSDT5FjVD3hghvk5ZFjkxiF9DWF1aYbrVPVUt62m2Uor412+C0lQJpVE0q2zj8gyGn/9lc/dQt9Z4H0CuRbUjKViiwH77t7Mmd39rfO0h3a6L9qzpWx//4gfTtyjmTaQx+I8m/5yAjbQ/bfvfJdUf+NA5li7uRjD6p8/0De1Bhx8MjUcbjBuqu7TX6wdkpOfgyOOeHMdCqlcHRp3mP09a3w3yWQ89g5EfZlEoGvtcj85B8kP9Yzzjh95VsmRerkWeddkkyp8GLa4RCHgowQFN6nJtMWv/LqGz1GYxU5Rq3raNQ2P1pMvkcgU0H6b9fK27qjk2mD5fuuYUdfvrMzedJkN+88QyuOlWbwyXuMRjGrZVc6rPIvazng8BPTNn7iMQe6aZIgu9QhWbLqaN522c5tX+rbScmbaLLsO3wXN98830zT4z4cn75tLoES/YYaPFM8Nf/zo97l5ZJfJy9H+Lrofw+ksExfKhojS9jmm1HfihwjPdk+/E9+N+UbIHLu1RxOsOz9Bvl6OPdcc7pdd962ot3yQpJMrX978mKddjpPSKaLfevtd93UA6eujNgtUn+a8bvb+9XH3+Oj8R9XnKQ7brdF+lKiHEWmgzvh1N+no3XD6bay+qR5NbhIPyjvMeLTqm2xWh9eSuU99yzGzaiDeY9Rm0icrdWcfaH1as5Vfle7SFVz8slvokx5JtPnSb9+v6Q/Ve0lPW8tq47mredl/x2oVTf9VJDynexttti40meSF0/O++Nf0pfN9BS7WVrVDD5FjuHrQCP+VmvHUkezljHJZx/ECb3Kisu4H2+5STri2Y96pu13TTUo7MIXTORFaPnGuHyyQAIiA5N+kiz+dyIcJUabT/FUDZDKS+UjTz4r3UnPYPbhRx+n33T+7PPP0xFT8lwqC20+xVD5r1rblx18/0qePeXF/PClk6zn+yK/bc3QsMoFNyhRTZckMDV8vymfKZCA3fLLLO4GfP3yjryEcvrZF6X+4F/8dBu31BKLpGeXxTVvP7EZz1wNQlkx638TJRAq32X3i5/iXXwl+pNur77+pjvld39In/nlk0UyQMkvnahLUo9kAJfM9lDP98Lztl1+S6fULgKkvpWV/O/lV41OAy1yGf7HQzpgstTTgNId2+Q/L/7626FyafJG7+tvvu123mErt8xSi6VXO2HCBHfS6eenb/rKj7JM1SfBThlVKktWgPDRx59yF15yVbpdRotKwOvNxHEowiXOxn2TERn6gbjIMVLjffCfnrpQDi9T8GQt0iGQb7fKcv3/3e5u/vs/3ErLL+W2//Hm6Tr5L2+dfG/s+8l0AeemwWfpuAlLeQNbgjOS32/4rj2+gZr3GJWTa2Ji/Pj/JN+yPcd9kjhKZRGn8zTJdzNlBJksUu9kFJTnqTtkelRpM/gUOUZ6ES3yX7VvkGbV0SLtsp3bvjj15M1cWWaeeUY33bTTVuqojNST0Y5+FAQ8e6/w8sb4ESNPT3VB2vg8w+Z2Y8d+kD40Seldd97OLb7oQqmham2+GfUt7zF6v/LG7nFNMiuGBO+qjR6FZX38pZ9z0unnpVNASgnpy0yXzGAgmusXXUfF+SdOQPltOPawEX4Xl7f+NON3t3JyTU74kc1yWGEp/ac33nwn/Q0Qfd89eYFRTweX1SctosF5+0FFjtFMlNX68HIOec89i3Ez6mCRYzSasf5tDB38+thZzlVdVvdLO7X9V3Py6d+AGaafrttsOJ6xPNvs8rNtfTbz2TRvPRdjZf4d0PUrrJvye3D2+Zemv6NynUPn/ob79H//q2iXPFON2HOXysi9alrVDD55jyHX06glqx3XOpZ3UIc+I31vOrntaw5hHZUXIuQZSvxA0t+Xl5vfe+/9Sn9fXo6WWXj8kqVLndbmhUWtOuqnJpb9pC8lASj5xrss4t/be49fVIJ7tPkUS+W/Wlz97Hj6pedKwSSR9Xwv2/P+tjWjPuvzbkS6VpuXWbeuSwY5yCJt/puJLsnIPgneyyKjS6Xd+wB0Ftci/cRm9LnSC2jQf9X6TvLbKS/qv5EEmGUJ23z4zWx9bzpJl/zob2E0ZNZZkrrXT5LdlpWTl5z0d4XztF1+S6egJEDarUqVO3PTrXel085JQEkWCSrJN842XG+NNN8p/1VzrvjgSfhNLXlb4qLL/uqeeuaFygOYOAG33XLT5G3A72Rie/rZf7nL/zq68oAm4rjYIt91O/1ky8qbg7pgkWPo8s1K61EQtY4pD/fybVZZ/vCnK91j/3w6feP0+ytP+T6oL5u3TkpQ4dwLL68EZsSOPAzLCBcRgqwl7zGybDR6nXy0/dK//M09ndQxefNMFv8QtUMSVPYvNch6fw+k/coIM700g0+RY+hz7Mu0jCyTQLQemSfnU62OFmmX7dr2pbN57ehb3P0PPlbp4IuTf6nFv5dOs+WDo/Csv4Z/+NH49GWaV197s1JIfs9Ek5dMuPqlVptvRn3Lewx/3s3+K30bmcFBHqSqfcsRlvXfFdGly664zj3z3L/SF5GkpOjS0MSBLy876W9lPpD8LojDSn+T3R8pb/1pxu+uP7dm/pXfUPmkxfU33V7ReXGOLJu8Xb7dVpumbPX5VOuTFtHgvP2gIsfQ597IdLU+vD9mnnOvxrgZdbDIMfw1NuKvdiiFDn59vCznKr+rmlDXyLBwFIQ8Sz786JPddw5y8ixz1CF7VdZWq6N56rk3Vtbfgd7qprzwffFlV1deRpbrlWekRRb+jts+eWFX0n6ppVXN4JP3GP68Y//Nase1jvHQo0+kjOU5XkaQ+oW2P4VEb3VURj1K+9cvmUkgb/NkmlgdHBVrtPkpTHuro3fdM8b9LfmkhvebyGxv4pfbNulP0eanMMz6vxrXf730ajK68Y8puxOT0aN+1KO2Uc1fIvvk/W1rhobpc4+d7q3NyyeI/nbDrennSvyx5cWo5ZdZIm33fgS+bKvGtUg/sRnPXP56Yv+tFiCV48iU+lePvtmJhvtFeP4g8ZnIlO966VRd8tqhWYTpUMNle71tl/7TFJoESMNa1QZ5GRkgi5/Ksw0uyXwJ/qPu4qw67cTDMu2JEH4w7qN0+t1pphmcuU+4Un7M/5sMc59tyCzpdDTh9jBf5BihjVbL+7dZDtlv93RKqazzy1snJ06a5MYl92JIwlWPuMiy7dflPYYv1+y/Mj2CvDUmThLdefLn4b+vIVNzyqi9rKUZfIocI+tcW2Fdb3W0SLts57bvR9DLqLKsBZ5ZVKqvk4f7998fl05j6qfe0nvX0+abUd/yHkNfQ6ukYVnsTnyS6NIXNXTJj4wKPyGgj5a3/jTjd1efXzPT8vAu/c7Zhsyaedh6+qRFNDhvP6jIMTIvqA9W9nbu9TBuRh0scow+wFnzkPyu1sRTeGM9dbS3ep518Hb9HZC2JNNsDhjQvzJiNLz+erSqGXzyHiO8jlbJ0/bz3Yne2ittPh9P2bu3/hRtPj/TaiV6e76Xcnl/23prE1nnkvcYWTaatU5e2pXRo+IzGZx83ilr6Y1rkX5iM565sq6l0es8z2kTX/wMM0yfeTh0KRNLryt7a1f8lk5BSIC016rEDu1AQKYzFXHKGv3QDtfXl9fw2xFHuEEDk2+1jjyoL0+jbY592533uWuvvyV5Q3KTZHrs7iNy2+Yim3wh1NG4wOEZlydtPh5PWMZjqS35KbjDGTj0PqTrJ0CftH5WRfeEcVFyPcvxu9qTSYw11NEYFLvbQKu687DmaPtWgt3L0+a784iRo83HoDjFBs/38VhqS3DVNOxpdMnOMMsCv6VTqBAgzaodrGs7AjJt5GXJ9HA/234rt+zSU74/2nYX2QcXJG/yHnr0KLfCcku6Hbfdog/OoP0O6afhOO7I/dyMVd6car+rbtwVUUfjsoVnXJ5ijTYfjyks47HUlmRaH5nNYeQR++rVpAsSoE9aEFyOYjDOAauXXfld7QVQwc3U0YLgahRDq2rAKbCJtl8AWo0itPkacApuos0XBBcU4/k+ABIpC9dIIJUZdEnBiJjkt3QKTAKkESsVplqXwNPPvuBkzvYtkm9BDExGO7LEISDfhZFvbq22yvLpt0LjWO1sK7ffdX/yvY0v3QbrrN7ZICJdPXU0EsivzcAzLk+xRpuPxxSW8Vh6SzL10xVX3+C+s+C33NJLLOJX89dAgD6pAV6dRWFcJ6g6duN3tQ5IBXahjhaAVqMIWlUDTsFNtP2C4KoUo81XAVNwNW2+ILiMYjzfZ0CJsAquESAGJtClAEiELL+lXRAJkHaxIAUBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCLQ5AQKkbX6DuTwIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQKCLAAHSLhakIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBNidAgLTNbzCXBwEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIdBEgQNrFghQEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEINDmBAiQtvkN5vIgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIEuAgRIu1iQggAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE2pwAAdI2v8FcHgQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQg0EWAAGkXC1IQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgECbEyBA2uY3mMuDAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAS6CBAg7WJBCgIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQaHMCBEjb/AZzeRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQBcBAqRdLEhBAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAJtToAAaZvfYC4PAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhDoIkCAtIsFKQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoM0JECBt8xvM5UEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAl0ECJB2sSAFAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQi0OQECpG1+g7k8CEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCECgiwAB0i4WpCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgTYnQIC0zW8wlwcBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCHQRIEDaxYIUBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCDQ5gQIkLb5DebyIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBLgIESLtYkIIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABNqcAAHSNr/BXB4EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEINBFgABpFwtSEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAmxMgQNrmN5jLgwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEuggQIO1iQQoCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEGhzAgRI2/wGc3kQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgEAXAQKkXSxIQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACbU7g/wEvhCI9oXVNrgAAAABJRU5ErkJggg==`; diff --git a/x-pack/examples/reporting_example/public/constants.ts b/x-pack/examples/reporting_example/public/constants.ts new file mode 100644 index 0000000000000..909b656c5e514 --- /dev/null +++ b/x-pack/examples/reporting_example/public/constants.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +// Values based on A4 page size +export const VIS = { + width: 1950 / 2, + height: 1200 / 2, +}; + +export const ROUTES = { + captureTest: '/captureTest', + main: '/', +}; diff --git a/x-pack/examples/reporting_example/public/containers/capture_test.scss b/x-pack/examples/reporting_example/public/containers/capture_test.scss new file mode 100644 index 0000000000000..4ecd869544b32 --- /dev/null +++ b/x-pack/examples/reporting_example/public/containers/capture_test.scss @@ -0,0 +1,10 @@ +.reportingExample { + &__captureContainer { + display: flex; + flex-direction: column; + align-items: center; + + margin-top: $euiSizeM; + margin-bottom: $euiSizeM; + } +} diff --git a/x-pack/examples/reporting_example/public/containers/capture_test.tsx b/x-pack/examples/reporting_example/public/containers/capture_test.tsx new file mode 100644 index 0000000000000..81528f8136dff --- /dev/null +++ b/x-pack/examples/reporting_example/public/containers/capture_test.tsx @@ -0,0 +1,91 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { FunctionComponent } from 'react'; +import React from 'react'; +import { useHistory } from 'react-router-dom'; +import { parsePath } from 'history'; +import { + EuiTabbedContent, + EuiTabbedContentTab, + EuiSpacer, + EuiButtonEmpty, + EuiFlexGroup, + EuiFlexItem, + EuiPage, + EuiPageHeader, + EuiPageBody, + EuiPageContent, + EuiPageContentBody, +} from '@elastic/eui'; + +import { TestImageA } from '../components'; +import { useApplicationContext } from '../application_context'; +import { MyForwardableState } from '../types'; +import { ROUTES } from '../constants'; + +import './capture_test.scss'; + +const ItemsContainer: FunctionComponent<{ count: string }> = ({ count, children }) => ( +
+ {children} +
+); + +const tabs: Array = [ + { + id: 'A', + name: 'Test A', + content: ( + + + + + + + ), + }, +]; + +export const CaptureTest: FunctionComponent = () => { + const { forwardedState } = useApplicationContext(); + const tabToRender = forwardedState?.captureTest; + const history = useHistory(); + return ( + + + + + + + + Back to main + + + + + + + tab.id === tabToRender) : undefined + } + /> + + + + + ); +}; diff --git a/x-pack/examples/reporting_example/public/components/app.tsx b/x-pack/examples/reporting_example/public/containers/main.tsx similarity index 61% rename from x-pack/examples/reporting_example/public/components/app.tsx rename to x-pack/examples/reporting_example/public/containers/main.tsx index 3e2f08fc89c7b..8673c476fdc7b 100644 --- a/x-pack/examples/reporting_example/public/components/app.tsx +++ b/x-pack/examples/reporting_example/public/containers/main.tsx @@ -23,41 +23,42 @@ import { EuiTitle, EuiCodeBlock, EuiSpacer, + EuiLink, + EuiContextMenuProps, } from '@elastic/eui'; import moment from 'moment'; import { I18nProvider } from '@kbn/i18n/react'; import React, { useEffect, useState } from 'react'; -import { BrowserRouter as Router } from 'react-router-dom'; +import { parsePath } from 'history'; +import { BrowserRouter as Router, useHistory } from 'react-router-dom'; import * as Rx from 'rxjs'; import { takeWhile } from 'rxjs/operators'; import { ScreenshotModePluginSetup } from 'src/plugins/screenshot_mode/public'; -import { constants, ReportingStart } from '../../../../../x-pack/plugins/reporting/public'; +import { constants, ReportingStart } from '../../../../plugins/reporting/public'; import type { JobParamsPDFV2 } from '../../../../plugins/reporting/server/export_types/printable_pdf_v2/types'; import type { JobParamsPNGV2 } from '../../../../plugins/reporting/server/export_types/png_v2/types'; import { REPORTING_EXAMPLE_LOCATOR_ID } from '../../common'; -import { MyForwardableState } from '../types'; +import { useApplicationContext } from '../application_context'; +import { ROUTES } from '../constants'; +import type { MyForwardableState } from '../types'; interface ReportingExampleAppProps { basename: string; reporting: ReportingStart; screenshotMode: ScreenshotModePluginSetup; - forwardedParams?: MyForwardableState; } const sourceLogos = ['Beats', 'Cloud', 'Logging', 'Kibana']; -export const ReportingExampleApp = ({ - basename, - reporting, - screenshotMode, - forwardedParams, -}: ReportingExampleAppProps) => { +export const Main = ({ basename, reporting, screenshotMode }: ReportingExampleAppProps) => { + const history = useHistory(); + const { forwardedState } = useApplicationContext(); useEffect(() => { // eslint-disable-next-line no-console - console.log('forwardedParams', forwardedParams); - }, [forwardedParams]); + console.log('forwardedState', forwardedState); + }, [forwardedState]); // Context Menu const [isPopoverOpen, setPopover] = useState(false); @@ -123,12 +124,54 @@ export const ReportingExampleApp = ({ }; }; - const panels = [ + const getCaptureTestPNGJobParams = (): JobParamsPNGV2 => { + return { + version: '8.0.0', + layout: { + id: constants.LAYOUT_TYPES.PRESERVE_LAYOUT, + }, + locatorParams: { + id: REPORTING_EXAMPLE_LOCATOR_ID, + version: '0.5.0', + params: { captureTest: 'A' } as MyForwardableState, + }, + objectType: 'develeloperExample', + title: 'Reporting Developer Example', + browserTimezone: moment.tz.guess(), + }; + }; + + const getCaptureTestPDFJobParams = (print: boolean) => (): JobParamsPDFV2 => { + return { + version: '8.0.0', + layout: { + id: print ? constants.LAYOUT_TYPES.PRINT : constants.LAYOUT_TYPES.PRESERVE_LAYOUT, + dimensions: { + // Magic numbers based on height of components not rendered on this screen :( + height: 2400, + width: 1822, + }, + }, + locatorParams: [ + { + id: REPORTING_EXAMPLE_LOCATOR_ID, + version: '0.5.0', + params: { captureTest: 'A' } as MyForwardableState, + }, + ], + objectType: 'develeloperExample', + title: 'Reporting Developer Example', + browserTimezone: moment.tz.guess(), + }; + }; + + const panels: EuiContextMenuProps['panels'] = [ { id: 0, items: [ { name: 'PDF Reports', icon: 'document', panel: 1 }, { name: 'PNG Reports', icon: 'document', panel: 7 }, + { name: 'Capture test', icon: 'document', panel: 8, 'data-test-subj': 'captureTestPanel' }, ], }, { @@ -141,6 +184,31 @@ export const ReportingExampleApp = ({ { name: 'Canvas Layout Option', icon: 'canvasApp', panel: 3 }, ], }, + { + id: 8, + initialFocusedItemIndex: 0, + title: 'Capture test', + items: [ + { + name: 'Capture test A - PNG', + icon: 'document', + panel: 9, + 'data-test-subj': 'captureTestPNG', + }, + { + name: 'Capture test A - PDF', + icon: 'document', + panel: 10, + 'data-test-subj': 'captureTestPDF', + }, + { + name: 'Capture test A - PDF print optimized', + icon: 'document', + panel: 11, + 'data-test-subj': 'captureTestPDFPrint', + }, + ], + }, { id: 7, initialFocusedItemIndex: 0, @@ -188,6 +256,37 @@ export const ReportingExampleApp = ({ /> ), }, + { + id: 9, + title: 'Test A', + content: ( + + ), + }, + { + id: 10, + title: 'Test A', + content: ( + + ), + }, + { + id: 11, + title: 'Test A', + content: ( + + ), + }, ]; return ( @@ -207,30 +306,45 @@ export const ReportingExampleApp = ({ - Share} - isOpen={isPopoverOpen} - closePopover={closePopover} - panelPaddingSize="none" - anchorPosition="downLeft" - > - - + + + + Share + + } + isOpen={isPopoverOpen} + closePopover={closePopover} + panelPaddingSize="none" + anchorPosition="downLeft" + > + + + + + + + Go to capture test + + + +
- {forwardedParams ? ( + {forwardedState ? ( <>

Forwarded app state

- {JSON.stringify(forwardedParams)} + {JSON.stringify(forwardedState)} ) : ( <> diff --git a/x-pack/examples/reporting_example/public/types.ts b/x-pack/examples/reporting_example/public/types.ts index fb28293ab63a3..732de505acf76 100644 --- a/x-pack/examples/reporting_example/public/types.ts +++ b/x-pack/examples/reporting_example/public/types.ts @@ -10,6 +10,7 @@ import { ScreenshotModePluginSetup } from 'src/plugins/screenshot_mode/public'; import { SharePluginSetup } from 'src/plugins/share/public'; import { DeveloperExamplesSetup } from '../../../../examples/developer_examples/public'; import { ReportingStart } from '../../../plugins/reporting/public'; +import type { MyForwardableState } from '../common'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface PluginSetup {} @@ -26,4 +27,4 @@ export interface StartDeps { reporting: ReportingStart; } -export type MyForwardableState = Record; +export type { MyForwardableState }; diff --git a/x-pack/test/examples/config.ts b/x-pack/test/examples/config.ts index 606f97f9c3de7..cf37cad5bc243 100644 --- a/x-pack/test/examples/config.ts +++ b/x-pack/test/examples/config.ts @@ -33,7 +33,11 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { reportName: 'X-Pack Example plugin functional tests', }, - testFiles: [require.resolve('./search_examples'), require.resolve('./embedded_lens')], + testFiles: [ + require.resolve('./search_examples'), + require.resolve('./embedded_lens'), + require.resolve('./reporting_examples'), + ], kbnTestServer: { ...xpackFunctionalConfig.get('kbnTestServer'), diff --git a/x-pack/test/examples/reporting_examples/capture_test.ts b/x-pack/test/examples/reporting_examples/capture_test.ts new file mode 100644 index 0000000000000..62460bd140bba --- /dev/null +++ b/x-pack/test/examples/reporting_examples/capture_test.ts @@ -0,0 +1,91 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import path from 'path'; +import type { FtrProviderContext } from '../../functional/ftr_provider_context'; + +// eslint-disable-next-line import/no-default-export +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const PageObjects = getPageObjects(['common', 'reporting']); + const compareImages = getService('compareImages'); + const testSubjects = getService('testSubjects'); + + const appId = 'reportingExample'; + + const fixtures = { + baselineAPng: path.resolve(__dirname, 'fixtures/baseline/capture_a.png'), + baselineAPdf: path.resolve(__dirname, 'fixtures/baseline/capture_a.pdf'), + baselineAPdfPrint: path.resolve(__dirname, 'fixtures/baseline/capture_a_print.pdf'), + }; + + describe('Captures', () => { + it('PNG that matches the baseline', async () => { + await PageObjects.common.navigateToApp(appId); + + await (await testSubjects.find('shareButton')).click(); + await (await testSubjects.find('captureTestPanel')).click(); + await (await testSubjects.find('captureTestPNG')).click(); + + await PageObjects.reporting.clickGenerateReportButton(); + const url = await PageObjects.reporting.getReportURL(60000); + const captureData = await PageObjects.reporting.getRawPdfReportData(url); + + const pngSessionFilePath = await compareImages.writeToSessionFile( + 'capture_test_baseline_a', + captureData + ); + + expect( + await compareImages.checkIfPngsMatch(pngSessionFilePath, fixtures.baselineAPng) + ).to.be.lessThan(0.09); + }); + + it('PDF that matches the baseline', async () => { + await PageObjects.common.navigateToApp(appId); + + await (await testSubjects.find('shareButton')).click(); + await (await testSubjects.find('captureTestPanel')).click(); + await (await testSubjects.find('captureTestPDF')).click(); + + await PageObjects.reporting.clickGenerateReportButton(); + const url = await PageObjects.reporting.getReportURL(60000); + const captureData = await PageObjects.reporting.getRawPdfReportData(url); + + const pdfSessionFilePath = await compareImages.writeToSessionFile( + 'capture_test_baseline_a', + captureData + ); + + expect( + await compareImages.checkIfPdfsMatch(pdfSessionFilePath, fixtures.baselineAPdf) + ).to.be.lessThan(0.001); + }); + + it('print-optimized PDF that matches the baseline', async () => { + await PageObjects.common.navigateToApp(appId); + + await (await testSubjects.find('shareButton')).click(); + await (await testSubjects.find('captureTestPanel')).click(); + await (await testSubjects.find('captureTestPDFPrint')).click(); + + await PageObjects.reporting.checkUsePrintLayout(); + await PageObjects.reporting.clickGenerateReportButton(); + const url = await PageObjects.reporting.getReportURL(60000); + const captureData = await PageObjects.reporting.getRawPdfReportData(url); + + const pdfSessionFilePath = await compareImages.writeToSessionFile( + 'capture_test_baseline_a', + captureData + ); + + expect( + await compareImages.checkIfPdfsMatch(pdfSessionFilePath, fixtures.baselineAPdfPrint) + ).to.be.lessThan(0.001); + }); + }); +} diff --git a/x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a.pdf b/x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3966d4406b7b282bc1a43272f8e37ea861d00ed2 GIT binary patch literal 693858 zcmagFWmufcvNnv%;7-s%gS-3S&fpLTPH=a3g1ZHGcXtvr!6A5X2_(2XypXll+3UN` z{;o4W7^b_crK;|`>glPW0*gyBvNEv)sGeV50B#@)(9XybARqu>20NOXSQtCoIRaTZ z0nB1{)^?6gKvn>=sD-l=*wj(X&c@!(*3{M+$n&Sy#m3eN$jQwO5E25I+M2x1!t<}$ zNR|f`B5ic)X&UFs;pGnz1W|B#$i?%?K@H-$H}NQIMOCaJ(#0Fhvg?? zAmyGf`}xt5|IA$L12XB8`(^IF-*;KltXkW>h17Zz==yr3zxVg|;aJ)JbviW}53A(D7A~uiYvDW`!5M8;aVw19ezl z8d!N*IDl-NJgo0u)oknhGSCUg``1VnQzttYM`P0$ySxrn`S)6{4gWEvow2H^Gf;>5 z#oRzIPCytiV5K{WCkWmXeXBsj>5)E*VxJ z=U*Fy@a1~@-)2HzAN8b>fyF~j#rdN5jB9rBY%TJlW1ngcZTz$g-?ZAbTm^O34 z@$m#Svsfe9?!Qt}B}Ay?sbQR92&Y%cjL$H5wJY|Q+0KQQqnWcDypyBwWU$G?Q+2`HB8py)9HQsCEav4a zl_wpvMd8kIQ}mIt1Vv$34p!_bPE(b}w)+ZSI537n1m9vLoIc<8{o=l-7Xthj|9v&x zs~KqQO+MHdTA9-R16$TtQ~vj!fB1n$oR5u#jg^&!m6Mf&m5Yt#-G8Jx{$*aUqn(M1 z@e9^j|8^9y7l{9%l)v1C`OjwyJ6rJ=)Bssur~m&r@xNW=FO0o9m$<2uv7?3k%RDbm z^YU5I(B=hwpm(n?dKEh(J7+sa6;m@8Ys1$8)`n(IK#spgivEEWBNq=V6DubhI|m1l zk&T;$iI`l2(77n1V;(tuw0`^6!cl^jh>9W89lfHX2D zFQ>C`_IPPjb+Na%Hnn*@Ez2w8{Mq$?Z1Tcbf40u7`AT3qoGjcxE-p4ER+iWE13B5a zUewCT!Nm*Y5# z59f;sxwyHQ*tmE(*^$#ZDOpBb%}z>2T*1)(g+l*U(!Y3^?cbdLH`}ps zbG<0-{|JKbl{;+vf#?U1I68U}i4!psij+vS?Ho*J;7m1T03j|CEnIM0uOF#FRtJqV z%hD%e5;5Q3B>YtZ+co1SB!bdKA$^=n?l-vh+Fd89QH=Ya)l*zE6w% z_yBRM6Nh)Ku^@=RzNxUSmnl+m0n-tynv?cqeaJmtDoDgOD3Xi(LlEW4BMsxsWW|kq zZ@A`uz1_951~*UM1*Ewtxo!j>V>^lU;gAe@ZkRy)!PLA0x#Zj&1ud9QGPr{s|@j6%((GFSz#cSdM{A1vM1NC40_n(;ezc(so_`)f6X0O5D z>@|S@g_&0>a{|7m7XO~|-#+x$G5-j?CIl`oD16B@tOH?Tje!b{S|T8kZJbha%R0*@f#LJXa{t(f0ld=W3$R?`yGC46PW7-{ zd|5CBAP<(bR?ZBsviaH6)$VE0ultkTho`8EQLTL7F_!G|rg4F0{8VzVQPfa0>mx8i zN@aLh(-UjBv1w{wb?CwuyJc2J+o6DN0ju{ByNAp8v9!81Jk}m6Aw157H1qVqd9wq$ z-!jv>YoX*Uc~!HAhxoBxq}4Q;l?hIrJ}Nva8%!O(Ts5h5Xil>t6Z`%AqTBnOm@9@9rcCSetr56nn}N*wt)^TiV(bZ> zUeUSJOev16rafd+fkxkbul33Grl5=}@k1|6jZ`02N zy1Eow^zLoT8hyFvIlHqu8+}-+6UB$Q+(SaZ81E0^wScsw{-_I<*adLZFsz5u+r7-a z$AkAGy8usNV}DmDmLotBYMr@x>J1S!SMwUqg|&o(^{-0U28LP00ZTqIDU?;e`wRaX zn$?MN+w8IlE=H4dD_0&fb)aM&{(vViRM4R>b0*2{`b@*f(({n0zgF`!4c@5KL>zj5 z>T3VDBlLH$soiozaa&bhsk2A({C4Hn1X27wEYi^ocu{7zx7-}^os_5?La0cXaJwHL zG{m;O^CdmC?E34e>@YTgJECzsy&YIVdWT_8rdP{2=`_Hs_Yf4@6V({gU=2Nu?h#!L z$+u{qkx%dZzvsGRdBZEM?3X(6EiQVf9EBLc@Pu?9f=^SR2C-M+XyK(8SF*6<50=0- z6E_DB{TA(vs^tjpSs3bz0SNkeCOhX$6oMQ{8FGy(rk4bIRPdC_QBnA6ouHb)3qtOw z?^z$rsd=UDigylHM#gaTu@S-zk7;pq)YAiH-|0cfj-Er@X%*Y|Rx4xX_lXp4)s6;6 zat5e=*XkT~iqec8*2*M^@`$q0gJrjQ)0f9tGR|FS%D5&}6u?Ow99zKDf{1Yu=J7Z! z(brWev&o@|Y?z%#s>z1J+tiSHhB8?(11O7wbe#PV)RF{COu;L%gM|6b;kugoh->M1 z{}>?LVD6dATgZ`f%Bkvtf)hmXS*uRG_-1Am0heTIe!pT}s1wOBT=k*KP?#=Kre`tq_Xbgk3N#486Pm}EDBQ2GtW6^F?GVLZ zr9+W9H#AS+*4TbvelHCmQl%a=33APnEqR0GnvXs}6S~W02AgtJGAmm1se&GF<$0hx zMz4q+)sueR#=k}MVxwE54v=8m<-G{78W{d@fsh1<4ekKb4uZ2SsZggK^t@_u?GnrI z!;fhW_2B%r7+9jXxQ^|TkfK{c-fHv$56g((kXl(;@^#-Wgzp~q*h$MR7043R?JB>O*q(n^e!G8v5`E7+AS#%R(2F&NY<2Z%>|UH51^0Jb z`%r3)0Gp=GlDEjuPS`B%Nwl}~vFz?DkrLJcip@UD?OKiS`H$(nQt1jFNyu!G?~0a( zn1Bja6H^6EAD4H#3S3T{v~j0a#xiNXRx~YW;W|*i*MZ#Q4*nzy&TTm5DT-5`ZZUD`R;O}$$rVoMzqS5+EFuJNMYWfQ48G6{qNw) z_V3v7SJe6Y;qPBL=bwj20Q28DEi3QKW1Oai$;*TO>rKFay(;)`f#k2-1yy@PM z+|<>=*i_2V(Bm}#|B10LdF1Qk@81E5hlQ2vHN^eTeZk>-MtR3$Lay2k1Q;m7fHviY z%rBxqbQuqHA@y>f>-=DX)G|z>7wQY9h@YJnlA#53L>oPaUDw)6O3oEpG zyEPPB1bJSP@!gZD`IpuAn;nFMSvWK~>TJnqXY=p#rKeVPIz4v=4ZHA>7W7qa>?ri2 z1Lv9;Ug#gI%cm6ds|K0HF6_yNvPlIR6EeDuqVc5w88vo_8x!(C-)=#IW#7H?K>(vi#&ec~f^{ zo5$-}4>r$L$b06gr~YwkwCbmS@e6OJ$F; zK1FW!CL}ByL_G?Bn|s5rqZ1zL@TPtB`ks%|_wCij)#aj+j328CJ9w{beM`df;oWww zg1{)xooyj%k3h|xb2vc{K5Seo_+$u6aIb6Dr&T0cKN^!WN4P^4;|tXCP)ujHP_zO? zZDJLXi)YuCYe8lm_8B&H+u<_slWhd<>Py*#~%RUV|`1ap2&?jqH^6(-9dHtO=8)6Hh^P>6ZT zcJezUAe5@_F__%V5Uon?B5J3cSoY!K;3J3kn+&h(iCt=7bf7r`=n#v(WhVEJM{+!< zt4@8|V);pZP{%VQH{&&xm>5bMw3JN*Hdb9=Pc0fRPVGC7+`s4Mr}jw^NBwlY z7e|mGvb63cm_uq}w6-`U!lP}zrX^2t{BQ)rI(+OBzquwsP+U@N#Xr~s$G-9@Kv>5<)<)XQXccur;vynH!z5y`Pup^?I|UzE z$%-pJ7Y+`JoU6EHN&v%F8pUFjNXf1`P^F(`k`Vov+}v~apS{gDJa7zgHQkmy+qo?( z;T?=1P}-=5L5*MmPyMg*y@`6vwggrpc*0%uLhP>Kh^Og$xiG;!s=Wy#Qcbhvfm_ni zya^ZY*0A#Cz$b=USV26hel#EN!92o)FpJw%;ZT@rVykeW@U-T*!q&ut9 zEfjeZ0(fxk-nZ1KJ}$k$PGm=`n^>T)eQz`^*SSmL7mYaKhnW+kdm1HAdWNBIxo;0t z2kGv@Vrta+pRj99m(hJOnK67hp_->oC%pN(Lz(d(1e&-VBxuLAc&)^er3loG@6k(U zPEhi6u*IRK~7 znofRRDzBa1GBQ15F-q|J-CL11gSIq)Qyx|dsDz9_rNaw1cSL2 zEUMg>V@4l;W*-pq9NHe*^0^LA`Hdz*I4C^v%GTd9@h8c3mc>n2p02ySTQ}-GERYZjB`4Tu0c&6yhy6X-8P;Ql2uUU}~nl$0iFk~J1CX=Ccm2HxJt zVAeXp*1;3W=pi^7NGe&v{ z#8Jm#iCe0rY{A=czs1S;q<_<_cjNd5#vSR00hcvt{>mTb}k}iG`X9`^%gpTM61W>ZcKQ>L)R%%x=4bww0Zsb-~x>(>6PBX0D{`Y zhR$LW3`f8=I4SG$iA(#91jcsx?F!4(18;QChOH1sfC;)aBjoBw&W^lcY$t)1AIFxa zg$A5gw;TfIP%=O^hy!;^zaiKB#k=)v?!9#+UroWN{Olf`-^UIBwtWKKez9a39k!o*!)#$Uz)i8Pr9zT+0&oHM01(O&qxpRQYEd z#5|WEG~z@WyW>H|tiFv5DxS{0S= z)S$dw;i^OezA~;Y3+|*wCk;?_^t&_4S+>T$)sEH53*zXh<@q7c^A0O4mak2a_!~ii zT>(PkS7Gi-!$p=gos76&lQ5g)a(YfuY6$B?{8$KWI8>d zde5y+YV?KuQd{VyOJ@1=HnSs(!425*_HT8nTiUz6Z`pQe*CZpgUFebHZV08*P{mzW z(QmBiwyhqJZfzG`fScy79TG>Irf?en^dx=1iG1jO>S(#&-`ye#Yy zwz25O*;iMs-Lt%r9~nF_e9eNHh!Z~HmaWpJ7j#0{r3akzkE{+>d$V!X;p5K7i$f3Y zokGts_?zV{MfJ6m-F12;?Ed#pitu%~zsfIidvn3bXhHu)#DfX#tQceVB!s?%IDA~1b?a@`Mq>M1 zUfD9+b+vVe9hyug6O@w5$vqGHfS3YvFnb)Crc~z)z z)PZ9JN(zS(`;ZVV+&kqV`XD(-lO@agUeNwR@ z^Ed^@XfJzPr_vliOfSyL;yba{j(+RmykiG{ow>j#rlvtj+?6HlV<&_p{!&(l1(I}Y zM1Iven}@HCr|yD0zZ%oC#=reC;OK7i%It#t7{(Mo-QVFPo*O*-iZvjE7&ew*!i0qBQw}|~)kt%jLg=Gz zf(N(YR+59&zy7KowpAgRBI`Pl1L>i<0lN-miFhCn=v=p<4=8bCr%ky?w0LpLCg~o3 zR9NOkq{0mMu5>d_R`deek4&=jri6Ianu~Mqed)-JVD2s1A7TP{Tm&^QM^eg2+FR}v&Z3C3raqS1D(-0Ta-Jf(A_^23vx@873r1llLh#bQf#De=~OH; zLO)Vd5G{TWpnlv8+8$VM(!dv7pm6BL3y77YxcMMA;37kRi6$RQB{flY^vzu=*9QG0 z4#?5YIDE&Do8@a**7!;G$9I+q-uOA4{$(7~ei}ycJVjYfr~U=b0KV;eYFa?Molph5 zQy0Y~(+Z+36(Ey1a~9PhJ?geH#1UFd+9gDa*Ne{;)Wep*TrqH5O@k<n`MpL^I= zJT}f5Ac7Ndismo!yNhuZqg4EfayD-(MkE(uW5`w}3oM8K_#A%Y+xITCJIDtuHr;b` zzF$f@eN*BlcrVo2sK^Rx%GBPdad8j#r|AA1KNMu*TzBmNg11JI+yt1DPK7hgI-ROK z_=&YqTdeTRKx5+%!UihV9PQ#+91drN_k1OA= z1B@7$o0`f$%%XTyHM;K6PK4jUFN9fI8=OW|UMc#rFeRHwCQCh}5-|p8xx?8UQ-EL> z{L_-^Fa>#PfR19D60Yf+PX+|>Y}M-#Fo57KuSKIO4@X6$t}&R1w07aO>U7=`yF@b> zs3s~$oZ+t`_Sk`8suh9Xe_c405qa@d9CTylz7slPkZ-41lWxVCiR5gzjzPeVpjN$= z?egJk_i$$=4AMCM`Sl@u=j>O#`mz%`=6RHe8jWlMCgWfL4+PRs2hU+!eaTofn(&o# z_=mjRa@7h?Oql%0`lxXZn;`+NhaRGUW~|%3aRcvrlQrK7Ab7MJ(#O|rs@lXzr6$D; zCZAWPj0L?Zf5%Lt*rxZRcVRo%701bDb~3a%8$CK>YUV)%=sU^auqPtaVUm|Bi33aJ zX)^il_lA8vPO4=uK?-!nu0-pG&rKTBSn-B8;3WcStwW2u39n06VB?0pDmKT*+O$Ye z&B&X8W+doyo!&qNf5pk6me#}6+x>u-_1`DdCnznDq*NB0d_=pgtt-J;rg_wreVF6h z>LhPOk-|VP-OlBlWa`zyb8_CrF1s_0}3~#SL5uHRjh(ZdeUb0m3Gu#ukLYA^= z6)KDlr-OyJ^>+Nq8w1-+8z??uWUX^DX~ZO!jS<$2?_f*;L3u@I81}ioCP4H)gj1+X zz@Y#Tbgh3>i>D6t4Ic9xQxw;3CedI!tukJdK071I^b0)H$~U1mLDs*=dLR^jVqNR?eR;AgapH8medv&4;yvI46e#En@MJ=TP~B zR6a_Hwuj?G*TITw$wDrQxESfRw-rn%8ga^de2gj#ue-sldh+o?hY(XWM9NRmXlwZ0 zoQFwQ1+I}VhSxwiOn%qL?<%l9J07-16CiCT>?SD92OvGepxbJhn_a#~mqqJz6hogu z((&f`9LY*GKp6*;_0u&WK%IuUyR`_nZenk5c^`FvEh9jIK6bzt_v16pVGa>LpF%;A z5($mW#(t+8do#rK`dLx*USh|Z5}*GmYXbtzZ($8w;-MpF$z0OlYuQ7&ce#C@dph0X z`L{Jikci&VN~4KECmUUO-xZ}B+OeWp+3jbN^jk$KrmmR;gm42y&f-aBRmmo~H$!5| z)&{6cc3*%T$ma&e5#i(3u1_xC5aY5(JyPyUhDBq0*q#rc5(vmx{LBCq5QzOGu4oEX zg+6>~C^RMcZG;_aih4C9s2rM{vs<9WM+VLO=485H>IW+kzXcsB)JG9mbpj5;i1fEVB1`|V&x^yF=o>mJ?V7=gV%KQR5RDhz7S)GvQ+v+Ge2YiGS?yk)GV7DKdO`>P$ zF+E}F@VzsBNp#bV@IfMtjhZu!d+8#%U*_JGiy=~eFB&I97mWK3D&~MVfmkcTMROE(C}ayu5g zcq+_Lw5*n=lYqy4HyqQC?}^~iD^$Oaqjl%>!v={YWiAIFrQpFpbwrwWz#x4TcfqM) zPktgVQM5v*GsztwG4~brq85(@agl|DjsjhCsQSw+%!7VB^?ei!@W&4-E&MJRu*p$q z9)1Ib!WB-ZOcFqYM3fN)S?VVEu=GYGtG5d+h@|dKWiD6|Qy24|^fF1e)v(83BsXL> zK@JMiA-tZ5BtXQW&?&J94uFMQVD#zdC!F@De&Dbnu8bT;Sov5RO z=8I=|K^;ylcV31RG}nkn<7iS~H2$V%T;K{iSDd+Pq7n%-PD~u`W{_(L7FKQZw4CIx z)crCDL`O*oKcK&c$=8O<&_ZLpO2kj^r$Pq{#{KGVB=l;AMXFzt+=NMCITqL9s;m(29dNV$aBloC}CsaVVIL10a9hH*YX9uvWIdMAdZt^WBVjgEAs-N z%%3y)>9}aV^r5OB05w2wPTmP?w=I44^|4O-EYxF-t-{X=Uu_16F=%ga;Pz)r;lZR# z!-LbfofRuBpLNK$_ea{%rVTy}p{4ntdARB3;aG@FsPm>FS$lzNG}7-E0xhK=Gjh4u zqNRXj{aBp~)BdoTdtW-H*GhpUSpy+bLuRu5(ToAz($C<4tZO=>IDe5h1%`aQ@=N;K zEJVgSN#;(ehqaopdQ3SU^)FwT=r!4dG1V4#u*b8b27l7$bVR%%fe*}+=6K@NtXH#g zhTF1oIwg-3A=9dPSmb13uh-!rAoyTG5TF;B6E!|`@bq)DQMCrQzRZMy02K}@U>0j> zZ1%4BbA-=*GHAnCYw6Y(Rs&wT(pU91*YHL#KR)&6?VjD1D{taWd$9p!w)}4Qk+L68 z_Ns7$9NA!vPl`cueR)Ff1Aa89ntpTlP3oeawr~N!Kpi2mrrJwcU<%b z+nC=hKRn9^gY=r|LcHsAZJfskV*_2?oUccIKI?aO39Kr;P5gGT`k|DguO)`yzCyn^ zbr)~G0=jc-qssrWv2q6S}SYTv26DyyV3r@4di;jeXpGB+>)W)$tH3| zz$h600d>4}tm~M#Y5FGE6c-sSMT@zl>C++sGek2p;btrpvNq)X`|8%@FASKN2pnc7 zUz(f2EFx9!zyvp`_;~G;zB}84dLIm`xn^#VWKu-p8Ar3Zq;&I!d6CgtS!M+|vyr?M zcI@oET2Vq<(nP?|S@5n&@FB#y<)mT$AsbaCh?Ib;_%>RnVm8Eh;0J<_;~|TD+uu5* zWwaFbe+t4~qq4uP);@i=yHJ>iG|r7uMUM%yM7OXA!mYJ}R1RJ+gED-ZcFJz_a_1F8 z(2O#R3Jexe5d8}OCG+?vKwe$EoMFN&WOCS;C0)*aO~}~$TZGfoJ=PA(*V^Q-=;rjk z%f=+fyp|4C!^CSMl^7>R^j23I7*s z%C`nNzu8U3k&B#jedBY`Wl8i{c^lIdLWy0Ai9`0@U$9C;OyFX2#^nN_t%S2MF^jJD zj$pTOf7&$+{c>NhB2KCIih>b4*aQS&WUdJlEo0b@>yy;LSINE;LM4o#{vIM*;KbM7 zmNQkMQ;F(4_jSZ<0Be?=hD#tvL8{A>)wDJ4Q1#3>xWY4kQnxCdblo3~yFjlYeJ#=< zG2-jy`F!-y7!A2T8tk{E;`Bud?6rxXk@VZ=i!(1*W>~Pgpeg5YJs*j6a``%^m=#V~GO}m|$ZKeRY(6K5<)pXG-|LKm+bL@Y?*fKvW?&h` zKihoSq(jm5Ja$U03@!OAl#pQvqnk^Pf++L&M3A3Opa;!8Qf}cb4Ph!hfW=_{Sy|Lg zbPEqs(4geZu>P}T3eR+~Q#BN$d$c~>a?N()aZrW|Y$CwFxa&SaBiaQj)vN2)Skm|l zv|$F&*7KwksBCQW`4DQTo2ZM*;>}x! z-N749mEljRd6z>Vly|VUC1yJAWLtrn)xhD1yM=7bS85M=#gr4A?HNl{hIyq>V z$qrTedfx^>7KQG_Qn5Rqn+vZnjuP}1^y!-Bm9a<{&=s4Q6@Yr3ziEW+nwx(RF=(8bA z*uh1RS!iV!$+op8uRu?$FUv0ipF54X!aCdo^o^M^sX76+RRfy5s*7Bw6F*|LbC*rT zpfLPx4ou5%lNmTZh{tP?i}_m;N)8#v{Y$yu^ds+skDPHXdi)`>zB%t|Y*}P12@7u{ zB&Er&xVh{YiV^ex4BO>-G98U1lN1BV>aq-;MkN=Hjn$?uZq3jOf?|aUnKFN4 zP`eF3(oUx7F6WT$Ee{C8^3WLMGR*51(JM^I_kr2;tw^pthpPGlFCN}U3kOjeOa`T! zgP~|FuN%h){ZJ6i_ph?Nj05N<$B!+a9@>0pmS%F49m2_Ihvh#p$WOPTRuQ;M{n`xw7QQAM2N3;U?)Q6h zstQe*61iW%QKG@BOoDG5e2iiv^gN`@g+{I;@0FZ1Tezx-ot~o1tm&F)%kiYMQ1?c> z*}e6ElkRr(NsqiObr=_IX;*b0VWLFrxFd+;30OaRYIz>p5_{YGWJmhm=F$8C2yQh} z4wGTLv}hxE2111(g@>oZOjH-|SUx05yO9oz-VPR4b2Fn5ipxQt8`#nxwezkdSAG%g zbZ0X}i}Y!;{NQ353P<{7Ma9b9D&mIW1Giap=LqjH!8392W|`=vyTE-pb*FW*)4lQv z@=ea?XULBd<&^)s65yYD;Ma2S|DzD#zx_DiUj+gGt`qpLg#dqj;r~((Z{q~~s~Y&< zwE;TJGPWkB?xrUHR0*g^i2`|8fq!acUkU_N6%3uMfPV@XUh3%oE*IeDWn=qyxxmuF z@(&dP5IWpC+)g1Y&@l`FfesP|8wME!gIz1nwz73EtPsfG0f0-{vn_|a>zIn9?OLcl z^z$sneX7__wQgD##_-$TEZUrsAcu&mqWl#p*ss*AEQ>u++~Z@5;>#5?{dqwpAadcC z7CKo3Z&*U@Y|o{Ke;sT$hvyGUWrkqssjP%pLV|mwi7$n6G}dGiUQaMAToev2p(>RK zJFVC-gACsW)4&hVg+C{eq6Cp{`R(@MsW4>3&v*4LOGmq+6imIGHs0i9i`$xAfSqc>bSyP|`gMoLv-n@c^DrP}u=k4XC3l!a=yi;L?4!=B1qx9H*p&A-VdHu@wUY+oxZCk# zhJ*lc3^K~j%7ea*Zm?F;z47YuNUXxHRdAk35Csv}%lHZWd? zvfrrqqZniqTbi1W&R`wWeL+RUN(rdS_^ijJFNF5d55+FBiDQ(v79bs?dLs0Tg*xQn^AfI(Vl=CwzlGEcENg;3z(jl*f zq6(AXJS&eA-6}yVl#iB2Q?53{k=*eSXc*_vEmqah-;^0COtW*aLlUK!|C4YJA``t% zHZ1gWqbsY^B$LdxE0a_rX~@;wz5!zhnW}TS?bck*GJG-Xnic?S_~*74BXOWGRJ?&D zPuTc?)gnZRdzH!RPpe3R^CmD&SjYm&D8lS-UQA{hlGz)DUsLX zegE04^hq$b_)@JARhIeMAY7~c}R&eq>+MjQd&yHAXibL&$Rg+YP%&*n9W61w?w2?-yV zmMAe4<^_E15>h6FR3hRvT%yoIgL05}S$Ap^Ng7K_2mTlKvd+6-o3x@U8GHdydv?1!uEh6)R@w zj=obNT}-2F$+r=BqA_JE0fcqxVmQbv9iY82ty|{gr%?PYOE3&vR3@z|*YUNS9Uw{o=$y#|3_!H9gVnN$6+& z=0!)6VF9Yn2yX;Z44RZKe;}7=T*t@rR8$H3gmi)elGXdo z!i42vjRRs(29V}-I1YDwQ9#i=imoSG*%QKwSCZ9819Oc(a83!F3+bN}rJvv@%j!fN z;oiFM;tS8N=KxDAVieN+uL^`oDoz{e29Hp1t*ys&Ds{dtOq+h*<85ikfw&6sL( zv=FEFg8_6r^hc&adgG1QRlANk=6EL$m9?%gzpyy)y`C(s&F0(ahX<;_b6Q)mBat6C zVUVJyg8G!3m4uFrnKpl56xMj#&=IPBxeb7tRFJ93lIn@ZFeRFk1+&ult?p0CkG4>l zcSY#Y7J*gTA1Mh7T6m57Df&SJwjkEyRmT7XE2&97Duo5?kClez)m)M>$6$u&fPDAP zw*u>j2=7Yxyq6>t!toKK{NM59e z)+)*Isgc8{M=8cFR)=pm#1ttrd^48caX@jI=kq$(SA^t#LYm68CotD%xK(x9GxXZUPO0w$hiWO`$gw+$Uzkk77G8mZV`2{SEj;y7n z9W7{#Gc%y}d>0hu40~20u1S*(0gYFuYL*M(oS~{SSf9Xm+!3zbq(W5MeIv$hBMfTQ z$^yzcPnn7Qx5k^rO1KJb&f=kT_*5m)Ga??^+=30xqJun!>WX++YtS#^fcE?6;(@#EyOffRqQl_ zVhAB0!bQ+Y-!RD*3p76jT*7ukc&>d%){9>!^Hfe35zB;sJYs)qKGbj~< zA-?hCeae00)UFQm9!arOn01x7fPVGo{pgMfW}Q@b8;xE?J2E42OIT?kL&n-MF>2Ow zwmYpE%a0MphN*{^Y@UorlbZ(d#t4m1TnmP>EYAg(m`QP@C;8M4)s{*a$DnPmip-z& z=f$H1gbLU-_Y_d-so~3SBl>)~K8+A5m&@1Jd{Iug-9N7Qvg-RBmVj zgM~N+H*Qgz^l}~-(RDP*ZM?|iP$u!ejXwvF8ypY+CLu2z`_X<}XTyz`AzVTBK47U8 zCj@}461x^dm=8g+Kc$|3gNNK(Z7GV!qoNdwKjH&De3PF8=>h(v?uAG$hKvd~EubfT z?PH6ic#n+W1;#pb73VN(IHqJ z6*FuN>Dl#p)FEJwW#qf4-vn3Y-nkF9^u$!6m{&1LT~JL0peb4!;i-)HD!n7Y{Cf5Q z29b>v&>OGkCOX*!3qx!K98?`dk@XLclVtHhJb3DAeTVI5)9X{mA5ag7nE1TgF(XBa}EPb zmup$#KRjpEw#A28@xcD$bEFhH*X%drs7Gm1s>4H z^6iRnekR(Qnm8$w2?D-C*y8q$`ES&Q*mh5C;ab1wVW$H3$aI|{$Fam&uuvaIB@uhU z@(+88qrb~`;20Le+85M5k_$!Sjpv`&m@v#^kV?ZbW5(b?fjUWT-@|ae5h|R&8~T7q zmm8pfiSa(v0j{|fsi5i;lZ%3j_qf__4lBZaV*;{FfWv8D`kB21V9xmN&Vm@m(1%j@ z)3|j)E=(HYfIVjD`o{qQa&swWLsg$}Wr5h%FxW0cT@D`-jS$VyyZ+!fVi=jJB~!9^ zqOP7x7h=nHetr!v5~;R_4+y;mYMpQcIB7}}Gu3Guh%_9tPM<8R(|!le(vWa&XbF91 z=?nyk_{$(KS7L4RUEmoPjoY6IxTAzX;@h@L1vY+@3`Vf6AqXGYgG2bu(y&+t$KEwX z@(~rES>`Oi?23tF7VjE=;B7dkL>emyQJ0Z3-YEZI1PVlYwBXW^xzuwBUKd_~04I@v zJcxp4;BWgLCk)GyQ|DwSrMuW@%!|fS+Ab{4!X)XM@zN}#cGd?Sscpzbz%mxLRK}Hf z;GgOZFvK$yAT;wowEU1EX@JJa>4wuwix!% znyXHKg8ew+Z1CKVt>-4UVxMpd5dN_}sUxYZ$dMdmTQCS+Qv9|o@waQwbE>vkh#IyS zAKBvj!H2amL+W6&>DgIzrI4mCY$QGaPfU6-Ns#6-F55x@Z!Uvxf(1{dCi>i10Ts62 zcQ)d^35xP%dVR1>1Qr;tQP?_1Rx;Pk6MLrG5H(pJB)yexxj0lw@XJpVR1zEu_apd| z68tX4ZIESf^>jbW6U30>nP^EM^1)9ZdI-b~P4vyMQI1uEC_xV56#Bi8Z-9v3jiSN9 z)qE`P!ZBB@*=G@SkotMr$TgPJs)0{YM)HraP!Pvi6N;(jfh@2i20d4M_8xaNwC3b{ zE@X1I;c!Yl9A{zeLBG$D*axXFF#G9I@+LL1pC|9>K?{0-&56{8;^4+F^GK| zaQ0(>ZA^b&>k5*#vVxca-iKRmW8B*73b4evNTc?izhv2qfI$3`z-85&w2^Q;C6(Cy z9R>2W@*K}5r)gQDXlY>7pi{?ZpUr1n_;0l6_(g5!Vcgpg)8FWjIR3eAG0S}nOXvEG(O!3US!`<3MOMwLkSmVA=hmNJ*;CIxy-nsU8` z{f@q|6glvo4Mve-m+KE*GMrzfm4L`)tP1%_9izw`S$L*k*4D1Okahz*} z^DtINAij6BVz|TEuE3lW_gQr8J7MSbc`&-II7>MekCFy&xL(t7`@jTUK1qes^v!bu zmJ|lp(uu=1h7_zL&B9m3d-ykH=h*d0U{K&~_7zFU?34e!wH}(wDQ1VkiT4CK>;^rj zcd=Cpo2O2CywtXEY>?y8Enrg(1JgN?%QA$5{05?hQ{Zu_iZY55Q5`(`{lIe3|j@^V%QWYfNWmByz9oLy{0ea&&$&B9;ewmpclJ^ZDS^{@v-WK><0&EjIzL8^!rV0)wKqKsO z+v`WFc=(8+Z@o=joXBEp>igveZ$GU!cQ*|uc&w_jt3;K}Pz$6rZQ=gg;Ebde*(Kgw ze#fuWQ*sopYhYox^zyCl#|!V<(HGlgKdZtT-iXTa;S_df`BC0|Q!I6~L_E>s7CA#n&J<8U5h~n8@7?{KefJsTo-^+KbI-tEjFuK^uC<Q^*x-;(vbp=T+q=VV2ja{5d%zJHLI5=sTeQVDt=n?yiDv zCfh43m*irtXW1GLGqGcQ$(Q`8J}rN~_25=he|_c~8Ab=R7X2HwS_6*OhMy&FzT}gl za@Q2!26WacWwK?r6k|}v7b-GOmd;OGIpfXPX z$2|X4s{!shzUKGx0}W2trXGGtBuNrw-`kPTfmgnSzLQIsX}YydH7Bq(S>XG5JrYe( z3x4$in!{e#+Y{Y1_ccCH>0IKnS{xSB)%3n<9FnRnDYN`9KH5raxRy~&s@5TMZb#Oz zQtPvb_u6h;)X#l;#fWZXz>p}T{yB)RBi4_skvXixqHQK zAHf2eLv+tAzAzUT%ZR#h#lYJ7GZb-a3p3<%M+qZ$yD4YmvZFm2YoR9%V~JBtkmoR? z%7IyC^|?)S*!~+G5&36H@K5LR$h{3wa7et@fKXd=sI$#euk2LH^$s`2$}+m0DTQ-t znN1k-ju$H%uE{PhF3;^>&00MU(_kG@?B!<9(Fs+3_WbGHRE)v;NB7>AAa!k(^}AEO zatgSYw66;1R+cecW~lp1R}p$5Ygo?)sA0dh037~C3E`=!@#i-5M=rxI6k*anX<(ovwWlPbrR3L<~z4mBqT;>xPFtKKbPSlekB+3 zqnGB6aFNoV!%u}*JYiBrq%+qlD#`npM@qkcnPuA_Yjx62qnn<09uO$i%UsbE--Mp~ zNOt4KQZhHo&{&p5gO#VbjyL8V3( zYu+^*57QJ`<$E#xiR zrJN#*c)AZM#EK6~H?t1&u5r5Gdlr0=B0ZGV*GoLz0RAiW&iCSTnU4Hd79G+NGT#=s z8S_S;SsaorJFnA?;%!pASbN8FO#?4J$0X-wqr-KdeHNvh!j_-A6-}_Y5JDR}j$>$j zKSUCN;Xr&TUcjqXyASkmh>x#WT=1i{eR|>UOiR;CT5nIp23E#FKq2Z-Niwud@OJ32 zz)5nYonZ?_LsgcP_j<@iNRM(LG)9yiq5p8iinjXe@0AC# zA3Y%B*F-I>C?(*KO?Fe0#uSapw;Id!sY{LF%H6w)!RRKI93v;by+<07+HLQ4%ae@l zXG6zslQAd8n=sIJ3O{v2=&Ra=`g6Q-MX}ZM|F&h`FYbxAcH-0X6BfNgA$Sw!Gy6DU zLbhi~>s2ggp<}B7)5Nm+>mN$Cq5e1D#Ady8e^@lFGoaD8b3Jt>1bSV(llKZ)SW>Ea zk+JlP8)5nR_gcm0`Awt;+ND`TLvYmZ;N}{$)8!>kN`x5|yWGvq$oxX2xZUZcS0cu4 zU#H46b~7ry%J{inLp}c)$QM(zHdHcCDH~w%q?4I~cA=M2C^?^Uq+U%NO2H)MSEso&3Yt$<#I^AYIGKOhP}-0RkS zW7Gut%Y{YgsG693A2RsVWI`UCS}(L0xQ2OB-q z?AW!^uVmd%xWDL^7Elscopr~~y`U0r8k@IIdJ{a0ru~b_rIjZ(bT#K*@tmtLwY2zA zt2!HG=SIiKD^sa&zq{n8$n`6t;(Aw$nQSQxCfwgf^c8$! z@ss?x!g#XMvt>8>&d2VJ@M_A91jvW%+eJTKKM45h`(0F+5oRl9N-B{XP)p6M3xSc> zqzH}LY%%*kQd^Bx9eExi|Ko!5`4;Ig!GkAlDSpP8=kh*%ekLaQ6(0gwf4$ur(PbF^ zt7z$|?f8B^j8P)0Z(Xt}?n?W+KTGw65Det4!mOs=$IT8D6B}j8oZq0Y6lZIciuUaz zcdwq)e&wetc^AI&U)iW&RF zrrI{z5E^TFO*ZpEW@529ld8AP8uvL_vQ`@!`}f&%mTLY?ET5*4o41bZ2FGl3UcY$% zDyNuU6C&KQX!rHWNoU=gPZ!l5A=Ed z`{QW-pRV@v2|WhS(fN;2K6pqIcp}XIY}Efho$3Ge=)nKg%l+VCVgmgCOXFXjm)}saQkA)}X-3nT?1Oq_ zbF1qXZ`^R)OOz-D66@suJ#;N`aNT7()yqCsl?CW!^!g*jnn{YTB_>RV&KuXpt$fXt; zmZmpU}x z9!4CV{_FO|=}$Ujsxs>uA!iVcfBtB7S;34pq_8it`ds&fh88nudjR=jXS| z#dz=Su<}~;2z&0Wq>MXjbGc)mUg_H(JdsvZv6(LedB7x7N^Zoe_ zn9ILE4x!zLh^N5LV1K_Pa%g-HW)Pe`+^Of(ttv2Ra2?L&PyL>mK}AhX7{-goMo9*k zcPH{&4Mg2z=H_au`Ld^d(&qwtt_{+p;9L1?c+5Dmp{M>ZtuAdJm?eSM!j z`}y-DNjhVpZj~>3#s{Wj@nO0S8|+T}NW!$$SKt*k?zBW0&G7yQF+yFU=-}Z&9a?;R zJ%>@;E1=YPF_*Yqq+Fy`Qfh^v=C>Jrq;jw!bDY6vJ}}dO4!cc7_P9iB$27$vWt}*? z5*EX07@lId%}TMLRQ6_eZaJC$8kq;~lZ=&BfKsB+6W6Ij8+tv%OudW=O#}RrE*b}i zw>?tLoEiGA4KIymQ_DZt+PtzA=7gX%H7w!ghiJ4%J_#=0oW>>{$?9>{ zFiCli>Wt#0qnN~`CN1WO&Op)4W}wtA3A zCfq>R&bFxQT10g8e!?2Z!-sn1mL1#J8H#!Qo1qo6u9y^JT~Yn9=OSCIv;qWdjU))+ zmJSTv5Z)inv&e?s#BM-u&lO#wzb`C&gb!zWah1<$X(L@atj!JO;r60nBFl9MPay_= zD>S$5`roU2?tyGKpGJ;`&2a8;0C|T0jiiT%sAwy_dUvboJbFEi`tFQYS;K7kc?kC- z~r55^{YF&!=pB9X*tt3ia7GhV@{7aTT1Z{7XS+rr1v7Iasy zTp7vNp3Lo;?*Eg_XR`-?Leb)8(UUxwW|p^Y_|5jHlY5WJ{UQH;QziM|pW|s7*rXM7 znj2#^ygOSk%}j^=_=*B_ZIzr=L_-r+ z7y!vt%d4=PJUIPW2p?&@zhH~_c!L)b<_mYYa$}@bcW0+TojpFPD9cw6_A^y7hgC80(1!Q4L?#HrAa=)sW#-87M&b|HkX!S= zj{sJ0Ti(RT$Vf_RX~yT|xjKYUz5e6>ScrUs`7dBAi5tx=6d~v! zd;5ZuppLGVM$gF_c;R~=q65ZXP1FhQ-Rh=>33O1PVVZ*D@7LO=2EIRWmi0^Z?JHxQN?iJ zNEHG^1np+(L5H@C>Fwr|@?zP$TThishP+8j2v3)8HuXRL*xj8E)Bkoqi+ZImb(`1u z5vj24#tr7KmkMHsuLG#qHT-G97(}Ua@g7brti)?e#$6+Q$d+(|nrR+df(&Tj-Jeb9Wo;*0fO`G4vb9-+So?G52b+RW}leLin@~S)qcDR_2isMB|Z-ngDVJ zwi_4ayxqZHm6`X@irP1QiOvJZFCr`Za*g>Y^lhJfal zAYez>E8}KSI`W)6*!1x5u;}62nyB#Vo$}x{?@i|S>cv8EU$tZmw5AwD&3hB~JF-$> zxDE@Huc*^{rCrTslgq=saZlE_ytcyDIMg%e?lUlwQI=W{$9H#kKVC}`g#~9mi~>7w zX>k!cR{cngAD=)AHuq(PfR`yxoHXJx3MMN9$W!1}!3W)d<@i@=6zC*HI_3Y`7POzZ z&B8mxBo*$yV(jTDr4^pN3K$aLT>+hvy4;OCd=immi<QcR4i`|ujSa=Ov3lhT#Q$95Bfvyh?A=)9(K+}gxH zCm5%o_v5bF$^f+5}*&Yz8r*$L~ZtF9c;nX6SAnci|Yk#7FjDc)ODrR}6P}RK5h$P0-1ikvOXtxoaqJZKsh&(&a)YCzBO>Vu zFCU!?bSS{&-~n^1y4_?YetH%yT?M-M+o|fyOreC8_asb@^ec_^IwUFFRwf$SKV6O- z801Z>YC5-!G(7CgD{_Ht1a7}QArF%{(IaA|f^l1QFnGzs@M^GuH3Ja+n2s3=$iQmy z3FAgzi4$4^KLdlQ-D-soCOqWkhPH<$85Jh`9Qe6Xh)t!c#?o9QB~>8x@^W9~>$Vf(m^GVV0GD_5=@FbO@j+KnP`ldnx|?tqW&ZCDpj>+G}PN8kp8zyUBq zWm}iss2rpBYx;xRdxCXxg0{{k*=whahIzB6yZZ{|Ed}L=>w>noK;?EqQe0B^gSnx{ zdBHZdNcOo~D+);LL)W-CtBwBj(Y0Zl=47zHs+!1Y4-V>VM)DP=;3g8s3pH0wKxs@K*?nAWacM3`^Z7F#rZqHuS3yC<71 zV2f@kV07&wLib6O?Dk&<#XKl%9VwW6PLWP0f!j_8bWABuNO*{L#&dg?+^82qI2?Rj zvaBWgcWHUo7}b z^1ydNB&u|g%?<2{k0car(J4X>bC#Z-MG`*9{LS5X%?60$(9fteu=eciHl0yL>}toc z<6fnjsAnGyC3pu9+Y*|&*bPK#$11$Svi*zq4-O0%!0Tg1+xMaa$iWe6`MBAa<5X{D=(|{PczjGo&t#8!RBLeZ#S?70aX@diX&y$&L}o55 zFT;e6(?#~zq%}n(Cipot<}{$blbaTZG4$#(Wz}($Ul6o0UBP)B9F)scm6qddzCwGL ziHjjI9Qv-I73cq6v%`~W@CM73^PSw}-Z@e|>_}2i{_4UV8pBZWi0z~m{0X*^&{iB@ zvHn0p17Tbts$0=e+ROivC*9jmic`gDd{b4Y4~p5{o$KWOB^*+R z-LUdHrteIxKU$guMHt|e?PJ!kB8$H`iiC@D7g}#rU)D5q(s$0=QBY|2-s>nbryCsP zonaDQJ8lz{u0d1-qAA}jCFuLu+S$|7Q_VwBu@?vddI4*1bGwXAwfX|Hyqv*I&}Wle zg4@HE3sA)+(;qj3x(&3Vs5y0`*;HpWc|(i@$R99mVE3H(xgcG08hOffC-X|S)0G9^ zzWo+7qZ4&oWvrY6Jk}u@-q!Ucy3otz<5Cs1!VLkt8ROZe*7i__ptcjhKj#Y=MPN%o zA@-IL)x(tF-_?8+?VRI=l{(ev{21U$)= zt5*Ri6Xgv>?j4S-HeAZN@~uFTeM%u#S0BEFFrhSai0__BhY^U%A&uOF?)&^?5F)NC zKR-XXySu!+{AEyV%W7xe2xy7Ri;JMrgtXr}e(c-SlD)Kz20|h%G@P`dw#;P`y~MpT z(qIv&k|jbL{rGN%tfo7H_~VqU$;RR8&^5%;IWtgSNk93g1)~7{uWDE(JT{pv0qWH{^C{QY~f(gBw)LiXnP7h_w6gsNb} zBCuzb)1{b1oF9sL?^zz_Ng5Ub3A1`fJ1}?HMt}16F(CWI`MJ4RYIgMpgF>*MX{V>s zsPS#dzCPA@^;l~@!TynUt#{O0ufuRfKt)1DF`)ecaqr>qTMk3RkqGz)NxD=O*i9>> z&3#)T3h{O*#CtBCk zNelvkwSI}#G;mSSL+ab1*TEJZH0P9!k#Omp^T9&O9T#(XN!;gJ0y%XnXMC{uo#&r! zWY%sClQq}-<%CAQU;f3H$si%N*8HUZkKoxOwqa}kBMN5cM_af_G^vt|%+Xv|3AV!P zp~RQRd^&lqNyU`M;`pfp2GJl>y7}90;?ff0`9zWOCMySv6@}JgD{U&LqogyP6bt`I?YuBM)q^`@hcJkX>jofo~-U%n)RkNpuOXMX7@uI zdFwlRdglM7*{-PXJ66gp)@U=jB`x9{Y68_9u2}+2m7GrOJN|wWkc3ng4Rhed^Ar-n z_e@i#-p+HP$(f!2rgdr)fx;EAPQ^ZYsfSai{=pU!-NgrF!D8=-8+P?X9?9y78ec2C z!b+h}n$)cM!uaB;Oy5i;5bmQ);aCuf$F6?r7F3Z`ne%8fVGmV!5s& ziwqiA6mP^lR7a>T7wT5pD=11-1Cb)CTP4mrC}g?)b!D&Vb@ImkP^LlxsMMAAlQY;= z3(%yd$~}VKIslF20P{7>+*!~pU{}jlYXA%VOH?-x~c@lCd)I0Jb;E85A zZ10w|r;OEL+TS|NXZCC|S~5{!x{BJUZ{7qlr$DEIrMJDS}JMBu906~ z*ssvPPoKbtx868B-_h~t(IeF?MW~0@`idv$om@KQ4@5=5iZiuEeOJBsi*@h52QeQ&@FRO9BCPyxffvHxf(@267V))kV*_8=3i#@s&SkU zekmIfB(vhpkmz0kCqZ>jn)<8ar>Zl zw*LHez#xME@9Qltjt72n5OSw3Lpx|_XlP{wSR#4Jisv-4)$EqK$Nl{L%9gwBeAjc* zan>V+7(n{cRIdR6jrAtdAiF{RT$(iNOcJ5nDXhdQB=7DQPS;T|$dXkwh8yFZw0q4xrYLmT4Vi;bB)&n zeQ*@(z&xrC8{At(ZH-4p!Qn?eg1l1Tv;?F>=mdSA&ylw9@bF599X%wsGf=N06zbQd zOXTY|rYcS!FGpID7CCPoxH~Tn7-yuc?5o|{|M~GzfQqW*AUfoh@KU-G;>4aX+brGG zoLbf3i4|{{8zyPolbwPC&?7R~gXsnDa%enz_6%6xaWh~={b>^(JE+Xc7(u7{bM5LO zhQM>>=iki2Ao+TeXt?~%lK5>D_pW0iX}eB6FGFG8!CRHbrxYY>PV=;UKPkUq&Z6ds zbDxPR(5*{R^!4}DnVMP4KlvYM)gq|i6pUhr$Mn$FfL<3^y@mJsScwVfrh&Xxz)$V% z>Y^9)HBMhoc%d0THRZil4owT-fuXCNQNBoXGYe^W+v72tHNo1IJ>f5)O_S09ckFgb``FgcgVaf7Jm`MD zfP&NU7kw#&V5Y9Fk3wI`PSAIPGH^n1>!yB@PQyW-Bi$;r`sib%O@@9?-)+S8*tk=&mtzKFSHKIvY@ASpf<;!YXGXzd#4@A*0nEWEtD z@sTf^lpF`f6NLm!N6=fT_B1o_ES>7WIFaFd6I$!`GNd7dN!cKi|eR&u9A0gZHm z?iY&$!rQF*ts5b`A6I69gC-p;#9!DqS)AV65c*F^gptrZ7_0_O4=DAJj|N4gKH`XI zfQxRB=zQ=LpeI>bS&cv?MY|LR7M9yPAxjt8(*h*%pfA;yYpsGU(Ha!1R_N(*yE_kT z<x`o@@{QB-U! zjX_6mFJgV`)mmzMc_l zNX9UEG#>`Ei3P)N!g-QYcCza9C%f2q9n_nBZy_~6^u>8$x6GaG+571dw<)U(0QWZU z(UllTbt(de0WD!BQ5d75IymQ$1k2n>Jz!{hary;tkD;K=In$Yz>q-z7%I286k|tic zO_y0H4Jg6hWs5M3SNS(2 zxC;hX+17M6##?m@yV@Qk)=;sj6M-fF#rfM$myi>%Ctwp({QR6x2FJ=h zx{fe3FO>Xi;vuk9`TKuE{50)qgq0Yaw4S&(>oS~`M2KvVoFz5T83g0&Q)wUcCbhTrN2f;bI5KQypRTQ zJ0UszdetG|`>6zFrcjBmiS@)E?}1^M2!YM=BI~bds({e|unI$YLIAL;r{w9Fy$C_g z<}ueHL6ao$%%Q2J!{M~pNF4Uv-wBLrRO^h&o5Gi{K2HaeSSBCb=|twH$2YCOQhuA^ z8hofg3T(&B+IkIsp7iR()_YajdcX{QfSVcUX6S`40BQwqomukj+ndp?X`dAEcKU=i z=KNE~)^%gZWq55^`RNXhHw19nodli`qhbc8O}dozL(ER}`bfLOc;1>GrJuL;3p4-311vYDeyQr=#LHtNM!8q#zpZz^da9eqiJMqp@zBN~~#Yd60>%Dk3?? zy$ZO7vEoTqw;#WG4OjsU3F4+tj&PK;h%4X;ZhNLiMzfhcD9t>BIzZN@CQ4mwfIVn$ z>5T#VmrWPpXk7h7?7$sqpj&AhqKor^x7n-<#)A&z&Cbed(blaUtEa(MlDzWu2XG_} zfKFR61}2fa68xR`EAe*#Gf$8pu5GoDzGSQhJ~H-Vug~dNOi@9j|_Q2 zIPIYg&f~i)9mOiMG5@zcJyq%B1;%l0B-jSQIebf<8)~o+_z3;eM$pED`1sTLZ$+Vy zORrHvCAL7XLd25?h{Dy2GS9ue6Ghmi3vZ)2GYlA^AAKX(KQb78VybC#$$g%iL0Y6%s05iOruD)I8rK zDnnoXgKqhGpm;nb`cL+}HM~=aKU(UHhUbJ(HK6BBuF}%lj22!Enk0lvuj@PM&$(qc zNBF&mPLv;IL3joa!-9gU>eG8lOxn`|nm>VBE8Kfcz{c0>W~f3pA34xoV$|Y|?mGjZ z#uF0YZN9*A+L2Egl9VCbq##e^-sS1Rx_$ja^{=-4@pX!^Er<4=#ku z##l+4;EZF(s;tD(LfOW~1~&qi`*ZcXVWh5ok^p{kWfr(Ipd7ZqtAqyKH?-`fq}l)n z2F{#-%i11=RERIZj|Oe+Wf*PEuaxAZRWQ;wI`f&*2Xtty*RQX!u!eT~@mTcMujqD+ zj|)>&p|$2rUzY(Bjmf*ZnSY<&uTd_#ux~jh3%DP1vYZB9@z@g6SeLfi2a&DxdT ztrITm>7`)P0DZ-&Rc*PLJM0w^(Nz7sj+PdllamAF5ZNIAT5~^A?BqF^3AAT%0AI>{ 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�BOuxYb=($&eLJ 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 literal 0 HcmV?d00001 diff --git a/x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a.png b/x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a.png new file mode 100644 index 0000000000000000000000000000000000000000..7c121804e429678117794efce2a8494c83d2d0ca GIT binary patch literal 572591 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%0Dim(&oK_$nkWwgcQXPFC4mq{8h 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⋙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 z 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%0A;q!>!-Fea?3wlp~65()r|*Qw_J8zSL0MF`;1 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�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 UT{e_8cnRWry85}Sb4q9e0AwC_qW}N^ literal 0 HcmV?d00001 diff --git a/x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a_print.pdf b/x-pack/test/examples/reporting_examples/fixtures/baseline/capture_a_print.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9036a87c6397c61096f220050e539bc68c6c4159 GIT binary patch literal 635222 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

p?AN-9J{r2VQM?Y<|7OA66Hg&bB`yyX>6XfVSo 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 z

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%0DRmZ?{Hf;HuKzUqG1zFTeiQL} zbZkz&MZ#_2cxkyZuKIILz?%2lGab{kn9i;O~ z!i_WhC^<+4-Oo3nUp%+E#Pj^KcBa=}+;Jc~00)P+R<|cR@P5HquY)L}XzF6tGuKuIPLpeSh&@ z!3sN}IiZG(ttq1ElEMrvXtJ|-nW!W%$u_zkbB~>e%Ctgfkv@SGJew%=h!!j?1yyil z@;veTg7HR8GY8Vl=KE zn!36M7FXhwac1Upk{fs?8(p^=*9k7{llWvg*{?hT=E$1)smSVMQro;T)Su0m&7Z-s ziZWpb8u#ahHT%mCKPRkKbF}<>{KYZ?X}gC;Z7|6Vh}ZNjCP5z$*)j;ab!2zQH;(C5wgVxdZ;*#kQ0el)VR`zb6!=JriQLZsMe~Ld z2+suesepZ}y64cf-bgd+{~U*c~ zXTM(v(9q1j0L!=3gr8pPcwvz$0T}{KD?4X|(*w7|U9M1HhG=cf;S`nTY3%21O*SxZ4M{C`BAj$pp zL1AA7APn*!V~b~-o1IkN^ao^rC6hRM;}7&tx&3nny#uYfTAf|)R|>@b^1jMAaS3>9NCy^~VwKy~+xlNBLx_=-Q)Pb#&jX$^K0=136$2{JD@ z=OQGT;lBNX^N|@8QQW%SUO@vi3+|rlTrc&S9e4XXfBz8)SGE9;;wf7oDuPNRqu)Z9 zy&8!aZEWoiUI9^#`*(_lh!wWDO?s!BYmSO30QKPUwN`X=z1hD5pe^Hi|Mi>s6z74h zoqdsjo%sc{E{*JOB2J=S^yPDYOEb$B#WlW-fAD3tLtMQoz1?m<9DQ9`ihsX0qc4$* z3R{X=#CM*Y8*DnKqv-)-wPG%upBYz_DG>9Rw9p>F{1t(MfIk{x4A9AI#kd^n)!P=j z&nZ)$?LAY*m}9husrK#{rzY%8?`k~`O6Ri++I%EG`u=iU9UA*;s_fdj&3APUKpuVN zy>8fJdw}Q^2VAi>HW_ZQu9&K;?%Ur6#m8fP zrtD&SqYZiHZwxt&br*^uXh2i1F1hXo!k?&f+61nzuK``wYx`JR;=wN9`u3gAwZF`R?N4>}>k{;O3tNge80kau_9F3! zu2$3$KG4(4bl{1Kw0tUjKsEuP1sX|TA982=p9TmgV1DdHz*nJoquw&v`Z_M<)g{)y zsE&;f&%vg~9jKGkmu~a#c*DqeOaYmH1>^|)^|EYSMd_{~yeR3Sy+O- zmq{+^f=;rw&I5QqH;=D7+Ir%0M8%qvDu~5=7h536u_G#x+W_w9{%d<+)<*@+3UFeb z-F9)TKi3?Itf+7lu}rKOaBuKgNL7^8Mp_e-R+^FFJUI1pYlw;MKpc$1n8H z`|<+o6Z+?UK_bHc+5zwkub8>R02PV { + const sessionDirectory = path.resolve(screenshotsDir, 'session'); + await fs.mkdir(sessionDirectory, { recursive: true }); + const sessionReportPath = path.resolve(sessionDirectory, `${name}.png`); + await fs.writeFile(sessionReportPath, rawPdf); + return sessionReportPath; + }; + + return { + writeToSessionFile, + async checkIfPngsMatch( + actualPngPath: string, + baselinePngPath: string, + screenshotsDirectory: string = screenshotsDir + ) { + log.debug(`checkIfPngsMatch: ${baselinePngPath}`); + // Copy the pngs into the screenshot session directory, as that's where the generated pngs will automatically be + // stored. + const sessionDirectoryPath = path.resolve(screenshotsDirectory, 'session'); + const failureDirectoryPath = path.resolve(screenshotsDirectory, 'failure'); + + await fs.mkdir(sessionDirectoryPath, { recursive: true }); + await fs.mkdir(failureDirectoryPath, { recursive: true }); + + const actualPngFileName = path.basename(actualPngPath, '.png'); + const baselinePngFileName = path.basename(baselinePngPath, '.png'); + + const baselineCopyPath = path.resolve( + sessionDirectoryPath, + `${baselinePngFileName}_baseline.png` + ); + // Don't cause a test failure if the baseline snapshot doesn't exist - we don't have all OS's covered and we + // don't want to start causing failures for other devs working on OS's which are lacking snapshots. We have + // mac and linux covered which is better than nothing for now. + try { + log.debug(`writeFile: ${baselineCopyPath}`); + await fs.writeFile(baselineCopyPath, await fs.readFile(baselinePngPath)); + } catch (error) { + throw new Error(`No baseline png found at ${baselinePngPath}`); + } + + const actualCopyPath = path.resolve(sessionDirectoryPath, `${actualPngFileName}_actual.png`); + log.debug(`writeFile: ${actualCopyPath}`); + await fs.writeFile(actualCopyPath, await fs.readFile(actualPngPath)); + + let diffTotal = 0; + + const diffPngPath = path.resolve(failureDirectoryPath, `${baselinePngFileName}-${1}.png`); + diffTotal += await comparePngs( + actualCopyPath, + baselineCopyPath, + diffPngPath, + sessionDirectoryPath, + log + ); + + return diffTotal; + }, + async checkIfPdfsMatch( + actualPdfPath: string, + baselinePdfPath: string, + screenshotsDirectory = screenshotsDir + ) { + log.debug(`checkIfPdfsMatch: ${actualPdfPath} vs ${baselinePdfPath}`); + // Copy the pdfs into the screenshot session directory, as that's where the generated pngs will automatically be + // stored. + const sessionDirectoryPath = path.resolve(screenshotsDirectory, 'session'); + const failureDirectoryPath = path.resolve(screenshotsDirectory, 'failure'); + + await fs.mkdir(sessionDirectoryPath, { recursive: true }); + await fs.mkdir(failureDirectoryPath, { recursive: true }); + + const actualPdfFileName = path.basename(actualPdfPath, '.pdf'); + const baselinePdfFileName = path.basename(baselinePdfPath, '.pdf'); + + const baselineCopyPath = path.resolve( + sessionDirectoryPath, + `${baselinePdfFileName}_baseline.pdf` + ); + const actualCopyPath = path.resolve(sessionDirectoryPath, `${actualPdfFileName}_actual.pdf`); + + // Don't cause a test failure if the baseline snapshot doesn't exist - we don't have all OS's covered and we + // don't want to start causing failures for other devs working on OS's which are lacking snapshots. We have + // mac and linux covered which is better than nothing for now. + try { + log.debug(`writeFileSync: ${baselineCopyPath}`); + await fs.writeFile(baselineCopyPath, await fs.readFile(baselinePdfPath)); + } catch (error) { + log.error(`No baseline pdf found at ${baselinePdfPath}`); + return 0; + } + log.debug(`writeFileSync: ${actualCopyPath}`); + await fs.writeFile(actualCopyPath, await fs.readFile(actualPdfPath)); + + const actualPdf = await pdfToPng(actualCopyPath); + const baselinePdf = await pdfToPng(baselineCopyPath); + + log.debug(`Checking number of pages`); + + if (actualPdf.length !== baselinePdf.length) { + throw new Error( + `Expected ${baselinePdf.length} pages but got ${actualPdf.length} in PDFs expected: "${baselineCopyPath}" actual: "${actualCopyPath}".` + ); + } + + let diffTotal = 0; + let pageNum = 1; + + for await (const actualPage of actualPdf) { + for await (const baselinePage of baselinePdf) { + const diffPngPath = path.resolve( + failureDirectoryPath, + `${baselinePdfFileName}-${pageNum}.png` + ); + diffTotal += await comparePngs( + { path: path.resolve(screenshotsDirectory, '_actual.png'), buffer: actualPage }, + { path: path.resolve(screenshotsDirectory, '_baseline.png'), buffer: baselinePage }, + diffPngPath, + sessionDirectoryPath, + log + ); + ++pageNum; + break; + } + } + + return diffTotal; + }, + }; +} diff --git a/x-pack/test/functional/services/index.ts b/x-pack/test/functional/services/index.ts index 5e40eb040178b..3e69a5f43928a 100644 --- a/x-pack/test/functional/services/index.ts +++ b/x-pack/test/functional/services/index.ts @@ -61,6 +61,7 @@ import { } from './dashboard'; import { SearchSessionsService } from './search_sessions'; import { ObservabilityProvider } from './observability'; +import { CompareImagesProvider } from './compare_images'; // define the name and providers for services that should be // available to your tests. If you don't specify anything here @@ -112,4 +113,5 @@ export const services = { reporting: ReportingFunctionalProvider, searchSessions: SearchSessionsService, observability: ObservabilityProvider, + compareImages: CompareImagesProvider, }; diff --git a/yarn.lock b/yarn.lock index 0cc09fdb04976..aa4361ef482d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4086,6 +4086,21 @@ resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz#f60b6a55a5d8e5ee908347d2ce4250b15103dc8e" integrity sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg== +"@mapbox/node-pre-gyp@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz#2a0b32fcb416fb3f2250fd24cb2a81421a4f5950" + integrity sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA== + dependencies: + detect-libc "^1.0.3" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.1" + nopt "^5.0.0" + npmlog "^4.1.2" + rimraf "^3.0.2" + semver "^7.3.4" + tar "^6.1.0" + "@mapbox/point-geometry@0.1.0", "@mapbox/point-geometry@^0.1.0", "@mapbox/point-geometry@~0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" @@ -10073,6 +10088,15 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001097, caniuse-lite@^1.0.30001109, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz#96d89813c076ea061209a4e040d8dcf0c66a1d01" integrity sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA== +canvas@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.8.0.tgz#f99ca7f25e6e26686661ffa4fec1239bbef74461" + integrity sha512-gLTi17X8WY9Cf5GZ2Yns8T5lfBOcGgFehDFb+JQwDqdOoBOcECS9ZWMEAqMSVcMYwXD659J8NyzjRY/2aE+C2Q== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.0" + nan "^2.14.0" + simple-get "^3.0.3" + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -22288,6 +22312,19 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pdf-to-img@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pdf-to-img/-/pdf-to-img-1.1.1.tgz#1918738477c3cc95a6786877bb1e36de81909400" + integrity sha512-e+4BpKSDhU+BZt34yo2P5OAqO0CRRy8xSNGDP7HhpT2FMEo5H7mzNcXdymYKRcj7xIr0eK1gYFhyjpWwHGp46Q== + dependencies: + canvas "2.8.0" + pdfjs-dist "2.9.359" + +pdfjs-dist@2.9.359: + version "2.9.359" + resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-2.9.359.tgz#e67bafebf20e50fc41f1a5c189155ad008ac4f81" + integrity sha512-P2nYtkacdlZaNNwrBLw1ZyMm0oE2yY/5S/GDCAmMJ7U4+ciL/D0mrlEC/o4HZZc/LNE3w8lEVzBEyVgEQlPVKQ== + pdfkit@>=0.8.1, pdfkit@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/pdfkit/-/pdfkit-0.11.0.tgz#9cdb2fc42bd2913587fe3ddf48cc5bbb3c36f7de" @@ -27519,7 +27556,7 @@ tar@6.1.9: mkdirp "^1.0.3" yallist "^4.0.0" -tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== From f17d601d342369da21f15fa1df658cefaab716d8 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 21 Oct 2021 16:00:01 +0300 Subject: [PATCH 03/39] [Pie] Fixes the deprecation message on the legacy library switch (#115915) --- src/plugins/vis_types/pie/server/plugin.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/vis_types/pie/server/plugin.ts b/src/plugins/vis_types/pie/server/plugin.ts index 48576bdff5d33..49b74e63b8c3c 100644 --- a/src/plugins/vis_types/pie/server/plugin.ts +++ b/src/plugins/vis_types/pie/server/plugin.ts @@ -14,8 +14,8 @@ import { CoreSetup, Plugin, UiSettingsParams } from 'kibana/server'; import { LEGACY_PIE_CHARTS_LIBRARY } from '../common'; export const getUiSettingsConfig: () => Record> = () => ({ - // TODO: Remove this when vis_type_vislib is removed - // https://github.com/elastic/kibana/issues/56143 + // TODO: Remove this when vislib pie is removed + // https://github.com/elastic/kibana/issues/111246 [LEGACY_PIE_CHARTS_LIBRARY]: { name: i18n.translate('visTypePie.advancedSettings.visualization.legacyPieChartsLibrary.name', { defaultMessage: 'Pie legacy charts library', @@ -33,7 +33,7 @@ export const getUiSettingsConfig: () => Record 'visTypePie.advancedSettings.visualization.legacyPieChartsLibrary.deprecation', { defaultMessage: - 'The legacy charts library for pie in visualize is deprecated and will not be supported as of 8.0.', + 'The legacy charts library for pie in visualize is deprecated and will not be supported in a future version.', } ), docLinksKey: 'visualizationSettings', From da034a0933e89a74eecce81823fd33b0fa409c7b Mon Sep 17 00:00:00 2001 From: Shahzad Date: Thu, 21 Oct 2021 15:24:26 +0200 Subject: [PATCH 04/39] [Uptime]Synthetics step fix browser console indexing error (#115897) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../check_steps/use_expanded_row.test.tsx | 57 +++++++++++++++++++ .../check_steps/use_expanded_row.tsx | 18 +++--- .../synthetics/executed_step.test.tsx | 9 +-- .../components/synthetics/executed_step.tsx | 16 +++--- 4 files changed, 80 insertions(+), 20 deletions(-) diff --git a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx index 26ca69a5b89c7..7aa763c15ca1f 100644 --- a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx +++ b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx @@ -199,6 +199,22 @@ describe('useExpandedROw', () => { expect(Object.keys(result.current.expandedRows)).toEqual(['0']); }); + it('returns expected browser consoles', async () => { + const { result } = renderHook(() => + useExpandedRow({ + steps: defaultSteps, + allSteps: [...defaultSteps, browserConsoleStep], + loading: false, + }) + ); + + result.current.toggleExpand({ journeyStep: defaultSteps[0] }); + + expect(result.current.expandedRows[0].props.browserConsoles).toEqual([ + browserConsoleStep.synthetics.payload.text, + ]); + }); + describe('getExpandedStepCallback', () => { it('matches step index to key', () => { const callback = getExpandedStepCallback(2); @@ -207,3 +223,44 @@ describe('useExpandedROw', () => { }); }); }); + +const browserConsoleStep = { + _id: 'IvT1oXwB5ds00bB_FVXP', + observer: { + hostname: '16Elastic', + }, + agent: { + name: '16Elastic', + id: '77def92c-1a78-4353-b9e5-45d31920b1b7', + type: 'heartbeat', + ephemeral_id: '3a9ca86c-08d0-4f3f-b857-aeef540b3cac', + version: '8.0.0', + }, + '@timestamp': '2021-10-21T08:25:25.221Z', + package: { name: '@elastic/synthetics', version: '1.0.0-beta.14' }, + ecs: { version: '1.12.0' }, + os: { platform: 'darwin' }, + synthetics: { + package_version: '1.0.0-beta.14', + journey: { name: 'inline', id: 'inline' }, + payload: { + text: "Refused to execute inline script because it violates the following Content Security Policy directive: \"script-src 'unsafe-eval' 'self'\". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.\n", + type: 'error', + }, + index: 755, + step: { duration: { us: 0 }, name: 'goto kibana', index: 1, status: '' }, + type: 'journey/browserconsole', + isFullScreenshot: false, + isScreenshotRef: true, + }, + monitor: { + name: 'cnn-monitor - inline', + timespan: { lt: '2021-10-21T08:27:04.662Z', gte: '2021-10-21T08:26:04.662Z' }, + check_group: '70acec60-3248-11ec-9921-acde48001122', + id: 'cnn-monitor-inline', + type: 'browser', + status: 'up', + }, + event: { dataset: 'browser' }, + timestamp: '2021-10-21T08:25:25.221Z', +}; diff --git a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.tsx b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.tsx index e58e1cca8660b..1b3a641033dd7 100644 --- a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.tsx +++ b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.tsx @@ -28,13 +28,15 @@ export const useExpandedRow = ({ loading, steps, allSteps }: HookProps) => { const { checkGroupId } = useParams<{ checkGroupId: string }>(); - const getBrowserConsole = useCallback( + const getBrowserConsoles = useCallback( (index: number) => { - return allSteps.find( - (stepF) => - stepF.synthetics?.type === 'journey/browserconsole' && - stepF.synthetics?.step?.index! === index - )?.synthetics?.payload?.text; + return allSteps + .filter( + (stepF) => + stepF.synthetics?.type === 'journey/browserconsole' && + stepF.synthetics?.step?.index! === index + ) + .map((stepF) => stepF.synthetics?.payload?.text!); }, [allSteps] ); @@ -48,7 +50,7 @@ export const useExpandedRow = ({ loading, steps, allSteps }: HookProps) => { expandedRowsN[expandedRowKey] = ( @@ -77,7 +79,7 @@ export const useExpandedRow = ({ loading, steps, allSteps }: HookProps) => { [stepIndex]: ( diff --git a/x-pack/plugins/uptime/public/components/synthetics/executed_step.test.tsx b/x-pack/plugins/uptime/public/components/synthetics/executed_step.test.tsx index 04fcf382fd861..f9876593a03db 100644 --- a/x-pack/plugins/uptime/public/components/synthetics/executed_step.test.tsx +++ b/x-pack/plugins/uptime/public/components/synthetics/executed_step.test.tsx @@ -71,14 +71,15 @@ describe('ExecutedStep', () => { }); it('renders accordions for console output', () => { - const browserConsole = - "Refused to execute script from because its MIME type ('image/gif') is not executable"; + const browserConsole = [ + "Refused to execute script from because its MIME type ('image/gif') is not executable", + ]; const { getByText } = render( - + ); expect(getByText('Console output')); - expect(getByText(browserConsole)); + expect(getByText(browserConsole[0])); }); }); diff --git a/x-pack/plugins/uptime/public/components/synthetics/executed_step.tsx b/x-pack/plugins/uptime/public/components/synthetics/executed_step.tsx index add34c3f71f0d..57b94544e5983 100644 --- a/x-pack/plugins/uptime/public/components/synthetics/executed_step.tsx +++ b/x-pack/plugins/uptime/public/components/synthetics/executed_step.tsx @@ -19,7 +19,7 @@ interface ExecutedStepProps { step: JourneyStep; index: number; loading: boolean; - browserConsole?: string; + browserConsoles?: string[]; } const Label = euiStyled.div` @@ -40,12 +40,7 @@ const ExpandedRow = euiStyled.div` width: 100%; `; -export const ExecutedStep: FC = ({ - loading, - step, - index, - browserConsole = '', -}) => { +export const ExecutedStep: FC = ({ loading, step, index, browserConsoles }) => { const isSucceeded = step.synthetics?.payload?.status === 'succeeded'; return ( @@ -94,7 +89,12 @@ export const ExecutedStep: FC = ({ initialIsOpen={!isSucceeded} > <> - {browserConsole} + {browserConsoles?.map((browserConsole) => ( + <> + {browserConsole} + + + ))} From ada2593c0975f1f293d6a6977da05238c07fe4f6 Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Thu, 21 Oct 2021 08:25:18 -0500 Subject: [PATCH 05/39] update elastic-charts to 38.0.1 (#115623) --- package.json | 2 +- .../apps/main/components/chart/histogram.tsx | 2 +- .../visualizations/views/timeseries/index.js | 2 +- .../xy/public/components/xy_settings.tsx | 2 +- test/functional/apps/visualize/_area_chart.ts | 9 ++++----- .../apps/visualize/_point_series_options.ts | 17 ++++++++--------- .../__snapshots__/expression.test.tsx.snap | 14 +++++++------- .../public/xy_visualization/expression.test.tsx | 8 ++++---- .../lens/public/xy_visualization/expression.tsx | 2 +- yarn.lock | 8 ++++---- 10 files changed, 32 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index 1e72af27e4de9..3df7b65315a85 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "@elastic/apm-generator": "link:bazel-bin/packages/elastic-apm-generator", "@elastic/apm-rum": "^5.9.1", "@elastic/apm-rum-react": "^1.3.1", - "@elastic/charts": "37.0.0", + "@elastic/charts": "38.0.1", "@elastic/datemath": "link:bazel-bin/packages/elastic-datemath", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^8.0.0-canary.21", "@elastic/ems-client": "7.16.0", diff --git a/src/plugins/discover/public/application/apps/main/components/chart/histogram.tsx b/src/plugins/discover/public/application/apps/main/components/chart/histogram.tsx index 350c46591c8b4..a04374e1500b4 100644 --- a/src/plugins/discover/public/application/apps/main/components/chart/histogram.tsx +++ b/src/plugins/discover/public/application/apps/main/components/chart/histogram.tsx @@ -190,7 +190,7 @@ export function DiscoverHistogram({ tooltip={tooltipProps} theme={chartTheme} baseTheme={chartBaseTheme} - allowBrushingLastHistogramBucket={true} + allowBrushingLastHistogramBin={true} /> handleElementClick(args)} diff --git a/src/plugins/vis_types/xy/public/components/xy_settings.tsx b/src/plugins/vis_types/xy/public/components/xy_settings.tsx index 74aff7535c2d8..304b0756c30b6 100644 --- a/src/plugins/vis_types/xy/public/components/xy_settings.tsx +++ b/src/plugins/vis_types/xy/public/components/xy_settings.tsx @@ -165,7 +165,7 @@ export const XYSettings: FC = ({ baseTheme={baseTheme} showLegend={showLegend} legendPosition={legendPosition} - allowBrushingLastHistogramBucket={isTimeChart} + allowBrushingLastHistogramBin={isTimeChart} roundHistogramBrushValues={enableHistogramMode && !isTimeChart} legendColorPicker={legendColorPicker} onElementClick={onElementClick} diff --git a/test/functional/apps/visualize/_area_chart.ts b/test/functional/apps/visualize/_area_chart.ts index 2a5be39403002..76bb1d2f58d05 100644 --- a/test/functional/apps/visualize/_area_chart.ts +++ b/test/functional/apps/visualize/_area_chart.ts @@ -95,11 +95,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('should show correct chart', async function () { const xAxisLabels = [ - '2015-09-19 12:00', - '2015-09-20 12:00', - '2015-09-21 12:00', - '2015-09-22 12:00', - '2015-09-23 12:00', + '2015-09-20 00:00', + '2015-09-21 00:00', + '2015-09-22 00:00', + '2015-09-23 00:00', ]; const yAxisLabels = ['0', '200', '400', '600', '800', '1,000', '1,200', '1,400']; const expectedAreaChartData = [ diff --git a/test/functional/apps/visualize/_point_series_options.ts b/test/functional/apps/visualize/_point_series_options.ts index dbe26ba099590..a2d2831c87933 100644 --- a/test/functional/apps/visualize/_point_series_options.ts +++ b/test/functional/apps/visualize/_point_series_options.ts @@ -230,10 +230,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('timezones', async function () { it('should show round labels in default timezone', async function () { const expectedLabels = [ - '2015-09-19 12:00', - '2015-09-20 12:00', - '2015-09-21 12:00', - '2015-09-22 12:00', + '2015-09-20 00:00', + '2015-09-21 00:00', + '2015-09-22 00:00', + '2015-09-23 00:00', ]; await initChart(); const labels = await PageObjects.visChart.getXAxisLabels(xyChartSelector); @@ -242,11 +242,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('should show round labels in different timezone', async function () { const expectedLabels = [ - '2015-09-19 12:00', - '2015-09-20 12:00', - '2015-09-21 12:00', - '2015-09-22 12:00', - '2015-09-23 12:00', + '2015-09-20 00:00', + '2015-09-21 00:00', + '2015-09-22 00:00', + '2015-09-23 00:00', ]; await kibanaServer.uiSettings.update({ 'dateFormat:tz': 'America/Phoenix' }); diff --git a/x-pack/plugins/lens/public/xy_visualization/__snapshots__/expression.test.tsx.snap b/x-pack/plugins/lens/public/xy_visualization/__snapshots__/expression.test.tsx.snap index 0fad522624975..b058c42d8b4d1 100644 --- a/x-pack/plugins/lens/public/xy_visualization/__snapshots__/expression.test.tsx.snap +++ b/x-pack/plugins/lens/public/xy_visualization/__snapshots__/expression.test.tsx.snap @@ -5,7 +5,7 @@ exports[`xy_expression XYChart component it renders area 1`] = ` renderer="canvas" > { expect(wrapper.find(Settings).first().prop('onBrushEnd')).toBeUndefined(); }); - test('allowBrushingLastHistogramBucket is true for date histogram data', () => { + test('allowBrushingLastHistogramBin is true for date histogram data', () => { const { args } = sampleArgs(); const wrapper = mountWithIntl( @@ -1182,7 +1182,7 @@ describe('xy_expression', () => { }} /> ); - expect(wrapper.find(Settings).at(0).prop('allowBrushingLastHistogramBucket')).toEqual(true); + expect(wrapper.find(Settings).at(0).prop('allowBrushingLastHistogramBin')).toEqual(true); }); test('onElementClick returns correct context data', () => { @@ -1445,7 +1445,7 @@ describe('xy_expression', () => { }); }); - test('allowBrushingLastHistogramBucket should be fakse for ordinal data', () => { + test('allowBrushingLastHistogramBin should be fakse for ordinal data', () => { const { args, data } = sampleArgs(); const wrapper = mountWithIntl( @@ -1472,7 +1472,7 @@ describe('xy_expression', () => { /> ); - expect(wrapper.find(Settings).at(0).prop('allowBrushingLastHistogramBucket')).toEqual(false); + expect(wrapper.find(Settings).at(0).prop('allowBrushingLastHistogramBin')).toEqual(false); }); test('onElementClick is not triggering event on non-interactive mode', () => { diff --git a/x-pack/plugins/lens/public/xy_visualization/expression.tsx b/x-pack/plugins/lens/public/xy_visualization/expression.tsx index 36f1b92b8a1f4..915ea9d6cda94 100644 --- a/x-pack/plugins/lens/public/xy_visualization/expression.tsx +++ b/x-pack/plugins/lens/public/xy_visualization/expression.tsx @@ -594,7 +594,7 @@ export function XYChart({ boundary: document.getElementById('app-fixed-viewport') ?? undefined, headerFormatter: (d) => safeXAccessorLabelRenderer(d.value), }} - allowBrushingLastHistogramBucket={Boolean(isTimeViz)} + allowBrushingLastHistogramBin={Boolean(isTimeViz)} rotation={shouldRotate ? 90 : 0} xDomain={xDomain} onBrushEnd={interactive ? (brushHandler as BrushEndListener) : undefined} diff --git a/yarn.lock b/yarn.lock index aa4361ef482d5..86c4c9801f56e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2337,10 +2337,10 @@ dependencies: object-hash "^1.3.0" -"@elastic/charts@37.0.0": - version "37.0.0" - resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-37.0.0.tgz#a94526461c404b449953cca4fe34f8bf3620413e" - integrity sha512-Pfm58/voERWVPJlxy13DphwgRoBGYhnSyz65kdsPg6lYGxN5ngWvuTuJ3477fyApYV01Pz4Ckt9yj1BSQue80Q== +"@elastic/charts@38.0.1": + version "38.0.1" + resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-38.0.1.tgz#9c1db7e0f1de869e0b2b505e192bbb9d62d60dc8" + integrity sha512-i9mIA3Ji9jSjuFDtuh9gV1xpCl3sbBEDgJiOgLVt04pr/qZH2W+tr3AV5yHvjsR7Te0Pmh/Cm5wLBvFKaI1nIA== dependencies: "@popperjs/core" "^2.4.0" chroma-js "^2.1.0" From d561cc334ae5e26e3b19f96895e47d862eeacada Mon Sep 17 00:00:00 2001 From: Abdul Wahab Zahid Date: Thu, 21 Oct 2021 15:28:32 +0200 Subject: [PATCH 06/39] [uptime] Adjust the theme colors for uptime monitors browser screenshot labels. (#115543) * Add useBreakpoints reactive hook for uptime. Adjusted color/contrast and alignment for timestamp screenshot popup footer. #96122 --- .../columns/ping_timestamp/ping_timestamp.tsx | 15 ++- .../ping_timestamp/step_image_caption.tsx | 46 ++++--- x-pack/plugins/uptime/public/hooks/index.ts | 1 + .../public/hooks/use_breakpoints.test.ts | 96 +++++++++++++++ .../uptime/public/hooks/use_breakpoints.ts | 114 ++++++++++++++++++ 5 files changed, 252 insertions(+), 20 deletions(-) create mode 100644 x-pack/plugins/uptime/public/hooks/use_breakpoints.test.ts create mode 100644 x-pack/plugins/uptime/public/hooks/use_breakpoints.ts diff --git a/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx b/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx index df4c73908b627..425f35b067026 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx +++ b/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/ping_timestamp.tsx @@ -8,15 +8,17 @@ import React, { useContext, useEffect, useState } from 'react'; import useIntersection from 'react-use/lib/useIntersection'; import styled from 'styled-components'; -import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; + import { isScreenshotImageBlob, isScreenshotRef, ScreenshotRefImageData, -} from '../../../../../../common/runtime_types/ping'; +} from '../../../../../../common/runtime_types'; import { useFetcher, FETCH_STATUS } from '../../../../../../../observability/public'; import { getJourneyScreenshot } from '../../../../../state/api/journey'; import { UptimeSettingsContext } from '../../../../../contexts'; + import { NoImageDisplay } from './no_image_display'; import { StepImageCaption } from './step_image_caption'; import { StepImagePopover } from './step_image_popover'; @@ -129,9 +131,12 @@ export const PingTimestamp = ({ label, checkGroup, initialStepNo = 1 }: Props) = )} - - {label} - + + {label && ( + + {label} + + )} ); }; diff --git a/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx b/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx index a2858348ed59c..3fa94e45f8937 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx +++ b/x-pack/plugins/uptime/public/components/monitor/ping_list/columns/ping_timestamp/step_image_caption.tsx @@ -6,10 +6,13 @@ */ import React, { MouseEvent, useEffect } from 'react'; -import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; -import { nextAriaLabel, prevAriaLabel } from './translations'; +import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiText, useEuiTheme } from '@elastic/eui'; + import { euiStyled } from '../../../../../../../../../src/plugins/kibana_react/common'; import { ScreenshotRefImageData } from '../../../../../../common/runtime_types'; +import { useBreakpoints } from '../../../../../hooks'; + +import { nextAriaLabel, prevAriaLabel } from './translations'; export interface StepImageCaptionProps { captionContent: string; @@ -23,13 +26,6 @@ export interface StepImageCaptionProps { isLoading: boolean; } -const ImageCaption = euiStyled.div` - background-color: ${(props) => props.theme.eui.euiColorLightestShade}; - display: inline-block; - width: 100%; - text-decoration: none; -`; - export const StepImageCaption: React.FC = ({ captionContent, imgRef, @@ -41,6 +37,9 @@ export const StepImageCaption: React.FC = ({ label, onVisible, }) => { + const { euiTheme } = useEuiTheme(); + const breakpoints = useBreakpoints(); + useEffect(() => { onVisible(true); return () => { @@ -49,8 +48,10 @@ export const StepImageCaption: React.FC = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + const isSmall = breakpoints.down('m'); + return ( - { // we don't want this to be captured by row click which leads to step list page evt.stopPropagation(); @@ -59,8 +60,9 @@ export const StepImageCaption: React.FC = ({

- + ); }; + +const CaptionWrapper = euiStyled.div` + background-color: ${(props) => props.theme.eui.euiColorLightestShade}; + display: inline-block; + width: 100%; + text-decoration: none; +`; + +const SecondaryText = euiStyled(EuiText)((props) => ({ + color: props.theme.eui.euiTextColor, +})); diff --git a/x-pack/plugins/uptime/public/hooks/index.ts b/x-pack/plugins/uptime/public/hooks/index.ts index 3e4714384e654..e96d746a05514 100644 --- a/x-pack/plugins/uptime/public/hooks/index.ts +++ b/x-pack/plugins/uptime/public/hooks/index.ts @@ -12,4 +12,5 @@ export * from './use_search_text'; export * from './use_cert_status'; export * from './use_telemetry'; export * from './use_url_params'; +export * from './use_breakpoints'; export { useIndexPattern } from '../contexts/uptime_index_pattern_context'; diff --git a/x-pack/plugins/uptime/public/hooks/use_breakpoints.test.ts b/x-pack/plugins/uptime/public/hooks/use_breakpoints.test.ts new file mode 100644 index 0000000000000..d417d98dcb76d --- /dev/null +++ b/x-pack/plugins/uptime/public/hooks/use_breakpoints.test.ts @@ -0,0 +1,96 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { BREAKPOINTS } from '@elastic/eui'; +import { renderHook } from '@testing-library/react-hooks'; +import { useBreakpoints } from './use_breakpoints'; + +describe('use_breakpoints', () => { + describe('useBreakpoints', () => { + const width = global.innerWidth; + + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.runOnlyPendingTimers(); + jest.useRealTimers(); + }); + + afterAll(() => { + (global as { innerWidth: number }).innerWidth = width; + }); + + it('should only return up => false and down => true for "xs" when width is less than BREAKPOINTS.xs', () => { + (global as { innerWidth: number }).innerWidth = BREAKPOINTS.xs - 1; + const { result } = renderHook(() => useBreakpoints()); + + expect(result.current.up('xs')).toBeFalsy(); + expect(result.current.down('xs')).toBeTruthy(); + }); + + it('should only return up => true and down => false for "xs" when width is above or equal BREAKPOINTS.xs', () => { + (global as { innerWidth: number }).innerWidth = BREAKPOINTS.xs; + const { result } = renderHook(() => useBreakpoints()); + + expect(result.current.up('xs')).toBeTruthy(); + expect(result.current.down('xs')).toBeFalsy(); + }); + + it('should return down => true for "m" when width equals BREAKPOINTS.l', () => { + (global as { innerWidth: number }).innerWidth = BREAKPOINTS.l; + const { result } = renderHook(() => useBreakpoints()); + + expect(result.current.up('m')).toBeTruthy(); + expect(result.current.down('m')).toBeFalsy(); + }); + + it('should return `between` => true for "m" and "xl" when width equals BREAKPOINTS.l', () => { + (global as { innerWidth: number }).innerWidth = BREAKPOINTS.l; + const { result } = renderHook(() => useBreakpoints()); + + expect(result.current.between('m', 'xl')).toBeTruthy(); + }); + + it('should return `between` => true for "s" and "m" when width equals BREAKPOINTS.s', () => { + (global as { innerWidth: number }).innerWidth = BREAKPOINTS.s; + const { result } = renderHook(() => useBreakpoints()); + + expect(result.current.between('s', 'm')).toBeTruthy(); + }); + + it('should return up => true for all when size is > xxxl+', () => { + (global as { innerWidth: number }).innerWidth = 3000; + const { result } = renderHook(() => useBreakpoints()); + + expect(result.current.up('xs')).toBeTruthy(); + expect(result.current.up('s')).toBeTruthy(); + expect(result.current.up('m')).toBeTruthy(); + expect(result.current.up('l')).toBeTruthy(); + expect(result.current.up('xl')).toBeTruthy(); + expect(result.current.up('xxl')).toBeTruthy(); + expect(result.current.up('xxxl')).toBeTruthy(); + }); + + it('should determine `isIpad (Portrait)', () => { + (global as { innerWidth: number }).innerWidth = 768; + const { result } = renderHook(() => useBreakpoints()); + + const isIpad = result.current.up('m') && result.current.down('l'); + expect(isIpad).toEqual(true); + }); + + it('should determine `isMobile (Portrait)`', () => { + (global as { innerWidth: number }).innerWidth = 480; + const { result } = renderHook(() => useBreakpoints()); + + const isMobile = result.current.up('xs') && result.current.down('s'); + expect(isMobile).toEqual(true); + }); + }); +}); diff --git a/x-pack/plugins/uptime/public/hooks/use_breakpoints.ts b/x-pack/plugins/uptime/public/hooks/use_breakpoints.ts new file mode 100644 index 0000000000000..9398a5fcd15fe --- /dev/null +++ b/x-pack/plugins/uptime/public/hooks/use_breakpoints.ts @@ -0,0 +1,114 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useCallback, useState } from 'react'; +import useWindowSize from 'react-use/lib/useWindowSize'; +import useDebounce from 'react-use/lib/useDebounce'; + +import { BREAKPOINTS, EuiBreakpointSize } from '@elastic/eui'; + +// Custom breakpoints +const BREAKPOINT_XL = 1599; // Overriding the theme's default 'xl' breakpoint +const BREAKPOINT_XXL = 1599; +const BREAKPOINT_XXXL = 2000; + +export type BreakpointKey = EuiBreakpointSize | 'xxl' | 'xxxl'; + +type BreakpointPredicate = (breakpointKey: BreakpointKey) => boolean; +type BreakpointRangePredicate = (from: BreakpointKey, to: BreakpointKey) => boolean; + +/** + * Returns the predicates functions used to determine whether the current device's width is above or below the asked + * breakpoint. (Implementation inspired by React Material UI). + * + * @example + * const { breakpoints } = useBreakpoints(); + * const isMobile = breakpoint.down('m'); + * + * @example + * const { breakpoints } = useBreakpoints(); + * const isTablet = breakpoint.between('m', 'l'); + * + * @param debounce {number} Debounce interval for optimization + * + * @returns { {up: BreakpointPredicate, down: BreakpointPredicate, between: BreakpointRangePredicate} } + * Returns object containing predicates which determine whether the current device's width lies above, below or + * in-between the given breakpoint(s) + * { + * up => Returns `true` if the current width is equal or above (inclusive) the given breakpoint size, + * or `false` otherwise. + * down => Returns `true` if the current width is below (exclusive) the given breakpoint size, or `false` otherwise. + * between => Returns `true` if the current width is equal or above (inclusive) the corresponding size of + * `fromBreakpointKey` AND is below (exclusive) the corresponding width of `toBreakpointKey`. + * Returns `false` otherwise. + * } + */ +export function useBreakpoints(debounce = 50) { + const { width } = useWindowSize(); + const [debouncedWidth, setDebouncedWidth] = useState(width); + + const up = useCallback( + (breakpointKey: BreakpointKey) => isUp(debouncedWidth, breakpointKey), + [debouncedWidth] + ); + const down = useCallback( + (breakpointKey: BreakpointKey) => isDown(debouncedWidth, breakpointKey), + [debouncedWidth] + ); + + const between = useCallback( + (fromBreakpointKey: BreakpointKey, toBreakpointKey: BreakpointKey) => + isBetween(debouncedWidth, fromBreakpointKey, toBreakpointKey), + [debouncedWidth] + ); + + useDebounce( + () => { + setDebouncedWidth(width); + }, + debounce, + [width] + ); + + return { up, down, between, debouncedWidth }; +} + +/** + * Returns the corresponding device width against the provided breakpoint key, either the overridden value or the + * default value from theme. + * @param key {BreakpointKey} string key representing the device breakpoint e.g. 'xs', 's', 'xxxl' + */ +function getSizeForBreakpointKey(key: BreakpointKey): number { + switch (key) { + case 'xxxl': + return BREAKPOINT_XXXL; + case 'xxl': + return BREAKPOINT_XXL; + case 'xl': + return BREAKPOINT_XL; + case 'l': + return BREAKPOINTS.l; + case 'm': + return BREAKPOINTS.m; + case 's': + return BREAKPOINTS.s; + } + + return BREAKPOINTS.xs; +} + +function isUp(size: number, breakpointKey: BreakpointKey) { + return size >= getSizeForBreakpointKey(breakpointKey); +} + +function isDown(size: number, breakpointKey: BreakpointKey) { + return size < getSizeForBreakpointKey(breakpointKey); +} + +function isBetween(size: number, fromBreakpointKey: BreakpointKey, toBreakpointKey: BreakpointKey) { + return isUp(size, fromBreakpointKey) && isDown(size, toBreakpointKey); +} From cb0778ddcf218b631efeda874832fbefc73ec0eb Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Thu, 21 Oct 2021 15:48:00 +0200 Subject: [PATCH 07/39] updates Error legend default message to align with tooltip message and the other legend texts (#115896) --- .../public/resolver/view/graph_controls.test.tsx | 7 ++++++- .../public/resolver/view/graph_controls.tsx | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/resolver/view/graph_controls.test.tsx b/x-pack/plugins/security_solution/public/resolver/view/graph_controls.test.tsx index 6a146882fbab5..cb36aff214a76 100644 --- a/x-pack/plugins/security_solution/public/resolver/view/graph_controls.test.tsx +++ b/x-pack/plugins/security_solution/public/resolver/view/graph_controls.test.tsx @@ -269,7 +269,12 @@ describe('graph controls: when relsover is loaded with an origin node', () => { .testSubject('resolver:graph-controls:node-legend:description') .map((description) => description.text()) ) - ).toYieldEqualTo(['Running Process', 'Terminated Process', 'Loading Process', 'Error']); + ).toYieldEqualTo([ + 'Running Process', + 'Terminated Process', + 'Loading Process', + 'Error Process', + ]); }); }); diff --git a/x-pack/plugins/security_solution/public/resolver/view/graph_controls.tsx b/x-pack/plugins/security_solution/public/resolver/view/graph_controls.tsx index 96a59383b1a4e..570f444814d7f 100644 --- a/x-pack/plugins/security_solution/public/resolver/view/graph_controls.tsx +++ b/x-pack/plugins/security_solution/public/resolver/view/graph_controls.tsx @@ -569,7 +569,7 @@ const NodeLegend = ({ > {i18n.translate('xpack.securitySolution.resolver.graphControls.errorCube', { - defaultMessage: 'Error', + defaultMessage: 'Error Process', })} From cc3f601bd5379449cd292d082163d3696ed9d10c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20C=C3=B4t=C3=A9?= Date: Thu, 21 Oct 2021 09:56:25 -0400 Subject: [PATCH 08/39] Initial commit (#115846) --- x-pack/plugins/stack_alerts/server/plugin.test.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/plugins/stack_alerts/server/plugin.test.ts b/x-pack/plugins/stack_alerts/server/plugin.test.ts index b2bf076eaf49d..b9263553173d2 100644 --- a/x-pack/plugins/stack_alerts/server/plugin.test.ts +++ b/x-pack/plugins/stack_alerts/server/plugin.test.ts @@ -11,8 +11,7 @@ import { alertsMock } from '../../alerting/server/mocks'; import { featuresPluginMock } from '../../features/server/mocks'; import { BUILT_IN_ALERTS_FEATURE } from './feature'; -// unhandled promise rejection: https://github.com/elastic/kibana/issues/112699 -describe.skip('AlertingBuiltins Plugin', () => { +describe('AlertingBuiltins Plugin', () => { describe('setup()', () => { let context: ReturnType; let plugin: AlertingBuiltinsPlugin; From 6b64103333dd3bf0cda840ba18bd0209f75d520a Mon Sep 17 00:00:00 2001 From: Michael Dokolin Date: Thu, 21 Oct 2021 16:14:20 +0200 Subject: [PATCH 09/39] [Reporting] Use updated saved object resolver (#113641) * Update deprecated PDF job factory to use updated saved object resolver * Reuse data plugin service to gather index pattern attributes in the deprecated CSV export type --- x-pack/plugins/reporting/server/core.ts | 10 ++++++++ .../server/export_types/csv/create_job.ts | 17 +++---------- .../export_types/csv/execute_job.test.ts | 24 +++++++++++------- .../server/export_types/csv/execute_job.ts | 2 ++ .../csv/generate_csv/field_format_map.test.ts | 25 ++++++++----------- .../csv/generate_csv/field_format_map.ts | 19 ++++++-------- .../export_types/csv/generate_csv/index.ts | 21 ++++++++++------ .../server/export_types/csv/types.d.ts | 14 ++--------- .../create_job/compatibility_shim.test.ts | 20 +++++++-------- .../create_job/compatibility_shim.ts | 5 +++- .../server/routes/lib/request_handler.test.ts | 3 ++- 11 files changed, 78 insertions(+), 82 deletions(-) diff --git a/x-pack/plugins/reporting/server/core.ts b/x-pack/plugins/reporting/server/core.ts index 6b00e08c58685..e89ba6af3e28f 100644 --- a/x-pack/plugins/reporting/server/core.ts +++ b/x-pack/plugins/reporting/server/core.ts @@ -307,6 +307,16 @@ export class ReportingCore { return await this.getUiSettingsServiceFactory(savedObjectsClient); } + public async getDataViewsService(request: KibanaRequest) { + const { savedObjects } = await this.getPluginStartDeps(); + const savedObjectsClient = savedObjects.getScopedClient(request); + const { indexPatterns } = await this.getDataService(); + const { asCurrentUser: esClient } = (await this.getEsClient()).asScoped(request); + const dataViews = await indexPatterns.dataViewsServiceFactory(savedObjectsClient, esClient); + + return dataViews; + } + public async getDataService() { const startDeps = await this.getPluginStartDeps(); return startDeps.data; diff --git a/x-pack/plugins/reporting/server/export_types/csv/create_job.ts b/x-pack/plugins/reporting/server/export_types/csv/create_job.ts index be02bbc529269..9ebfc2c57e345 100644 --- a/x-pack/plugins/reporting/server/export_types/csv/create_job.ts +++ b/x-pack/plugins/reporting/server/export_types/csv/create_job.ts @@ -6,29 +6,18 @@ */ import { CreateJobFn, CreateJobFnFactory } from '../../types'; -import { - IndexPatternSavedObjectDeprecatedCSV, - JobParamsDeprecatedCSV, - TaskPayloadDeprecatedCSV, -} from './types'; +import { JobParamsDeprecatedCSV, TaskPayloadDeprecatedCSV } from './types'; export const createJobFnFactory: CreateJobFnFactory< CreateJobFn -> = function createJobFactoryFn(_reporting, logger) { +> = function createJobFactoryFn(reporting, logger) { return async function createJob(jobParams, context) { logger.warn( - `The "/generate/csv" endpoint is deprecated and will be removed in Kibana 8.0. Please recreate the POST URL used to automate this CSV export.` + `The "/generate/csv" endpoint is deprecated. Please recreate the POST URL used to automate this CSV export.` ); - const savedObjectsClient = context.core.savedObjects.client; - const indexPatternSavedObject = (await savedObjectsClient.get( - 'index-pattern', - jobParams.indexPatternId - )) as unknown as IndexPatternSavedObjectDeprecatedCSV; - return { isDeprecated: true, - indexPatternSavedObject, ...jobParams, }; }; diff --git a/x-pack/plugins/reporting/server/export_types/csv/execute_job.test.ts b/x-pack/plugins/reporting/server/export_types/csv/execute_job.test.ts index cb103812c7f2a..57f030df66e0e 100644 --- a/x-pack/plugins/reporting/server/export_types/csv/execute_job.test.ts +++ b/x-pack/plugins/reporting/server/export_types/csv/execute_job.test.ts @@ -12,6 +12,7 @@ import { ElasticsearchClient, IUiSettingsClient } from 'kibana/server'; import moment from 'moment'; import Puid from 'puid'; import sinon from 'sinon'; +import type { DataView, DataViewsService } from 'src/plugins/data/common'; import { ReportingConfig, ReportingCore } from '../../'; import { FieldFormatsRegistry, @@ -56,6 +57,8 @@ describe('CSV Execute Job', function () { let encryptedHeaders: any; let configGetStub: any; + let mockDataView: jest.Mocked; + let mockDataViewsService: jest.Mocked; let mockEsClient: DeeplyMockedKeys; let mockReportingConfig: ReportingConfig; let mockReportingCore: ReportingCore; @@ -81,10 +84,15 @@ describe('CSV Execute Job', function () { configGetStub.withArgs('csv', 'maxSizeBytes').returns(1024 * 1000); // 1mB configGetStub.withArgs('csv', 'scroll').returns({}); mockReportingConfig = { get: configGetStub, kbnConfig: { get: configGetStub } }; + mockDataView = { fieldFormatMap: {}, fields: [] } as unknown as typeof mockDataView; + mockDataViewsService = { + get: jest.fn().mockResolvedValue(mockDataView), + } as unknown as typeof mockDataViewsService; mockReportingCore = await createMockReportingCore(createMockConfigSchema()); mockReportingCore.getUiSettingsServiceFactory = () => Promise.resolve(mockUiSettingsClient as unknown as IUiSettingsClient); + mockReportingCore.getDataViewsService = jest.fn().mockResolvedValue(mockDataViewsService); mockReportingCore.setConfig(mockReportingConfig); mockEsClient = (await mockReportingCore.getEsClient()).asScoped({} as any) @@ -931,16 +939,14 @@ describe('CSV Execute Job', function () { fields: ['one', 'two'], conflictedTypesFields: [], searchRequest: { index: null, body: null }, - indexPatternSavedObject: { - id: 'logstash-*', - type: 'index-pattern', - attributes: { - title: 'logstash-*', - fields: '[{"name":"one","type":"string"}, {"name":"two","type":"string"}]', - fieldFormatMap: '{"one":{"id":"string","params":{"transform": "upper"}}}', - }, - }, + indexPatternId: 'something', }); + + mockDataView.fieldFormatMap = { one: { id: 'string', params: { transform: 'upper' } } }; + mockDataView.fields = [ + { name: 'one', type: 'string' }, + { name: 'two', type: 'string' }, + ] as typeof mockDataView.fields; await runTask('job123', jobParams, cancellationToken, stream); expect(content).not.toBe(null); const lines = content!.split('\n'); diff --git a/x-pack/plugins/reporting/server/export_types/csv/execute_job.ts b/x-pack/plugins/reporting/server/export_types/csv/execute_job.ts index 9ce0bb6d6de00..a007591821988 100644 --- a/x-pack/plugins/reporting/server/export_types/csv/execute_job.ts +++ b/x-pack/plugins/reporting/server/export_types/csv/execute_job.ts @@ -25,12 +25,14 @@ export const runTaskFnFactory: RunTaskFnFactory = {}; configMock[FORMATS_UI_SETTINGS.FORMAT_DEFAULT_TYPE_MAP] = { number: { id: 'number', params: {} }, @@ -39,13 +38,9 @@ describe('field format map', function () { const fieldFormatsRegistry = new FieldFormatsRegistry(); fieldFormatsRegistry.init(getConfig, {}, [BytesFormat, NumberFormat]); - const formatMap = fieldFormatMapFactory( - indexPatternSavedObject, - fieldFormatsRegistry, - mockTimezone - ); + const formatMap = fieldFormatMapFactory(dataView, fieldFormatsRegistry, mockTimezone); - it('should build field format map with entry per index pattern field', function () { + it('should build field format map with entry per data view field', function () { expect(formatMap.has('field1')).to.be(true); expect(formatMap.has('field2')).to.be(true); expect(formatMap.has('field_not_in_index')).to.be(false); diff --git a/x-pack/plugins/reporting/server/export_types/csv/generate_csv/field_format_map.ts b/x-pack/plugins/reporting/server/export_types/csv/generate_csv/field_format_map.ts index 9d094f4308ed7..38a6cac337861 100644 --- a/x-pack/plugins/reporting/server/export_types/csv/generate_csv/field_format_map.ts +++ b/x-pack/plugins/reporting/server/export_types/csv/generate_csv/field_format_map.ts @@ -6,22 +6,21 @@ */ import _ from 'lodash'; +import type { DataView, KBN_FIELD_TYPES } from 'src/plugins/data/common'; import { FieldFormat, IFieldFormatsRegistry, FieldFormatConfig, } from 'src/plugins/field_formats/common'; -import { IndexPatternSavedObjectDeprecatedCSV } from '../types'; - /** * Create a map of FieldFormat instances for index pattern fields * - * @param {Object} indexPatternSavedObject + * @param {DataView} dataView * @param {FieldFormatsService} fieldFormats * @return {Map} key: field name, value: FieldFormat instance */ export function fieldFormatMapFactory( - indexPatternSavedObject: IndexPatternSavedObjectDeprecatedCSV, + dataView: DataView | undefined, fieldFormatsRegistry: IFieldFormatsRegistry, timezone: string | undefined ) { @@ -32,10 +31,9 @@ export function fieldFormatMapFactory( const serverDateParams = { timezone }; // Add FieldFormat instances for fields with custom formatters - if (_.has(indexPatternSavedObject, 'attributes.fieldFormatMap')) { - const fieldFormatMap = JSON.parse(indexPatternSavedObject.attributes.fieldFormatMap); - Object.keys(fieldFormatMap).forEach((fieldName) => { - const formatConfig: FieldFormatConfig = fieldFormatMap[fieldName]; + if (dataView) { + Object.keys(dataView.fieldFormatMap).forEach((fieldName) => { + const formatConfig: FieldFormatConfig = dataView.fieldFormatMap[fieldName]; const formatParams = { ...formatConfig.params, ...serverDateParams, @@ -48,12 +46,11 @@ export function fieldFormatMapFactory( } // Add default FieldFormat instances for non-custom formatted fields - const indexFields = JSON.parse(_.get(indexPatternSavedObject, 'attributes.fields', '[]')); - indexFields.forEach((field: any) => { + dataView?.fields.forEach((field) => { if (!formatsMap.has(field.name)) { formatsMap.set( field.name, - fieldFormatsRegistry.getDefaultInstance(field.type, [], serverDateParams) + fieldFormatsRegistry.getDefaultInstance(field.type as KBN_FIELD_TYPES, [], serverDateParams) ); } }); diff --git a/x-pack/plugins/reporting/server/export_types/csv/generate_csv/index.ts b/x-pack/plugins/reporting/server/export_types/csv/generate_csv/index.ts index 61f404ed2fb02..2573ba14f22a5 100644 --- a/x-pack/plugins/reporting/server/export_types/csv/generate_csv/index.ts +++ b/x-pack/plugins/reporting/server/export_types/csv/generate_csv/index.ts @@ -8,6 +8,7 @@ import { Writable } from 'stream'; import { i18n } from '@kbn/i18n'; import { ElasticsearchClient, IUiSettingsClient } from 'src/core/server'; +import type { DataView, DataViewsService } from 'src/plugins/data/common'; import { ReportingConfig } from '../../../'; import { createEscapeValue } from '../../../../../../../src/plugins/data/common'; import { CancellationToken } from '../../../../../../plugins/reporting/common'; @@ -16,10 +17,7 @@ import { byteSizeValueToNumber } from '../../../../common/schema_utils'; import { LevelLogger } from '../../../lib'; import { getFieldFormats } from '../../../services'; import { MaxSizeStringBuilder } from '../../csv_searchsource/generate_csv/max_size_string_builder'; -import { - IndexPatternSavedObjectDeprecatedCSV, - SavedSearchGeneratorResultDeprecatedCSV, -} from '../types'; +import { SavedSearchGeneratorResultDeprecatedCSV } from '../types'; import { checkIfRowsHaveFormulas } from './check_cells_for_formulas'; import { fieldFormatMapFactory } from './field_format_map'; import { createFlattenHit } from './flatten_hit'; @@ -44,7 +42,7 @@ interface SearchRequest { export interface GenerateCsvParams { browserTimezone?: string; searchRequest: SearchRequest; - indexPatternSavedObject: IndexPatternSavedObjectDeprecatedCSV; + indexPatternId: string; fields: string[]; metaFields: string[]; conflictedTypesFields: string[]; @@ -58,6 +56,7 @@ export function createGenerateCsv(logger: LevelLogger) { config: ReportingConfig, uiSettingsClient: IUiSettingsClient, elasticsearchClient: ElasticsearchClient, + dataViews: DataViewsService, cancellationToken: CancellationToken, stream: Writable ): Promise { @@ -91,11 +90,17 @@ export function createGenerateCsv(logger: LevelLogger) { let csvContainsFormulas = false; const flattenHit = createFlattenHit(fields, metaFields, conflictedTypesFields); + let dataView: DataView | undefined; + + try { + dataView = await dataViews.get(job.indexPatternId); + } catch (error) { + logger.error(`Failed to get the data view "${job.indexPatternId}": ${error}`); + } + const formatsMap = await getFieldFormats() .fieldFormatServiceFactory(uiSettingsClient) - .then((fieldFormats) => - fieldFormatMapFactory(job.indexPatternSavedObject, fieldFormats, settings.timezone) - ); + .then((fieldFormats) => fieldFormatMapFactory(dataView, fieldFormats, settings.timezone)); const formatCsvValues = createFormatCsvValues( escapeValue, diff --git a/x-pack/plugins/reporting/server/export_types/csv/types.d.ts b/x-pack/plugins/reporting/server/export_types/csv/types.d.ts index 0263e82040f17..fff6f0bcf9538 100644 --- a/x-pack/plugins/reporting/server/export_types/csv/types.d.ts +++ b/x-pack/plugins/reporting/server/export_types/csv/types.d.ts @@ -5,20 +5,11 @@ * 2.0. */ +import type { FieldSpec } from 'src/plugins/data/common'; import { BaseParams, BasePayload } from '../../types'; export type RawValue = string | object | null | undefined; -export interface IndexPatternSavedObjectDeprecatedCSV { - title: string; - timeFieldName: string; - fields?: any[]; - attributes: { - fields: string; - fieldFormatMap: string; - }; -} - interface BaseParamsDeprecatedCSV { searchRequest: SearchRequestDeprecatedCSV; fields: string[]; @@ -31,10 +22,9 @@ export type JobParamsDeprecatedCSV = BaseParamsDeprecatedCSV & indexPatternId: string; }; -// CSV create job method converts indexPatternID to indexPatternSavedObject export type TaskPayloadDeprecatedCSV = BaseParamsDeprecatedCSV & BasePayload & { - indexPatternSavedObject: IndexPatternSavedObjectDeprecatedCSV; + indexPatternId: string; }; export interface SearchRequestDeprecatedCSV { diff --git a/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.test.ts b/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.test.ts index e2c3ffdd68818..0166e82744e5d 100644 --- a/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.test.ts +++ b/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.test.ts @@ -48,11 +48,11 @@ test(`passes title through if provided`, async () => { test(`gets the title from the savedObject`, async () => { const createJobMock = jest.fn(); const title = 'savedTitle'; - mockRequestHandlerContext.core.savedObjects.client.get.mockResolvedValue( - createMockSavedObject({ + mockRequestHandlerContext.core.savedObjects.client.resolve.mockResolvedValue({ + saved_object: createMockSavedObject({ attributes: { title }, - }) - ); + }), + } as any); await compatibilityShim(createJobMock, mockLogger)( createMockJobParams({ objectType: 'search', savedObjectId: 'abc' }), @@ -72,9 +72,9 @@ test(`gets the title from the savedObject`, async () => { test(`passes the objectType and savedObjectId to the savedObjectsClient`, async () => { const createJobMock = jest.fn(); const context = mockRequestHandlerContext; - context.core.savedObjects.client.get.mockResolvedValue( - createMockSavedObject({ attributes: { title: '' } }) - ); + context.core.savedObjects.client.resolve.mockResolvedValue({ + saved_object: createMockSavedObject({ attributes: { title: '' } }), + } as any); const objectType = 'search'; const savedObjectId = 'abc'; @@ -92,10 +92,8 @@ test(`passes the objectType and savedObjectId to the savedObjectsClient`, async ); expect(mockLogger.error.mock.calls.length).toBe(0); - const getMock = context.core.savedObjects.client.get.mock; - expect(getMock.calls.length).toBe(1); - expect(getMock.calls[0][0]).toBe(objectType); - expect(getMock.calls[0][1]).toBe(savedObjectId); + expect(context.core.savedObjects.client.resolve).toHaveBeenCalledTimes(1); + expect(context.core.savedObjects.client.resolve).toHaveBeenCalledWith(objectType, savedObjectId); }); test(`logs no warnings when title and relativeUrls is passed`, async () => { diff --git a/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.ts b/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.ts index 1d222d61eb07d..d5e78bcf68f4b 100644 --- a/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.ts +++ b/x-pack/plugins/reporting/server/export_types/printable_pdf/create_job/compatibility_shim.ts @@ -22,7 +22,10 @@ const getSavedObjectTitle = async ( savedObjectId: string, savedObjectsClient: SavedObjectsClientContract ) => { - const savedObject = await savedObjectsClient.get<{ title: string }>(objectType, savedObjectId); + const { saved_object: savedObject } = await savedObjectsClient.resolve<{ title: string }>( + objectType, + savedObjectId + ); return savedObject.attributes.title; }; diff --git a/x-pack/plugins/reporting/server/routes/lib/request_handler.test.ts b/x-pack/plugins/reporting/server/routes/lib/request_handler.test.ts index 622097f8dbd32..5900a151f92da 100644 --- a/x-pack/plugins/reporting/server/routes/lib/request_handler.test.ts +++ b/x-pack/plugins/reporting/server/routes/lib/request_handler.test.ts @@ -71,6 +71,7 @@ describe('Handle request to generate', () => { (report) => new Report({ ...report, _index: '.reporting-foo-index-234' }) ), } as unknown as ReportingStore); + mockRequest = getMockRequest(); mockResponseFactory = getMockResponseFactory(); @@ -80,6 +81,7 @@ describe('Handle request to generate', () => { mockContext = getMockContext(); mockContext.reporting = {} as ReportingSetup; + requestHandler = new RequestHandler( reportingCore, { username: 'testymcgee' }, @@ -195,7 +197,6 @@ describe('Handle request to generate', () => { "output": Object {}, "payload": Object { "browserTimezone": "UTC", - "indexPatternSavedObject": undefined, "isDeprecated": true, "layout": Object { "id": "preserve_layout", From 16e22728be6319b25d043b03f574c494b6628e56 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 21 Oct 2021 16:40:24 +0200 Subject: [PATCH 10/39] [Reporting] Add guidance when copying URLs that may have issues (#112979) * --wip-- v1 of the UX [skip-ci] * copy update [skip-ci] * also respect the max URL limit * use "isUnsaved" * move files around and introduce callout for warnings * remove proceed anyway * cleaned up imports * fix i18n and types * added jest tests and update jest snapshot * rewrite max length for reader clarity. * refactor unsaved "warning" to unsaved "error" and do not show the copy URL button * update screenshot capture panel test and snapshots Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- ...screen_capture_panel_content.test.tsx.snap | 444 +++++++++--------- .../components/error_unsaved_work_panel.tsx | 33 ++ .../components/error_url_too_long_panel.tsx | 47 ++ .../components/index.ts | 9 + .../reporting_panel_content/constants.ts | 13 + .../reporting_panel_content/index.ts | 8 + .../reporting_panel_content.test.tsx | 43 +- .../reporting_panel_content.tsx | 60 ++- .../screen_capture_panel_content.test.tsx | 2 + 9 files changed, 415 insertions(+), 244 deletions(-) create mode 100644 x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_unsaved_work_panel.tsx create mode 100644 x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_url_too_long_panel.tsx create mode 100644 x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/index.ts create mode 100644 x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/constants.ts create mode 100644 x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/index.ts rename x-pack/plugins/reporting/public/share_context_menu/{ => reporting_panel_content}/reporting_panel_content.test.tsx (67%) rename x-pack/plugins/reporting/public/share_context_menu/{ => reporting_panel_content}/reporting_panel_content.tsx (84%) diff --git a/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap b/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap index e655e9c3d7f06..c5d87410f596f 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap +++ b/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap @@ -346,88 +346,88 @@ exports[`ScreenCapturePanelContent properly renders a view with "canvas" layout className="euiSpacer euiSpacer--s" /> - - + - - + + + Unsaved work + +
+ - - - - - - - +

+ + + Save your work before copying this URL. + + +

+ +
+ +
+ +
+ + +
+ + + @@ -784,88 +784,88 @@ exports[`ScreenCapturePanelContent properly renders a view with "print" layout o className="euiSpacer euiSpacer--s" />
- - + - - + + + Unsaved work + + + - - - - - - - +

+ + + Save your work before copying this URL. + + +

+ + + +
+ +
+ + + + + + @@ -1094,88 +1094,88 @@ exports[`ScreenCapturePanelContent renders the default view properly 1`] = ` className="euiSpacer euiSpacer--s" />
- - + - - - - - - - +

+ + + Save your work before copying this URL. + + +

+ + + +
+ +
+ + + + + + diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_unsaved_work_panel.tsx b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_unsaved_work_panel.tsx new file mode 100644 index 0000000000000..348c6d42cddb8 --- /dev/null +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_unsaved_work_panel.tsx @@ -0,0 +1,33 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { i18n } from '@kbn/i18n'; +import type { FunctionComponent } from 'react'; +import React from 'react'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCallOut, EuiText, EuiSpacer } from '@elastic/eui'; + +const i18nTexts = { + title: i18n.translate('xpack.reporting.panelContent.unsavedStateErrorTitle', { + defaultMessage: 'Unsaved work', + }), +}; + +export const ErrorUnsavedWorkPanel: FunctionComponent = () => { + return ( + + +

+ +

+
+ +
+ ); +}; diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_url_too_long_panel.tsx b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_url_too_long_panel.tsx new file mode 100644 index 0000000000000..9c925fe03fee2 --- /dev/null +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/error_url_too_long_panel.tsx @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { FunctionComponent } from 'react'; +import React from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiCallOut, EuiText } from '@elastic/eui'; + +interface Props { + isUnsaved?: boolean; +} + +const i18nTexts = { + title: i18n.translate('xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTitle', { + defaultMessage: 'URL too long', + }), +}; + +export const ErrorUrlTooLongPanel: FunctionComponent = ({ isUnsaved }) => ( + + +

+ {isUnsaved ? ( + + + + ) : ( + // Reaching this state is essentially just an error and should result in a user contacting us. + + + + )} +

+
+
+); diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/index.ts b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/index.ts new file mode 100644 index 0000000000000..b7da9d6d12573 --- /dev/null +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/components/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { ErrorUnsavedWorkPanel } from './error_unsaved_work_panel'; +export { ErrorUrlTooLongPanel } from './error_url_too_long_panel'; diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/constants.ts b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/constants.ts new file mode 100644 index 0000000000000..fe7faf48d6106 --- /dev/null +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/constants.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +/** + * Based on {@link URL_MAX_LENGTH} exported from core/public. + */ +const CHROMIUM_MAX_URL_LENGTH = 25 * 1000; + +export const getMaxUrlLength = () => CHROMIUM_MAX_URL_LENGTH; diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/index.ts b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/index.ts new file mode 100644 index 0000000000000..843a0b6747e4c --- /dev/null +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { ReportingPanelContent, Props, ReportingPanelProps } from './reporting_panel_content'; diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.test.tsx b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/reporting_panel_content.test.tsx similarity index 67% rename from x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.test.tsx rename to x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/reporting_panel_content.test.tsx index 6ad894bf3ac2f..e9dd584e51f82 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.test.tsx +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/reporting_panel_content.test.tsx @@ -12,8 +12,14 @@ import { notificationServiceMock, uiSettingsServiceMock, } from 'src/core/public/mocks'; -import { ReportingAPIClient } from '../lib/reporting_api_client'; -import { ReportingPanelContent, ReportingPanelProps as Props } from './reporting_panel_content'; +import { ReportingAPIClient } from '../../lib/reporting_api_client'; +import { ReportingPanelContent, ReportingPanelProps as Props } from '.'; +import { ErrorUnsavedWorkPanel } from './components'; + +jest.mock('./constants', () => ({ + getMaxUrlLength: jest.fn(() => 9999999), +})); +import * as constants from './constants'; describe('ReportingPanelContent', () => { const props: Partial = { @@ -83,7 +89,7 @@ describe('ReportingPanelContent', () => { }); it('changing the layout triggers refreshing the state with the latest job params', () => { - const wrapper = mountComponent({ requiresSavedState: false }); + const wrapper = mountComponent({ requiresSavedState: false, isDirty: false }); wrapper.update(); expect(wrapper.find('EuiCopy').prop('textToCopy')).toMatchInlineSnapshot( `"http://localhost/api/reporting/generate/test?jobParams=%28appState%3Avery_cool_app_state_X%2CbrowserTimezone%3AMars%2CobjectType%3Anoice_object%2Ctitle%3Aultimate_title%2Cversion%3A%277.15.0-test%27%29"` @@ -97,4 +103,35 @@ describe('ReportingPanelContent', () => { ); }); }); + + describe('copy post URL', () => { + it('shows the copy button without warnings', () => { + const wrapper = mountComponent({ requiresSavedState: false, isDirty: false }); + wrapper.update(); + expect(wrapper.exists('EuiCopy')).toBe(true); + expect(wrapper.exists(ErrorUnsavedWorkPanel)).toBe(false); + }); + + it('does not show the copy button when there is unsaved state', () => { + const wrapper = mountComponent({ requiresSavedState: false, isDirty: true }); + wrapper.update(); + expect(wrapper.exists('EuiCopy')).toBe(false); + expect(wrapper.exists(ErrorUnsavedWorkPanel)).toBe(true); + }); + + it('does not show the copy button when the URL is too long', () => { + (constants.getMaxUrlLength as jest.Mock).mockReturnValue(1); + const wrapper = mountComponent({ requiresSavedState: false, isDirty: true }); + wrapper.update(); + + expect(wrapper.exists('EuiCopy')).toBe(false); + expect(wrapper.exists('[data-test-subj="urlTooLongTrySavingMessage"]')).toBe(true); + expect(wrapper.exists('[data-test-subj="urlTooLongErrorMessage"]')).toBe(false); + + wrapper.setProps({ isDirty: false }); + expect(wrapper.exists('EuiCopy')).toBe(false); + expect(wrapper.exists('[data-test-subj="urlTooLongTrySavingMessage"]')).toBe(false); + expect(wrapper.exists('[data-test-subj="urlTooLongErrorMessage"]')).toBe(true); + }); + }); }); diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.tsx b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/reporting_panel_content.tsx similarity index 84% rename from x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.tsx rename to x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/reporting_panel_content.tsx index 6ed6f2d0c5f49..4e05dc5637bfb 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.tsx +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/reporting_panel_content.tsx @@ -20,16 +20,18 @@ import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react'; import React, { Component, ReactElement } from 'react'; import { IUiSettingsClient, ToastsSetup } from 'src/core/public'; import url from 'url'; -import { toMountPoint } from '../../../../../src/plugins/kibana_react/public'; +import { toMountPoint } from '../../../../../../src/plugins/kibana_react/public'; import { CSV_REPORT_TYPE, PDF_REPORT_TYPE, PDF_REPORT_TYPE_V2, PNG_REPORT_TYPE, PNG_REPORT_TYPE_V2, -} from '../../common/constants'; -import { BaseParams } from '../../common/types'; -import { ReportingAPIClient } from '../lib/reporting_api_client'; +} from '../../../common/constants'; +import { BaseParams } from '../../../common/types'; +import { ReportingAPIClient } from '../../lib/reporting_api_client'; +import { ErrorUnsavedWorkPanel, ErrorUrlTooLongPanel } from './components'; +import { getMaxUrlLength } from './constants'; export interface ReportingPanelProps { apiClient: ReportingAPIClient; @@ -108,11 +110,39 @@ class ReportingPanelContentUi extends Component { return this.props.objectId === undefined || this.props.objectId === ''; }; + private renderCopyURLButton({ + isUnsaved, + exceedsMaxLength, + }: { + isUnsaved: boolean; + exceedsMaxLength: boolean; + }) { + if (isUnsaved) { + if (exceedsMaxLength) { + return ; + } + return ; + } else if (exceedsMaxLength) { + return ; + } + return ( + + {(copy) => ( + + + + )} + + ); + } + public render() { - if ( - this.props.requiresSavedState && - (this.isNotSaved() || this.props.isDirty || this.state.isStale) - ) { + const isUnsaved: boolean = this.isNotSaved() || this.props.isDirty || this.state.isStale; + + if (this.props.requiresSavedState && isUnsaved) { return ( { ); } + const exceedsMaxLength = this.state.absoluteUrl.length >= getMaxUrlLength(); + return ( @@ -172,17 +204,7 @@ class ReportingPanelContentUi extends Component {

- - - {(copy) => ( - - - - )} - + {this.renderCopyURLButton({ isUnsaved, exceedsMaxLength })}
); diff --git a/x-pack/plugins/reporting/public/share_context_menu/screen_capture_panel_content.test.tsx b/x-pack/plugins/reporting/public/share_context_menu/screen_capture_panel_content.test.tsx index b64052228eb41..f37aaea114cfa 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/screen_capture_panel_content.test.tsx +++ b/x-pack/plugins/reporting/public/share_context_menu/screen_capture_panel_content.test.tsx @@ -85,8 +85,10 @@ test('ScreenCapturePanelContent decorated job params are visible in the POST URL const component = mount( Date: Thu, 21 Oct 2021 07:41:40 -0700 Subject: [PATCH 11/39] Fix flaky functional test in saved objects managements -> delete SO (#115291) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../inspect_saved_objects.ts | 16 +++++++------- .../management/saved_objects_page.ts | 21 +++++++++++++++++-- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/test/functional/apps/saved_objects_management/inspect_saved_objects.ts b/test/functional/apps/saved_objects_management/inspect_saved_objects.ts index 7fff2cc001844..2faa66d258eb6 100644 --- a/test/functional/apps/saved_objects_management/inspect_saved_objects.ts +++ b/test/functional/apps/saved_objects_management/inspect_saved_objects.ts @@ -20,20 +20,20 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const focusAndClickButton = async (buttonSubject: string) => { const button = await testSubjects.find(buttonSubject); await button.scrollIntoViewIfNecessary(); - await delay(10); + await delay(100); await button.focus(); - await delay(10); + await delay(100); await button.click(); // Allow some time for the transition/animations to occur before assuming the click is done - await delay(10); + await delay(100); }; + const textIncludesAll = (text: string, items: string[]) => { const bools = items.map((item) => !!text.includes(item)); return bools.every((currBool) => currBool === true); }; - // FLAKY: https://github.com/elastic/kibana/issues/68400 - describe.skip('saved objects edition page', () => { + describe('saved objects inspect page', () => { beforeEach(async () => { await esArchiver.load( 'test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object' @@ -74,13 +74,15 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await PageObjects.settings.clickKibanaSavedObjects(); let objects = await PageObjects.savedObjects.getRowTitles(); expect(objects.includes('A Dashboard')).to.be(true); + await PageObjects.savedObjects.clickInspectByTitle('A Dashboard'); await PageObjects.common.navigateToUrl('management', 'kibana/objects/dashboard/i-exist', { shouldUseHashForSubUrl: false, - }); + }); // we should wait for it to load. + // wait for the Inspect view to load + await PageObjects.savedObjects.waitInspectObjectIsLoaded(); await focusAndClickButton('savedObjectEditDelete'); await PageObjects.common.clickConfirmOnModal(); - objects = await PageObjects.savedObjects.getRowTitles(); expect(objects.includes('A Dashboard')).to.be(false); }); diff --git a/test/functional/page_objects/management/saved_objects_page.ts b/test/functional/page_objects/management/saved_objects_page.ts index 9f48a6f57c8d8..21af7aa477abd 100644 --- a/test/functional/page_objects/management/saved_objects_page.ts +++ b/test/functional/page_objects/management/saved_objects_page.ts @@ -99,18 +99,30 @@ export class SavedObjectsPageObject extends FtrService { } async waitTableIsLoaded() { - return this.retry.try(async () => { + return await this.retry.try(async () => { const isLoaded = await this.find.existsByDisplayedByCssSelector( '*[data-test-subj="savedObjectsTable"] :not(.euiBasicTable-loading)' ); - if (isLoaded) { return true; } else { + this.log.debug(`still waiting for the table to load ${isLoaded}`); throw new Error('Waiting'); } }); } + async waitInspectObjectIsLoaded() { + return await this.retry.try(async () => { + this.log.debug(`wait for inspect view to load`); + const isLoaded = await this.find.byClassName('kibanaCodeEditor'); + const visibleContainerText = await isLoaded.getVisibleText(); + if (visibleContainerText) { + return true; + } else { + this.log.debug(`still waiting for json view to load ${isLoaded}`); + } + }); + } async clickRelationshipsByTitle(title: string) { const table = keyBy(await this.getElementsInTable(), 'title'); @@ -157,8 +169,10 @@ export class SavedObjectsPageObject extends FtrService { } async clickInspectByTitle(title: string) { + this.log.debug(`inspecting ${title} object through the context menu`); const table = keyBy(await this.getElementsInTable(), 'title'); if (table[title].menuElement) { + this.log.debug(`${title} has a menuElement`); await table[title].menuElement?.click(); // Wait for context menu to render const menuPanel = await this.find.byCssSelector('.euiContextMenuPanel'); @@ -166,6 +180,9 @@ export class SavedObjectsPageObject extends FtrService { await panelButton.click(); } else { // or the action elements are on the row without the menu + this.log.debug( + `${title} doesn't have a menu element, trying to copy the object instead using` + ); await table[title].copySaveObjectsElement?.click(); } } From 5890a0189663d7d6b21d80a8b86cd89381177175 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20St=C3=BCrmer?= Date: Thu, 21 Oct 2021 16:58:37 +0200 Subject: [PATCH 12/39] [Logs UI] [Metrics UI] Register deprecations for the logAlias and metricAlias config settings (#115845) --- x-pack/plugins/infra/server/deprecations.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/infra/server/deprecations.ts b/x-pack/plugins/infra/server/deprecations.ts index 27c2b235f769b..70131cd96d117 100644 --- a/x-pack/plugins/infra/server/deprecations.ts +++ b/x-pack/plugins/infra/server/deprecations.ts @@ -142,7 +142,7 @@ const FIELD_DEPRECATION_FACTORIES: Record Dep }), }; -export const configDeprecations: ConfigDeprecationProvider = () => [ +export const configDeprecations: ConfigDeprecationProvider = ({ deprecate }) => [ ...Object.keys(FIELD_DEPRECATION_FACTORIES).map( (key): ConfigDeprecation => (completeConfig, rootPath, addDeprecation) => { @@ -179,6 +179,8 @@ export const configDeprecations: ConfigDeprecationProvider = () => [ return completeConfig; } ), + deprecate('sources.default.logAlias', '8.0.0'), + deprecate('sources.default.metricAlias', '8.0.0'), ]; export const getInfraDeprecationsFactory = From 729481ed5986ffd721f1871a6bb33620858cf443 Mon Sep 17 00:00:00 2001 From: Robert Oskamp Date: Thu, 21 Oct 2021 17:11:24 +0200 Subject: [PATCH 13/39] [ML] Functional tests - stabilize categorization examples endpoint test (#115910) This PR stabilizes the categorization example endpoint tests by using a different esArchive. --- x-pack/test/api_integration/apis/ml/index.ts | 1 + .../ml/jobs/categorization_field_examples.ts | 4 +- .../ml/categorization_small/data.json.gz | Bin 0 -> 56907 bytes .../ml/categorization_small/mappings.json | 41 ++++++++++++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 x-pack/test/functional/es_archives/ml/categorization_small/data.json.gz create mode 100644 x-pack/test/functional/es_archives/ml/categorization_small/mappings.json diff --git a/x-pack/test/api_integration/apis/ml/index.ts b/x-pack/test/api_integration/apis/ml/index.ts index e44d0cd10e9f2..9b530873ad165 100644 --- a/x-pack/test/api_integration/apis/ml/index.ts +++ b/x-pack/test/api_integration/apis/ml/index.ts @@ -44,6 +44,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { await esArchiver.unload('x-pack/test/functional/es_archives/ml/ecommerce'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization_small'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/module_apache'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/module_auditbeat'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/module_apm'); diff --git a/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts b/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts index 4686787ae9b16..9d6009bbb3ea6 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts @@ -64,7 +64,7 @@ const analyzer = { ], }; const defaultRequestBody = { - indexPatternTitle: 'ft_categorization', + indexPatternTitle: 'ft_categorization_small', query: { bool: { must: [{ match_all: {} }] } }, size: 5, timeField: '@timestamp', @@ -286,7 +286,7 @@ export default ({ getService }: FtrProviderContext) => { describe('Categorization example endpoint - ', function () { before(async () => { - await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/categorization'); + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/categorization_small'); await ml.testResources.setKibanaTimeZoneToUTC(); }); diff --git a/x-pack/test/functional/es_archives/ml/categorization_small/data.json.gz b/x-pack/test/functional/es_archives/ml/categorization_small/data.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..76ac07831dec16d64a3ebb4829acb70c2e8fb98e GIT binary patch literal 56907 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 literal 0 HcmV?d00001 diff --git a/x-pack/test/functional/es_archives/ml/categorization_small/mappings.json b/x-pack/test/functional/es_archives/ml/categorization_small/mappings.json new file mode 100644 index 0000000000000..b73babf361625 --- /dev/null +++ b/x-pack/test/functional/es_archives/ml/categorization_small/mappings.json @@ -0,0 +1,41 @@ +{ + "type": "index", + "value": { + "aliases": {}, + "index": "ft_categorization_small", + "mappings": { + "properties": { + "@timestamp": { + "type": "date" + }, + "field1": { + "type": "text" + }, + "field2": { + "type": "text" + }, + "field3": { + "type": "text" + }, + "field4": { + "type": "text" + }, + "field5": { + "type": "text" + }, + "field6": { + "type": "text" + }, + "field7": { + "type": "text" + } + } + }, + "settings": { + "index": { + "number_of_replicas": "0", + "number_of_shards": "1" + } + } + } +} From 31e7428f4956303102e7455eb48818c51eecaf68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Thu, 21 Oct 2021 17:22:46 +0200 Subject: [PATCH 14/39] [Index Management] Forward port of the fix for indices table test in 7.16 (#115933) --- .../__snapshots__/index_table.test.js.snap | 2 +- .../__jest__/components/index_table.test.js | 32 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/x-pack/plugins/index_management/__jest__/components/__snapshots__/index_table.test.js.snap b/x-pack/plugins/index_management/__jest__/components/__snapshots__/index_table.test.js.snap index b35f3515a9af0..f4f886dd7211c 100644 --- a/x-pack/plugins/index_management/__jest__/components/__snapshots__/index_table.test.js.snap +++ b/x-pack/plugins/index_management/__jest__/components/__snapshots__/index_table.test.js.snap @@ -22,7 +22,7 @@ exports[`index table force merge button works from context menu 3`] = `"open"`; exports[`index table open index button works from context menu 1`] = `"opening..."`; -exports[`index table open index button works from context menu 2`] = `"opening..."`; +exports[`index table open index button works from context menu 2`] = `"open"`; exports[`index table refresh button works from context menu 1`] = `"refreshing..."`; diff --git a/x-pack/plugins/index_management/__jest__/components/index_table.test.js b/x-pack/plugins/index_management/__jest__/components/index_table.test.js index 808c44ddecce0..5e5538fcca4e8 100644 --- a/x-pack/plugins/index_management/__jest__/components/index_table.test.js +++ b/x-pack/plugins/index_management/__jest__/components/index_table.test.js @@ -88,6 +88,14 @@ const snapshot = (rendered) => { expect(rendered).toMatchSnapshot(); }; +const names = (rendered) => { + return findTestSubject(rendered, 'indexTableIndexNameLink'); +}; + +const namesText = (rendered) => { + return names(rendered).map((button) => button.text()); +}; + const openMenuAndClickButton = (rendered, rowIndex, buttonSelector) => { // Select a row. const checkboxes = findTestSubject(rendered, 'indexTableRowCheckbox'); @@ -111,7 +119,8 @@ const testEditor = (rendered, buttonSelector, rowIndex = 0) => { snapshot(findTestSubject(rendered, 'detailPanelTabSelected').text()); }; -const testAction = (rendered, buttonSelector, rowIndex = 0) => { +const testAction = (rendered, buttonSelector, indexName = 'testy0') => { + const rowIndex = namesText(rendered).indexOf(indexName); // This is leaking some implementation details about how Redux works. Not sure exactly what's going on // but it looks like we're aware of how many Redux actions are dispatched in response to user interaction, // so we "time" our assertion based on how many Redux actions we observe. This is brittle because it @@ -132,14 +141,6 @@ const testAction = (rendered, buttonSelector, rowIndex = 0) => { snapshot(status(rendered, rowIndex)); }; -const names = (rendered) => { - return findTestSubject(rendered, 'indexTableIndexNameLink'); -}; - -const namesText = (rendered) => { - return names(rendered).map((button) => button.text()); -}; - const getActionMenuButtons = (rendered) => { return findTestSubject(rendered, 'indexContextMenu') .find('button') @@ -487,24 +488,23 @@ describe('index table', () => { }); test('open index button works from context menu', async () => { - const rendered = mountWithIntl(component); - await runAllPromises(); - rendered.update(); - const modifiedIndices = indices.map((index) => { return { ...index, - status: index.name === 'testy1' ? 'open' : index.status, + status: index.name === 'testy1' ? 'closed' : index.status, }; }); - server.respondWith(`${API_BASE_PATH}/indices/reload`, [ + server.respondWith(`${API_BASE_PATH}/indices`, [ 200, { 'Content-Type': 'application/json' }, JSON.stringify(modifiedIndices), ]); - testAction(rendered, 'openIndexMenuButton', 1); + const rendered = mountWithIntl(component); + await runAllPromises(); + rendered.update(); + testAction(rendered, 'openIndexMenuButton', 'testy1'); }); test('show settings button works from context menu', async () => { From 079fbce79d7d5e9482ce3fb10f9ae63ef2a66a61 Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Thu, 21 Oct 2021 18:26:28 +0300 Subject: [PATCH 15/39] [CodeEditor] add support of triple quotes (#112656) * [CodeEditor] add support of triple quotes * add tests for grammar * an escaped quote can be appended to the end of triple quotes' Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-monaco/src/xjson/grammar.test.ts | 189 ++++++++++++++++++ packages/kbn-monaco/src/xjson/grammar.ts | 79 ++++---- .../kbn-monaco/src/xjson/lexer_rules/xjson.ts | 1 + .../search/aggs/param_types/json.test.ts | 32 ++- .../common/search/aggs/param_types/json.ts | 14 +- src/plugins/vis_default_editor/kibana.json | 2 +- .../public/components/controls/raw_json.tsx | 3 +- 7 files changed, 274 insertions(+), 46 deletions(-) create mode 100644 packages/kbn-monaco/src/xjson/grammar.test.ts diff --git a/packages/kbn-monaco/src/xjson/grammar.test.ts b/packages/kbn-monaco/src/xjson/grammar.test.ts new file mode 100644 index 0000000000000..29d338cd71b0c --- /dev/null +++ b/packages/kbn-monaco/src/xjson/grammar.test.ts @@ -0,0 +1,189 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { createParser } from './grammar'; + +describe('createParser', () => { + let parser: ReturnType; + + beforeEach(() => { + parser = createParser(); + }); + + test('should create a xjson grammar parser', () => { + expect(createParser()).toBeInstanceOf(Function); + }); + + test('should return no annotations in case of valid json', () => { + expect( + parser(` + {"menu": { + "id": "file", + "value": "File", + "quotes": "'\\"", + "popup": { + "actions": [ + "new", + "open", + "close" + ], + "menuitem": [ + {"value": "New"}, + {"value": "Open"}, + {"value": "Close"} + ] + } + }} + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [], + } + `); + }); + + test('should support triple quotes', () => { + expect( + parser(` + {"menu": { + "id": """ + file + """, + "value": "File" + }} + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [], + } + `); + }); + + test('triple quotes should be correctly closed', () => { + expect( + parser(` + {"menu": { + "id": """" + file + "", + "value": "File" + }} + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [ + Object { + "at": 36, + "text": "Expected ',' instead of '\\"'", + "type": "error", + }, + ], + } + `); + }); + + test('an escaped quote can be appended to the end of triple quotes', () => { + expect( + parser(` + {"menu": { + "id": """ + file + \\"""", + "value": "File" + }} + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [], + } + `); + }); + + test('text values should be wrapper into quotes', () => { + expect( + parser(` + {"menu": { + "id": id, + "value": "File" + }} + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [ + Object { + "at": 36, + "text": "Unexpected 'i'", + "type": "error", + }, + ], + } + `); + }); + + test('check for close quotes', () => { + expect( + parser(` + {"menu": { + "id": "id, + "value": "File" + }} + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [ + Object { + "at": 52, + "text": "Expected ',' instead of 'v'", + "type": "error", + }, + ], + } + `); + }); + test('no duplicate keys', () => { + expect( + parser(` + {"menu": { + "id": "id", + "id": "File" + }} + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [ + Object { + "at": 53, + "text": "Duplicate key \\"id\\"", + "type": "warning", + }, + ], + } + `); + }); + + test('all curly quotes should be closed', () => { + expect( + parser(` + {"menu": { + "id": "id", + "name": "File" + } + `) + ).toMatchInlineSnapshot(` + Object { + "annotations": Array [ + Object { + "at": 82, + "text": "Expected ',' instead of ''", + "type": "error", + }, + ], + } + `); + }); +}); diff --git a/packages/kbn-monaco/src/xjson/grammar.ts b/packages/kbn-monaco/src/xjson/grammar.ts index 32c958e66d594..5d26e92f005ba 100644 --- a/packages/kbn-monaco/src/xjson/grammar.ts +++ b/packages/kbn-monaco/src/xjson/grammar.ts @@ -57,10 +57,6 @@ export const createParser = () => { text: m, }); }, - reset = function (newAt: number) { - ch = text.charAt(newAt); - at = newAt + 1; - }, next = function (c?: string) { return ( c && c !== ch && error("Expected '" + c + "' instead of '" + ch + "'"), @@ -69,15 +65,6 @@ export const createParser = () => { ch ); }, - nextUpTo = function (upTo: any, errorMessage: string) { - let currentAt = at, - i = text.indexOf(upTo, currentAt); - if (i < 0) { - error(errorMessage || "Expected '" + upTo + "'"); - } - reset(i + upTo.length); - return text.substring(currentAt, i); - }, peek = function (c: string) { return text.substr(at, c.length) === c; // nocommit - double check }, @@ -96,37 +83,50 @@ export const createParser = () => { (string += ch), next(); return (number = +string), isNaN(number) ? (error('Bad number'), void 0) : number; }, + stringLiteral = function () { + let quotes = '"""'; + let end = text.indexOf('\\"' + quotes, at + quotes.length); + + if (end >= 0) { + quotes = '\\"' + quotes; + } else { + end = text.indexOf(quotes, at + quotes.length); + } + + if (end >= 0) { + for (let l = end - at + quotes.length; l > 0; l--) { + next(); + } + } + + return next(); + }, string = function () { let hex: any, i: any, uffff: any, string = ''; + if ('"' === ch) { - if (peek('""')) { - // literal - next('"'); - next('"'); - return nextUpTo('"""', 'failed to find closing \'"""\''); - } else { - for (; next(); ) { - if ('"' === ch) return next(), string; - if ('\\' === ch) - if ((next(), 'u' === ch)) { - for ( - uffff = 0, i = 0; - 4 > i && ((hex = parseInt(next(), 16)), isFinite(hex)); - i += 1 - ) - uffff = 16 * uffff + hex; - string += String.fromCharCode(uffff); - } else { - if ('string' != typeof escapee[ch]) break; - string += escapee[ch]; - } - else string += ch; - } + for (; next(); ) { + if ('"' === ch) return next(), string; + if ('\\' === ch) + if ((next(), 'u' === ch)) { + for ( + uffff = 0, i = 0; + 4 > i && ((hex = parseInt(next(), 16)), isFinite(hex)); + i += 1 + ) + uffff = 16 * uffff + hex; + string += String.fromCharCode(uffff); + } else { + if ('string' != typeof escapee[ch]) break; + string += escapee[ch]; + } + else string += ch; } } + error('Bad string'); }, white = function () { @@ -165,9 +165,9 @@ export const createParser = () => { ((key = string()), white(), next(':'), - Object.hasOwnProperty.call(object, key) && + Object.hasOwnProperty.call(object, key!) && warning('Duplicate key "' + key + '"', latchKeyStart), - (object[key] = value()), + (object[key!] = value()), white(), '}' === ch) ) @@ -179,6 +179,9 @@ export const createParser = () => { }; return ( (value = function () { + if (peek('"""')) { + return stringLiteral(); + } switch ((white(), ch)) { case '{': return object(); diff --git a/packages/kbn-monaco/src/xjson/lexer_rules/xjson.ts b/packages/kbn-monaco/src/xjson/lexer_rules/xjson.ts index 2c8186ac7fa4f..f2ab22f8c97df 100644 --- a/packages/kbn-monaco/src/xjson/lexer_rules/xjson.ts +++ b/packages/kbn-monaco/src/xjson/lexer_rules/xjson.ts @@ -103,6 +103,7 @@ export const lexerRules: monaco.languages.IMonarchLanguage = { string_literal: [ [/"""/, { token: 'punctuation.end_triple_quote', next: '@pop' }], + [/\\""""/, { token: 'punctuation.end_triple_quote', next: '@pop' }], [/./, { token: 'multi_string' }], ], }, diff --git a/src/plugins/data/common/search/aggs/param_types/json.test.ts b/src/plugins/data/common/search/aggs/param_types/json.test.ts index 1b3af5b92c26b..8e71cf4657e1f 100644 --- a/src/plugins/data/common/search/aggs/param_types/json.test.ts +++ b/src/plugins/data/common/search/aggs/param_types/json.test.ts @@ -67,10 +67,34 @@ describe('JSON', function () { aggParam.write(aggConfig, output); expect(aggConfig.params).toHaveProperty(paramName); - expect(output.params).toEqual({ - existing: 'true', - new_param: 'should exist in output', - }); + expect(output.params).toMatchInlineSnapshot(` + Object { + "existing": "true", + "new_param": "should exist in output", + } + `); + }); + + it('should append param when valid JSON with triple quotes', () => { + const aggParam = initAggParam(); + const jsonData = `{ + "a": """ + multiline string - line 1 + """ + }`; + + aggConfig.params[paramName] = jsonData; + + aggParam.write(aggConfig, output); + expect(aggConfig.params).toHaveProperty(paramName); + + expect(output.params).toMatchInlineSnapshot(` + Object { + "a": " + multiline string - line 1 + ", + } + `); }); it('should not overwrite existing params', () => { diff --git a/src/plugins/data/common/search/aggs/param_types/json.ts b/src/plugins/data/common/search/aggs/param_types/json.ts index 1678b6586ce80..f499286140af1 100644 --- a/src/plugins/data/common/search/aggs/param_types/json.ts +++ b/src/plugins/data/common/search/aggs/param_types/json.ts @@ -11,6 +11,17 @@ import _ from 'lodash'; import { IAggConfig } from '../agg_config'; import { BaseParamType } from './base'; +function collapseLiteralStrings(xjson: string) { + const tripleQuotes = '"""'; + const splitData = xjson.split(tripleQuotes); + + for (let idx = 1; idx < splitData.length - 1; idx += 2) { + splitData[idx] = JSON.stringify(splitData[idx]); + } + + return splitData.join(''); +} + export class JsonParamType extends BaseParamType { constructor(config: Record) { super(config); @@ -26,9 +37,8 @@ export class JsonParamType extends BaseParamType { return; } - // handle invalid Json input try { - paramJson = JSON.parse(param); + paramJson = JSON.parse(collapseLiteralStrings(param)); } catch (err) { return; } diff --git a/src/plugins/vis_default_editor/kibana.json b/src/plugins/vis_default_editor/kibana.json index efed1eab1e494..253edc74f87b4 100644 --- a/src/plugins/vis_default_editor/kibana.json +++ b/src/plugins/vis_default_editor/kibana.json @@ -3,7 +3,7 @@ "version": "kibana", "ui": true, "optionalPlugins": ["visualize"], - "requiredBundles": ["kibanaUtils", "kibanaReact", "data", "fieldFormats", "discover"], + "requiredBundles": ["kibanaUtils", "kibanaReact", "data", "fieldFormats", "discover", "esUiShared"], "owner": { "name": "Vis Editors", "githubTeam": "kibana-vis-editors" diff --git a/src/plugins/vis_default_editor/public/components/controls/raw_json.tsx b/src/plugins/vis_default_editor/public/components/controls/raw_json.tsx index af6096be87f59..6e5ae78e54dc1 100644 --- a/src/plugins/vis_default_editor/public/components/controls/raw_json.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/raw_json.tsx @@ -12,6 +12,7 @@ import { EuiFormRow, EuiIconTip, EuiScreenReaderOnly } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { XJsonLang } from '@kbn/monaco'; import { CodeEditor } from '../../../../kibana_react/public'; +import { XJson } from '../../../../es_ui_shared/public'; import { AggParamEditorProps } from '../agg_param_props'; @@ -58,7 +59,7 @@ function RawJsonParamEditor({ let isJsonValid = true; try { if (newValue) { - JSON.parse(newValue); + JSON.parse(XJson.collapseLiteralStrings(newValue)); } } catch (e) { isJsonValid = false; From 7337a67c5317852f3fe6f510ae452184bcfbff80 Mon Sep 17 00:00:00 2001 From: Frank Hassanabad Date: Thu, 21 Oct 2021 09:34:54 -0600 Subject: [PATCH 16/39] Fixes backwards compatibility with rule exports (#115888) ## Summary We at least want to do our best to retain n-1 version compatible with exports and then best effort for n-2 or more. During testing I saw that we changed our export contract and I was getting these errors importing from 7.15 into 7.16: Screen Shot 2021-10-20 at 8 25 07 PM The reason is because it thinks the final "summary line" which has `exported_count` instead of `exported_rules_count` will think that is a rule based ndjson line and not exclude it. This was introduced in this PR: https://github.com/elastic/kibana/pull/115144 I was under the impression that was adding more information and not subtracting information when I did the PR review. I almost think that we should keep the `exported_count` in addition to the new lines that are added so the user has a total count of everything exported. This PR doesn't do that, it just fixes the backwards compatibility to not have errors. If we ship like this the other rules from 7.15 and previous will still import but users will see error messages like that one above which they should never see. However, really, we should be careful about changes that are not just additive with formats. ### Checklist No this PR currently does not have tests for backwards compatibility but I think we should add it either here or a follow up. - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../detection_engine/rules/create_rules_stream_from_ndjson.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules_stream_from_ndjson.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules_stream_from_ndjson.ts index d4357c45fd373..799412a33ffbc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules_stream_from_ndjson.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules_stream_from_ndjson.ts @@ -24,6 +24,7 @@ import { filterExportedRulesCounts, filterExceptions, createLimitStream, + filterExportedCounts, } from '../../../utils/read_stream/create_stream_from_ndjson'; export const validateRules = (): Transform => { @@ -60,6 +61,7 @@ export const createRulesStreamFromNdJson = (ruleLimit: number) => { return [ createSplitStream('\n'), parseNdjsonStrings(), + filterExportedCounts(), filterExportedRulesCounts(), filterExceptions(), validateRules(), From 09d4aa6ca02bf236cc41dc25d26dfba9a4700f19 Mon Sep 17 00:00:00 2001 From: Frank Hassanabad Date: Thu, 21 Oct 2021 09:36:36 -0600 Subject: [PATCH 17/39] Removes logger errors that are not needed (#115866) ## Summary When moving the saved object references I added logger errors and utilities to detect when the original data structure id changed from the saved object reference id's. However, when things move to mulit-space or if users upload different id's within these structures from something such as the saved object management system then users will see these errors in their logs when they shouldn't. I removed them all as this is expected behavior that the references array can and will contain different id's. Before you would see these messages on an upgrade to 8.0.0 or if you uploaded or changed a rule id through the SOM: ``` [2021-10-18T17:36:03.550-06:00][ERROR][plugins.securitySolution] The id of the "saved object reference id": ec94193b-4788-5ceb-b8fb-5e270836beec is not the same as the "saved object id": 6caeff30-3069-11ec-83d2-0376356fe525. Preferring and using the "saved object reference id" instead of the "saved object id" ``` Now you will not. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../legacy_inject_rule_id_references.test.ts | 11 ------ .../legacy_inject_rule_id_references.ts | 13 ------- .../inject_exceptions_list.test.ts | 11 ------ .../inject_exceptions_list.ts | 11 +----- .../saved_object_references/utils/index.ts | 1 - ...g_if_different_references_detected.test.ts | 38 ------------------- ...arning_if_different_references_detected.ts | 36 ------------------ 7 files changed, 1 insertion(+), 120 deletions(-) delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.ts diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.test.ts index 2f63a184875f1..f28d78e5c0304 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.test.ts @@ -77,17 +77,6 @@ describe('legacy_inject_rule_id_references', () => { expect(logger.error).not.toHaveBeenCalled(); }); - test('logs an error if found with a different saved object reference id', () => { - legacyInjectRuleIdReferences({ - logger, - ruleAlertId: '456', - savedObjectReferences: mockSavedObjectReferences(), - }); - expect(logger.error).toBeCalledWith( - 'The id of the "saved object reference id": 123 is not the same as the "saved object id": 456. Preferring and using the "saved object reference id" instead of the "saved object id"' - ); - }); - test('logs an error if the saved object references is empty', () => { legacyInjectRuleIdReferences({ logger, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.ts index 5cb32c6563157..b6ad98eb864ed 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_saved_object_references/legacy_inject_rule_id_references.ts @@ -32,19 +32,6 @@ export const legacyInjectRuleIdReferences = ({ return reference.name === 'alert_0'; }); if (referenceFound) { - if (referenceFound.id !== ruleAlertId) { - // This condition should not be reached but we log an error if we encounter it to help if we migrations - // did not run correctly or we create a regression in the future. - logger.error( - [ - 'The id of the "saved object reference id": ', - referenceFound.id, - ' is not the same as the "saved object id": ', - ruleAlertId, - '. Preferring and using the "saved object reference id" instead of the "saved object id"', - ].join('') - ); - } return referenceFound.id; } else { logger.error( diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.test.ts index f0ff1b6072479..1212b73a6250e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.test.ts @@ -105,17 +105,6 @@ describe('inject_exceptions_list', () => { ).toEqual([{ ...mockExceptionsList()[0], id: '456' }]); }); - test('logs an error if found with a different saved object reference id', () => { - injectExceptionsReferences({ - logger, - exceptionsList: mockExceptionsList(), - savedObjectReferences: [{ ...mockSavedObjectReferences()[0], id: '456' }], - }); - expect(logger.error).toBeCalledWith( - 'The id of the "saved object reference id": 456 is not the same as the "saved object id": 123. Preferring and using the "saved object reference id" instead of the "saved object id"' - ); - }); - test('returns exceptionItem if the saved object reference cannot match as a fall back', () => { expect( injectExceptionsReferences({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.ts index 2e6559fbf18cf..baaaa2eb60ce9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/inject_exceptions_list.ts @@ -7,11 +7,7 @@ import { Logger, SavedObjectReference } from 'src/core/server'; import { RuleParams } from '../../schemas/rule_schemas'; -import { - getSavedObjectReferenceForExceptionsList, - logMissingSavedObjectError, - logWarningIfDifferentReferencesDetected, -} from './utils'; +import { getSavedObjectReferenceForExceptionsList, logMissingSavedObjectError } from './utils'; /** * This injects any "exceptionsList" "id"'s from saved object reference and returns the "exceptionsList" using the saved object reference. If for @@ -44,11 +40,6 @@ export const injectExceptionsReferences = ({ savedObjectReferences, }); if (savedObjectReference != null) { - logWarningIfDifferentReferencesDetected({ - logger, - savedObjectReferenceId: savedObjectReference.id, - savedObjectId: exceptionItem.id, - }); const reference: RuleParams['exceptionsList'][0] = { ...exceptionItem, id: savedObjectReference.id, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/index.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/index.ts index ca88dae364a4b..3a3d559a6ed39 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/index.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/index.ts @@ -11,4 +11,3 @@ export * from './get_saved_object_name_pattern'; export * from './get_saved_object_reference_for_exceptions_list'; export * from './get_saved_object_reference'; export * from './log_missing_saved_object_error'; -export * from './log_warning_if_different_references_detected'; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.test.ts deleted file mode 100644 index a27faa6356c2b..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { loggingSystemMock } from 'src/core/server/mocks'; - -import { logWarningIfDifferentReferencesDetected } from '.'; - -describe('log_warning_if_different_references_detected', () => { - let logger = loggingSystemMock.create().get('security_solution'); - - beforeEach(() => { - logger = loggingSystemMock.create().get('security_solution'); - }); - - test('logs expect error message if the two ids are different', () => { - logWarningIfDifferentReferencesDetected({ - logger, - savedObjectReferenceId: '123', - savedObjectId: '456', - }); - expect(logger.error).toBeCalledWith( - 'The id of the "saved object reference id": 123 is not the same as the "saved object id": 456. Preferring and using the "saved object reference id" instead of the "saved object id"' - ); - }); - - test('logs nothing if the two ids are the same', () => { - logWarningIfDifferentReferencesDetected({ - logger, - savedObjectReferenceId: '123', - savedObjectId: '123', - }); - expect(logger.error).not.toHaveBeenCalled(); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.ts deleted file mode 100644 index 9f80ba6d8ce83..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/saved_object_references/utils/log_warning_if_different_references_detected.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { Logger } from 'src/core/server'; - -/** - * This will log a warning that the saved object reference id and the saved object id are not the same if that is true. - * @param logger The kibana injected logger - * @param savedObjectReferenceId The saved object reference id from "references: [{ id: ...}]" - * @param savedObjectId The saved object id from a structure such as exceptions { exceptionsList: { "id": "..." } } - */ -export const logWarningIfDifferentReferencesDetected = ({ - logger, - savedObjectReferenceId, - savedObjectId, -}: { - logger: Logger; - savedObjectReferenceId: string; - savedObjectId: string; -}): void => { - if (savedObjectReferenceId !== savedObjectId) { - logger.error( - [ - 'The id of the "saved object reference id": ', - savedObjectReferenceId, - ' is not the same as the "saved object id": ', - savedObjectId, - '. Preferring and using the "saved object reference id" instead of the "saved object id"', - ].join('') - ); - } -}; From ee5b847533c1ff8d7418e815f6a425d2a2b363ad Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Thu, 21 Oct 2021 11:42:28 -0400 Subject: [PATCH 18/39] Fix label for fields in the Advanced settings section of policy details (#115869) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/management/pages/policy/view/policy_advanced.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_advanced.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_advanced.tsx index 8e0d8c544563a..6034ed875c02b 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_advanced.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_advanced.tsx @@ -171,10 +171,10 @@ const PolicyAdvanced = React.memo( - {configPath.join('.')} + + {configPath.join('.')} {documentation && ( - + )} From 1b3f2cdedfa42fb3a5bb659becffae66c6b2c20b Mon Sep 17 00:00:00 2001 From: Marco Liberati Date: Thu, 21 Oct 2021 17:51:51 +0200 Subject: [PATCH 19/39] [Lens] Do not show legend actions popup when in non-interactive mode (#115804) * :bug: Fix non-interactive legend issue * :white_check_mark: Add tests Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../pie_visualization/render_function.test.tsx | 3 ++- .../pie_visualization/render_function.tsx | 2 +- .../xy_visualization/expression.test.tsx | 10 ++++++++++ .../public/xy_visualization/expression.tsx | 18 +++++++++++------- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/lens/public/pie_visualization/render_function.test.tsx b/x-pack/plugins/lens/public/pie_visualization/render_function.test.tsx index 33e9154235147..ad4e30cd6e89f 100644 --- a/x-pack/plugins/lens/public/pie_visualization/render_function.test.tsx +++ b/x-pack/plugins/lens/public/pie_visualization/render_function.test.tsx @@ -302,12 +302,13 @@ describe('PieVisualization component', () => { `); }); - test('does not set click listener on non-interactive mode', () => { + test('does not set click listener and legend actions on non-interactive mode', () => { const defaultArgs = getDefaultArgs(); const component = shallow( ); expect(component.find(Settings).first().prop('onElementClick')).toBeUndefined(); + expect(component.find(Settings).first().prop('legendAction')).toBeUndefined(); }); test('it renders the empty placeholder when metric contains only falsy data', () => { diff --git a/x-pack/plugins/lens/public/pie_visualization/render_function.tsx b/x-pack/plugins/lens/public/pie_visualization/render_function.tsx index 834fecb95fc35..449b152523881 100644 --- a/x-pack/plugins/lens/public/pie_visualization/render_function.tsx +++ b/x-pack/plugins/lens/public/pie_visualization/render_function.tsx @@ -290,7 +290,7 @@ export function PieComponent( legendPosition={legendPosition || Position.Right} legendMaxDepth={nestedLegend ? undefined : 1 /* Color is based only on first layer */} onElementClick={props.interactive ?? true ? onElementClickHandler : undefined} - legendAction={getLegendAction(firstTable, onClickValue)} + legendAction={props.interactive ? getLegendAction(firstTable, onClickValue) : undefined} theme={{ ...chartTheme, background: { diff --git a/x-pack/plugins/lens/public/xy_visualization/expression.test.tsx b/x-pack/plugins/lens/public/xy_visualization/expression.test.tsx index 48cddb0cd4e4d..5f9abba3806cf 100644 --- a/x-pack/plugins/lens/public/xy_visualization/expression.test.tsx +++ b/x-pack/plugins/lens/public/xy_visualization/expression.test.tsx @@ -1485,6 +1485,16 @@ describe('xy_expression', () => { expect(wrapper.find(Settings).first().prop('onElementClick')).toBeUndefined(); }); + test('legendAction is not triggering event on non-interactive mode', () => { + const { args, data } = sampleArgs(); + + const wrapper = mountWithIntl( + + ); + + expect(wrapper.find(Settings).first().prop('legendAction')).toBeUndefined(); + }); + test('it renders stacked bar', () => { const { data, args } = sampleArgs(); const component = shallow( diff --git a/x-pack/plugins/lens/public/xy_visualization/expression.tsx b/x-pack/plugins/lens/public/xy_visualization/expression.tsx index 915ea9d6cda94..32ca4c982c10e 100644 --- a/x-pack/plugins/lens/public/xy_visualization/expression.tsx +++ b/x-pack/plugins/lens/public/xy_visualization/expression.tsx @@ -599,13 +599,17 @@ export function XYChart({ xDomain={xDomain} onBrushEnd={interactive ? (brushHandler as BrushEndListener) : undefined} onElementClick={interactive ? clickHandler : undefined} - legendAction={getLegendAction( - filteredLayers, - data.tables, - onClickValue, - formatFactory, - layersAlreadyFormatted - )} + legendAction={ + interactive + ? getLegendAction( + filteredLayers, + data.tables, + onClickValue, + formatFactory, + layersAlreadyFormatted + ) + : undefined + } showLegendExtra={isHistogramViz && valuesInLegend} /> From 6a80d9a53a20e10f3d9f08a330f54994ac31d9d7 Mon Sep 17 00:00:00 2001 From: Marco Liberati Date: Thu, 21 Oct 2021 17:58:24 +0200 Subject: [PATCH 20/39] [Lens] Relax break down group validation for percentage charts (#114803) * :bug: Improved percentage checks for breakdown group * :white_check_mark: Add tests * :ok_hand: Integrate feedback Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../xy_visualization/visualization.test.ts | 208 ++++++++++++++++++ .../public/xy_visualization/visualization.tsx | 37 +++- 2 files changed, 244 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/lens/public/xy_visualization/visualization.test.ts b/x-pack/plugins/lens/public/xy_visualization/visualization.test.ts index 01fbbd892a118..973501816bc3e 100644 --- a/x-pack/plugins/lens/public/xy_visualization/visualization.test.ts +++ b/x-pack/plugins/lens/public/xy_visualization/visualization.test.ts @@ -538,6 +538,214 @@ describe('xy_visualization', () => { expect(ops.filter(filterOperations).map((x) => x.dataType)).toEqual(['number']); }); + describe('breakdown group: percentage chart checks', () => { + const baseState = exampleState(); + + it('should require break down group with one accessor + one split accessor configuration', () => { + const [, , splitGroup] = xyVisualization.getConfiguration({ + state: { + ...baseState, + layers: [ + { ...baseState.layers[0], accessors: ['a'], seriesType: 'bar_percentage_stacked' }, + ], + }, + frame, + layerId: 'first', + }).groups; + expect(splitGroup.required).toBe(true); + }); + + test.each([ + [ + 'multiple accessors on the same layer', + [ + { + ...baseState.layers[0], + splitAccessor: undefined, + seriesType: 'bar_percentage_stacked', + }, + ], + ], + [ + 'multiple accessors spread on compatible layers', + [ + { + ...baseState.layers[0], + accessors: ['a'], + splitAccessor: undefined, + seriesType: 'bar_percentage_stacked', + }, + { + ...baseState.layers[0], + splitAccessor: undefined, + xAccessor: 'd', + accessors: ['e'], + seriesType: 'bar_percentage_stacked', + }, + ], + ], + ] as Array<[string, State['layers']]>)( + 'should not require break down group for %s', + (_, layers) => { + const [, , splitGroup] = xyVisualization.getConfiguration({ + state: { ...baseState, layers }, + frame, + layerId: 'first', + }).groups; + expect(splitGroup.required).toBe(false); + } + ); + + it.each([ + [ + 'one accessor only', + [ + { + ...baseState.layers[0], + accessors: ['a'], + seriesType: 'bar_percentage_stacked', + splitAccessor: undefined, + xAccessor: undefined, + }, + ], + ], + [ + 'one accessor only with split accessor', + [ + { + ...baseState.layers[0], + accessors: ['a'], + seriesType: 'bar_percentage_stacked', + xAccessor: undefined, + }, + ], + ], + [ + 'one accessor only with xAccessor', + [ + { + ...baseState.layers[0], + accessors: ['a'], + seriesType: 'bar_percentage_stacked', + splitAccessor: undefined, + }, + ], + ], + [ + 'multiple accessors spread on incompatible layers (different xAccessor)', + [ + { + ...baseState.layers[0], + accessors: ['a'], + seriesType: 'bar_percentage_stacked', + splitAccessor: undefined, + }, + { + ...baseState.layers[0], + accessors: ['e'], + seriesType: 'bar_percentage_stacked', + splitAccessor: undefined, + xAccessor: undefined, + }, + ], + ], + [ + 'multiple accessors spread on incompatible layers (different splitAccessor)', + [ + { + ...baseState.layers[0], + accessors: ['a'], + seriesType: 'bar_percentage_stacked', + }, + { + ...baseState.layers[0], + accessors: ['e'], + seriesType: 'bar_percentage_stacked', + splitAccessor: undefined, + xAccessor: undefined, + }, + ], + ], + [ + 'multiple accessors spread on incompatible layers (different seriesType)', + [ + { + ...baseState.layers[0], + accessors: ['a'], + seriesType: 'bar_percentage_stacked', + }, + { + ...baseState.layers[0], + accessors: ['e'], + seriesType: 'bar', + }, + ], + ], + [ + 'one data layer with one accessor + one reference layer', + [ + { + ...baseState.layers[0], + accessors: ['a'], + seriesType: 'bar_percentage_stacked', + }, + { + ...baseState.layers[0], + accessors: ['e'], + seriesType: 'bar_percentage_stacked', + layerType: layerTypes.REFERENCELINE, + }, + ], + ], + + [ + 'multiple accessors on the same layers with different axis assigned', + [ + { + ...baseState.layers[0], + splitAccessor: undefined, + seriesType: 'bar_percentage_stacked', + yConfig: [ + { forAccessor: 'a', axisMode: 'left' }, + { forAccessor: 'b', axisMode: 'right' }, + ], + }, + ], + ], + [ + 'multiple accessors spread on multiple layers with different axis assigned', + [ + { + ...baseState.layers[0], + accessors: ['a'], + xAccessor: undefined, + splitAccessor: undefined, + seriesType: 'bar_percentage_stacked', + yConfig: [{ forAccessor: 'a', axisMode: 'left' }], + }, + { + ...baseState.layers[0], + accessors: ['b'], + xAccessor: undefined, + splitAccessor: undefined, + seriesType: 'bar_percentage_stacked', + yConfig: [{ forAccessor: 'b', axisMode: 'right' }], + }, + ], + ], + ] as Array<[string, State['layers']]>)( + 'should require break down group for %s', + (_, layers) => { + const [, , splitGroup] = xyVisualization.getConfiguration({ + state: { ...baseState, layers }, + frame, + layerId: 'first', + }).groups; + expect(splitGroup.required).toBe(true); + } + ); + }); + describe('reference lines', () => { beforeEach(() => { frame.datasourceLayers = { diff --git a/x-pack/plugins/lens/public/xy_visualization/visualization.tsx b/x-pack/plugins/lens/public/xy_visualization/visualization.tsx index db1a2aeffb670..c23eccb196744 100644 --- a/x-pack/plugins/lens/public/xy_visualization/visualization.tsx +++ b/x-pack/plugins/lens/public/xy_visualization/visualization.tsx @@ -40,6 +40,7 @@ import { checkXAccessorCompatibility, getAxisName, } from './visualization_helpers'; +import { groupAxesByType } from './axes_configuration'; const defaultIcon = LensIconChartBarStacked; const defaultSeriesType = 'bar_stacked'; @@ -378,6 +379,40 @@ export const getXyVisualization = ({ }; } + const { left, right } = groupAxesByType([layer], frame.activeData); + // Check locally if it has one accessor OR one accessor per axis + const layerHasOnlyOneAccessor = Boolean( + layer.accessors.length < 2 || + (left.length && left.length < 2) || + (right.length && right.length < 2) + ); + // Check also for multiple layers that can stack for percentage charts + // Make sure that if multiple dimensions are defined for a single layer, they should belong to the same axis + const hasOnlyOneAccessor = + layerHasOnlyOneAccessor && + getLayersByType(state, layerTypes.DATA).filter( + // check that the other layers are compatible with this one + (dataLayer) => { + if ( + dataLayer.seriesType === layer.seriesType && + Boolean(dataLayer.xAccessor) === Boolean(layer.xAccessor) && + Boolean(dataLayer.splitAccessor) === Boolean(layer.splitAccessor) + ) { + const { left: localLeft, right: localRight } = groupAxesByType( + [dataLayer], + frame.activeData + ); + // return true only if matching axis are found + return ( + dataLayer.accessors.length && + (Boolean(localLeft.length) === Boolean(left.length) || + Boolean(localRight.length) === Boolean(right.length)) + ); + } + return false; + } + ).length < 2; + return { groups: [ { @@ -417,7 +452,7 @@ export const getXyVisualization = ({ filterOperations: isBucketed, supportsMoreColumns: !layer.splitAccessor, dataTestSubj: 'lnsXY_splitDimensionPanel', - required: layer.seriesType.includes('percentage'), + required: layer.seriesType.includes('percentage') && hasOnlyOneAccessor, enableDimensionEditor: true, }, ], From c491d8c3660acf16994e55b7c75663802a7a5a73 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Thu, 21 Oct 2021 09:00:01 -0700 Subject: [PATCH 21/39] Fixes python URL in documentation link service (#115886) --- src/core/public/doc_links/doc_links_service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 87b05eeafc568..20757463737fc 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -499,7 +499,7 @@ export class DocLinksService { netGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/net-api/${DOC_LINK_VERSION}/index.html`, perlGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/perl-api/${DOC_LINK_VERSION}/index.html`, phpGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/php-api/${DOC_LINK_VERSION}/index.html`, - pythonGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/net-api/${DOC_LINK_VERSION}/index.html`, + pythonGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/python-api/${DOC_LINK_VERSION}/index.html`, rubyOverview: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/ruby-api/${DOC_LINK_VERSION}/ruby_client.html`, rustGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/rust-api/${DOC_LINK_VERSION}/index.html`, }, From eb2b886a394670f6d5e9735fcaf4b5b9295cda79 Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Thu, 21 Oct 2021 17:09:54 +0100 Subject: [PATCH 22/39] [Fleet] Link to the installed version of an integration from global search (#115736) * remove version from integrations global search link * fix tests Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../fleet/public/search_provider.test.ts | 24 ++++++++-------- .../plugins/fleet/public/search_provider.ts | 28 +++++++++---------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/x-pack/plugins/fleet/public/search_provider.test.ts b/x-pack/plugins/fleet/public/search_provider.test.ts index ef6bda44d512b..97ed199c44502 100644 --- a/x-pack/plugins/fleet/public/search_provider.test.ts +++ b/x-pack/plugins/fleet/public/search_provider.test.ts @@ -87,22 +87,22 @@ describe('Package search provider', () => { ).toBe('--(a|)', { a: [ { - id: 'test-test', + id: 'test', score: 80, title: 'test', type: 'integration', url: { - path: 'undefined/detail/test-test/overview', + path: 'undefined/detail/test/overview', prependBasePath: false, }, }, { - id: 'test1-test1', + id: 'test1', score: 80, title: 'test1', type: 'integration', url: { - path: 'undefined/detail/test1-test1/overview', + path: 'undefined/detail/test1/overview', prependBasePath: false, }, }, @@ -170,12 +170,12 @@ describe('Package search provider', () => { ).toBe('--(a|)', { a: [ { - id: 'test1-test1', + id: 'test1', score: 80, title: 'test1', type: 'integration', url: { - path: 'undefined/detail/test1-test1/overview', + path: 'undefined/detail/test1/overview', prependBasePath: false, }, }, @@ -226,22 +226,22 @@ describe('Package search provider', () => { ).toBe('--(a|)', { a: [ { - id: 'test-test', + id: 'test', score: 80, title: 'test', type: 'integration', url: { - path: 'undefined/detail/test-test/overview', + path: 'undefined/detail/test/overview', prependBasePath: false, }, }, { - id: 'test1-test1', + id: 'test1', score: 80, title: 'test1', type: 'integration', url: { - path: 'undefined/detail/test1-test1/overview', + path: 'undefined/detail/test1/overview', prependBasePath: false, }, }, @@ -269,12 +269,12 @@ describe('Package search provider', () => { ).toBe('--(a|)', { a: [ { - id: 'test1-test1', + id: 'test1', score: 80, title: 'test1', type: 'integration', url: { - path: 'undefined/detail/test1-test1/overview', + path: 'undefined/detail/test1/overview', prependBasePath: false, }, }, diff --git a/x-pack/plugins/fleet/public/search_provider.ts b/x-pack/plugins/fleet/public/search_provider.ts index 403abf89715c8..d919462f38c28 100644 --- a/x-pack/plugins/fleet/public/search_provider.ts +++ b/x-pack/plugins/fleet/public/search_provider.ts @@ -53,21 +53,19 @@ export const toSearchResult = ( pkg: PackageListItem, application: ApplicationStart, basePath: IBasePath -): GlobalSearchProviderResult => { - const pkgkey = `${pkg.name}-${pkg.version}`; - return { - id: pkgkey, - type: packageType, - title: pkg.title, - score: 80, - icon: getEuiIconType(pkg, basePath), - url: { - // prettier-ignore - path: `${application.getUrlForApp(INTEGRATIONS_PLUGIN_ID)}${pagePathGetters.integration_details_overview({ pkgkey })[1]}`, - prependBasePath: false, - }, - }; -}; +): GlobalSearchProviderResult => ({ + id: pkg.name, + type: packageType, + title: pkg.title, + score: 80, + icon: getEuiIconType(pkg, basePath), + url: { + path: `${application.getUrlForApp(INTEGRATIONS_PLUGIN_ID)}${ + pagePathGetters.integration_details_overview({ pkgkey: pkg.name })[1] + }`, + prependBasePath: false, + }, +}); export const createPackageSearchProvider = (core: CoreSetup): GlobalSearchResultProvider => { const coreStart$ = from(core.getStartServices()).pipe( From c12554b7a679cbce51b8673781e7e02489e61e08 Mon Sep 17 00:00:00 2001 From: Bhavya RM Date: Thu, 21 Oct 2021 12:20:34 -0400 Subject: [PATCH 23/39] Unskip dashboard and dashboard panel a11y tests (#115102) --- test/accessibility/apps/dashboard.ts | 3 +-- test/accessibility/apps/dashboard_panel.ts | 3 +-- test/accessibility/apps/discover.ts | 3 +-- test/functional/page_objects/home_page.ts | 6 +++++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/test/accessibility/apps/dashboard.ts b/test/accessibility/apps/dashboard.ts index 408e7d402a8f0..54eb5e7df4178 100644 --- a/test/accessibility/apps/dashboard.ts +++ b/test/accessibility/apps/dashboard.ts @@ -15,8 +15,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const listingTable = getService('listingTable'); - // FLAKY: https://github.com/elastic/kibana/issues/105171 - describe.skip('Dashboard', () => { + describe('Dashboard', () => { const dashboardName = 'Dashboard Listing A11y'; const clonedDashboardName = 'Dashboard Listing A11y Copy'; diff --git a/test/accessibility/apps/dashboard_panel.ts b/test/accessibility/apps/dashboard_panel.ts index b2fc073949d73..83c7776049d16 100644 --- a/test/accessibility/apps/dashboard_panel.ts +++ b/test/accessibility/apps/dashboard_panel.ts @@ -14,8 +14,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const inspector = getService('inspector'); - // FLAKY: https://github.com/elastic/kibana/issues/112920 - describe.skip('Dashboard Panel', () => { + describe('Dashboard Panel', () => { before(async () => { await PageObjects.common.navigateToApp('dashboard'); await testSubjects.click('dashboardListingTitleLink-[Flights]-Global-Flight-Dashboard'); diff --git a/test/accessibility/apps/discover.ts b/test/accessibility/apps/discover.ts index e05f3e2bc091d..867e146e64ca3 100644 --- a/test/accessibility/apps/discover.ts +++ b/test/accessibility/apps/discover.ts @@ -92,8 +92,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.saveCurrentSavedQuery(); }); - // issue - https://github.com/elastic/kibana/issues/78488 - it.skip('a11y test on saved queries list panel', async () => { + it('a11y test on saved queries list panel', async () => { await PageObjects.discover.clickSavedQueriesPopOver(); await testSubjects.moveMouseTo( 'saved-query-list-item load-saved-query-test-button saved-query-list-item-selected saved-query-list-item-selected' diff --git a/test/functional/page_objects/home_page.ts b/test/functional/page_objects/home_page.ts index 29fdd1453b0e0..11b304cdbbf9d 100644 --- a/test/functional/page_objects/home_page.ts +++ b/test/functional/page_objects/home_page.ts @@ -13,6 +13,7 @@ export class HomePageObject extends FtrService { private readonly retry = this.ctx.getService('retry'); private readonly find = this.ctx.getService('find'); private readonly common = this.ctx.getPageObject('common'); + private readonly log = this.ctx.getService('log'); async clickSynopsis(title: string) { await this.testSubjects.click(`homeSynopsisLink${title}`); @@ -27,7 +28,10 @@ export class HomePageObject extends FtrService { } async isSampleDataSetInstalled(id: string) { - return !(await this.testSubjects.exists(`addSampleDataSet${id}`)); + const sampleDataCard = await this.testSubjects.find(`sampleDataSetCard${id}`); + const sampleDataCardInnerHTML = await sampleDataCard.getAttribute('innerHTML'); + this.log.debug(sampleDataCardInnerHTML); + return sampleDataCardInnerHTML.includes('removeSampleDataSet'); } async isWelcomeInterstitialDisplayed() { From 9d81fff7e82ed73b6afc9033eb4d63eadf5c453f Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Thu, 21 Oct 2021 09:27:50 -0700 Subject: [PATCH 24/39] Use extract/inject in saved query service (#111213) * Use extract/inject in saved query service * Add route handler context * Allow query objects & update tests * Add migrations to saved query type * Review feedback * Review feedback * Separate create/update methods * Fix copy/paste bug * Update jest snapshot --- .../common/query/persistable_state.test.ts | 7 +- .../data/common/query/persistable_state.ts | 10 +- src/plugins/data/common/query/types.ts | 23 +- src/plugins/data/public/plugin.ts | 4 +- .../data/public/query/query_service.ts | 10 +- .../saved_query/saved_query_service.test.ts | 446 ++------------ .../query/saved_query/saved_query_service.ts | 166 +---- .../data/public/query/saved_query/types.ts | 6 +- .../state_sync/connect_to_query_state.test.ts | 6 +- .../state_sync/sync_state_with_url.test.ts | 2 +- .../ui/saved_query_form/save_query_form.tsx | 25 +- .../data/public/ui/search_bar/search_bar.tsx | 11 +- .../data/server/query/query_service.ts | 12 +- .../query/route_handler_context.test.ts | 566 ++++++++++++++++++ .../server/query/route_handler_context.ts | 155 +++++ src/plugins/data/server/query/routes.ts | 144 +++++ .../server/saved_objects/migrations/query.ts | 42 ++ .../data/server/saved_objects/query.ts | 3 +- .../utils/saved_query_services/index.tsx | 8 +- .../components/timeline/query_bar/index.tsx | 34 +- 20 files changed, 1105 insertions(+), 575 deletions(-) create mode 100644 src/plugins/data/server/query/route_handler_context.test.ts create mode 100644 src/plugins/data/server/query/route_handler_context.ts create mode 100644 src/plugins/data/server/query/routes.ts create mode 100644 src/plugins/data/server/saved_objects/migrations/query.ts diff --git a/src/plugins/data/common/query/persistable_state.test.ts b/src/plugins/data/common/query/persistable_state.test.ts index 807cc72a071be..93f14a0fc2e08 100644 --- a/src/plugins/data/common/query/persistable_state.test.ts +++ b/src/plugins/data/common/query/persistable_state.test.ts @@ -8,6 +8,7 @@ import { extract, inject } from './persistable_state'; import { Filter } from '@kbn/es-query'; +import { DATA_VIEW_SAVED_OBJECT_TYPE } from '../../common'; describe('filter manager persistable state tests', () => { const filters: Filter[] = [ @@ -15,13 +16,15 @@ describe('filter manager persistable state tests', () => { ]; describe('reference injection', () => { test('correctly inserts reference to filter', () => { - const updatedFilters = inject(filters, [{ type: 'index_pattern', name: 'test', id: '123' }]); + const updatedFilters = inject(filters, [ + { type: DATA_VIEW_SAVED_OBJECT_TYPE, name: 'test', id: '123' }, + ]); expect(updatedFilters[0]).toHaveProperty('meta.index', '123'); }); test('drops index setting if reference is missing', () => { const updatedFilters = inject(filters, [ - { type: 'index_pattern', name: 'test123', id: '123' }, + { type: DATA_VIEW_SAVED_OBJECT_TYPE, name: 'test123', id: '123' }, ]); expect(updatedFilters[0]).toHaveProperty('meta.index', undefined); }); diff --git a/src/plugins/data/common/query/persistable_state.ts b/src/plugins/data/common/query/persistable_state.ts index 934d481685db4..177aae391c4fb 100644 --- a/src/plugins/data/common/query/persistable_state.ts +++ b/src/plugins/data/common/query/persistable_state.ts @@ -8,7 +8,9 @@ import uuid from 'uuid'; import { Filter } from '@kbn/es-query'; +import { DATA_VIEW_SAVED_OBJECT_TYPE } from '../../common'; import { SavedObjectReference } from '../../../../core/types'; +import { MigrateFunctionsObject } from '../../../kibana_utils/common'; export const extract = (filters: Filter[]) => { const references: SavedObjectReference[] = []; @@ -16,7 +18,7 @@ export const extract = (filters: Filter[]) => { if (filter.meta?.index) { const id = uuid(); references.push({ - type: 'index_pattern', + type: DATA_VIEW_SAVED_OBJECT_TYPE, name: id, id: filter.meta.index, }); @@ -54,6 +56,10 @@ export const telemetry = (filters: Filter[], collector: unknown) => { return {}; }; -export const getAllMigrations = () => { +export const migrateToLatest = (filters: Filter[], version: string) => { + return filters; +}; + +export const getAllMigrations = (): MigrateFunctionsObject => { return {}; }; diff --git a/src/plugins/data/common/query/types.ts b/src/plugins/data/common/query/types.ts index c1861beb1ed90..fea59ea558a35 100644 --- a/src/plugins/data/common/query/types.ts +++ b/src/plugins/data/common/query/types.ts @@ -6,6 +6,25 @@ * Side Public License, v 1. */ -export * from './timefilter/types'; +import type { Query, Filter } from '@kbn/es-query'; +import type { RefreshInterval, TimeRange } from './timefilter/types'; -export { Query } from '@kbn/es-query'; +export type { RefreshInterval, TimeRange, TimeRangeBounds } from './timefilter/types'; +export type { Query } from '@kbn/es-query'; + +export type SavedQueryTimeFilter = TimeRange & { + refreshInterval: RefreshInterval; +}; + +export interface SavedQuery { + id: string; + attributes: SavedQueryAttributes; +} + +export interface SavedQueryAttributes { + title: string; + description: string; + query: Query; + filters?: Filter[]; + timefilter?: SavedQueryTimeFilter; +} diff --git a/src/plugins/data/public/plugin.ts b/src/plugins/data/public/plugin.ts index 4a55cc2a0d511..25f649f69a052 100644 --- a/src/plugins/data/public/plugin.ts +++ b/src/plugins/data/public/plugin.ts @@ -130,7 +130,7 @@ export class DataPublicPlugin core: CoreStart, { uiActions, fieldFormats, dataViews }: DataStartDependencies ): DataPublicPluginStart { - const { uiSettings, notifications, savedObjects, overlays } = core; + const { uiSettings, notifications, overlays } = core; setNotifications(notifications); setOverlays(overlays); setUiSettings(uiSettings); @@ -138,7 +138,7 @@ export class DataPublicPlugin const query = this.queryService.start({ storage: this.storage, - savedObjectsClient: savedObjects.client, + http: core.http, uiSettings, }); diff --git a/src/plugins/data/public/query/query_service.ts b/src/plugins/data/public/query/query_service.ts index 5104a934fdec8..314f13e3524db 100644 --- a/src/plugins/data/public/query/query_service.ts +++ b/src/plugins/data/public/query/query_service.ts @@ -7,7 +7,7 @@ */ import { share } from 'rxjs/operators'; -import { IUiSettingsClient, SavedObjectsClientContract } from 'src/core/public'; +import { HttpStart, IUiSettingsClient } from 'src/core/public'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; import { buildEsQuery } from '@kbn/es-query'; import { FilterManager } from './filter_manager'; @@ -15,7 +15,7 @@ import { createAddToQueryLog } from './lib'; import { TimefilterService, TimefilterSetup } from './timefilter'; import { createSavedQueryService } from './saved_query/saved_query_service'; import { createQueryStateObservable } from './state_sync/create_global_query_observable'; -import { QueryStringManager, QueryStringContract } from './query_string'; +import { QueryStringContract, QueryStringManager } from './query_string'; import { getEsQueryConfig, TimeRange } from '../../common'; import { getUiSettings } from '../services'; import { NowProviderInternalContract } from '../now_provider'; @@ -33,9 +33,9 @@ interface QueryServiceSetupDependencies { } interface QueryServiceStartDependencies { - savedObjectsClient: SavedObjectsClientContract; storage: IStorageWrapper; uiSettings: IUiSettingsClient; + http: HttpStart; } export class QueryService { @@ -70,7 +70,7 @@ export class QueryService { }; } - public start({ savedObjectsClient, storage, uiSettings }: QueryServiceStartDependencies) { + public start({ storage, uiSettings, http }: QueryServiceStartDependencies) { return { addToQueryLog: createAddToQueryLog({ storage, @@ -78,7 +78,7 @@ export class QueryService { }), filterManager: this.filterManager, queryString: this.queryStringManager, - savedQueries: createSavedQueryService(savedObjectsClient), + savedQueries: createSavedQueryService(http), state$: this.state$, timefilter: this.timefilter, getEsQuery: (indexPattern: IndexPattern, timeRange?: TimeRange) => { diff --git a/src/plugins/data/public/query/saved_query/saved_query_service.test.ts b/src/plugins/data/public/query/saved_query/saved_query_service.test.ts index 673a86df98881..047051c302083 100644 --- a/src/plugins/data/public/query/saved_query/saved_query_service.test.ts +++ b/src/plugins/data/public/query/saved_query/saved_query_service.test.ts @@ -7,8 +7,20 @@ */ import { createSavedQueryService } from './saved_query_service'; -import { FilterStateStore } from '../../../common'; -import { SavedQueryAttributes } from './types'; +import { httpServiceMock } from '../../../../../core/public/mocks'; +import { SavedQueryAttributes } from '../../../common'; + +const http = httpServiceMock.createStartContract(); + +const { + deleteSavedQuery, + getSavedQuery, + findSavedQueries, + createQuery, + updateQuery, + getAllSavedQueries, + getSavedQueryCount, +} = createSavedQueryService(http); const savedQueryAttributes: SavedQueryAttributes = { title: 'foo', @@ -17,416 +29,90 @@ const savedQueryAttributes: SavedQueryAttributes = { language: 'kuery', query: 'response:200', }, -}; -const savedQueryAttributesBar: SavedQueryAttributes = { - title: 'bar', - description: 'baz', - query: { - language: 'kuery', - query: 'response:200', - }, -}; - -const savedQueryAttributesWithFilters: SavedQueryAttributes = { - ...savedQueryAttributes, - filters: [ - { - query: { match_all: {} }, - $state: { store: FilterStateStore.APP_STATE }, - meta: { - disabled: false, - negate: false, - alias: null, - }, - }, - ], - timefilter: { - to: 'now', - from: 'now-15m', - refreshInterval: { - pause: false, - value: 0, - }, - }, + filters: [], }; -const mockSavedObjectsClient = { - create: jest.fn(), - error: jest.fn(), - find: jest.fn(), - resolve: jest.fn(), - delete: jest.fn(), -}; - -const { - deleteSavedQuery, - getSavedQuery, - findSavedQueries, - saveQuery, - getAllSavedQueries, - getSavedQueryCount, -} = createSavedQueryService( - // @ts-ignore - mockSavedObjectsClient -); - describe('saved query service', () => { afterEach(() => { - mockSavedObjectsClient.create.mockReset(); - mockSavedObjectsClient.find.mockReset(); - mockSavedObjectsClient.resolve.mockReset(); - mockSavedObjectsClient.delete.mockReset(); + http.post.mockReset(); + http.get.mockReset(); + http.delete.mockReset(); }); - describe('saveQuery', function () { - it('should create a saved object for the given attributes', async () => { - mockSavedObjectsClient.create.mockReturnValue({ - id: 'foo', - attributes: savedQueryAttributes, + describe('createQuery', function () { + it('should post the stringified given attributes', async () => { + await createQuery(savedQueryAttributes); + expect(http.post).toBeCalled(); + expect(http.post).toHaveBeenCalledWith('/api/saved_query/_create', { + body: '{"title":"foo","description":"bar","query":{"language":"kuery","query":"response:200"},"filters":[]}', }); - - const response = await saveQuery(savedQueryAttributes); - expect(mockSavedObjectsClient.create).toHaveBeenCalledWith('query', savedQueryAttributes, { - id: 'foo', - }); - expect(response).toEqual({ id: 'foo', attributes: savedQueryAttributes }); }); + }); - it('should allow overwriting an existing saved query', async () => { - mockSavedObjectsClient.create.mockReturnValue({ - id: 'foo', - attributes: savedQueryAttributes, - }); - - const response = await saveQuery(savedQueryAttributes, { overwrite: true }); - expect(mockSavedObjectsClient.create).toHaveBeenCalledWith('query', savedQueryAttributes, { - id: 'foo', - overwrite: true, + describe('updateQuery', function () { + it('should put the ID & stringified given attributes', async () => { + await updateQuery('foo', savedQueryAttributes); + expect(http.put).toBeCalled(); + expect(http.put).toHaveBeenCalledWith('/api/saved_query/foo', { + body: '{"title":"foo","description":"bar","query":{"language":"kuery","query":"response:200"},"filters":[]}', }); - expect(response).toEqual({ id: 'foo', attributes: savedQueryAttributes }); }); + }); - it('should optionally accept filters and timefilters in object format', async () => { - const serializedSavedQueryAttributesWithFilters = { - ...savedQueryAttributesWithFilters, - filters: savedQueryAttributesWithFilters.filters, - timefilter: savedQueryAttributesWithFilters.timefilter, - }; - - mockSavedObjectsClient.create.mockReturnValue({ - id: 'foo', - attributes: serializedSavedQueryAttributesWithFilters, + describe('getAllSavedQueries', function () { + it('should post and extract the saved queries from the response', async () => { + http.post.mockResolvedValue({ + total: 0, + savedQueries: [{ attributes: savedQueryAttributes }], }); - - const response = await saveQuery(savedQueryAttributesWithFilters); - - expect(mockSavedObjectsClient.create).toHaveBeenCalledWith( - 'query', - serializedSavedQueryAttributesWithFilters, - { id: 'foo' } - ); - expect(response).toEqual({ id: 'foo', attributes: savedQueryAttributesWithFilters }); - }); - - it('should throw an error when saved objects client returns error', async () => { - mockSavedObjectsClient.create.mockReturnValue({ - error: { - error: '123', - message: 'An Error', - }, + const result = await getAllSavedQueries(); + expect(http.post).toBeCalled(); + expect(http.post).toHaveBeenCalledWith('/api/saved_query/_find', { + body: '{"perPage":10000}', }); - - let error = null; - try { - await saveQuery(savedQueryAttributes); - } catch (e) { - error = e; - } - expect(error).not.toBe(null); - }); - it('should throw an error if the saved query does not have a title', async () => { - let error = null; - try { - await saveQuery({ ...savedQueryAttributes, title: '' }); - } catch (e) { - error = e; - } - expect(error).not.toBe(null); + expect(result).toEqual([{ attributes: savedQueryAttributes }]); }); }); - describe('findSavedQueries', function () { - it('should find and return saved queries without search text or pagination parameters', async () => { - mockSavedObjectsClient.find.mockReturnValue({ - savedObjects: [{ id: 'foo', attributes: savedQueryAttributes }], - total: 5, - }); - - const response = await findSavedQueries(); - expect(response.queries).toEqual([{ id: 'foo', attributes: savedQueryAttributes }]); - }); - it('should return the total count along with the requested queries', async () => { - mockSavedObjectsClient.find.mockReturnValue({ - savedObjects: [{ id: 'foo', attributes: savedQueryAttributes }], - total: 5, - }); - - const response = await findSavedQueries(); - expect(response.total).toEqual(5); - }); - - it('should find and return saved queries with search text matching the title field', async () => { - mockSavedObjectsClient.find.mockReturnValue({ - savedObjects: [{ id: 'foo', attributes: savedQueryAttributes }], - total: 5, - }); - const response = await findSavedQueries('foo'); - expect(mockSavedObjectsClient.find).toHaveBeenCalledWith({ - page: 1, - perPage: 50, - search: 'foo', - searchFields: ['title^5', 'description'], - sortField: '_score', - type: 'query', - }); - expect(response.queries).toEqual([{ id: 'foo', attributes: savedQueryAttributes }]); - }); - it('should find and return parsed filters and timefilters items', async () => { - const serializedSavedQueryAttributesWithFilters = { - ...savedQueryAttributesWithFilters, - filters: savedQueryAttributesWithFilters.filters, - timefilter: savedQueryAttributesWithFilters.timefilter, - }; - mockSavedObjectsClient.find.mockReturnValue({ - savedObjects: [{ id: 'foo', attributes: serializedSavedQueryAttributesWithFilters }], - total: 5, - }); - const response = await findSavedQueries('bar'); - expect(response.queries).toEqual([ - { id: 'foo', attributes: savedQueryAttributesWithFilters }, - ]); - }); - it('should return an array of saved queries', async () => { - mockSavedObjectsClient.find.mockReturnValue({ - savedObjects: [{ id: 'foo', attributes: savedQueryAttributes }], - total: 5, + describe('findSavedQueries', function () { + it('should post and return the total & saved queries', async () => { + http.post.mockResolvedValue({ + total: 0, + savedQueries: [{ attributes: savedQueryAttributes }], }); - const response = await findSavedQueries(); - expect(response.queries).toEqual( - expect.objectContaining([ - { - attributes: { - description: 'bar', - query: { language: 'kuery', query: 'response:200' }, - title: 'foo', - }, - id: 'foo', - }, - ]) - ); - }); - it('should accept perPage and page properties', async () => { - mockSavedObjectsClient.find.mockReturnValue({ - savedObjects: [ - { id: 'foo', attributes: savedQueryAttributes }, - { id: 'bar', attributes: savedQueryAttributesBar }, - ], - total: 5, + const result = await findSavedQueries(); + expect(http.post).toBeCalled(); + expect(http.post).toHaveBeenCalledWith('/api/saved_query/_find', { + body: '{"page":1,"perPage":50,"search":""}', }); - const response = await findSavedQueries(undefined, 2, 1); - expect(mockSavedObjectsClient.find).toHaveBeenCalledWith({ - page: 1, - perPage: 2, - search: '', - searchFields: ['title^5', 'description'], - sortField: '_score', - type: 'query', + expect(result).toEqual({ + queries: [{ attributes: savedQueryAttributes }], + total: 0, }); - expect(response.queries).toEqual( - expect.objectContaining([ - { - attributes: { - description: 'bar', - query: { language: 'kuery', query: 'response:200' }, - title: 'foo', - }, - id: 'foo', - }, - { - attributes: { - description: 'baz', - query: { language: 'kuery', query: 'response:200' }, - title: 'bar', - }, - id: 'bar', - }, - ]) - ); }); }); describe('getSavedQuery', function () { - it('should retrieve a saved query by id', async () => { - mockSavedObjectsClient.resolve.mockReturnValue({ - saved_object: { - id: 'foo', - attributes: savedQueryAttributes, - }, - outcome: 'exactMatch', - }); - - const response = await getSavedQuery('foo'); - expect(response).toEqual({ id: 'foo', attributes: savedQueryAttributes }); - }); - it('should only return saved queries', async () => { - mockSavedObjectsClient.resolve.mockReturnValue({ - saved_object: { - id: 'foo', - attributes: savedQueryAttributes, - }, - outcome: 'exactMatch', - }); - - await getSavedQuery('foo'); - expect(mockSavedObjectsClient.resolve).toHaveBeenCalledWith('query', 'foo'); - }); - - it('should parse a json query', async () => { - mockSavedObjectsClient.resolve.mockReturnValue({ - saved_object: { - id: 'food', - attributes: { - title: 'food', - description: 'bar', - query: { - language: 'kuery', - query: '{"x": "y"}', - }, - }, - }, - outcome: 'exactMatch', - }); - - const response = await getSavedQuery('food'); - expect(response.attributes.query.query).toEqual({ x: 'y' }); - }); - - it('should handle null string', async () => { - mockSavedObjectsClient.resolve.mockReturnValue({ - saved_object: { - id: 'food', - attributes: { - title: 'food', - description: 'bar', - query: { - language: 'kuery', - query: 'null', - }, - }, - }, - outcome: 'exactMatch', - }); - - const response = await getSavedQuery('food'); - expect(response.attributes.query.query).toEqual('null'); - }); - - it('should handle null quoted string', async () => { - mockSavedObjectsClient.resolve.mockReturnValue({ - saved_object: { - id: 'food', - attributes: { - title: 'food', - description: 'bar', - query: { - language: 'kuery', - query: '"null"', - }, - }, - }, - outcome: 'exactMatch', - }); - - const response = await getSavedQuery('food'); - expect(response.attributes.query.query).toEqual('"null"'); - }); - - it('should not lose quotes', async () => { - mockSavedObjectsClient.resolve.mockReturnValue({ - saved_object: { - id: 'food', - attributes: { - title: 'food', - description: 'bar', - query: { - language: 'kuery', - query: '"Bob"', - }, - }, - }, - outcome: 'exactMatch', - }); - - const response = await getSavedQuery('food'); - expect(response.attributes.query.query).toEqual('"Bob"'); - }); - - it('should throw if conflict', async () => { - mockSavedObjectsClient.resolve.mockReturnValue({ - saved_object: { - id: 'foo', - attributes: savedQueryAttributes, - }, - outcome: 'conflict', - }); - - const result = getSavedQuery('food'); - expect(result).rejects.toMatchInlineSnapshot( - `[Error: Multiple saved queries found with ID: food (legacy URL alias conflict)]` - ); + it('should get the given ID', async () => { + await getSavedQuery('my_id'); + expect(http.get).toBeCalled(); + expect(http.get).toHaveBeenCalledWith('/api/saved_query/my_id'); }); }); describe('deleteSavedQuery', function () { - it('should delete the saved query for the given ID', async () => { - await deleteSavedQuery('foo'); - expect(mockSavedObjectsClient.delete).toHaveBeenCalledWith('query', 'foo'); - }); - }); - - describe('getAllSavedQueries', function () { - it('should return all the saved queries', async () => { - mockSavedObjectsClient.find.mockReturnValue({ - savedObjects: [{ id: 'foo', attributes: savedQueryAttributes }], - }); - const response = await getAllSavedQueries(); - expect(response).toEqual( - expect.objectContaining([ - { - attributes: { - description: 'bar', - query: { language: 'kuery', query: 'response:200' }, - title: 'foo', - }, - id: 'foo', - }, - ]) - ); - expect(mockSavedObjectsClient.find).toHaveBeenCalledWith({ - page: 1, - perPage: 0, - type: 'query', - }); + it('should delete the given ID', async () => { + await deleteSavedQuery('my_id'); + expect(http.delete).toBeCalled(); + expect(http.delete).toHaveBeenCalledWith('/api/saved_query/my_id'); }); }); describe('getSavedQueryCount', function () { - it('should return the total number of saved queries', async () => { - mockSavedObjectsClient.find.mockReturnValue({ - total: 1, - }); - const response = await getSavedQueryCount(); - expect(response).toEqual(1); + it('should get the total', async () => { + await getSavedQueryCount(); + expect(http.get).toBeCalled(); + expect(http.get).toHaveBeenCalledWith('/api/saved_query/_count'); }); }); }); diff --git a/src/plugins/data/public/query/saved_query/saved_query_service.ts b/src/plugins/data/public/query/saved_query/saved_query_service.ts index 89a357a66d370..8ec9167a3a0c2 100644 --- a/src/plugins/data/public/query/saved_query/saved_query_service.ts +++ b/src/plugins/data/public/query/saved_query/saved_query_service.ts @@ -6,163 +6,61 @@ * Side Public License, v 1. */ -import { isObject } from 'lodash'; -import { SavedObjectsClientContract, SavedObjectAttributes } from 'src/core/public'; -import { SavedQueryAttributes, SavedQuery, SavedQueryService } from './types'; - -type SerializedSavedQueryAttributes = SavedObjectAttributes & - SavedQueryAttributes & { - query: { - query: string; - language: string; - }; +import { HttpStart } from 'src/core/public'; +import { SavedQuery } from './types'; +import { SavedQueryAttributes } from '../../../common'; + +export const createSavedQueryService = (http: HttpStart) => { + const createQuery = async (attributes: SavedQueryAttributes, { overwrite = false } = {}) => { + const savedQuery = await http.post('/api/saved_query/_create', { + body: JSON.stringify(attributes), + }); + return savedQuery; }; -export const createSavedQueryService = ( - savedObjectsClient: SavedObjectsClientContract -): SavedQueryService => { - const saveQuery = async (attributes: SavedQueryAttributes, { overwrite = false } = {}) => { - if (!attributes.title.length) { - // title is required extra check against circumventing the front end - throw new Error('Cannot create saved query without a title'); - } - - const query = { - query: - typeof attributes.query.query === 'string' - ? attributes.query.query - : JSON.stringify(attributes.query.query), - language: attributes.query.language, - }; - - const queryObject: SerializedSavedQueryAttributes = { - title: attributes.title.trim(), // trim whitespace before save as an extra precaution against circumventing the front end - description: attributes.description, - query, - }; - - if (attributes.filters) { - queryObject.filters = attributes.filters; - } - - if (attributes.timefilter) { - queryObject.timefilter = attributes.timefilter; - } - - let rawQueryResponse; - if (!overwrite) { - rawQueryResponse = await savedObjectsClient.create('query', queryObject, { - id: attributes.title, - }); - } else { - rawQueryResponse = await savedObjectsClient.create('query', queryObject, { - id: attributes.title, - overwrite: true, - }); - } - - if (rawQueryResponse.error) { - throw new Error(rawQueryResponse.error.message); - } - - return parseSavedQueryObject(rawQueryResponse); + const updateQuery = async (id: string, attributes: SavedQueryAttributes) => { + const savedQuery = await http.put(`/api/saved_query/${id}`, { + body: JSON.stringify(attributes), + }); + return savedQuery; }; + // we have to tell the saved objects client how many to fetch, otherwise it defaults to fetching 20 per page const getAllSavedQueries = async (): Promise => { - const count = await getSavedQueryCount(); - const response = await savedObjectsClient.find({ - type: 'query', - perPage: count, - page: 1, + const { savedQueries } = await http.post('/api/saved_query/_find', { + body: JSON.stringify({ perPage: 10000 }), }); - return response.savedObjects.map( - (savedObject: { id: string; attributes: SerializedSavedQueryAttributes }) => - parseSavedQueryObject(savedObject) - ); + return savedQueries; }; + // findSavedQueries will do a 'match_all' if no search string is passed in const findSavedQueries = async ( - searchText: string = '', + search: string = '', perPage: number = 50, - activePage: number = 1 + page: number = 1 ): Promise<{ total: number; queries: SavedQuery[] }> => { - const response = await savedObjectsClient.find({ - type: 'query', - search: searchText, - searchFields: ['title^5', 'description'], - sortField: '_score', - perPage, - page: activePage, + const { total, savedQueries: queries } = await http.post('/api/saved_query/_find', { + body: JSON.stringify({ page, perPage, search }), }); - return { - total: response.total, - queries: response.savedObjects.map( - (savedObject: { id: string; attributes: SerializedSavedQueryAttributes }) => - parseSavedQueryObject(savedObject) - ), - }; - }; - - const getSavedQuery = async (id: string): Promise => { - const { saved_object: savedObject, outcome } = - await savedObjectsClient.resolve('query', id); - if (outcome === 'conflict') { - throw new Error(`Multiple saved queries found with ID: ${id} (legacy URL alias conflict)`); - } else if (savedObject.error) { - throw new Error(savedObject.error.message); - } - return parseSavedQueryObject(savedObject); + return { total, queries }; }; - const deleteSavedQuery = async (id: string) => { - return await savedObjectsClient.delete('query', id); + const getSavedQuery = (id: string): Promise => { + return http.get(`/api/saved_query/${id}`); }; - const parseSavedQueryObject = (savedQuery: { - id: string; - attributes: SerializedSavedQueryAttributes; - }) => { - let queryString: string | object = savedQuery.attributes.query.query; - - try { - const parsedQueryString: object = JSON.parse(savedQuery.attributes.query.query); - if (isObject(parsedQueryString)) { - queryString = parsedQueryString; - } - } catch (e) {} // eslint-disable-line no-empty - - const savedQueryItems: SavedQueryAttributes = { - title: savedQuery.attributes.title || '', - description: savedQuery.attributes.description || '', - query: { - query: queryString, - language: savedQuery.attributes.query.language, - }, - }; - if (savedQuery.attributes.filters) { - savedQueryItems.filters = savedQuery.attributes.filters; - } - if (savedQuery.attributes.timefilter) { - savedQueryItems.timefilter = savedQuery.attributes.timefilter; - } - return { - id: savedQuery.id, - attributes: savedQueryItems, - }; + const deleteSavedQuery = (id: string) => { + return http.delete(`/api/saved_query/${id}`); }; const getSavedQueryCount = async (): Promise => { - const response = await savedObjectsClient.find({ - type: 'query', - perPage: 0, - page: 1, - }); - return response.total; + return http.get('/api/saved_query/_count'); }; return { - saveQuery, + createQuery, + updateQuery, getAllSavedQueries, findSavedQueries, getSavedQuery, diff --git a/src/plugins/data/public/query/saved_query/types.ts b/src/plugins/data/public/query/saved_query/types.ts index bd53bb7d77b30..0f1763433e72a 100644 --- a/src/plugins/data/public/query/saved_query/types.ts +++ b/src/plugins/data/public/query/saved_query/types.ts @@ -26,10 +26,8 @@ export interface SavedQueryAttributes { } export interface SavedQueryService { - saveQuery: ( - attributes: SavedQueryAttributes, - config?: { overwrite: boolean } - ) => Promise; + createQuery: (attributes: SavedQueryAttributes) => Promise; + updateQuery: (id: string, attributes: SavedQueryAttributes) => Promise; getAllSavedQueries: () => Promise; findSavedQueries: ( searchText?: string, diff --git a/src/plugins/data/public/query/state_sync/connect_to_query_state.test.ts b/src/plugins/data/public/query/state_sync/connect_to_query_state.test.ts index b4ec4934233d0..857a932d9157b 100644 --- a/src/plugins/data/public/query/state_sync/connect_to_query_state.test.ts +++ b/src/plugins/data/public/query/state_sync/connect_to_query_state.test.ts @@ -74,7 +74,7 @@ describe('connect_to_global_state', () => { queryServiceStart = queryService.start({ uiSettings: setupMock.uiSettings, storage: new Storage(new StubBrowserStorage()), - savedObjectsClient: startMock.savedObjects.client, + http: startMock.http, }); filterManager = queryServiceStart.filterManager; timeFilter = queryServiceStart.timefilter.timefilter; @@ -308,7 +308,7 @@ describe('connect_to_app_state', () => { queryServiceStart = queryService.start({ uiSettings: setupMock.uiSettings, storage: new Storage(new StubBrowserStorage()), - savedObjectsClient: startMock.savedObjects.client, + http: startMock.http, }); filterManager = queryServiceStart.filterManager; @@ -487,7 +487,7 @@ describe('filters with different state', () => { queryServiceStart = queryService.start({ uiSettings: setupMock.uiSettings, storage: new Storage(new StubBrowserStorage()), - savedObjectsClient: startMock.savedObjects.client, + http: startMock.http, }); filterManager = queryServiceStart.filterManager; diff --git a/src/plugins/data/public/query/state_sync/sync_state_with_url.test.ts b/src/plugins/data/public/query/state_sync/sync_state_with_url.test.ts index 73f78eb98968d..2e48a11efd69c 100644 --- a/src/plugins/data/public/query/state_sync/sync_state_with_url.test.ts +++ b/src/plugins/data/public/query/state_sync/sync_state_with_url.test.ts @@ -68,7 +68,7 @@ describe('sync_query_state_with_url', () => { queryServiceStart = queryService.start({ uiSettings: startMock.uiSettings, storage: new Storage(new StubBrowserStorage()), - savedObjectsClient: startMock.savedObjects.client, + http: startMock.http, }); filterManager = queryServiceStart.filterManager; timefilter = queryServiceStart.timefilter.timefilter; diff --git a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx index d0221658f3e08..c7a79658fac88 100644 --- a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx +++ b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx @@ -24,10 +24,9 @@ import { import { i18n } from '@kbn/i18n'; import { sortBy, isEqual } from 'lodash'; import { SavedQuery, SavedQueryService } from '../..'; -import { SavedQueryAttributes } from '../../query'; interface Props { - savedQuery?: SavedQueryAttributes; + savedQuery?: SavedQuery; savedQueryService: SavedQueryService; onSave: (savedQueryMeta: SavedQueryMeta) => void; onClose: () => void; @@ -36,6 +35,7 @@ interface Props { } export interface SavedQueryMeta { + id?: string; title: string; description: string; shouldIncludeFilters: boolean; @@ -50,18 +50,18 @@ export function SaveQueryForm({ showFilterOption = true, showTimeFilterOption = true, }: Props) { - const [title, setTitle] = useState(savedQuery ? savedQuery.title : ''); + const [title, setTitle] = useState(savedQuery?.attributes.title ?? ''); const [enabledSaveButton, setEnabledSaveButton] = useState(Boolean(savedQuery)); - const [description, setDescription] = useState(savedQuery ? savedQuery.description : ''); + const [description, setDescription] = useState(savedQuery?.attributes.description ?? ''); const [savedQueries, setSavedQueries] = useState([]); const [shouldIncludeFilters, setShouldIncludeFilters] = useState( - savedQuery ? !!savedQuery.filters : true + Boolean(savedQuery?.attributes.filters ?? true) ); // Defaults to false because saved queries are meant to be as portable as possible and loading // a saved query with a time filter will override whatever the current value of the global timepicker // is. We expect this option to be used rarely and only when the user knows they want this behavior. const [shouldIncludeTimefilter, setIncludeTimefilter] = useState( - savedQuery ? !!savedQuery.timefilter : false + Boolean(savedQuery?.attributes.timefilter ?? false) ); const [formErrors, setFormErrors] = useState([]); @@ -82,7 +82,7 @@ export function SaveQueryForm({ useEffect(() => { const fetchQueries = async () => { const allSavedQueries = await savedQueryService.getAllSavedQueries(); - const sortedAllSavedQueries = sortBy(allSavedQueries, 'attributes.title') as SavedQuery[]; + const sortedAllSavedQueries = sortBy(allSavedQueries, 'attributes.title'); setSavedQueries(sortedAllSavedQueries); }; fetchQueries(); @@ -109,13 +109,22 @@ export function SaveQueryForm({ const onClickSave = useCallback(() => { if (validate()) { onSave({ + id: savedQuery?.id, title, description, shouldIncludeFilters, shouldIncludeTimefilter, }); } - }, [validate, onSave, title, description, shouldIncludeFilters, shouldIncludeTimefilter]); + }, [ + validate, + onSave, + savedQuery?.id, + title, + description, + shouldIncludeFilters, + shouldIncludeTimefilter, + ]); const onInputChange = useCallback((event) => { setEnabledSaveButton(Boolean(event.target.value)); diff --git a/src/plugins/data/public/ui/search_bar/search_bar.tsx b/src/plugins/data/public/ui/search_bar/search_bar.tsx index db0bebf97578b..bd48dcd6cd34c 100644 --- a/src/plugins/data/public/ui/search_bar/search_bar.tsx +++ b/src/plugins/data/public/ui/search_bar/search_bar.tsx @@ -245,11 +245,12 @@ class SearchBarUI extends Component { try { let response; if (this.props.savedQuery && !saveAsNew) { - response = await this.savedQueryService.saveQuery(savedQueryAttributes, { - overwrite: true, - }); + response = await this.savedQueryService.updateQuery( + savedQueryMeta.id!, + savedQueryAttributes + ); } else { - response = await this.savedQueryService.saveQuery(savedQueryAttributes); + response = await this.savedQueryService.createQuery(savedQueryAttributes); } this.services.notifications.toasts.addSuccess( @@ -423,7 +424,7 @@ class SearchBarUI extends Component { {this.state.showSaveQueryModal ? ( this.setState({ showSaveQueryModal: false })} diff --git a/src/plugins/data/server/query/query_service.ts b/src/plugins/data/server/query/query_service.ts index 1bf5ff901e90f..173abeda0c951 100644 --- a/src/plugins/data/server/query/query_service.ts +++ b/src/plugins/data/server/query/query_service.ts @@ -8,11 +8,21 @@ import { CoreSetup, Plugin } from 'kibana/server'; import { querySavedObjectType } from '../saved_objects'; -import { extract, inject, telemetry, getAllMigrations } from '../../common/query/persistable_state'; +import { extract, getAllMigrations, inject, telemetry } from '../../common/query/persistable_state'; +import { registerSavedQueryRoutes } from './routes'; +import { + registerSavedQueryRouteHandlerContext, + SavedQueryRouteHandlerContext, +} from './route_handler_context'; export class QueryService implements Plugin { public setup(core: CoreSetup) { core.savedObjects.registerType(querySavedObjectType); + core.http.registerRouteHandlerContext( + 'savedQuery', + registerSavedQueryRouteHandlerContext + ); + registerSavedQueryRoutes(core); return { filterManager: { diff --git a/src/plugins/data/server/query/route_handler_context.test.ts b/src/plugins/data/server/query/route_handler_context.test.ts new file mode 100644 index 0000000000000..cc7686a06cb67 --- /dev/null +++ b/src/plugins/data/server/query/route_handler_context.test.ts @@ -0,0 +1,566 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { coreMock } from '../../../../core/server/mocks'; +import { + DATA_VIEW_SAVED_OBJECT_TYPE, + FilterStateStore, + SavedObject, + SavedQueryAttributes, +} from '../../common'; +import { registerSavedQueryRouteHandlerContext } from './route_handler_context'; +import { SavedObjectsFindResponse, SavedObjectsUpdateResponse } from 'kibana/server'; + +const mockContext = { + core: coreMock.createRequestHandlerContext(), +}; +const { + core: { + savedObjects: { client: mockSavedObjectsClient }, + }, +} = mockContext; +const context = registerSavedQueryRouteHandlerContext(mockContext); + +const savedQueryAttributes: SavedQueryAttributes = { + title: 'foo', + description: 'bar', + query: { + language: 'kuery', + query: 'response:200', + }, + filters: [], +}; +const savedQueryAttributesBar: SavedQueryAttributes = { + title: 'bar', + description: 'baz', + query: { + language: 'kuery', + query: 'response:200', + }, +}; + +const savedQueryAttributesWithFilters: SavedQueryAttributes = { + ...savedQueryAttributes, + filters: [ + { + query: { match_all: {} }, + $state: { store: FilterStateStore.APP_STATE }, + meta: { + index: 'my-index', + disabled: false, + negate: false, + alias: null, + }, + }, + ], + timefilter: { + to: 'now', + from: 'now-15m', + refreshInterval: { + pause: false, + value: 0, + }, + }, +}; + +const savedQueryReferences = [ + { + type: DATA_VIEW_SAVED_OBJECT_TYPE, + name: 'my-index', + id: 'my-index', + }, +]; + +describe('saved query route handler context', () => { + beforeEach(() => { + mockSavedObjectsClient.create.mockClear(); + mockSavedObjectsClient.resolve.mockClear(); + mockSavedObjectsClient.find.mockClear(); + mockSavedObjectsClient.delete.mockClear(); + }); + + describe('create', function () { + it('should create a saved object for the given attributes', async () => { + const mockResponse: SavedObject = { + id: 'foo', + type: 'query', + attributes: savedQueryAttributes, + references: [], + }; + mockSavedObjectsClient.create.mockResolvedValue(mockResponse); + + const response = await context.create(savedQueryAttributes); + + expect(mockSavedObjectsClient.create).toHaveBeenCalledWith('query', savedQueryAttributes, { + references: [], + }); + expect(response).toEqual({ + id: 'foo', + attributes: savedQueryAttributes, + }); + }); + + it('should optionally accept query in object format', async () => { + const savedQueryAttributesWithQueryObject: SavedQueryAttributes = { + ...savedQueryAttributes, + query: { + language: 'lucene', + query: { match_all: {} }, + }, + }; + const mockResponse: SavedObject = { + id: 'foo', + type: 'query', + attributes: savedQueryAttributesWithQueryObject, + references: [], + }; + mockSavedObjectsClient.create.mockResolvedValue(mockResponse); + + const { attributes } = await context.create(savedQueryAttributesWithQueryObject); + + expect(attributes).toEqual(savedQueryAttributesWithQueryObject); + }); + + it('should optionally accept filters and timefilters in object format', async () => { + const serializedSavedQueryAttributesWithFilters = { + ...savedQueryAttributesWithFilters, + filters: savedQueryAttributesWithFilters.filters, + timefilter: savedQueryAttributesWithFilters.timefilter, + }; + const mockResponse: SavedObject = { + id: 'foo', + type: 'query', + attributes: serializedSavedQueryAttributesWithFilters, + references: [], + }; + mockSavedObjectsClient.create.mockResolvedValue(mockResponse); + + await context.create(savedQueryAttributesWithFilters); + + const [[type, attributes]] = mockSavedObjectsClient.create.mock.calls; + const { filters = [], timefilter } = attributes as SavedQueryAttributes; + expect(type).toEqual('query'); + expect(filters.length).toBe(1); + expect(timefilter).toEqual(savedQueryAttributesWithFilters.timefilter); + }); + + it('should throw an error when saved objects client returns error', async () => { + mockSavedObjectsClient.create.mockResolvedValue({ + error: { + error: '123', + message: 'An Error', + }, + } as SavedObject); + + const response = context.create(savedQueryAttributes); + + expect(response).rejects.toMatchInlineSnapshot(`[Error: An Error]`); + }); + + it('should throw an error if the saved query does not have a title', async () => { + const response = context.create({ ...savedQueryAttributes, title: '' }); + expect(response).rejects.toMatchInlineSnapshot( + `[Error: Cannot create saved query without a title]` + ); + }); + }); + + describe('update', function () { + it('should update a saved object for the given attributes', async () => { + const mockResponse: SavedObject = { + id: 'foo', + type: 'query', + attributes: savedQueryAttributes, + references: [], + }; + mockSavedObjectsClient.update.mockResolvedValue(mockResponse); + + const response = await context.update('foo', savedQueryAttributes); + + expect(mockSavedObjectsClient.update).toHaveBeenCalledWith( + 'query', + 'foo', + savedQueryAttributes, + { + references: [], + } + ); + expect(response).toEqual({ + id: 'foo', + attributes: savedQueryAttributes, + }); + }); + + it('should throw an error when saved objects client returns error', async () => { + mockSavedObjectsClient.update.mockResolvedValue({ + error: { + error: '123', + message: 'An Error', + }, + } as SavedObjectsUpdateResponse); + + const response = context.update('foo', savedQueryAttributes); + + expect(response).rejects.toMatchInlineSnapshot(`[Error: An Error]`); + }); + + it('should throw an error if the saved query does not have a title', async () => { + const response = context.create({ ...savedQueryAttributes, title: '' }); + expect(response).rejects.toMatchInlineSnapshot( + `[Error: Cannot create saved query without a title]` + ); + }); + }); + + describe('find', function () { + it('should find and return saved queries without search text or pagination parameters', async () => { + const mockResponse: SavedObjectsFindResponse = { + page: 0, + per_page: 0, + saved_objects: [ + { + id: 'foo', + type: 'query', + score: 0, + attributes: savedQueryAttributes, + references: [], + }, + ], + total: 5, + }; + mockSavedObjectsClient.find.mockResolvedValue(mockResponse); + + const response = await context.find(); + + expect(response.savedQueries).toEqual([{ id: 'foo', attributes: savedQueryAttributes }]); + }); + + it('should return the total count along with the requested queries', async () => { + const mockResponse: SavedObjectsFindResponse = { + page: 0, + per_page: 0, + saved_objects: [ + { id: 'foo', type: 'query', score: 0, attributes: savedQueryAttributes, references: [] }, + ], + total: 5, + }; + mockSavedObjectsClient.find.mockResolvedValue(mockResponse); + + const response = await context.find(); + + expect(response.total).toEqual(5); + }); + + it('should find and return saved queries with search text matching the title field', async () => { + const mockResponse: SavedObjectsFindResponse = { + page: 0, + per_page: 0, + saved_objects: [ + { id: 'foo', type: 'query', score: 0, attributes: savedQueryAttributes, references: [] }, + ], + total: 5, + }; + mockSavedObjectsClient.find.mockResolvedValue(mockResponse); + + const response = await context.find({ search: 'foo' }); + + expect(mockSavedObjectsClient.find).toHaveBeenCalledWith({ + page: 1, + perPage: 50, + search: 'foo', + type: 'query', + }); + expect(response.savedQueries).toEqual([{ id: 'foo', attributes: savedQueryAttributes }]); + }); + + it('should find and return parsed filters and timefilters items', async () => { + const mockResponse: SavedObjectsFindResponse = { + page: 0, + per_page: 0, + saved_objects: [ + { + id: 'foo', + type: 'query', + score: 0, + attributes: savedQueryAttributesWithFilters, + references: savedQueryReferences, + }, + ], + total: 5, + }; + mockSavedObjectsClient.find.mockResolvedValue(mockResponse); + + const response = await context.find({ search: 'bar' }); + + expect(response.savedQueries).toEqual([ + { id: 'foo', attributes: savedQueryAttributesWithFilters }, + ]); + }); + + it('should return an array of saved queries', async () => { + const mockResponse: SavedObjectsFindResponse = { + page: 0, + per_page: 0, + saved_objects: [ + { id: 'foo', type: 'query', score: 0, attributes: savedQueryAttributes, references: [] }, + ], + total: 5, + }; + mockSavedObjectsClient.find.mockResolvedValue(mockResponse); + + const response = await context.find(); + + expect(response.savedQueries).toEqual( + expect.objectContaining([ + { + attributes: { + description: 'bar', + query: { language: 'kuery', query: 'response:200' }, + filters: [], + title: 'foo', + }, + id: 'foo', + }, + ]) + ); + }); + + it('should accept perPage and page properties', async () => { + const mockResponse: SavedObjectsFindResponse = { + page: 0, + per_page: 0, + saved_objects: [ + { id: 'foo', type: 'query', score: 0, attributes: savedQueryAttributes, references: [] }, + { + id: 'bar', + type: 'query', + score: 0, + attributes: savedQueryAttributesBar, + references: [], + }, + ], + total: 5, + }; + mockSavedObjectsClient.find.mockResolvedValue(mockResponse); + + const response = await context.find({ + page: 1, + perPage: 2, + }); + + expect(mockSavedObjectsClient.find).toHaveBeenCalledWith({ + page: 1, + perPage: 2, + search: '', + type: 'query', + }); + expect(response.savedQueries).toEqual( + expect.objectContaining([ + { + attributes: { + description: 'bar', + query: { language: 'kuery', query: 'response:200' }, + filters: [], + title: 'foo', + }, + id: 'foo', + }, + { + attributes: { + description: 'baz', + query: { language: 'kuery', query: 'response:200' }, + filters: [], + title: 'bar', + }, + id: 'bar', + }, + ]) + ); + }); + }); + + describe('get', function () { + it('should retrieve a saved query by id', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'foo', + type: 'query', + attributes: savedQueryAttributes, + references: [], + }, + outcome: 'exactMatch', + }); + + const response = await context.get('foo'); + expect(response).toEqual({ id: 'foo', attributes: savedQueryAttributes }); + }); + + it('should only return saved queries', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'foo', + type: 'query', + attributes: savedQueryAttributes, + references: [], + }, + outcome: 'exactMatch', + }); + + await context.get('foo'); + expect(mockSavedObjectsClient.resolve).toHaveBeenCalledWith('query', 'foo'); + }); + + it('should parse a json query', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'food', + type: 'query', + attributes: { + title: 'food', + description: 'bar', + query: { + language: 'kuery', + query: '{"x": "y"}', + }, + }, + references: [], + }, + outcome: 'exactMatch', + }); + + const response = await context.get('food'); + expect(response.attributes.query.query).toEqual({ x: 'y' }); + }); + + it('should handle null string', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'food', + type: 'query', + attributes: { + title: 'food', + description: 'bar', + query: { + language: 'kuery', + query: 'null', + }, + }, + references: [], + }, + outcome: 'exactMatch', + }); + + const response = await context.get('food'); + expect(response.attributes.query.query).toEqual('null'); + }); + + it('should handle null quoted string', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'food', + type: 'query', + attributes: { + title: 'food', + description: 'bar', + query: { + language: 'kuery', + query: '"null"', + }, + }, + references: [], + }, + outcome: 'exactMatch', + }); + + const response = await context.get('food'); + expect(response.attributes.query.query).toEqual('"null"'); + }); + + it('should not lose quotes', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'food', + type: 'query', + attributes: { + title: 'food', + description: 'bar', + query: { + language: 'kuery', + query: '"Bob"', + }, + }, + references: [], + }, + outcome: 'exactMatch', + }); + + const response = await context.get('food'); + expect(response.attributes.query.query).toEqual('"Bob"'); + }); + + it('should inject references', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'food', + type: 'query', + attributes: savedQueryAttributesWithFilters, + references: [ + { + id: 'my-new-index', + type: DATA_VIEW_SAVED_OBJECT_TYPE, + name: 'my-index', + }, + ], + }, + outcome: 'exactMatch', + }); + + const response = await context.get('food'); + expect(response.attributes.filters[0].meta.index).toBe('my-new-index'); + }); + + it('should throw if conflict', async () => { + mockSavedObjectsClient.resolve.mockResolvedValue({ + saved_object: { + id: 'foo', + type: 'query', + attributes: savedQueryAttributes, + references: [], + }, + outcome: 'conflict', + }); + + const result = context.get('food'); + expect(result).rejects.toMatchInlineSnapshot( + `[Error: Multiple saved queries found with ID: food (legacy URL alias conflict)]` + ); + }); + }); + + describe('delete', function () { + it('should delete the saved query for the given ID', async () => { + await context.delete('foo'); + expect(mockSavedObjectsClient.delete).toHaveBeenCalledWith('query', 'foo'); + }); + }); + + describe('count', function () { + it('should return the total number of saved queries', async () => { + mockSavedObjectsClient.find.mockResolvedValue({ + total: 1, + page: 0, + per_page: 0, + saved_objects: [], + }); + + const response = await context.count(); + + expect(response).toEqual(1); + }); + }); +}); diff --git a/src/plugins/data/server/query/route_handler_context.ts b/src/plugins/data/server/query/route_handler_context.ts new file mode 100644 index 0000000000000..3c60b33559b72 --- /dev/null +++ b/src/plugins/data/server/query/route_handler_context.ts @@ -0,0 +1,155 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { RequestHandlerContext, SavedObject } from 'kibana/server'; +import { isFilters } from '@kbn/es-query'; +import { isQuery, SavedQueryAttributes } from '../../common'; +import { extract, inject } from '../../common/query/persistable_state'; + +function injectReferences({ + id, + attributes, + references, +}: Pick, 'id' | 'attributes' | 'references'>) { + const { query } = attributes; + if (typeof query.query === 'string') { + try { + const parsed = JSON.parse(query.query); + query.query = parsed instanceof Object ? parsed : query.query; + } catch (e) { + // Just keep it as a string + } + } + const filters = inject(attributes.filters ?? [], references); + return { id, attributes: { ...attributes, filters } }; +} + +function extractReferences({ + title, + description, + query, + filters = [], + timefilter, +}: SavedQueryAttributes) { + const { state: extractedFilters, references } = extract(filters); + + const attributes: SavedQueryAttributes = { + title: title.trim(), + description: description.trim(), + query: { + ...query, + query: typeof query.query === 'string' ? query.query : JSON.stringify(query.query), + }, + filters: extractedFilters, + ...(timefilter && { timefilter }), + }; + + return { attributes, references }; +} + +function verifySavedQuery({ title, query, filters = [] }: SavedQueryAttributes) { + if (!isQuery(query)) { + throw new Error(`Invalid query: ${query}`); + } + + if (!isFilters(filters)) { + throw new Error(`Invalid filters: ${filters}`); + } + + if (!title.trim().length) { + throw new Error('Cannot create saved query without a title'); + } +} + +export function registerSavedQueryRouteHandlerContext(context: RequestHandlerContext) { + const createSavedQuery = async (attrs: SavedQueryAttributes) => { + verifySavedQuery(attrs); + const { attributes, references } = extractReferences(attrs); + + const savedObject = await context.core.savedObjects.client.create( + 'query', + attributes, + { + references, + } + ); + + // TODO: Handle properly + if (savedObject.error) throw new Error(savedObject.error.message); + + return injectReferences(savedObject); + }; + + const updateSavedQuery = async (id: string, attrs: SavedQueryAttributes) => { + verifySavedQuery(attrs); + const { attributes, references } = extractReferences(attrs); + + const savedObject = await context.core.savedObjects.client.update( + 'query', + id, + attributes, + { + references, + } + ); + + // TODO: Handle properly + if (savedObject.error) throw new Error(savedObject.error.message); + + return injectReferences({ id, attributes, references }); + }; + + const getSavedQuery = async (id: string) => { + const { saved_object: savedObject, outcome } = + await context.core.savedObjects.client.resolve('query', id); + if (outcome === 'conflict') { + throw new Error(`Multiple saved queries found with ID: ${id} (legacy URL alias conflict)`); + } else if (savedObject.error) { + throw new Error(savedObject.error.message); + } + return injectReferences(savedObject); + }; + + const getSavedQueriesCount = async () => { + const { total } = await context.core.savedObjects.client.find({ + type: 'query', + }); + return total; + }; + + const findSavedQueries = async ({ page = 1, perPage = 50, search = '' } = {}) => { + const { total, saved_objects: savedObjects } = + await context.core.savedObjects.client.find({ + type: 'query', + page, + perPage, + search, + }); + + const savedQueries = savedObjects.map(injectReferences); + + return { total, savedQueries }; + }; + + const deleteSavedQuery = (id: string) => { + return context.core.savedObjects.client.delete('query', id); + }; + + return { + create: createSavedQuery, + update: updateSavedQuery, + get: getSavedQuery, + count: getSavedQueriesCount, + find: findSavedQueries, + delete: deleteSavedQuery, + }; +} + +export interface SavedQueryRouteHandlerContext extends RequestHandlerContext { + savedQuery: ReturnType; +} diff --git a/src/plugins/data/server/query/routes.ts b/src/plugins/data/server/query/routes.ts new file mode 100644 index 0000000000000..cdf9e6f43dccc --- /dev/null +++ b/src/plugins/data/server/query/routes.ts @@ -0,0 +1,144 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { schema } from '@kbn/config-schema'; +import { CoreSetup } from 'kibana/server'; +import { SavedQueryRouteHandlerContext } from './route_handler_context'; + +const SAVED_QUERY_PATH = '/api/saved_query'; +const SAVED_QUERY_ID_CONFIG = schema.object({ + id: schema.string(), +}); +const SAVED_QUERY_ATTRS_CONFIG = schema.object({ + title: schema.string(), + description: schema.string(), + query: schema.object({ + query: schema.oneOf([schema.string(), schema.object({}, { unknowns: 'allow' })]), + language: schema.string(), + }), + filters: schema.maybe(schema.arrayOf(schema.any())), + timefilter: schema.maybe(schema.any()), +}); + +export function registerSavedQueryRoutes({ http }: CoreSetup): void { + const router = http.createRouter(); + + router.post( + { + path: `${SAVED_QUERY_PATH}/_create`, + validate: { + body: SAVED_QUERY_ATTRS_CONFIG, + }, + }, + async (context, request, response) => { + try { + const body = await context.savedQuery.create(request.body); + return response.ok({ body }); + } catch (e) { + // TODO: Handle properly + return response.customError(e); + } + } + ); + + router.put( + { + path: `${SAVED_QUERY_PATH}/{id}`, + validate: { + params: SAVED_QUERY_ID_CONFIG, + body: SAVED_QUERY_ATTRS_CONFIG, + }, + }, + async (context, request, response) => { + const { id } = request.params; + try { + const body = await context.savedQuery.update(id, request.body); + return response.ok({ body }); + } catch (e) { + // TODO: Handle properly + return response.customError(e); + } + } + ); + + router.get( + { + path: `${SAVED_QUERY_PATH}/{id}`, + validate: { + params: SAVED_QUERY_ID_CONFIG, + }, + }, + async (context, request, response) => { + const { id } = request.params; + try { + const body = await context.savedQuery.get(id); + return response.ok({ body }); + } catch (e) { + // TODO: Handle properly + return response.customError(e); + } + } + ); + + router.get( + { + path: `${SAVED_QUERY_PATH}/_count`, + validate: {}, + }, + async (context, request, response) => { + try { + const count = await context.savedQuery.count(); + return response.ok({ body: `${count}` }); + } catch (e) { + // TODO: Handle properly + return response.customError(e); + } + } + ); + + router.post( + { + path: `${SAVED_QUERY_PATH}/_find`, + validate: { + body: schema.object({ + search: schema.string({ defaultValue: '' }), + perPage: schema.number({ defaultValue: 50 }), + page: schema.number({ defaultValue: 1 }), + }), + }, + }, + async (context, request, response) => { + try { + const body = await context.savedQuery.find(request.body); + return response.ok({ body }); + } catch (e) { + // TODO: Handle properly + return response.customError(e); + } + } + ); + + router.delete( + { + path: `${SAVED_QUERY_PATH}/{id}`, + validate: { + params: SAVED_QUERY_ID_CONFIG, + }, + }, + async (context, request, response) => { + const { id } = request.params; + try { + const body = await context.savedQuery.delete(id); + return response.ok({ body }); + } catch (e) { + // TODO: Handle properly + return response.customError(e); + } + } + ); +} diff --git a/src/plugins/data/server/saved_objects/migrations/query.ts b/src/plugins/data/server/saved_objects/migrations/query.ts new file mode 100644 index 0000000000000..9640725e3edd4 --- /dev/null +++ b/src/plugins/data/server/saved_objects/migrations/query.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { mapValues } from 'lodash'; +import { SavedObject } from 'kibana/server'; +import { SavedQueryAttributes } from '../../../common'; +import { extract, getAllMigrations } from '../../../common/query/persistable_state'; +import { mergeMigrationFunctionMaps } from '../../../../kibana_utils/common'; + +const extractFilterReferences = (doc: SavedObject) => { + const { state: filters, references } = extract(doc.attributes.filters ?? []); + return { + ...doc, + attributes: { + ...doc.attributes, + filters, + }, + references, + }; +}; + +const filterMigrations = mapValues(getAllMigrations(), (migrate) => { + return (doc: SavedObject) => ({ + ...doc, + attributes: { + ...doc.attributes, + filters: migrate(doc.attributes.filters), + }, + }); +}); + +export const savedQueryMigrations = mergeMigrationFunctionMaps( + { + '7.16.0': extractFilterReferences, + }, + filterMigrations +); diff --git a/src/plugins/data/server/saved_objects/query.ts b/src/plugins/data/server/saved_objects/query.ts index bc6225255b5e6..6fd34f4802726 100644 --- a/src/plugins/data/server/saved_objects/query.ts +++ b/src/plugins/data/server/saved_objects/query.ts @@ -7,6 +7,7 @@ */ import { SavedObjectsType } from 'kibana/server'; +import { savedQueryMigrations } from './migrations/query'; export const querySavedObjectType: SavedObjectsType = { name: 'query', @@ -38,5 +39,5 @@ export const querySavedObjectType: SavedObjectsType = { timefilter: { type: 'object', enabled: false }, }, }, - migrations: {}, + migrations: savedQueryMigrations, }; diff --git a/x-pack/plugins/security_solution/public/common/utils/saved_query_services/index.tsx b/x-pack/plugins/security_solution/public/common/utils/saved_query_services/index.tsx index b15a466af4d79..a5c4d81b1728c 100644 --- a/x-pack/plugins/security_solution/public/common/utils/saved_query_services/index.tsx +++ b/x-pack/plugins/security_solution/public/common/utils/saved_query_services/index.tsx @@ -15,14 +15,14 @@ import { useKibana } from '../../lib/kibana'; export const useSavedQueryServices = () => { const kibana = useKibana(); - const client = kibana.services.savedObjects.client; + const { http } = kibana.services; const [savedQueryService, setSavedQueryService] = useState( - createSavedQueryService(client) + createSavedQueryService(http) ); useEffect(() => { - setSavedQueryService(createSavedQueryService(client)); - }, [client]); + setSavedQueryService(createSavedQueryService(http)); + }, [http]); return savedQueryService; }; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/index.tsx index b2b304e16c4a0..daafec3005eb8 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/index.tsx @@ -244,27 +244,19 @@ export const QueryBarTimeline = memo( (f) => f.meta.controlledBy === TIMELINE_FILTER_DROP_AREA ) : -1; - savedQueryServices.saveQuery( - { - ...newSavedQuery.attributes, - filters: - newSavedQuery.attributes.filters != null - ? dataProviderFilterExists > -1 - ? [ - ...newSavedQuery.attributes.filters.slice(0, dataProviderFilterExists), - getDataProviderFilter(dataProvidersDsl), - ...newSavedQuery.attributes.filters.slice(dataProviderFilterExists + 1), - ] - : [ - ...newSavedQuery.attributes.filters, - getDataProviderFilter(dataProvidersDsl), - ] - : [], - }, - { - overwrite: true, - } - ); + savedQueryServices.updateQuery(newSavedQuery.id, { + ...newSavedQuery.attributes, + filters: + newSavedQuery.attributes.filters != null + ? dataProviderFilterExists > -1 + ? [ + ...newSavedQuery.attributes.filters.slice(0, dataProviderFilterExists), + getDataProviderFilter(dataProvidersDsl), + ...newSavedQuery.attributes.filters.slice(dataProviderFilterExists + 1), + ] + : [...newSavedQuery.attributes.filters, getDataProviderFilter(dataProvidersDsl)] + : [], + }); } } else { setSavedQueryId(null); From e578bf1f68c9ba223122e60b5d03bc24def0a2b7 Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Thu, 21 Oct 2021 17:45:58 +0100 Subject: [PATCH 25/39] remove hash router related code (#115733) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../create_package_policy_page/index.test.tsx | 14 ------ .../create_package_policy_page/index.tsx | 44 ++++--------------- 2 files changed, 9 insertions(+), 49 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.test.tsx index c115089cccb1e..b8bae0cb1f541 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.test.tsx @@ -71,20 +71,6 @@ describe('when on the package policy create page', () => { expect(cancelLink.href).toBe(expectedRouteState.onCancelUrl); expect(cancelButton.href).toBe(expectedRouteState.onCancelUrl); }); - - it('should redirect via history when cancel link is clicked', () => { - act(() => { - cancelLink.click(); - }); - expect(testRenderer.mountHistory.location.pathname).toBe('/cancel/url/here'); - }); - - it('should redirect via history when cancel Button (button bar) is clicked', () => { - act(() => { - cancelButton.click(); - }); - expect(testRenderer.mountHistory.location.pathname).toBe('/cancel/url/here'); - }); }); }); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx index f6ad41f69e99e..b30d51bb46aaa 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx @@ -22,7 +22,6 @@ import { EuiErrorBoundary, } from '@elastic/eui'; import type { EuiStepProps } from '@elastic/eui/src/components/steps/step'; -import type { ApplicationStart } from 'kibana/public'; import { safeLoad } from 'js-yaml'; import type { @@ -46,7 +45,6 @@ import { ConfirmDeployAgentPolicyModal } from '../components'; import { useIntraAppState, useUIExtension } from '../../../hooks'; import { ExtensionWrapper } from '../../../components'; import type { PackagePolicyEditExtensionComponentProps } from '../../../types'; -import { PLUGIN_ID } from '../../../../../../common/constants'; import { pkgKeyFromPackageInfo } from '../../../services'; import { CreatePackagePolicyPageLayout, PostInstallAddAgentModal } from './components'; @@ -76,14 +74,16 @@ interface AddToPolicyParams { } export const CreatePackagePolicyPage: React.FunctionComponent = () => { - const { notifications } = useStartServices(); + const { + application: { navigateToApp }, + notifications, + } = useStartServices(); const { agents: { enabled: isFleetEnabled }, } = useConfig(); const { params } = useRouteMatch(); const { getHref, getPath } = useLink(); const history = useHistory(); - const handleNavigateTo = useNavigateToCallback(); const routeState = useIntraAppState(); const { search } = useLocation(); @@ -254,10 +254,10 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { (ev) => { if (routeState && routeState.onCancelNavigateTo) { ev.preventDefault(); - handleNavigateTo(routeState.onCancelNavigateTo); + navigateToApp(...routeState.onCancelNavigateTo); } }, - [routeState, handleNavigateTo] + [routeState, navigateToApp] ); // Save package policy @@ -298,15 +298,15 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { mappingOptions: routeState.onSaveQueryParams, paramsToApply, }); - handleNavigateTo([appId, { ...options, path: pathWithQueryString }]); + navigateToApp(appId, { ...options, path: pathWithQueryString }); } else { - handleNavigateTo(routeState.onSaveNavigateTo); + navigateToApp(...routeState.onSaveNavigateTo); } } else { history.push(getPath('policy_details', { policyId: agentPolicy!.id })); } }, - [agentPolicy, getPath, handleNavigateTo, history, routeState] + [agentPolicy, getPath, navigateToApp, history, routeState] ); const onSubmit = useCallback(async () => { @@ -578,29 +578,3 @@ const IntegrationBreadcrumb: React.FunctionComponent<{ }); return null; }; - -const useNavigateToCallback = () => { - const history = useHistory(); - const { - application: { navigateToApp }, - } = useStartServices(); - - return useCallback( - (navigateToProps: Parameters) => { - // If navigateTo appID is `fleet`, then don't use Kibana's navigateTo method, because that - // uses BrowserHistory but within fleet, we are using HashHistory. - // This temporary workaround hook can be removed once this issue is addressed: - // https://github.com/elastic/kibana/issues/70358 - if (navigateToProps[0] === PLUGIN_ID) { - const { path = '', state } = navigateToProps[1] || {}; - history.push({ - pathname: path.charAt(0) === '#' ? path.substr(1) : path, - state, - }); - } - - return navigateToApp(...navigateToProps); - }, - [history, navigateToApp] - ); -}; From c53004fe0675ba8c692c62f3bf0a8b067f393008 Mon Sep 17 00:00:00 2001 From: Kevin Logan <56395104+kevinlog@users.noreply.github.com> Date: Thu, 21 Oct 2021 13:08:06 -0400 Subject: [PATCH 26/39] [Security Solution] Fix metadata tests with updated timestamps (#115591) --- .../endpoint/metadata/api_feature/data.json | 36 +++++++++---------- .../apis/metadata.ts | 7 ++-- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json b/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json index b3d33f5d45345..449731d9e4ab2 100644 --- a/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json +++ b/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json @@ -4,7 +4,7 @@ "id": "3KVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "963b081e-60d1-482c-befd-a5815fa8290f", "version": "6.6.1", @@ -26,7 +26,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d14", "kind": "metric", "category": [ @@ -74,7 +74,7 @@ "id": "3aVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "b3412d6f-b022-4448-8fee-21cc936ea86b", "version": "6.0.0", @@ -96,7 +96,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d15", "kind": "metric", "category": [ @@ -143,7 +143,7 @@ "id": "3qVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "3838df35-a095-4af4-8fce-0b6d78793f2e", "version": "6.8.0", @@ -165,7 +165,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d16", "kind": "metric", "category": [ @@ -210,7 +210,7 @@ "id": "36VN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "963b081e-60d1-482c-befd-a5815fa8290f", "version": "6.6.1", @@ -232,7 +232,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d18", "kind": "metric", "category": [ @@ -280,7 +280,7 @@ "id": "4KVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "b3412d6f-b022-4448-8fee-21cc936ea86b", "version": "6.0.0", @@ -302,7 +302,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d19", "kind": "metric", "category": [ @@ -348,7 +348,7 @@ "id": "4aVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "3838df35-a095-4af4-8fce-0b6d78793f2e", "version": "6.8.0", @@ -370,7 +370,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d39", "kind": "metric", "category": [ @@ -416,7 +416,7 @@ "id": "4qVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "963b081e-60d1-482c-befd-a5815fa8290f", "version": "6.6.1", @@ -438,7 +438,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d31", "kind": "metric", "category": [ @@ -485,7 +485,7 @@ "id": "46VN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "b3412d6f-b022-4448-8fee-21cc936ea86b", "version": "6.0.0", @@ -507,7 +507,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d23", "kind": "metric", "category": [ @@ -553,7 +553,7 @@ "id": "5KVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1626897841950, + "@timestamp": 1634656952181, "agent": { "id": "3838df35-a095-4af4-8fce-0b6d78793f2e", "version": "6.8.0", @@ -575,7 +575,7 @@ } }, "event": { - "created": 1626897841950, + "created": 1634656952181, "id": "32f5fda2-48e4-4fae-b89e-a18038294d35", "kind": "metric", "category": [ diff --git a/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts b/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts index 2dcf36cc42ae2..afdc364ffd970 100644 --- a/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts +++ b/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts @@ -24,8 +24,7 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const supertest = getService('supertest'); - // Failing: See https://github.com/elastic/kibana/issues/115488 - describe.skip('test metadata api', () => { + describe('test metadata api', () => { // TODO add this after endpoint package changes are merged and in snapshot // describe('with .metrics-endpoint.metadata_united_default index', () => { // }); @@ -242,7 +241,7 @@ export default function ({ getService }: FtrProviderContext) { (ip: string) => ip === targetEndpointIp ); expect(resultIp).to.eql([targetEndpointIp]); - expect(body.hosts[0].metadata.event.created).to.eql(1626897841950); + expect(body.hosts[0].metadata.event.created).to.eql(1634656952181); expect(body.hosts.length).to.eql(1); expect(body.request_page_size).to.eql(10); expect(body.request_page_index).to.eql(0); @@ -284,7 +283,7 @@ export default function ({ getService }: FtrProviderContext) { const resultElasticAgentId: string = body.hosts[0].metadata.elastic.agent.id; expect(resultHostId).to.eql(targetEndpointId); expect(resultElasticAgentId).to.eql(targetElasticAgentId); - expect(body.hosts[0].metadata.event.created).to.eql(1626897841950); + expect(body.hosts[0].metadata.event.created).to.eql(1634656952181); expect(body.hosts[0].host_status).to.eql('unhealthy'); expect(body.hosts.length).to.eql(1); expect(body.request_page_size).to.eql(10); From 8bee1b8f4194012a1ac8efe14370843bce304a27 Mon Sep 17 00:00:00 2001 From: Bhavya RM Date: Thu, 21 Oct 2021 13:11:18 -0400 Subject: [PATCH 27/39] unskip kibana overview test from xpack and add the missing painless labs test to config.ts (#115240) --- x-pack/test/accessibility/apps/kibana_overview.ts | 2 +- x-pack/test/accessibility/config.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/test/accessibility/apps/kibana_overview.ts b/x-pack/test/accessibility/apps/kibana_overview.ts index 9f5d91e5b4d54..6ea51cc0b855c 100644 --- a/x-pack/test/accessibility/apps/kibana_overview.ts +++ b/x-pack/test/accessibility/apps/kibana_overview.ts @@ -12,7 +12,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const a11y = getService('a11y'); // FLAKY: https://github.com/elastic/kibana/issues/98463 - describe.skip('Kibana overview', () => { + describe('Kibana overview', () => { const esArchiver = getService('esArchiver'); before(async () => { diff --git a/x-pack/test/accessibility/config.ts b/x-pack/test/accessibility/config.ts index 699b5b48d604c..933e8e97da397 100644 --- a/x-pack/test/accessibility/config.ts +++ b/x-pack/test/accessibility/config.ts @@ -17,10 +17,11 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { testFiles: [ require.resolve('./apps/login_page'), - require.resolve('./apps/home'), require.resolve('./apps/kibana_overview'), + require.resolve('./apps/home'), require.resolve('./apps/grok_debugger'), require.resolve('./apps/search_profiler'), + require.resolve('./apps/painless_lab'), require.resolve('./apps/uptime'), require.resolve('./apps/spaces'), require.resolve('./apps/advanced_settings'), From 537bce70ef32f91bf501c225fc997811ccf3eef2 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Thu, 21 Oct 2021 13:20:39 -0400 Subject: [PATCH 28/39] [App Search] Improve loading experience on the Curation and Curation Detail pages (#115840) --- .../curations/curation/automated_curation.test.tsx | 12 +----------- .../curations/curation/automated_curation.tsx | 7 +++---- .../components/curations/curation/curation.test.tsx | 9 +++++++++ .../components/curations/curation/curation.tsx | 7 ++++++- .../curations/curation/manual_curation.test.tsx | 1 - .../curations/curation/manual_curation.tsx | 3 +-- .../components/curations/views/curations.test.tsx | 6 ++++-- .../components/curations/views/curations.tsx | 6 ++++-- 8 files changed, 28 insertions(+), 23 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx index 309924e99f600..960018d92e54e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx @@ -15,7 +15,7 @@ import React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; -import { EuiBadge, EuiButton, EuiLoadingSpinner, EuiTab } from '@elastic/eui'; +import { EuiBadge, EuiButton, EuiTab } from '@elastic/eui'; import { getPageHeaderActions, getPageHeaderTabs, getPageTitle } from '../../../../test_helpers'; @@ -32,7 +32,6 @@ import { History } from './history'; describe('AutomatedCuration', () => { const values = { - dataLoading: false, queries: ['query A', 'query B'], isFlyoutOpen: false, curation: { @@ -115,15 +114,6 @@ describe('AutomatedCuration', () => { expect(pageTitle.find(EuiBadge)).toHaveLength(1); }); - it('displays a spinner in the title when loading', () => { - setMockValues({ ...values, dataLoading: true }); - - const wrapper = shallow(); - const pageTitle = shallow(
{getPageTitle(wrapper)}
); - - expect(pageTitle.find(EuiLoadingSpinner)).toHaveLength(1); - }); - it('contains a button to delete the curation', () => { const wrapper = shallow(); const pageHeaderActions = getPageHeaderActions(wrapper); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx index eefe012cd8a28..24406a0372a44 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx @@ -10,7 +10,7 @@ import { useParams } from 'react-router-dom'; import { useValues, useActions } from 'kea'; -import { EuiButton, EuiBadge, EuiLoadingSpinner, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { EuiButton, EuiBadge, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { EngineLogic } from '../../engine'; @@ -35,7 +35,7 @@ export const AutomatedCuration: React.FC = () => { const { curationId } = useParams<{ curationId: string }>(); const logic = CurationLogic({ curationId }); const { convertToManual, onSelectPageTab } = useActions(logic); - const { activeQuery, dataLoading, queries, curation, selectedPageTab } = useValues(logic); + const { activeQuery, queries, curation, selectedPageTab } = useValues(logic); const { engineName } = useValues(EngineLogic); const pageTabs = [ @@ -69,7 +69,7 @@ export const AutomatedCuration: React.FC = () => { pageHeader={{ pageTitle: ( <> - {dataLoading ? : activeQuery}{' '} + {activeQuery}{' '} {AUTOMATED_LABEL} @@ -96,7 +96,6 @@ export const AutomatedCuration: React.FC = () => { ], tabs: pageTabs, }} - isLoading={dataLoading} > {selectedPageTab === 'promoted' && } {selectedPageTab === 'promoted' && } diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx index 62c3a6c7d4578..dce56a05f8f8c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.test.tsx @@ -14,6 +14,7 @@ import React from 'react'; import { shallow } from 'enzyme'; +import { EnterpriseSearchPageTemplate } from '../../../../shared/layout'; import { rerender } from '../../../../test_helpers'; jest.mock('./curation_logic', () => ({ CurationLogic: jest.fn() })); @@ -26,6 +27,7 @@ import { Curation } from './'; describe('Curation', () => { const values = { + dataLoading: false, isAutomated: true, }; @@ -49,6 +51,13 @@ describe('Curation', () => { expect(actions.loadCuration).toHaveBeenCalledTimes(2); }); + it('renders a loading view when loading', () => { + setMockValues({ dataLoading: true }); + const wrapper = shallow(); + + expect(wrapper.is(EnterpriseSearchPageTemplate)).toBe(true); + }); + it('renders a view for automated curations', () => { setMockValues({ isAutomated: true }); const wrapper = shallow(); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx index 19b6542e96c4b..d1b0f43d976a8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx @@ -10,6 +10,8 @@ import { useParams } from 'react-router-dom'; import { useValues, useActions } from 'kea'; +import { EnterpriseSearchPageTemplate } from '../../../../shared/layout'; + import { AutomatedCuration } from './automated_curation'; import { CurationLogic } from './curation_logic'; import { ManualCuration } from './manual_curation'; @@ -17,11 +19,14 @@ import { ManualCuration } from './manual_curation'; export const Curation: React.FC = () => { const { curationId } = useParams() as { curationId: string }; const { loadCuration } = useActions(CurationLogic({ curationId })); - const { isAutomated } = useValues(CurationLogic({ curationId })); + const { dataLoading, isAutomated } = useValues(CurationLogic({ curationId })); useEffect(() => { loadCuration(); }, [curationId]); + if (dataLoading) { + return ; + } return isAutomated ? : ; }; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.test.tsx index d739eae55040d..548d111d6f96e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.test.tsx @@ -30,7 +30,6 @@ import { SuggestedDocumentsCallout } from './suggested_documents_callout'; describe('ManualCuration', () => { const values = { - dataLoading: false, queries: ['query A', 'query B'], isFlyoutOpen: false, selectedPageTab: 'promoted', diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.tsx index e78a80a5878b8..45b1b6212f504 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/manual_curation.tsx @@ -28,7 +28,7 @@ export const ManualCuration: React.FC = () => { const { curationId } = useParams() as { curationId: string }; const logic = CurationLogic({ curationId }); const { onSelectPageTab } = useActions(logic); - const { dataLoading, queries, selectedPageTab, curation } = useValues(logic); + const { queries, selectedPageTab, curation } = useValues(logic); const { isFlyoutOpen } = useValues(AddResultLogic); @@ -64,7 +64,6 @@ export const ManualCuration: React.FC = () => { ], tabs: pageTabs, }} - isLoading={dataLoading} > {selectedPageTab === 'promoted' && } diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.test.tsx index f446438d83d94..4e09dadc6c836 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.test.tsx @@ -166,18 +166,20 @@ describe('Curations', () => { }); describe('loading state', () => { - it('renders a full-page loading state on initial page load', () => { + it('renders a full-page loading state and hides tabs on initial page load', () => { setMockValues({ ...values, dataLoading: true }); const wrapper = shallow(); expect(wrapper.prop('isLoading')).toEqual(true); + expect(wrapper.prop('tabs')).toBeUndefined(); }); - it('does not re-render a full-page loading state when data is loaded', () => { + it('does not re-render a full-page loading and shows tabs state when data is loaded', () => { setMockValues({ ...values, dataLoading: false }); const wrapper = shallow(); expect(wrapper.prop('isLoading')).toEqual(false); + expect(typeof wrapper.prop('tabs')).not.toBeUndefined(); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.tsx index e5b064e649af0..1cd8313743536 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations.tsx @@ -83,6 +83,8 @@ export const Curations: React.FC = () => { loadCurations(); }, [meta.page.current]); + const isLoading = curationsSettingsDataLoading || curationsDataLoading; + return ( { {CREATE_NEW_CURATION_TITLE} , ], - tabs: pageTabs, + tabs: isLoading ? undefined : pageTabs, }} - isLoading={curationsSettingsDataLoading || curationsDataLoading} + isLoading={isLoading} > {selectedPageTab === 'overview' && } {selectedPageTab === 'history' && } From 7f83ec09d602517abba7b8fd6a4d7fb16d7269bd Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Thu, 21 Oct 2021 13:21:06 -0400 Subject: [PATCH 29/39] [App Search] Restrict log stream on Automated Curation Detail page to only automated events (#115841) --- .../curations/curation/automated_curation.test.tsx | 4 ++-- .../components/curations/curation/automated_curation.tsx | 4 ++-- ...story.test.tsx => automated_curation_history.test.tsx} | 8 ++++---- .../{history.tsx => automated_curation_history.tsx} | 3 ++- 4 files changed, 10 insertions(+), 9 deletions(-) rename x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/{history.test.tsx => automated_curation_history.test.tsx} (68%) rename x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/{history.tsx => automated_curation_history.tsx} (90%) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx index 960018d92e54e..ddc9c69a35c8d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.test.tsx @@ -24,11 +24,11 @@ jest.mock('./curation_logic', () => ({ CurationLogic: jest.fn() })); import { AppSearchPageTemplate } from '../../layout'; import { AutomatedCuration } from './automated_curation'; +import { AutomatedCurationHistory } from './automated_curation_history'; import { CurationLogic } from './curation_logic'; import { DeleteCurationButton } from './delete_curation_button'; import { PromotedDocuments, OrganicDocuments } from './documents'; -import { History } from './history'; describe('AutomatedCuration', () => { const values = { @@ -96,7 +96,7 @@ describe('AutomatedCuration', () => { expect(tabs.at(2).prop('isSelected')).toEqual(true); - expect(wrapper.find(History)).toHaveLength(1); + expect(wrapper.find(AutomatedCurationHistory)).toHaveLength(1); }); it('initializes CurationLogic with a curationId prop from URL param', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx index 24406a0372a44..0351d4c113d13 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation.tsx @@ -25,11 +25,11 @@ import { import { getCurationsBreadcrumbs } from '../utils'; +import { AutomatedCurationHistory } from './automated_curation_history'; import { HIDDEN_DOCUMENTS_TITLE, PROMOTED_DOCUMENTS_TITLE } from './constants'; import { CurationLogic } from './curation_logic'; import { DeleteCurationButton } from './delete_curation_button'; import { PromotedDocuments, OrganicDocuments } from './documents'; -import { History } from './history'; export const AutomatedCuration: React.FC = () => { const { curationId } = useParams<{ curationId: string }>(); @@ -100,7 +100,7 @@ export const AutomatedCuration: React.FC = () => { {selectedPageTab === 'promoted' && } {selectedPageTab === 'promoted' && } {selectedPageTab === 'history' && ( - + )} ); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/history.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.test.tsx similarity index 68% rename from x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/history.test.tsx rename to x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.test.tsx index a7f83fb0c61d9..b7d1b6f9ed809 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/history.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.test.tsx @@ -11,13 +11,13 @@ import { shallow } from 'enzyme'; import { EntSearchLogStream } from '../../../../shared/log_stream'; -import { History } from './history'; +import { AutomatedCurationHistory } from './automated_curation_history'; -describe('History', () => { +describe('AutomatedCurationHistory', () => { it('renders', () => { - const wrapper = shallow(); + const wrapper = shallow(); expect(wrapper.find(EntSearchLogStream).prop('query')).toEqual( - 'appsearch.search_relevance_suggestions.query: some text and event.kind: event and event.dataset: search-relevance-suggestions and appsearch.search_relevance_suggestions.engine: foo and event.action: curation_suggestion' + 'appsearch.search_relevance_suggestions.query: some text and event.kind: event and event.dataset: search-relevance-suggestions and appsearch.search_relevance_suggestions.engine: foo and event.action: curation_suggestion and appsearch.search_relevance_suggestions.suggestion.new_status: automated' ); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/history.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.tsx similarity index 90% rename from x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/history.tsx rename to x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.tsx index 744141372469c..f523beeb0a821 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/history.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.tsx @@ -17,13 +17,14 @@ interface Props { engineName: string; } -export const History: React.FC = ({ query, engineName }) => { +export const AutomatedCurationHistory: React.FC = ({ query, engineName }) => { const filters = [ `appsearch.search_relevance_suggestions.query: ${query}`, 'event.kind: event', 'event.dataset: search-relevance-suggestions', `appsearch.search_relevance_suggestions.engine: ${engineName}`, 'event.action: curation_suggestion', + 'appsearch.search_relevance_suggestions.suggestion.new_status: automated', ]; return ( From 6600f1ad78afaf32e40281d82f0566c2490aad5c Mon Sep 17 00:00:00 2001 From: Quynh Nguyen <43350163+qn895@users.noreply.github.com> Date: Thu, 21 Oct 2021 12:32:21 -0500 Subject: [PATCH 30/39] [ML] Add Index data visualizer grid embeddable as extra view within Discover (#107184) * [ML] Initial embed * [ML] Initial embed props * [ML] Add top nav link to data viz * Add visible fields * Add add data service to register links * Renames, refactor, use constants * Renames, refactor, use constants * Update tests and mocks * Embeddable * Update hook to update upon time udpate * Add filter support to query * Refactor filter utilities * Add filter support for embeddable * Fix saved search data undefined * Prototype aggregated view/document view switcher * Prototype flyout * Prototype save document view option in storage * Fix filter and query conflict with saved search * Minor styling edits * [ML] Initial embed * [ML] Initial embed props * Add embeddable 1 * Add visible fields * Embeddable 2 * Add filter support to query * Refactor filter utilities * Add filter support for embeddable * Fix saved search data undefined * Prototype aggregated view/document view switcher * Prototype flyout * Prototype save document view option in storage * Fix filter and query conflict with saved search * Minor styling edits * Fix missing code after conflicts * Remove dv locator and flyout * Make types happy * Fix types * Rename toggle option * Resolve conflicts * [ML] Reduce size of chart * [ML] Unbold name, switch icons of show distributions * [ML] Make size consistent * [ML] Make page size 25 * [ML] Switch to arrow right and down * [ML] Make legend font smaller * [ML] Add user setting * [ML] Add show preview by default setting * [ML] Match icon * Add panels around the subcontent * Add preference for aggregated vs doc * Fix types * Fix types, add constants for adv settings * Change to data view type * Temp fix for Kibana/EUI table overflow issue * Modify line height so text is not cut off, modify widths for varying screen sizes * Different width padders for different screens * Fix CI * Merge latest, move button to the right * Fix width for bar charts previews * Fix toggle buttons, fix maps * Delete unused file * Fix boolean styling * Change to enum, discover mode * Hide field stats * Hide field stats * Persist show mini preview/distribution settings * Remove window size, use size observer instead * Default to document view * Remove bold, switch icon * Set fixed width for top values, reduce font size in table * Fix custom url tests * Update width styling for panels * Fix missing flag for Discover sidebar, jest tests * Fix max width * Workaround for sorting * Fix import * Fix styling * Make height uniform, center alignment, fix map and keyword map not same size Move styling * Revert "Make height uniform, center alignment, fix map and keyword map not same size" This reverts commit 8fc42e2f * Revert "Make height uniform, center alignment, fix map and keyword map not same size" This reverts commit 8fc42e2f * Uniform height, left aligned, flex grid * Switch top values to have labels * Center content * Replace fixed widths with percentage * Fix table missing field types * Add dashboard embeddable and filter support * Fix file data viz styling and tests, lean up imports, remove hard coded pixels * Add search panel/kql filter bar * Temporarily fix scrolling * New kql filters for data visualizer * Set map height so it will fit the sampler shard size text * Use eui progress labels * Fix spacer * Add beta badge * Temporarily fix scrolling * Fix grow for Top Values for * [ML] Update functional tests to reflect new arrow icons * [ML] Add filter buttons and KQL bars * [ML] Update filter bar onChange behavior * [ML] Update top values filter onChange behavior * [ML] Update search filters when opening saved search * [ML] Clean up * [ML] Remove fit content for height * [ML] Fix boolean legend * [ML] Fix header section when browser width is small to large and when index pattern title is too large * [ML] Hide expander icon when dimension is xs or s & css fixes * [ML] Delete embeddables because they are not use * [ML] Rename view mode, refactor to separate hook, add error prompt if can't show, rename wrapper, clean up & fix tests * [ML] Make doc count 0 for empty fields, update t/f test * [ML] Add unit testing for search utils * Fix missing unsubscribe for embeddable output * Remove redundant onAddFilter for this PR, fix width * Rename Field Stats to Field stats to match convention * [ML] Fix expand all/collapse all behavior to override individual setting * [ML] Fix functional tests should be 0/0% * [ML] Fix docs content spacing, rename classnames, add filters to Discover, lens, and maps * [ML] Fix doc count for fields that exists but have no stats * [ML] Fix icon styling to match Discover but have text/keyword/histogram * [ML] Fix doc count for fields that exists but have no stats * [ML] Rename classnames to BEM style * Resolve latest changes * [ML] Add tests for data viz in Discover * Update tests & dashboard behavior to reflect new advanced settings * Update telemetry * Remove workaround after eui bump fix * Fix missing bool clause * Add login * Fix saved search attributes broken with latest changes * Update tests * Fix import * Match the no results found * Fix query util to return search source's results right away. Fix texts. * Rename old test suits to farequoteDataViewTestData Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/plugins/discover/common/index.ts | 1 + .../components/chart/discover_chart.test.tsx | 3 + .../main/components/chart/discover_chart.tsx | 17 + .../components/layout/discover_layout.scss | 4 + .../components/layout/discover_layout.tsx | 63 +- .../components/sidebar/discover_field.tsx | 42 +- .../sidebar/discover_field_visualize.tsx | 30 +- .../sidebar/discover_sidebar.test.tsx | 2 + .../components/sidebar/discover_sidebar.tsx | 11 + .../discover_sidebar_responsive.test.tsx | 2 + .../sidebar/discover_sidebar_responsive.tsx | 5 + .../components/top_nav/get_top_nav_links.ts | 3 +- .../components/view_mode_toggle/_index.scss | 1 + .../view_mode_toggle/_view_mode_toggle.scss | 12 + .../components/view_mode_toggle/constants.ts | 12 + .../main/components/view_mode_toggle/index.ts | 10 + .../view_mode_toggle/view_mode_toggle.tsx | 66 ++ .../apps/main/services/discover_state.ts | 9 + .../main/utils/get_state_defaults.test.ts | 4 + .../apps/main/utils/get_state_defaults.ts | 9 + .../apps/main/utils/persist_saved_search.ts | 8 + .../data_visualizer_grid.tsx | 196 ++++++ .../field_stats_table_embeddable.tsx | 31 + .../components/data_visualizer_grid/index.ts | 9 + .../embeddable/saved_search_embeddable.tsx | 31 +- src/plugins/discover/public/build_services.ts | 3 + src/plugins/discover/public/plugin.tsx | 5 + .../saved_searches/get_saved_searches.test.ts | 2 + .../saved_searches_utils.test.ts | 4 + .../saved_searches/saved_searches_utils.ts | 4 + .../discover/public/saved_searches/types.ts | 5 + .../discover/server/saved_objects/search.ts | 2 + src/plugins/discover/server/ui_settings.ts | 20 + .../server/collectors/management/schema.ts | 4 + .../server/collectors/management/types.ts | 1 + src/plugins/telemetry/schema/oss_plugins.json | 6 + test/functional/page_objects/discover_page.ts | 41 ++ .../field_type_icon.test.tsx.snap | 2 +- .../field_type_icon/field_type_icon.tsx | 2 +- .../application/common/util/url_state.tsx | 1 - .../embeddables/grid_embeddable/constants.ts | 8 + .../embeddable_loading_fallback.tsx | 20 + .../grid_embeddable/grid_embeddable.tsx | 234 +++++++ .../grid_embeddable_factory.tsx | 70 +++ .../embeddables/grid_embeddable/index.ts | 8 + .../use_data_visualizer_grid_data.ts | 587 ++++++++++++++++++ .../embeddables/index.ts | 24 + .../index_data_visualizer.tsx | 7 +- .../index_data_visualizer/locator/locator.ts | 2 - .../utils/saved_search_utils.test.ts | 10 +- .../utils/saved_search_utils.ts | 82 ++- .../plugins/data_visualizer/public/plugin.ts | 7 +- x-pack/plugins/data_visualizer/tsconfig.json | 11 +- .../configuration_step/use_saved_search.ts | 4 +- .../jobs/new_job/utils/new_job_utils.ts | 4 +- .../ml/public/application/util/index_utils.ts | 2 +- .../apps/ml/data_visualizer/index.ts | 3 +- .../data_visualizer/index_data_visualizer.ts | 372 +---------- .../index_data_visualizer_grid_in_discover.ts | 172 +++++ .../ml/data_visualizer/index_test_data.ts | 533 ++++++++++++++++ .../apps/ml/data_visualizer/types.ts | 47 ++ .../functional/services/ml/custom_urls.ts | 5 +- .../services/ml/data_visualizer_table.ts | 43 +- .../apps/ml/data_visualizer/index.ts | 5 + 64 files changed, 2469 insertions(+), 474 deletions(-) create mode 100644 src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_index.scss create mode 100644 src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_view_mode_toggle.scss create mode 100644 src/plugins/discover/public/application/apps/main/components/view_mode_toggle/constants.ts create mode 100644 src/plugins/discover/public/application/apps/main/components/view_mode_toggle/index.ts create mode 100644 src/plugins/discover/public/application/apps/main/components/view_mode_toggle/view_mode_toggle.tsx create mode 100644 src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx create mode 100644 src/plugins/discover/public/application/components/data_visualizer_grid/field_stats_table_embeddable.tsx create mode 100644 src/plugins/discover/public/application/components/data_visualizer_grid/index.ts create mode 100644 x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/constants.ts create mode 100644 x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/embeddable_loading_fallback.tsx create mode 100644 x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx create mode 100644 x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable_factory.tsx create mode 100644 x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/index.ts create mode 100644 x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/use_data_visualizer_grid_data.ts create mode 100644 x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/index.ts create mode 100644 x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_discover.ts create mode 100644 x-pack/test/functional/apps/ml/data_visualizer/index_test_data.ts create mode 100644 x-pack/test/functional/apps/ml/data_visualizer/types.ts diff --git a/src/plugins/discover/common/index.ts b/src/plugins/discover/common/index.ts index b30fcf972eda5..32704d95423f7 100644 --- a/src/plugins/discover/common/index.ts +++ b/src/plugins/discover/common/index.ts @@ -19,5 +19,6 @@ export const DOC_TABLE_LEGACY = 'doc_table:legacy'; export const MODIFY_COLUMNS_ON_SWITCH = 'discover:modifyColumnsOnSwitch'; export const SEARCH_FIELDS_FROM_SOURCE = 'discover:searchFieldsFromSource'; export const MAX_DOC_FIELDS_DISPLAYED = 'discover:maxDocFieldsDisplayed'; +export const SHOW_FIELD_STATISTICS = 'discover:showFieldStatistics'; export const SHOW_MULTIFIELDS = 'discover:showMultiFields'; export const SEARCH_EMBEDDABLE_TYPE = 'search'; diff --git a/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.test.tsx b/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.test.tsx index 15f6e619c8650..f7a383be76b9e 100644 --- a/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.test.tsx @@ -19,6 +19,7 @@ import { discoverServiceMock } from '../../../../../__mocks__/services'; import { FetchStatus } from '../../../../types'; import { Chart } from './point_series'; import { DiscoverChart } from './discover_chart'; +import { VIEW_MODE } from '../view_mode_toggle'; setHeaderActionMenuMounter(jest.fn()); @@ -94,6 +95,8 @@ function getProps(timefield?: string) { state: { columns: [] }, stateContainer: {} as GetStateReturn, timefield, + viewMode: VIEW_MODE.DOCUMENT_LEVEL, + setDiscoverViewMode: jest.fn(), }; } diff --git a/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx b/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx index b6509356c8c41..166c2272a00f4 100644 --- a/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx +++ b/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx @@ -23,6 +23,8 @@ import { DiscoverHistogram } from './histogram'; import { DataCharts$, DataTotalHits$ } from '../../services/use_saved_search'; import { DiscoverServices } from '../../../../../build_services'; import { useChartPanels } from './use_chart_panels'; +import { VIEW_MODE, DocumentViewModeToggle } from '../view_mode_toggle'; +import { SHOW_FIELD_STATISTICS } from '../../../../../../common'; const DiscoverHistogramMemoized = memo(DiscoverHistogram); export const CHART_HIDDEN_KEY = 'discover:chartHidden'; @@ -36,6 +38,8 @@ export function DiscoverChart({ state, stateContainer, timefield, + viewMode, + setDiscoverViewMode, }: { resetSavedSearch: () => void; savedSearch: SavedSearch; @@ -45,8 +49,11 @@ export function DiscoverChart({ state: AppState; stateContainer: GetStateReturn; timefield?: string; + viewMode: VIEW_MODE; + setDiscoverViewMode: (viewMode: VIEW_MODE) => void; }) { const [showChartOptionsPopover, setShowChartOptionsPopover] = useState(false); + const showViewModeToggle = services.uiSettings.get(SHOW_FIELD_STATISTICS) ?? false; const { data, storage } = services; @@ -108,6 +115,16 @@ export function DiscoverChart({ onResetQuery={resetSavedSearch} />
+ + {showViewModeToggle && ( + + + + )} + {timefield && ( (undefined); const [inspectorSession, setInspectorSession] = useState(undefined); + + const viewMode = useMemo(() => { + if (uiSettings.get(SHOW_FIELD_STATISTICS) !== true) return VIEW_MODE.DOCUMENT_LEVEL; + return state.viewMode ?? VIEW_MODE.DOCUMENT_LEVEL; + }, [uiSettings, state.viewMode]); + + const setDiscoverViewMode = useCallback( + (mode: VIEW_MODE) => { + stateContainer.setAppState({ viewMode: mode }); + }, + [stateContainer] + ); + const fetchCounter = useRef(0); const dataState: DataMainMsg = useDataState(main$); @@ -213,6 +229,7 @@ export function DiscoverLayout({ trackUiMetric={trackUiMetric} useNewFieldsApi={useNewFieldsApi} onEditRuntimeField={onEditRuntimeField} + viewMode={viewMode} /> @@ -279,22 +296,36 @@ export function DiscoverLayout({ services={services} stateContainer={stateContainer} timefield={timeField} + viewMode={viewMode} + setDiscoverViewMode={setDiscoverViewMode} /> - - + {viewMode === VIEW_MODE.DOCUMENT_LEVEL ? ( + + ) : ( + + )}
)} diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx index f2919f6a9bfd4..89e7b50187630 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx @@ -19,6 +19,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiSpacer, + EuiHorizontalRule, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { UiCounterMetricType } from '@kbn/analytics'; @@ -251,6 +252,11 @@ export interface DiscoverFieldProps { * @param fieldName name of the field to delete */ onDeleteField?: (fieldName: string) => void; + + /** + * Optionally show or hide field stats in the popover + */ + showFieldStats?: boolean; } function DiscoverFieldComponent({ @@ -266,6 +272,7 @@ function DiscoverFieldComponent({ multiFields, onEditField, onDeleteField, + showFieldStats, }: DiscoverFieldProps) { const [infoIsOpen, setOpen] = useState(false); @@ -362,15 +369,27 @@ function DiscoverFieldComponent({ const details = getDetails(field); return ( <> - + {showFieldStats && ( + <> + +
+ {i18n.translate('discover.fieldChooser.discoverField.fieldTopValuesLabel', { + defaultMessage: 'Top 5 values', + })} +
+
+ + + )} + {multiFields && ( <> - + {showFieldStats && } )} + {(showFieldStats || multiFields) && } ); }; - return ( {popoverTitle} - -
- {i18n.translate('discover.fieldChooser.discoverField.fieldTopValuesLabel', { - defaultMessage: 'Top 5 values', - })} -
-
{infoIsOpen && renderPopover()}
); diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_visualize.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_visualize.tsx index baf740531e6bf..e974a67aef60d 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_visualize.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_visualize.tsx @@ -7,7 +7,7 @@ */ import React, { useEffect, useState } from 'react'; -import { EuiButton, EuiPopoverFooter } from '@elastic/eui'; +import { EuiButton } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { METRIC_TYPE, UiCounterMetricType } from '@kbn/analytics'; import type { IndexPattern, IndexPatternField } from 'src/plugins/data/common'; @@ -46,21 +46,19 @@ export const DiscoverFieldVisualize: React.FC = React.memo( }; return ( - - {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - - - - + // eslint-disable-next-line @elastic/eui/href-or-on-click + + + ); } ); diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx index a550dbd59b9fa..03616c136df3e 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx @@ -22,6 +22,7 @@ import { DiscoverSidebarComponent as DiscoverSidebar } from './discover_sidebar' import { ElasticSearchHit } from '../../../../doc_views/doc_views_types'; import { discoverServiceMock as mockDiscoverServices } from '../../../../../__mocks__/services'; import { stubLogstashIndexPattern } from '../../../../../../../data/common/stubs'; +import { VIEW_MODE } from '../view_mode_toggle'; jest.mock('../../../../../kibana_services', () => ({ getServices: () => mockDiscoverServices, @@ -65,6 +66,7 @@ function getCompProps(): DiscoverSidebarProps { setFieldFilter: jest.fn(), onEditRuntimeField: jest.fn(), editField: jest.fn(), + viewMode: VIEW_MODE.DOCUMENT_LEVEL, }; } diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.tsx index 0bd8c59b90c01..d13860eab0d24 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.tsx @@ -40,6 +40,7 @@ import { getIndexPatternFieldList } from './lib/get_index_pattern_field_list'; import { DiscoverSidebarResponsiveProps } from './discover_sidebar_responsive'; import { DiscoverIndexPatternManagement } from './discover_index_pattern_management'; import { ElasticSearchHit } from '../../../../doc_views/doc_views_types'; +import { VIEW_MODE } from '../view_mode_toggle'; /** * Default number of available fields displayed and added on scroll @@ -77,6 +78,10 @@ export interface DiscoverSidebarProps extends Omit(null); @@ -205,6 +211,8 @@ export function DiscoverSidebarComponent({ return result; }, [fields]); + const showFieldStats = useMemo(() => viewMode === VIEW_MODE.DOCUMENT_LEVEL, [viewMode]); + const calculateMultiFields = () => { if (!useNewFieldsApi || !fields) { return undefined; @@ -407,6 +415,7 @@ export function DiscoverSidebarComponent({ multiFields={multiFields?.get(field.name)} onEditField={canEditIndexPatternField ? editField : undefined} onDeleteField={canEditIndexPatternField ? deleteField : undefined} + showFieldStats={showFieldStats} /> ); @@ -466,6 +475,7 @@ export function DiscoverSidebarComponent({ multiFields={multiFields?.get(field.name)} onEditField={canEditIndexPatternField ? editField : undefined} onDeleteField={canEditIndexPatternField ? deleteField : undefined} + showFieldStats={showFieldStats} /> ); @@ -494,6 +504,7 @@ export function DiscoverSidebarComponent({ multiFields={multiFields?.get(field.name)} onEditField={canEditIndexPatternField ? editField : undefined} onDeleteField={canEditIndexPatternField ? deleteField : undefined} + showFieldStats={showFieldStats} /> ); diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx index ded7897d2a9e5..4e4fed8c65bf7 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx @@ -26,6 +26,7 @@ import { ElasticSearchHit } from '../../../../doc_views/doc_views_types'; import { FetchStatus } from '../../../../types'; import { DataDocuments$ } from '../../services/use_saved_search'; import { stubLogstashIndexPattern } from '../../../../../../../data/common/stubs'; +import { VIEW_MODE } from '../view_mode_toggle'; const mockServices = { history: () => ({ @@ -103,6 +104,7 @@ function getCompProps(): DiscoverSidebarResponsiveProps { state: {}, trackUiMetric: jest.fn(), onEditRuntimeField: jest.fn(), + viewMode: VIEW_MODE.DOCUMENT_LEVEL, }; } diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx index 90357b73c6881..368a2b2e92d34 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx @@ -37,6 +37,7 @@ import { AppState } from '../../services/discover_state'; import { DiscoverIndexPatternManagement } from './discover_index_pattern_management'; import { DataDocuments$ } from '../../services/use_saved_search'; import { calcFieldCounts } from '../../utils/calc_field_counts'; +import { VIEW_MODE } from '../view_mode_toggle'; export interface DiscoverSidebarResponsiveProps { /** @@ -106,6 +107,10 @@ export interface DiscoverSidebarResponsiveProps { * callback to execute on edit runtime field */ onEditRuntimeField: () => void; + /** + * Discover view mode + */ + viewMode: VIEW_MODE; } /** diff --git a/src/plugins/discover/public/application/apps/main/components/top_nav/get_top_nav_links.ts b/src/plugins/discover/public/application/apps/main/components/top_nav/get_top_nav_links.ts index 44d2999947f41..653e878ad01bb 100644 --- a/src/plugins/discover/public/application/apps/main/components/top_nav/get_top_nav_links.ts +++ b/src/plugins/discover/public/application/apps/main/components/top_nav/get_top_nav_links.ts @@ -16,6 +16,7 @@ import { SavedSearch } from '../../../../../saved_searches'; import { onSaveSearch } from './on_save_search'; import { GetStateReturn } from '../../services/discover_state'; import { openOptionsPopover } from './open_options_popover'; +import type { TopNavMenuData } from '../../../../../../../navigation/public'; /** * Helper function to build the top nav links @@ -38,7 +39,7 @@ export const getTopNavLinks = ({ onOpenInspector: () => void; searchSource: ISearchSource; onOpenSavedSearch: (id: string) => void; -}) => { +}): TopNavMenuData[] => { const options = { id: 'options', label: i18n.translate('discover.localMenu.localMenu.optionsTitle', { diff --git a/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_index.scss b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_index.scss new file mode 100644 index 0000000000000..a76c3453de32a --- /dev/null +++ b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_index.scss @@ -0,0 +1 @@ +@import 'view_mode_toggle'; diff --git a/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_view_mode_toggle.scss b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_view_mode_toggle.scss new file mode 100644 index 0000000000000..1009ab0511957 --- /dev/null +++ b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/_view_mode_toggle.scss @@ -0,0 +1,12 @@ +.dscViewModeToggle { + padding-right: $euiSize; +} + +.fieldStatsButton { + display: flex; + align-items: center; +} + +.fieldStatsBetaBadge { + margin-left: $euiSizeXS; +} diff --git a/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/constants.ts b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/constants.ts new file mode 100644 index 0000000000000..d03c0710d12b3 --- /dev/null +++ b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/constants.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export enum VIEW_MODE { + DOCUMENT_LEVEL = 'documents', + AGGREGATED_LEVEL = 'aggregated', +} diff --git a/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/index.ts b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/index.ts new file mode 100644 index 0000000000000..95b76f5879d19 --- /dev/null +++ b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { DocumentViewModeToggle } from './view_mode_toggle'; +export { VIEW_MODE } from './constants'; diff --git a/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/view_mode_toggle.tsx b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/view_mode_toggle.tsx new file mode 100644 index 0000000000000..3aa24c05e98d4 --- /dev/null +++ b/src/plugins/discover/public/application/apps/main/components/view_mode_toggle/view_mode_toggle.tsx @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { EuiButtonGroup, EuiBetaBadge } from '@elastic/eui'; +import React, { useMemo } from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { VIEW_MODE } from './constants'; +import './_index.scss'; + +export const DocumentViewModeToggle = ({ + viewMode, + setDiscoverViewMode, +}: { + viewMode: VIEW_MODE; + setDiscoverViewMode: (viewMode: VIEW_MODE) => void; +}) => { + const toggleButtons = useMemo( + () => [ + { + id: VIEW_MODE.DOCUMENT_LEVEL, + label: i18n.translate('discover.viewModes.document.label', { + defaultMessage: 'Documents', + }), + 'data-test-subj': 'dscViewModeDocumentButton', + }, + { + id: VIEW_MODE.AGGREGATED_LEVEL, + label: ( +
+ + +
+ ), + }, + ], + [] + ); + + return ( + setDiscoverViewMode(id as VIEW_MODE)} + data-test-subj={'dscViewModeToggle'} + /> + ); +}; diff --git a/src/plugins/discover/public/application/apps/main/services/discover_state.ts b/src/plugins/discover/public/application/apps/main/services/discover_state.ts index 16eb622c4a7c4..9a61fdc996e3b 100644 --- a/src/plugins/discover/public/application/apps/main/services/discover_state.ts +++ b/src/plugins/discover/public/application/apps/main/services/discover_state.ts @@ -35,6 +35,7 @@ import { DiscoverGridSettings } from '../../../components/discover_grid/types'; import { DISCOVER_APP_URL_GENERATOR, DiscoverUrlGeneratorState } from '../../../../url_generator'; import { SavedSearch } from '../../../../saved_searches'; import { handleSourceColumnState } from '../../../helpers/state_helpers'; +import { VIEW_MODE } from '../components/view_mode_toggle'; export interface AppState { /** @@ -73,6 +74,14 @@ export interface AppState { * id of the used saved query */ savedQuery?: string; + /** + * Table view: Documents vs Field Statistics + */ + viewMode?: VIEW_MODE; + /** + * Hide mini distribution/preview charts when in Field Statistics mode + */ + hideAggregatedPreview?: boolean; } interface GetStateParams { diff --git a/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.test.ts b/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.test.ts index 45447fe642ad4..6cf34fd8cb024 100644 --- a/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.test.ts +++ b/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.test.ts @@ -31,6 +31,7 @@ describe('getStateDefaults', () => { "default_column", ], "filters": undefined, + "hideAggregatedPreview": undefined, "hideChart": undefined, "index": "index-pattern-with-timefield-id", "interval": "auto", @@ -42,6 +43,7 @@ describe('getStateDefaults', () => { "desc", ], ], + "viewMode": undefined, } `); }); @@ -61,12 +63,14 @@ describe('getStateDefaults', () => { "default_column", ], "filters": undefined, + "hideAggregatedPreview": undefined, "hideChart": undefined, "index": "the-index-pattern-id", "interval": "auto", "query": undefined, "savedQuery": undefined, "sort": Array [], + "viewMode": undefined, } `); }); diff --git a/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts b/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts index 6fa4dda2eab19..50dab0273d461 100644 --- a/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts +++ b/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts @@ -60,6 +60,8 @@ export function getStateDefaults({ interval: 'auto', filters: cloneDeep(searchSource.getOwnField('filter')), hideChart: chartHidden ? chartHidden : undefined, + viewMode: undefined, + hideAggregatedPreview: undefined, savedQuery: undefined, } as AppState; if (savedSearch.grid) { @@ -68,6 +70,13 @@ export function getStateDefaults({ if (savedSearch.hideChart !== undefined) { defaultState.hideChart = savedSearch.hideChart; } + if (savedSearch.viewMode) { + defaultState.viewMode = savedSearch.viewMode; + } + + if (savedSearch.hideAggregatedPreview) { + defaultState.hideAggregatedPreview = savedSearch.hideAggregatedPreview; + } return defaultState; } diff --git a/src/plugins/discover/public/application/apps/main/utils/persist_saved_search.ts b/src/plugins/discover/public/application/apps/main/utils/persist_saved_search.ts index 584fbe14cb59e..fa566fd485942 100644 --- a/src/plugins/discover/public/application/apps/main/utils/persist_saved_search.ts +++ b/src/plugins/discover/public/application/apps/main/utils/persist_saved_search.ts @@ -52,6 +52,14 @@ export async function persistSavedSearch( savedSearch.hideChart = state.hideChart; } + if (state.viewMode) { + savedSearch.viewMode = state.viewMode; + } + + if (state.hideAggregatedPreview) { + savedSearch.hideAggregatedPreview = state.hideAggregatedPreview; + } + try { const id = await saveSavedSearch(savedSearch, saveOptions, services.core.savedObjects.client); if (id) { diff --git a/src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx b/src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx new file mode 100644 index 0000000000000..5492fac014b74 --- /dev/null +++ b/src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx @@ -0,0 +1,196 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useEffect, useMemo, useRef, useState } from 'react'; +import { Filter } from '@kbn/es-query'; +import { IndexPatternField, IndexPattern, DataView, Query } from '../../../../../data/common'; +import { DiscoverServices } from '../../../build_services'; +import { + EmbeddableInput, + EmbeddableOutput, + ErrorEmbeddable, + IEmbeddable, + isErrorEmbeddable, +} from '../../../../../embeddable/public'; +import { SavedSearch } from '../../../saved_searches'; +import { GetStateReturn } from '../../apps/main/services/discover_state'; + +export interface DataVisualizerGridEmbeddableInput extends EmbeddableInput { + indexPattern: IndexPattern; + savedSearch?: SavedSearch; + query?: Query; + visibleFieldNames?: string[]; + filters?: Filter[]; + showPreviewByDefault?: boolean; + /** + * Callback to add a filter to filter bar + */ + onAddFilter?: (field: IndexPatternField | string, value: string, type: '+' | '-') => void; +} +export interface DataVisualizerGridEmbeddableOutput extends EmbeddableOutput { + showDistributions?: boolean; +} + +export interface DiscoverDataVisualizerGridProps { + /** + * Determines which columns are displayed + */ + columns: string[]; + /** + * The used index pattern + */ + indexPattern: DataView; + /** + * Saved search description + */ + searchDescription?: string; + /** + * Saved search title + */ + searchTitle?: string; + /** + * Discover plugin services + */ + services: DiscoverServices; + /** + * Optional saved search + */ + savedSearch?: SavedSearch; + /** + * Optional query to update the table content + */ + query?: Query; + /** + * Filters query to update the table content + */ + filters?: Filter[]; + stateContainer?: GetStateReturn; + /** + * Callback to add a filter to filter bar + */ + onAddFilter?: (field: IndexPatternField | string, value: string, type: '+' | '-') => void; +} + +export const DiscoverDataVisualizerGrid = (props: DiscoverDataVisualizerGridProps) => { + const { + services, + indexPattern, + savedSearch, + query, + columns, + filters, + stateContainer, + onAddFilter, + } = props; + const { uiSettings } = services; + + const [embeddable, setEmbeddable] = useState< + | ErrorEmbeddable + | IEmbeddable + | undefined + >(); + const embeddableRoot: React.RefObject = useRef(null); + + const showPreviewByDefault = useMemo( + () => + stateContainer ? !stateContainer.appStateContainer.getState().hideAggregatedPreview : true, + [stateContainer] + ); + + useEffect(() => { + const sub = embeddable?.getOutput$().subscribe((output: DataVisualizerGridEmbeddableOutput) => { + if (output.showDistributions !== undefined && stateContainer) { + stateContainer.setAppState({ hideAggregatedPreview: !output.showDistributions }); + } + }); + + return () => { + sub?.unsubscribe(); + }; + }, [embeddable, stateContainer]); + + useEffect(() => { + if (embeddable && !isErrorEmbeddable(embeddable)) { + // Update embeddable whenever one of the important input changes + embeddable.updateInput({ + indexPattern, + savedSearch, + query, + filters, + visibleFieldNames: columns, + onAddFilter, + }); + embeddable.reload(); + } + }, [embeddable, indexPattern, savedSearch, query, columns, filters, onAddFilter]); + + useEffect(() => { + if (showPreviewByDefault && embeddable && !isErrorEmbeddable(embeddable)) { + // Update embeddable whenever one of the important input changes + embeddable.updateInput({ + showPreviewByDefault, + }); + embeddable.reload(); + } + }, [showPreviewByDefault, uiSettings, embeddable]); + + useEffect(() => { + return () => { + // Clean up embeddable upon unmounting + embeddable?.destroy(); + }; + }, [embeddable]); + + useEffect(() => { + let unmounted = false; + const loadEmbeddable = async () => { + if (services.embeddable) { + const factory = services.embeddable.getEmbeddableFactory< + DataVisualizerGridEmbeddableInput, + DataVisualizerGridEmbeddableOutput + >('data_visualizer_grid'); + if (factory) { + // Initialize embeddable with information available at mount + const initializedEmbeddable = await factory.create({ + id: 'discover_data_visualizer_grid', + indexPattern, + savedSearch, + query, + showPreviewByDefault, + onAddFilter, + }); + if (!unmounted) { + setEmbeddable(initializedEmbeddable); + } + } + } + }; + loadEmbeddable(); + return () => { + unmounted = true; + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [services.embeddable, showPreviewByDefault]); + + // We can only render after embeddable has already initialized + useEffect(() => { + if (embeddableRoot.current && embeddable) { + embeddable.render(embeddableRoot.current); + } + }, [embeddable, embeddableRoot, uiSettings]); + + return ( +
+ ); +}; diff --git a/src/plugins/discover/public/application/components/data_visualizer_grid/field_stats_table_embeddable.tsx b/src/plugins/discover/public/application/components/data_visualizer_grid/field_stats_table_embeddable.tsx new file mode 100644 index 0000000000000..099f45bf988cc --- /dev/null +++ b/src/plugins/discover/public/application/components/data_visualizer_grid/field_stats_table_embeddable.tsx @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { I18nProvider } from '@kbn/i18n/react'; +import { + DiscoverDataVisualizerGrid, + DiscoverDataVisualizerGridProps, +} from './data_visualizer_grid'; + +export function FieldStatsTableEmbeddable(renderProps: DiscoverDataVisualizerGridProps) { + return ( + + + + ); +} diff --git a/src/plugins/discover/public/application/components/data_visualizer_grid/index.ts b/src/plugins/discover/public/application/components/data_visualizer_grid/index.ts new file mode 100644 index 0000000000000..dc85495a7c2ec --- /dev/null +++ b/src/plugins/discover/public/application/components/data_visualizer_grid/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { DiscoverDataVisualizerGrid } from './data_visualizer_grid'; diff --git a/src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx index 89c47559d7b4c..808962dc8319d 100644 --- a/src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx +++ b/src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx @@ -19,12 +19,12 @@ import { SEARCH_EMBEDDABLE_TYPE } from './constants'; import { APPLY_FILTER_TRIGGER, esFilters, FilterManager } from '../../../../data/public'; import { DiscoverServices } from '../../build_services'; import { - Query, - TimeRange, Filter, IndexPattern, - ISearchSource, IndexPatternField, + ISearchSource, + Query, + TimeRange, } from '../../../../data/common'; import { ElasticSearchHit } from '../doc_views/doc_views_types'; import { SavedSearchEmbeddableComponent } from './saved_search_embeddable_component'; @@ -35,6 +35,7 @@ import { DOC_TABLE_LEGACY, SAMPLE_SIZE_SETTING, SEARCH_FIELDS_FROM_SOURCE, + SHOW_FIELD_STATISTICS, SORT_DEFAULT_ORDER_SETTING, } from '../../../common'; import * as columnActions from '../apps/main/components/doc_table/actions/columns'; @@ -45,6 +46,8 @@ import { DocTableProps } from '../apps/main/components/doc_table/doc_table_wrapp import { getDefaultSort } from '../apps/main/components/doc_table'; import { SortOrder } from '../apps/main/components/doc_table/components/table_header/helpers'; import { updateSearchSource } from './helpers/update_search_source'; +import { VIEW_MODE } from '../apps/main/components/view_mode_toggle'; +import { FieldStatsTableEmbeddable } from '../components/data_visualizer_grid/field_stats_table_embeddable'; export type SearchProps = Partial & Partial & { @@ -379,6 +382,28 @@ export class SavedSearchEmbeddable if (!this.searchProps) { return; } + + if ( + this.services.uiSettings.get(SHOW_FIELD_STATISTICS) === true && + this.savedSearch.viewMode === VIEW_MODE.AGGREGATED_LEVEL && + searchProps.services && + searchProps.indexPattern && + Array.isArray(searchProps.columns) + ) { + ReactDOM.render( + , + domNode + ); + return; + } const useLegacyTable = this.services.uiSettings.get(DOC_TABLE_LEGACY); const props = { searchProps, diff --git a/src/plugins/discover/public/build_services.ts b/src/plugins/discover/public/build_services.ts index ac16b6b3cc2ba..a6b175e34bd13 100644 --- a/src/plugins/discover/public/build_services.ts +++ b/src/plugins/discover/public/build_services.ts @@ -37,6 +37,7 @@ import { UrlForwardingStart } from '../../url_forwarding/public'; import { NavigationPublicPluginStart } from '../../navigation/public'; import { IndexPatternFieldEditorStart } from '../../index_pattern_field_editor/public'; import { FieldFormatsStart } from '../../field_formats/public'; +import { EmbeddableStart } from '../../embeddable/public'; import type { SpacesApi } from '../../../../x-pack/plugins/spaces/public'; @@ -47,6 +48,7 @@ export interface DiscoverServices { core: CoreStart; data: DataPublicPluginStart; docLinks: DocLinksStart; + embeddable: EmbeddableStart; history: () => History; theme: ChartsPluginStart['theme']; filterManager: FilterManager; @@ -83,6 +85,7 @@ export function buildServices( core, data: plugins.data, docLinks: core.docLinks, + embeddable: plugins.embeddable, theme: plugins.charts.theme, fieldFormats: plugins.fieldFormats, filterManager: plugins.data.query.filterManager, diff --git a/src/plugins/discover/public/plugin.tsx b/src/plugins/discover/public/plugin.tsx index e170e61f7ebc5..c91bcf3897e14 100644 --- a/src/plugins/discover/public/plugin.tsx +++ b/src/plugins/discover/public/plugin.tsx @@ -348,6 +348,11 @@ export class DiscoverPlugin await depsStart.data.indexPatterns.clearCache(); const { renderApp } = await import('./application'); + + // FIXME: Temporarily hide overflow-y in Discover app when Field Stats table is shown + // due to EUI bug https://github.com/elastic/eui/pull/5152 + params.element.classList.add('dscAppWrapper'); + const unmount = renderApp(params.element); return () => { unlistenParentHistory(); diff --git a/src/plugins/discover/public/saved_searches/get_saved_searches.test.ts b/src/plugins/discover/public/saved_searches/get_saved_searches.test.ts index 755831e7009ed..560e16b12e5ed 100644 --- a/src/plugins/discover/public/saved_searches/get_saved_searches.test.ts +++ b/src/plugins/discover/public/saved_searches/get_saved_searches.test.ts @@ -101,6 +101,7 @@ describe('getSavedSearch', () => { ], "description": "description", "grid": Object {}, + "hideAggregatedPreview": undefined, "hideChart": false, "id": "ccf1af80-2297-11ec-86e0-1155ffb9c7a7", "searchSource": Object { @@ -138,6 +139,7 @@ describe('getSavedSearch', () => { ], ], "title": "test1", + "viewMode": undefined, } `); }); diff --git a/src/plugins/discover/public/saved_searches/saved_searches_utils.test.ts b/src/plugins/discover/public/saved_searches/saved_searches_utils.test.ts index 12c73e86b3dc4..82510340f30f1 100644 --- a/src/plugins/discover/public/saved_searches/saved_searches_utils.test.ts +++ b/src/plugins/discover/public/saved_searches/saved_searches_utils.test.ts @@ -54,6 +54,7 @@ describe('saved_searches_utils', () => { ], "description": "foo", "grid": Object {}, + "hideAggregatedPreview": undefined, "hideChart": true, "id": "id", "searchSource": SearchSource { @@ -74,6 +75,7 @@ describe('saved_searches_utils', () => { "sharingSavedObjectProps": Object {}, "sort": Array [], "title": "saved search", + "viewMode": undefined, } `); }); @@ -122,6 +124,7 @@ describe('saved_searches_utils', () => { ], "description": "description", "grid": Object {}, + "hideAggregatedPreview": undefined, "hideChart": true, "kibanaSavedObjectMeta": Object { "searchSourceJSON": "{}", @@ -133,6 +136,7 @@ describe('saved_searches_utils', () => { ], ], "title": "title", + "viewMode": undefined, } `); }); diff --git a/src/plugins/discover/public/saved_searches/saved_searches_utils.ts b/src/plugins/discover/public/saved_searches/saved_searches_utils.ts index 98ab2267a875e..064ee6afe0e99 100644 --- a/src/plugins/discover/public/saved_searches/saved_searches_utils.ts +++ b/src/plugins/discover/public/saved_searches/saved_searches_utils.ts @@ -41,6 +41,8 @@ export const fromSavedSearchAttributes = ( description: attributes.description, grid: attributes.grid, hideChart: attributes.hideChart, + viewMode: attributes.viewMode, + hideAggregatedPreview: attributes.hideAggregatedPreview, }); export const toSavedSearchAttributes = ( @@ -54,4 +56,6 @@ export const toSavedSearchAttributes = ( description: savedSearch.description ?? '', grid: savedSearch.grid ?? {}, hideChart: savedSearch.hideChart ?? false, + viewMode: savedSearch.viewMode, + hideAggregatedPreview: savedSearch.hideAggregatedPreview, }); diff --git a/src/plugins/discover/public/saved_searches/types.ts b/src/plugins/discover/public/saved_searches/types.ts index 10a6282063d38..b3a67ea57e769 100644 --- a/src/plugins/discover/public/saved_searches/types.ts +++ b/src/plugins/discover/public/saved_searches/types.ts @@ -8,6 +8,7 @@ import type { ISearchSource } from '../../../data/public'; import { DiscoverGridSettingsColumn } from '../application/components/discover_grid/types'; +import { VIEW_MODE } from '../application/apps/main/components/view_mode_toggle'; /** @internal **/ export interface SavedSearchAttributes { @@ -22,6 +23,8 @@ export interface SavedSearchAttributes { kibanaSavedObjectMeta: { searchSourceJSON: string; }; + viewMode?: VIEW_MODE; + hideAggregatedPreview?: boolean; } /** @internal **/ @@ -44,4 +47,6 @@ export interface SavedSearch { aliasTargetId?: string; errorJSON?: string; }; + viewMode?: VIEW_MODE; + hideAggregatedPreview?: boolean; } diff --git a/src/plugins/discover/server/saved_objects/search.ts b/src/plugins/discover/server/saved_objects/search.ts index 6a85685407612..23d9312e82897 100644 --- a/src/plugins/discover/server/saved_objects/search.ts +++ b/src/plugins/discover/server/saved_objects/search.ts @@ -32,7 +32,9 @@ export const searchSavedObjectType: SavedObjectsType = { properties: { columns: { type: 'keyword', index: false, doc_values: false }, description: { type: 'text' }, + viewMode: { type: 'keyword', index: false, doc_values: false }, hideChart: { type: 'boolean', index: false, doc_values: false }, + hideAggregatedPreview: { type: 'boolean', index: false, doc_values: false }, hits: { type: 'integer', index: false, doc_values: false }, kibanaSavedObjectMeta: { properties: { diff --git a/src/plugins/discover/server/ui_settings.ts b/src/plugins/discover/server/ui_settings.ts index d6a105bdb6263..529ba0d1beef1 100644 --- a/src/plugins/discover/server/ui_settings.ts +++ b/src/plugins/discover/server/ui_settings.ts @@ -26,6 +26,7 @@ import { SEARCH_FIELDS_FROM_SOURCE, MAX_DOC_FIELDS_DISPLAYED, SHOW_MULTIFIELDS, + SHOW_FIELD_STATISTICS, } from '../common'; export const getUiSettings: () => Record = () => ({ @@ -172,6 +173,7 @@ export const getUiSettings: () => Record = () => ({ name: 'discover:useLegacyDataGrid', }, }, + [MODIFY_COLUMNS_ON_SWITCH]: { name: i18n.translate('discover.advancedSettings.discover.modifyColumnsOnSwitchTitle', { defaultMessage: 'Modify columns when changing data views', @@ -201,6 +203,24 @@ export const getUiSettings: () => Record = () => ({ category: ['discover'], schema: schema.boolean(), }, + [SHOW_FIELD_STATISTICS]: { + name: i18n.translate('discover.advancedSettings.discover.showFieldStatistics', { + defaultMessage: 'Show field statistics', + }), + description: i18n.translate( + 'discover.advancedSettings.discover.showFieldStatisticsDescription', + { + defaultMessage: `Enable "Field statistics" table in Discover.`, + } + ), + value: false, + category: ['discover'], + schema: schema.boolean(), + metric: { + type: METRIC_TYPE.CLICK, + name: 'discover:showFieldStatistics', + }, + }, [SHOW_MULTIFIELDS]: { name: i18n.translate('discover.advancedSettings.discover.showMultifields', { defaultMessage: 'Show multi-fields', diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index a8a391995b005..bf936b2ae8dbe 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -448,6 +448,10 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'boolean', _meta: { description: 'Non-default value of setting.' }, }, + 'discover:showFieldStatistics': { + type: 'boolean', + _meta: { description: 'Non-default value of setting.' }, + }, 'discover:showMultiFields': { type: 'boolean', _meta: { description: 'Non-default value of setting.' }, diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index 7ea80ffb77dda..7575fa5d2b3f3 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -31,6 +31,7 @@ export interface UsageStats { 'doc_table:legacy': boolean; 'discover:modifyColumnsOnSwitch': boolean; 'discover:searchFieldsFromSource': boolean; + 'discover:showFieldStatistics': boolean; 'discover:showMultiFields': boolean; 'discover:maxDocFieldsDisplayed': number; 'securitySolution:rulesTableRefresh': string; diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index c6724056f77a5..f9ca99a26ec19 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -7689,6 +7689,12 @@ "description": "Non-default value of setting." } }, + "discover:showFieldStatistics": { + "type": "boolean", + "_meta": { + "description": "Non-default value of setting." + } + }, "discover:showMultiFields": { "type": "boolean", "_meta": { diff --git a/test/functional/page_objects/discover_page.ts b/test/functional/page_objects/discover_page.ts index a6ee65e0febb5..a45c1a23ed3a5 100644 --- a/test/functional/page_objects/discover_page.ts +++ b/test/functional/page_objects/discover_page.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import expect from '@kbn/expect'; import { FtrService } from '../ftr_provider_context'; export class DiscoverPageObject extends FtrService { @@ -307,6 +308,13 @@ export class DiscoverPageObject extends FtrService { return await this.testSubjects.click('collapseSideBarButton'); } + public async closeSidebar() { + await this.retry.tryForTime(2 * 1000, async () => { + await this.toggleSidebarCollapse(); + await this.testSubjects.missingOrFail('discover-sidebar'); + }); + } + public async getAllFieldNames() { const sidebar = await this.testSubjects.find('discover-sidebar'); const $ = await sidebar.parseDomContent(); @@ -545,4 +553,37 @@ export class DiscoverPageObject extends FtrService { public async clearSavedQuery() { await this.testSubjects.click('saved-query-management-clear-button'); } + + public async assertHitCount(expectedHitCount: string) { + await this.retry.tryForTime(2 * 1000, async () => { + // Close side bar to ensure Discover hit count shows + // edge case for when browser width is small + await this.closeSidebar(); + const hitCount = await this.getHitCount(); + expect(hitCount).to.eql( + expectedHitCount, + `Expected Discover hit count to be ${expectedHitCount} but got ${hitCount}.` + ); + }); + } + + public async assertViewModeToggleNotExists() { + await this.testSubjects.missingOrFail('dscViewModeToggle', { timeout: 2 * 1000 }); + } + + public async assertViewModeToggleExists() { + await this.testSubjects.existOrFail('dscViewModeToggle', { timeout: 2 * 1000 }); + } + + public async assertFieldStatsTableNotExists() { + await this.testSubjects.missingOrFail('dscFieldStatsEmbeddedContent', { timeout: 2 * 1000 }); + } + + public async clickViewModeFieldStatsButton() { + await this.retry.tryForTime(2 * 1000, async () => { + await this.testSubjects.existOrFail('dscViewModeFieldStatsButton'); + await this.testSubjects.clickWhenNotDisabled('dscViewModeFieldStatsButton'); + await this.testSubjects.existOrFail('dscFieldStatsEmbeddedContent'); + }); + } } diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap b/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap index 927d8ddb7a851..398dc5dad2dc7 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap +++ b/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/__snapshots__/field_type_icon.test.tsx.snap @@ -10,7 +10,7 @@ exports[`FieldTypeIcon render component when type matches a field type 1`] = ` > diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/field_type_icon.tsx b/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/field_type_icon.tsx index 2373cfe1f3284..9d803e3d4a80c 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/field_type_icon.tsx +++ b/x-pack/plugins/data_visualizer/public/application/common/components/field_type_icon/field_type_icon.tsx @@ -48,7 +48,7 @@ export const typeToEuiIconMap: Record { diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/constants.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/constants.ts new file mode 100644 index 0000000000000..26004db8fd529 --- /dev/null +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/constants.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const DATA_VISUALIZER_GRID_EMBEDDABLE_TYPE = 'data_visualizer_grid'; diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/embeddable_loading_fallback.tsx b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/embeddable_loading_fallback.tsx new file mode 100644 index 0000000000000..01644efd6652c --- /dev/null +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/embeddable_loading_fallback.tsx @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { EuiLoadingSpinner, EuiSpacer, EuiText } from '@elastic/eui'; + +export const EmbeddableLoading = () => { + return ( + + + + + + ); +}; diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx new file mode 100644 index 0000000000000..f59225b1c019f --- /dev/null +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx @@ -0,0 +1,234 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Observable, Subject } from 'rxjs'; +import { CoreStart } from 'kibana/public'; +import ReactDOM from 'react-dom'; +import React, { Suspense, useCallback, useState } from 'react'; +import useObservable from 'react-use/lib/useObservable'; +import { EuiEmptyPrompt, EuiIcon, EuiSpacer, EuiText } from '@elastic/eui'; +import { Filter } from '@kbn/es-query'; +import { Required } from 'utility-types'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { + Embeddable, + EmbeddableInput, + EmbeddableOutput, + IContainer, +} from '../../../../../../../../src/plugins/embeddable/public'; +import { KibanaContextProvider } from '../../../../../../../../src/plugins/kibana_react/public'; +import { DATA_VISUALIZER_GRID_EMBEDDABLE_TYPE } from './constants'; +import { EmbeddableLoading } from './embeddable_loading_fallback'; +import { DataVisualizerStartDependencies } from '../../../../plugin'; +import { + IndexPattern, + IndexPatternField, + Query, +} from '../../../../../../../../src/plugins/data/common'; +import { SavedSearch } from '../../../../../../../../src/plugins/discover/public'; +import { + DataVisualizerTable, + ItemIdToExpandedRowMap, +} from '../../../common/components/stats_table'; +import { FieldVisConfig } from '../../../common/components/stats_table/types'; +import { getDefaultDataVisualizerListState } from '../../components/index_data_visualizer_view/index_data_visualizer_view'; +import { DataVisualizerTableState } from '../../../../../common'; +import { DataVisualizerIndexBasedAppState } from '../../types/index_data_visualizer_state'; +import { IndexBasedDataVisualizerExpandedRow } from '../../../common/components/expanded_row/index_based_expanded_row'; +import { useDataVisualizerGridData } from './use_data_visualizer_grid_data'; + +export type DataVisualizerGridEmbeddableServices = [CoreStart, DataVisualizerStartDependencies]; +export interface DataVisualizerGridEmbeddableInput extends EmbeddableInput { + indexPattern: IndexPattern; + savedSearch?: SavedSearch; + query?: Query; + visibleFieldNames?: string[]; + filters?: Filter[]; + showPreviewByDefault?: boolean; + /** + * Callback to add a filter to filter bar + */ + onAddFilter?: (field: IndexPatternField | string, value: string, type: '+' | '-') => void; +} +export type DataVisualizerGridEmbeddableOutput = EmbeddableOutput; + +export type IDataVisualizerGridEmbeddable = typeof DataVisualizerGridEmbeddable; + +const restorableDefaults = getDefaultDataVisualizerListState(); + +export const EmbeddableWrapper = ({ + input, + onOutputChange, +}: { + input: DataVisualizerGridEmbeddableInput; + onOutputChange?: (ouput: any) => void; +}) => { + const [dataVisualizerListState, setDataVisualizerListState] = + useState>(restorableDefaults); + + const onTableChange = useCallback( + (update: DataVisualizerTableState) => { + setDataVisualizerListState({ ...dataVisualizerListState, ...update }); + if (onOutputChange) { + onOutputChange(update); + } + }, + [dataVisualizerListState, onOutputChange] + ); + const { configs, searchQueryLanguage, searchString, extendedColumns, loaded } = + useDataVisualizerGridData(input, dataVisualizerListState); + const getItemIdToExpandedRowMap = useCallback( + function (itemIds: string[], items: FieldVisConfig[]): ItemIdToExpandedRowMap { + return itemIds.reduce((m: ItemIdToExpandedRowMap, fieldName: string) => { + const item = items.find((fieldVisConfig) => fieldVisConfig.fieldName === fieldName); + if (item !== undefined) { + m[fieldName] = ( + + ); + } + return m; + }, {} as ItemIdToExpandedRowMap); + }, + [input, searchQueryLanguage, searchString] + ); + + if ( + loaded && + (configs.length === 0 || + // FIXME: Configs might have a placeholder document count stats field + // This will be removed in the future + (configs.length === 1 && configs[0].fieldName === undefined)) + ) { + return ( +
+ + + + + +
+ ); + } + return ( + + items={configs} + pageState={dataVisualizerListState} + updatePageState={onTableChange} + getItemIdToExpandedRowMap={getItemIdToExpandedRowMap} + extendedColumns={extendedColumns} + showPreviewByDefault={input?.showPreviewByDefault} + onChange={onOutputChange} + /> + ); +}; + +export const IndexDataVisualizerViewWrapper = (props: { + id: string; + embeddableContext: InstanceType; + embeddableInput: Readonly>; + onOutputChange?: (output: any) => void; +}) => { + const { embeddableInput, onOutputChange } = props; + + const input = useObservable(embeddableInput); + if (input && input.indexPattern) { + return ; + } else { + return ( + + + + } + body={ +

+ +

+ } + /> + ); + } +}; +export class DataVisualizerGridEmbeddable extends Embeddable< + DataVisualizerGridEmbeddableInput, + DataVisualizerGridEmbeddableOutput +> { + private node?: HTMLElement; + private reload$ = new Subject(); + public readonly type: string = DATA_VISUALIZER_GRID_EMBEDDABLE_TYPE; + + constructor( + initialInput: DataVisualizerGridEmbeddableInput, + public services: DataVisualizerGridEmbeddableServices, + parent?: IContainer + ) { + super(initialInput, {}, parent); + } + + public render(node: HTMLElement) { + super.render(node); + this.node = node; + + const I18nContext = this.services[0].i18n.Context; + + ReactDOM.render( + + + }> + this.updateOutput(output)} + /> + + + , + node + ); + } + + public destroy() { + super.destroy(); + if (this.node) { + ReactDOM.unmountComponentAtNode(this.node); + } + } + + public reload() { + this.reload$.next(); + } + + public supportedTriggers() { + return []; + } +} diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable_factory.tsx b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable_factory.tsx new file mode 100644 index 0000000000000..08ddc2d5fe3c2 --- /dev/null +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable_factory.tsx @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { StartServicesAccessor } from 'kibana/public'; +import { + EmbeddableFactoryDefinition, + IContainer, +} from '../../../../../../../../src/plugins/embeddable/public'; +import { DATA_VISUALIZER_GRID_EMBEDDABLE_TYPE } from './constants'; +import { + DataVisualizerGridEmbeddableInput, + DataVisualizerGridEmbeddableServices, +} from './grid_embeddable'; +import { DataVisualizerPluginStart, DataVisualizerStartDependencies } from '../../../../plugin'; + +export class DataVisualizerGridEmbeddableFactory + implements EmbeddableFactoryDefinition +{ + public readonly type = DATA_VISUALIZER_GRID_EMBEDDABLE_TYPE; + + public readonly grouping = [ + { + id: 'data_visualizer_grid', + getDisplayName: () => 'Data Visualizer Grid', + }, + ]; + + constructor( + private getStartServices: StartServicesAccessor< + DataVisualizerStartDependencies, + DataVisualizerPluginStart + > + ) {} + + public async isEditable() { + return false; + } + + public canCreateNew() { + return false; + } + + public getDisplayName() { + return i18n.translate('xpack.dataVisualizer.index.components.grid.displayName', { + defaultMessage: 'Data visualizer grid', + }); + } + + public getDescription() { + return i18n.translate('xpack.dataVisualizer.index.components.grid.description', { + defaultMessage: 'Visualize data', + }); + } + + private async getServices(): Promise { + const [coreStart, pluginsStart] = await this.getStartServices(); + return [coreStart, pluginsStart]; + } + + public async create(initialInput: DataVisualizerGridEmbeddableInput, parent?: IContainer) { + const [coreStart, pluginsStart] = await this.getServices(); + const { DataVisualizerGridEmbeddable } = await import('./grid_embeddable'); + return new DataVisualizerGridEmbeddable(initialInput, [coreStart, pluginsStart], parent); + } +} diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/index.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/index.ts new file mode 100644 index 0000000000000..91ca8e1633eb9 --- /dev/null +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export { DataVisualizerGridEmbeddable } from './grid_embeddable'; +export { DataVisualizerGridEmbeddableFactory } from './grid_embeddable_factory'; diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/use_data_visualizer_grid_data.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/use_data_visualizer_grid_data.ts new file mode 100644 index 0000000000000..fc0fc7a2134b4 --- /dev/null +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/use_data_visualizer_grid_data.ts @@ -0,0 +1,587 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Required } from 'utility-types'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import { merge } from 'rxjs'; +import { EuiTableActionsColumnType } from '@elastic/eui/src/components/basic_table/table_types'; +import { i18n } from '@kbn/i18n'; +import { DataVisualizerIndexBasedAppState } from '../../types/index_data_visualizer_state'; +import { useDataVisualizerKibana } from '../../../kibana_context'; +import { getEsQueryFromSavedSearch } from '../../utils/saved_search_utils'; +import { MetricFieldsStats } from '../../../common/components/stats_table/components/field_count_stats'; +import { DataLoader } from '../../data_loader/data_loader'; +import { useTimefilter } from '../../hooks/use_time_filter'; +import { dataVisualizerRefresh$ } from '../../services/timefilter_refresh_service'; +import { TimeBuckets } from '../../services/time_buckets'; +import { + DataViewField, + KBN_FIELD_TYPES, + UI_SETTINGS, +} from '../../../../../../../../src/plugins/data/common'; +import { extractErrorProperties } from '../../utils/error_utils'; +import { FieldVisConfig } from '../../../common/components/stats_table/types'; +import { FieldRequestConfig, JOB_FIELD_TYPES } from '../../../../../common'; +import { kbnTypeToJobType } from '../../../common/util/field_types_utils'; +import { getActions } from '../../../common/components/field_data_row/action_menu'; +import { DataVisualizerGridEmbeddableInput } from './grid_embeddable'; +import { getDefaultPageState } from '../../components/index_data_visualizer_view/index_data_visualizer_view'; + +const defaults = getDefaultPageState(); + +export const useDataVisualizerGridData = ( + input: DataVisualizerGridEmbeddableInput, + dataVisualizerListState: Required +) => { + const { services } = useDataVisualizerKibana(); + const { notifications, uiSettings } = services; + const { toasts } = notifications; + const { samplerShardSize, visibleFieldTypes, showEmptyFields } = dataVisualizerListState; + + const [lastRefresh, setLastRefresh] = useState(0); + + const { + currentSavedSearch, + currentIndexPattern, + currentQuery, + currentFilters, + visibleFieldNames, + } = useMemo( + () => ({ + currentSavedSearch: input?.savedSearch, + currentIndexPattern: input.indexPattern, + currentQuery: input?.query, + visibleFieldNames: input?.visibleFieldNames ?? [], + currentFilters: input?.filters, + }), + [input] + ); + + const { searchQueryLanguage, searchString, searchQuery } = useMemo(() => { + const searchData = getEsQueryFromSavedSearch({ + indexPattern: currentIndexPattern, + uiSettings, + savedSearch: currentSavedSearch, + query: currentQuery, + filters: currentFilters, + }); + + if (searchData === undefined || dataVisualizerListState.searchString !== '') { + return { + searchQuery: dataVisualizerListState.searchQuery, + searchString: dataVisualizerListState.searchString, + searchQueryLanguage: dataVisualizerListState.searchQueryLanguage, + }; + } else { + return { + searchQuery: searchData.searchQuery, + searchString: searchData.searchString, + searchQueryLanguage: searchData.queryLanguage, + }; + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [ + currentSavedSearch, + currentIndexPattern, + dataVisualizerListState, + currentQuery, + currentFilters, + ]); + + const [overallStats, setOverallStats] = useState(defaults.overallStats); + + const [documentCountStats, setDocumentCountStats] = useState(defaults.documentCountStats); + const [metricConfigs, setMetricConfigs] = useState(defaults.metricConfigs); + const [metricsLoaded, setMetricsLoaded] = useState(defaults.metricsLoaded); + const [metricsStats, setMetricsStats] = useState(); + + const [nonMetricConfigs, setNonMetricConfigs] = useState(defaults.nonMetricConfigs); + const [nonMetricsLoaded, setNonMetricsLoaded] = useState(defaults.nonMetricsLoaded); + + const dataLoader = useMemo( + () => new DataLoader(currentIndexPattern, toasts), + [currentIndexPattern, toasts] + ); + + const timefilter = useTimefilter({ + timeRangeSelector: currentIndexPattern?.timeFieldName !== undefined, + autoRefreshSelector: true, + }); + + useEffect(() => { + const timeUpdateSubscription = merge( + timefilter.getTimeUpdate$(), + dataVisualizerRefresh$ + ).subscribe(() => { + setLastRefresh(Date.now()); + }); + return () => { + timeUpdateSubscription.unsubscribe(); + }; + }); + + const getTimeBuckets = useCallback(() => { + return new TimeBuckets({ + [UI_SETTINGS.HISTOGRAM_MAX_BARS]: uiSettings.get(UI_SETTINGS.HISTOGRAM_MAX_BARS), + [UI_SETTINGS.HISTOGRAM_BAR_TARGET]: uiSettings.get(UI_SETTINGS.HISTOGRAM_BAR_TARGET), + dateFormat: uiSettings.get('dateFormat'), + 'dateFormat:scaled': uiSettings.get('dateFormat:scaled'), + }); + }, [uiSettings]); + + const indexPatternFields: DataViewField[] = useMemo( + () => currentIndexPattern.fields, + [currentIndexPattern] + ); + + async function loadOverallStats() { + const tf = timefilter as any; + let earliest; + let latest; + + const activeBounds = tf.getActiveBounds(); + + if (currentIndexPattern.timeFieldName !== undefined && activeBounds === undefined) { + return; + } + + if (currentIndexPattern.timeFieldName !== undefined) { + earliest = activeBounds.min.valueOf(); + latest = activeBounds.max.valueOf(); + } + + try { + const allStats = await dataLoader.loadOverallData( + searchQuery, + samplerShardSize, + earliest, + latest + ); + // Because load overall stats perform queries in batches + // there could be multiple errors + if (Array.isArray(allStats.errors) && allStats.errors.length > 0) { + allStats.errors.forEach((err: any) => { + dataLoader.displayError(extractErrorProperties(err)); + }); + } + setOverallStats(allStats); + } catch (err) { + dataLoader.displayError(err.body ?? err); + } + } + + const createMetricCards = useCallback(() => { + const configs: FieldVisConfig[] = []; + const aggregatableExistsFields: any[] = overallStats.aggregatableExistsFields || []; + + const allMetricFields = indexPatternFields.filter((f) => { + return ( + f.type === KBN_FIELD_TYPES.NUMBER && + f.displayName !== undefined && + dataLoader.isDisplayField(f.displayName) === true + ); + }); + const metricExistsFields = allMetricFields.filter((f) => { + return aggregatableExistsFields.find((existsF) => { + return existsF.fieldName === f.spec.name; + }); + }); + + // Add a config for 'document count', identified by no field name if indexpattern is time based. + if (currentIndexPattern.timeFieldName !== undefined) { + configs.push({ + type: JOB_FIELD_TYPES.NUMBER, + existsInDocs: true, + loading: true, + aggregatable: true, + }); + } + + if (metricsLoaded === false) { + setMetricsLoaded(true); + return; + } + + let aggregatableFields: any[] = overallStats.aggregatableExistsFields; + if (allMetricFields.length !== metricExistsFields.length && metricsLoaded === true) { + aggregatableFields = aggregatableFields.concat(overallStats.aggregatableNotExistsFields); + } + + const metricFieldsToShow = + metricsLoaded === true && showEmptyFields === true ? allMetricFields : metricExistsFields; + + metricFieldsToShow.forEach((field) => { + const fieldData = aggregatableFields.find((f) => { + return f.fieldName === field.spec.name; + }); + + const metricConfig: FieldVisConfig = { + ...(fieldData ? fieldData : {}), + fieldFormat: currentIndexPattern.getFormatterForField(field), + type: JOB_FIELD_TYPES.NUMBER, + loading: true, + aggregatable: true, + deletable: field.runtimeField !== undefined, + }; + if (field.displayName !== metricConfig.fieldName) { + metricConfig.displayName = field.displayName; + } + + configs.push(metricConfig); + }); + + setMetricsStats({ + totalMetricFieldsCount: allMetricFields.length, + visibleMetricsCount: metricFieldsToShow.length, + }); + setMetricConfigs(configs); + }, [ + currentIndexPattern, + dataLoader, + indexPatternFields, + metricsLoaded, + overallStats, + showEmptyFields, + ]); + + const createNonMetricCards = useCallback(() => { + const allNonMetricFields = indexPatternFields.filter((f) => { + return ( + f.type !== KBN_FIELD_TYPES.NUMBER && + f.displayName !== undefined && + dataLoader.isDisplayField(f.displayName) === true + ); + }); + // Obtain the list of all non-metric fields which appear in documents + // (aggregatable or not aggregatable). + const populatedNonMetricFields: any[] = []; // Kibana index pattern non metric fields. + let nonMetricFieldData: any[] = []; // Basic non metric field data loaded from requesting overall stats. + const aggregatableExistsFields: any[] = overallStats.aggregatableExistsFields || []; + const nonAggregatableExistsFields: any[] = overallStats.nonAggregatableExistsFields || []; + + allNonMetricFields.forEach((f) => { + const checkAggregatableField = aggregatableExistsFields.find( + (existsField) => existsField.fieldName === f.spec.name + ); + + if (checkAggregatableField !== undefined) { + populatedNonMetricFields.push(f); + nonMetricFieldData.push(checkAggregatableField); + } else { + const checkNonAggregatableField = nonAggregatableExistsFields.find( + (existsField) => existsField.fieldName === f.spec.name + ); + + if (checkNonAggregatableField !== undefined) { + populatedNonMetricFields.push(f); + nonMetricFieldData.push(checkNonAggregatableField); + } + } + }); + + if (nonMetricsLoaded === false) { + setNonMetricsLoaded(true); + return; + } + + if (allNonMetricFields.length !== nonMetricFieldData.length && showEmptyFields === true) { + // Combine the field data obtained from Elasticsearch into a single array. + nonMetricFieldData = nonMetricFieldData.concat( + overallStats.aggregatableNotExistsFields, + overallStats.nonAggregatableNotExistsFields + ); + } + + const nonMetricFieldsToShow = showEmptyFields ? allNonMetricFields : populatedNonMetricFields; + + const configs: FieldVisConfig[] = []; + + nonMetricFieldsToShow.forEach((field) => { + const fieldData = nonMetricFieldData.find((f) => f.fieldName === field.spec.name); + + const nonMetricConfig = { + ...(fieldData ? fieldData : {}), + fieldFormat: currentIndexPattern.getFormatterForField(field), + aggregatable: field.aggregatable, + scripted: field.scripted, + loading: fieldData?.existsInDocs, + deletable: field.runtimeField !== undefined, + }; + + // Map the field type from the Kibana index pattern to the field type + // used in the data visualizer. + const dataVisualizerType = kbnTypeToJobType(field); + if (dataVisualizerType !== undefined) { + nonMetricConfig.type = dataVisualizerType; + } else { + // Add a flag to indicate that this is one of the 'other' Kibana + // field types that do not yet have a specific card type. + nonMetricConfig.type = field.type; + nonMetricConfig.isUnsupportedType = true; + } + + if (field.displayName !== nonMetricConfig.fieldName) { + nonMetricConfig.displayName = field.displayName; + } + + configs.push(nonMetricConfig); + }); + + setNonMetricConfigs(configs); + }, [ + currentIndexPattern, + dataLoader, + indexPatternFields, + nonMetricsLoaded, + overallStats, + showEmptyFields, + ]); + + async function loadMetricFieldStats() { + // Only request data for fields that exist in documents. + if (metricConfigs.length === 0) { + return; + } + + const configsToLoad = metricConfigs.filter( + (config) => config.existsInDocs === true && config.loading === true + ); + if (configsToLoad.length === 0) { + return; + } + + // Pass the field name, type and cardinality in the request. + // Top values will be obtained on a sample if cardinality > 100000. + const existMetricFields: FieldRequestConfig[] = configsToLoad.map((config) => { + const props = { fieldName: config.fieldName, type: config.type, cardinality: 0 }; + if (config.stats !== undefined && config.stats.cardinality !== undefined) { + props.cardinality = config.stats.cardinality; + } + return props; + }); + + // Obtain the interval to use for date histogram aggregations + // (such as the document count chart). Aim for 75 bars. + const buckets = getTimeBuckets(); + + const tf = timefilter as any; + let earliest: number | undefined; + let latest: number | undefined; + if (currentIndexPattern.timeFieldName !== undefined) { + earliest = tf.getActiveBounds().min.valueOf(); + latest = tf.getActiveBounds().max.valueOf(); + } + + const bounds = tf.getActiveBounds(); + const BAR_TARGET = 75; + buckets.setInterval('auto'); + buckets.setBounds(bounds); + buckets.setBarTarget(BAR_TARGET); + const aggInterval = buckets.getInterval(); + + try { + const metricFieldStats = await dataLoader.loadFieldStats( + searchQuery, + samplerShardSize, + earliest, + latest, + existMetricFields, + aggInterval.asMilliseconds() + ); + + // Add the metric stats to the existing stats in the corresponding config. + const configs: FieldVisConfig[] = []; + metricConfigs.forEach((config) => { + const configWithStats = { ...config }; + if (config.fieldName !== undefined) { + configWithStats.stats = { + ...configWithStats.stats, + ...metricFieldStats.find( + (fieldStats: any) => fieldStats.fieldName === config.fieldName + ), + }; + configWithStats.loading = false; + configs.push(configWithStats); + } else { + // Document count card. + configWithStats.stats = metricFieldStats.find( + (fieldStats: any) => fieldStats.fieldName === undefined + ); + + if (configWithStats.stats !== undefined) { + // Add earliest / latest of timefilter for setting x axis domain. + configWithStats.stats.timeRangeEarliest = earliest; + configWithStats.stats.timeRangeLatest = latest; + } + setDocumentCountStats(configWithStats); + } + }); + + setMetricConfigs(configs); + } catch (err) { + dataLoader.displayError(err); + } + } + + async function loadNonMetricFieldStats() { + // Only request data for fields that exist in documents. + if (nonMetricConfigs.length === 0) { + return; + } + + const configsToLoad = nonMetricConfigs.filter( + (config) => config.existsInDocs === true && config.loading === true + ); + if (configsToLoad.length === 0) { + return; + } + + // Pass the field name, type and cardinality in the request. + // Top values will be obtained on a sample if cardinality > 100000. + const existNonMetricFields: FieldRequestConfig[] = configsToLoad.map((config) => { + const props = { fieldName: config.fieldName, type: config.type, cardinality: 0 }; + if (config.stats !== undefined && config.stats.cardinality !== undefined) { + props.cardinality = config.stats.cardinality; + } + return props; + }); + + const tf = timefilter as any; + let earliest; + let latest; + if (currentIndexPattern.timeFieldName !== undefined) { + earliest = tf.getActiveBounds().min.valueOf(); + latest = tf.getActiveBounds().max.valueOf(); + } + + try { + const nonMetricFieldStats = await dataLoader.loadFieldStats( + searchQuery, + samplerShardSize, + earliest, + latest, + existNonMetricFields + ); + + // Add the field stats to the existing stats in the corresponding config. + const configs: FieldVisConfig[] = []; + nonMetricConfigs.forEach((config) => { + const configWithStats = { ...config }; + if (config.fieldName !== undefined) { + configWithStats.stats = { + ...configWithStats.stats, + ...nonMetricFieldStats.find( + (fieldStats: any) => fieldStats.fieldName === config.fieldName + ), + }; + } + configWithStats.loading = false; + configs.push(configWithStats); + }); + + setNonMetricConfigs(configs); + } catch (err) { + dataLoader.displayError(err); + } + } + + useEffect(() => { + loadOverallStats(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [searchQuery, samplerShardSize, lastRefresh]); + + useEffect(() => { + createMetricCards(); + createNonMetricCards(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [overallStats, showEmptyFields]); + + useEffect(() => { + loadMetricFieldStats(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [metricConfigs]); + + useEffect(() => { + loadNonMetricFieldStats(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [nonMetricConfigs]); + + useEffect(() => { + createMetricCards(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [metricsLoaded]); + + useEffect(() => { + createNonMetricCards(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [nonMetricsLoaded]); + + const configs = useMemo(() => { + let combinedConfigs = [...nonMetricConfigs, ...metricConfigs]; + if (visibleFieldTypes && visibleFieldTypes.length > 0) { + combinedConfigs = combinedConfigs.filter( + (config) => visibleFieldTypes.findIndex((field) => field === config.type) > -1 + ); + } + if (visibleFieldNames && visibleFieldNames.length > 0) { + combinedConfigs = combinedConfigs.filter( + (config) => visibleFieldNames.findIndex((field) => field === config.fieldName) > -1 + ); + } + + return combinedConfigs; + }, [nonMetricConfigs, metricConfigs, visibleFieldTypes, visibleFieldNames]); + + // Some actions open up fly-out or popup + // This variable is used to keep track of them and clean up when unmounting + const actionFlyoutRef = useRef<() => void | undefined>(); + useEffect(() => { + const ref = actionFlyoutRef; + return () => { + // Clean up any of the flyout/editor opened from the actions + if (ref.current) { + ref.current(); + } + }; + }, []); + + // Inject custom action column for the index based visualizer + // Hide the column completely if no access to any of the plugins + const extendedColumns = useMemo(() => { + const actions = getActions( + input.indexPattern, + { lens: services.lens }, + { + searchQueryLanguage, + searchString, + }, + actionFlyoutRef + ); + if (!Array.isArray(actions) || actions.length < 1) return; + + const actionColumn: EuiTableActionsColumnType = { + name: i18n.translate('xpack.dataVisualizer.index.dataGrid.actionsColumnLabel', { + defaultMessage: 'Actions', + }), + actions, + width: '70px', + }; + + return [actionColumn]; + }, [input.indexPattern, services, searchQueryLanguage, searchString]); + + return { + configs, + searchQueryLanguage, + searchString, + searchQuery, + extendedColumns, + documentCountStats, + metricsStats, + loaded: metricsLoaded && nonMetricsLoaded, + }; +}; diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/index.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/index.ts new file mode 100644 index 0000000000000..add99a8d2501d --- /dev/null +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/index.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { CoreSetup } from 'kibana/public'; +import { EmbeddableSetup } from '../../../../../../../src/plugins/embeddable/public'; +import { DataVisualizerGridEmbeddableFactory } from './grid_embeddable/grid_embeddable_factory'; +import { DataVisualizerPluginStart, DataVisualizerStartDependencies } from '../../../plugin'; + +export function registerEmbeddables( + embeddable: EmbeddableSetup, + core: CoreSetup +) { + const dataVisualizerGridEmbeddableFactory = new DataVisualizerGridEmbeddableFactory( + core.getStartServices + ); + embeddable.registerEmbeddableFactory( + dataVisualizerGridEmbeddableFactory.type, + dataVisualizerGridEmbeddableFactory + ); +} diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx index a474ed3521580..83e013703c1fc 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx @@ -9,7 +9,6 @@ import React, { FC, useCallback, useEffect, useState } from 'react'; import { useHistory, useLocation } from 'react-router-dom'; import { parse, stringify } from 'query-string'; import { isEqual } from 'lodash'; -// @ts-ignore import { encode } from 'rison-node'; import { SimpleSavedObject } from 'kibana/public'; import { i18n } from '@kbn/i18n'; @@ -29,7 +28,7 @@ import { isRisonSerializationRequired, } from '../common/util/url_state'; import { useDataVisualizerKibana } from '../kibana_context'; -import { IndexPattern } from '../../../../../../src/plugins/data/common'; +import { DataView } from '../../../../../../src/plugins/data/common'; import { ResultLink } from '../common/components/results_links'; export type IndexDataVisualizerSpec = typeof IndexDataVisualizer; @@ -51,9 +50,7 @@ export const DataVisualizerUrlStateContextProvider: FC( - undefined - ); + const [currentIndexPattern, setCurrentIndexPattern] = useState(undefined); const [currentSavedSearch, setCurrentSavedSearch] = useState | null>( null ); diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/locator/locator.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/locator/locator.ts index c26a668bd04ab..aab67d0b52aec 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/locator/locator.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/locator/locator.ts @@ -4,8 +4,6 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -// @ts-ignore import { encode } from 'rison-node'; import { stringify } from 'query-string'; import { SerializableRecord } from '@kbn/utility-types'; diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.test.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.test.ts index 43d815f6e9d41..ad3229676b31b 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.test.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.test.ts @@ -6,7 +6,7 @@ */ import { - getQueryFromSavedSearch, + getQueryFromSavedSearchObject, createMergedEsQuery, getEsQueryFromSavedSearch, } from './saved_search_utils'; @@ -82,9 +82,9 @@ const kqlSavedSearch: SavedSearch = { }, }; -describe('getQueryFromSavedSearch()', () => { +describe('getQueryFromSavedSearchObject()', () => { it('should return parsed searchSourceJSON with query and filter', () => { - expect(getQueryFromSavedSearch(luceneSavedSearchObj)).toEqual({ + expect(getQueryFromSavedSearchObject(luceneSavedSearchObj)).toEqual({ filter: [ { $state: { store: 'appState' }, @@ -106,7 +106,7 @@ describe('getQueryFromSavedSearch()', () => { query: { language: 'lucene', query: 'responsetime:>50' }, version: true, }); - expect(getQueryFromSavedSearch(kqlSavedSearch)).toEqual({ + expect(getQueryFromSavedSearchObject(kqlSavedSearch)).toEqual({ filter: [ { $state: { store: 'appState' }, @@ -130,7 +130,7 @@ describe('getQueryFromSavedSearch()', () => { }); }); it('should return undefined if invalid searchSourceJSON', () => { - expect(getQueryFromSavedSearch(luceneInvalidSavedSearchObj)).toEqual(undefined); + expect(getQueryFromSavedSearchObject(luceneInvalidSavedSearchObj)).toEqual(undefined); }); }); diff --git a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts index 80a2069aab1a8..1401b1038b8f2 100644 --- a/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts +++ b/x-pack/plugins/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts @@ -16,17 +16,31 @@ import { Filter, } from '@kbn/es-query'; import { isSavedSearchSavedObject, SavedSearchSavedObject } from '../../../../common/types'; -import { IndexPattern } from '../../../../../../../src/plugins/data/common'; +import { IndexPattern, SearchSource } from '../../../../../../../src/plugins/data/common'; import { SEARCH_QUERY_LANGUAGE, SearchQueryLanguage } from '../types/combined_query'; import { SavedSearch } from '../../../../../../../src/plugins/discover/public'; import { getEsQueryConfig } from '../../../../../../../src/plugins/data/common'; import { FilterManager } from '../../../../../../../src/plugins/data/public'; +const DEFAULT_QUERY = { + bool: { + must: [ + { + match_all: {}, + }, + ], + }, +}; + +export function getDefaultQuery() { + return cloneDeep(DEFAULT_QUERY); +} + /** * Parse the stringified searchSourceJSON * from a saved search or saved search object */ -export function getQueryFromSavedSearch(savedSearch: SavedSearchSavedObject | SavedSearch) { +export function getQueryFromSavedSearchObject(savedSearch: SavedSearchSavedObject | SavedSearch) { const search = isSavedSearchSavedObject(savedSearch) ? savedSearch?.attributes?.kibanaSavedObjectMeta : // @ts-expect-error kibanaSavedObjectMeta does exist @@ -69,20 +83,22 @@ export function createMergedEsQuery( if (query.query !== '') { combinedQuery = toElasticsearchQuery(ast, indexPattern); } - const filterQuery = buildQueryFromFilters(filters, indexPattern); + if (combinedQuery.bool !== undefined) { + const filterQuery = buildQueryFromFilters(filters, indexPattern); - if (Array.isArray(combinedQuery.bool.filter) === false) { - combinedQuery.bool.filter = - combinedQuery.bool.filter === undefined ? [] : [combinedQuery.bool.filter]; - } + if (Array.isArray(combinedQuery.bool.filter) === false) { + combinedQuery.bool.filter = + combinedQuery.bool.filter === undefined ? [] : [combinedQuery.bool.filter]; + } - if (Array.isArray(combinedQuery.bool.must_not) === false) { - combinedQuery.bool.must_not = - combinedQuery.bool.must_not === undefined ? [] : [combinedQuery.bool.must_not]; - } + if (Array.isArray(combinedQuery.bool.must_not) === false) { + combinedQuery.bool.must_not = + combinedQuery.bool.must_not === undefined ? [] : [combinedQuery.bool.must_not]; + } - combinedQuery.bool.filter = [...combinedQuery.bool.filter, ...filterQuery.filter]; - combinedQuery.bool.must_not = [...combinedQuery.bool.must_not, ...filterQuery.must_not]; + combinedQuery.bool.filter = [...combinedQuery.bool.filter, ...filterQuery.filter]; + combinedQuery.bool.must_not = [...combinedQuery.bool.must_not, ...filterQuery.must_not]; + } } else { combinedQuery = buildEsQuery( indexPattern, @@ -115,10 +131,31 @@ export function getEsQueryFromSavedSearch({ }) { if (!indexPattern || !savedSearch) return; - const savedSearchData = getQueryFromSavedSearch(savedSearch); const userQuery = query; const userFilters = filters; + // If saved search has a search source with nested parent + // e.g. a search coming from Dashboard saved search embeddable + // which already combines both the saved search's original query/filters and the Dashboard's + // then no need to process any further + if ( + savedSearch && + 'searchSource' in savedSearch && + savedSearch?.searchSource instanceof SearchSource && + savedSearch.searchSource.getParent() !== undefined && + userQuery + ) { + return { + searchQuery: savedSearch.searchSource.getSearchRequestBody()?.query ?? getDefaultQuery(), + searchString: userQuery.query, + queryLanguage: userQuery.language as SearchQueryLanguage, + }; + } + + // If saved search is an json object with the original query and filter + // retrieve the parsed query and filter + const savedSearchData = getQueryFromSavedSearchObject(savedSearch); + // If no saved search available, use user's query and filters if (!savedSearchData && userQuery) { if (filterManager && userFilters) filterManager.setFilters(userFilters); @@ -137,7 +174,8 @@ export function getEsQueryFromSavedSearch({ }; } - // If saved search available, merge saved search with latest user query or filters differ from extracted saved search data + // If saved search available, merge saved search with latest user query or filters + // which might differ from extracted saved search data if (savedSearchData) { const currentQuery = userQuery ?? savedSearchData?.query; const currentFilters = userFilters ?? savedSearchData?.filter; @@ -158,17 +196,3 @@ export function getEsQueryFromSavedSearch({ }; } } - -const DEFAULT_QUERY = { - bool: { - must: [ - { - match_all: {}, - }, - ], - }, -}; - -export function getDefaultQuery() { - return cloneDeep(DEFAULT_QUERY); -} diff --git a/x-pack/plugins/data_visualizer/public/plugin.ts b/x-pack/plugins/data_visualizer/public/plugin.ts index 112294f4b246f..df1a5ea406d76 100644 --- a/x-pack/plugins/data_visualizer/public/plugin.ts +++ b/x-pack/plugins/data_visualizer/public/plugin.ts @@ -6,7 +6,7 @@ */ import { CoreSetup, CoreStart } from 'kibana/public'; -import type { EmbeddableStart } from '../../../../src/plugins/embeddable/public'; +import type { EmbeddableSetup, EmbeddableStart } from '../../../../src/plugins/embeddable/public'; import type { SharePluginStart } from '../../../../src/plugins/share/public'; import { Plugin } from '../../../../src/core/public'; @@ -21,9 +21,11 @@ import type { IndexPatternFieldEditorStart } from '../../../../src/plugins/index import { getFileDataVisualizerComponent, getIndexDataVisualizerComponent } from './api'; import { getMaxBytesFormatted } from './application/common/util/get_max_bytes'; import { registerHomeAddData, registerHomeFeatureCatalogue } from './register_home'; +import { registerEmbeddables } from './application/index_data_visualizer/embeddables'; export interface DataVisualizerSetupDependencies { home?: HomePublicPluginSetup; + embeddable: EmbeddableSetup; } export interface DataVisualizerStartDependencies { data: DataPublicPluginStart; @@ -56,6 +58,9 @@ export class DataVisualizerPlugin registerHomeAddData(plugins.home); registerHomeFeatureCatalogue(plugins.home); } + if (plugins.embeddable) { + registerEmbeddables(plugins.embeddable, core); + } } public start(core: CoreStart, plugins: DataVisualizerStartDependencies) { diff --git a/x-pack/plugins/data_visualizer/tsconfig.json b/x-pack/plugins/data_visualizer/tsconfig.json index 3b424ef8b9f65..df41fdbd62663 100644 --- a/x-pack/plugins/data_visualizer/tsconfig.json +++ b/x-pack/plugins/data_visualizer/tsconfig.json @@ -6,9 +6,18 @@ "declaration": true, "declarationMap": true }, - "include": ["common/**/*", "public/**/*", "server/**/*"], + "include": [ + "../../../typings/**/*", + "common/**/*", + "public/**/*", + "scripts/**/*", + "server/**/*", + "types/**/*" + ], "references": [ { "path": "../../../src/core/tsconfig.json" }, + { "path": "../../../src/plugins/kibana_utils/tsconfig.json" }, + { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, { "path": "../../../src/plugins/data/tsconfig.json" }, { "path": "../../../src/plugins/usage_collection/tsconfig.json" }, { "path": "../../../src/plugins/custom_integrations/tsconfig.json" }, diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/use_saved_search.ts b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/use_saved_search.ts index 324db0d6b2ad4..41973b5ec2d01 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/use_saved_search.ts +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/use_saved_search.ts @@ -15,7 +15,7 @@ import { import { estypes } from '@elastic/elasticsearch'; import { useMlContext } from '../../../../../contexts/ml'; import { SEARCH_QUERY_LANGUAGE } from '../../../../../../../common/constants/search'; -import { getQueryFromSavedSearch } from '../../../../../util/index_utils'; +import { getQueryFromSavedSearchObject } from '../../../../../util/index_utils'; // `undefined` is used for a non-initialized state // `null` is set if no saved search is used @@ -40,7 +40,7 @@ export function useSavedSearch() { let qryString; if (currentSavedSearch !== null) { - const { query } = getQueryFromSavedSearch(currentSavedSearch); + const { query } = getQueryFromSavedSearchObject(currentSavedSearch); const queryLanguage = query.language; qryString = query.query; diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/utils/new_job_utils.ts b/x-pack/plugins/ml/public/application/jobs/new_job/utils/new_job_utils.ts index 5eae60900e09f..ebab3769fbe57 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/utils/new_job_utils.ts +++ b/x-pack/plugins/ml/public/application/jobs/new_job/utils/new_job_utils.ts @@ -18,7 +18,7 @@ import { IUiSettingsClient } from 'kibana/public'; import { getEsQueryConfig } from '../../../../../../../../src/plugins/data/public'; import { SEARCH_QUERY_LANGUAGE } from '../../../../../common/constants/search'; import { SavedSearchSavedObject } from '../../../../../common/types/kibana'; -import { getQueryFromSavedSearch } from '../../../util/index_utils'; +import { getQueryFromSavedSearchObject } from '../../../util/index_utils'; // Provider for creating the items used for searching and job creation. @@ -52,7 +52,7 @@ export function createSearchItems( let combinedQuery: any = getDefaultDatafeedQuery(); if (savedSearch !== null) { - const data = getQueryFromSavedSearch(savedSearch); + const data = getQueryFromSavedSearchObject(savedSearch); query = data.query; const filter = data.filter; diff --git a/x-pack/plugins/ml/public/application/util/index_utils.ts b/x-pack/plugins/ml/public/application/util/index_utils.ts index e4c18308bf017..b105761e5ebcf 100644 --- a/x-pack/plugins/ml/public/application/util/index_utils.ts +++ b/x-pack/plugins/ml/public/application/util/index_utils.ts @@ -80,7 +80,7 @@ export async function getIndexPatternAndSavedSearch(savedSearchId: string) { return resp; } -export function getQueryFromSavedSearch(savedSearch: SavedSearchSavedObject) { +export function getQueryFromSavedSearchObject(savedSearch: SavedSearchSavedObject) { const search = savedSearch.attributes.kibanaSavedObjectMeta as { searchSourceJSON: string }; return JSON.parse(search.searchSourceJSON) as { query: Query; diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index.ts b/x-pack/test/functional/apps/ml/data_visualizer/index.ts index 3e6b644a0b494..c1e5d0b4b6aae 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/index.ts +++ b/x-pack/test/functional/apps/ml/data_visualizer/index.ts @@ -9,9 +9,10 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { describe('data visualizer', function () { - this.tags(['skipFirefox']); + this.tags(['skipFirefox', 'mlqa']); loadTestFile(require.resolve('./index_data_visualizer')); + loadTestFile(require.resolve('./index_data_visualizer_grid_in_discover')); loadTestFile(require.resolve('./index_data_visualizer_actions_panel')); loadTestFile(require.resolve('./index_data_visualizer_index_pattern_management')); loadTestFile(require.resolve('./file_data_visualizer')); diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts index 542f7f3116c94..ff0d489293682 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts +++ b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts @@ -6,374 +6,18 @@ */ import { FtrProviderContext } from '../../../ftr_provider_context'; -import { ML_JOB_FIELD_TYPES } from '../../../../../plugins/ml/common/constants/field_types'; -import { FieldVisConfig } from '../../../../../plugins/data_visualizer/public/application/common/components/stats_table/types'; - -interface MetricFieldVisConfig extends FieldVisConfig { - statsMaxDecimalPlaces: number; - docCountFormatted: string; - topValuesCount: number; - viewableInLens: boolean; -} - -interface NonMetricFieldVisConfig extends FieldVisConfig { - docCountFormatted: string; - exampleCount: number; - viewableInLens: boolean; -} - -interface TestData { - suiteTitle: string; - sourceIndexOrSavedSearch: string; - fieldNameFilters: string[]; - fieldTypeFilters: string[]; - rowsPerPage?: 10 | 25 | 50; - sampleSizeValidations: Array<{ - size: number; - expected: { field: string; docCountFormatted: string }; - }>; - expected: { - totalDocCountFormatted: string; - metricFields?: MetricFieldVisConfig[]; - nonMetricFields?: NonMetricFieldVisConfig[]; - emptyFields: string[]; - visibleMetricFieldsCount: number; - totalMetricFieldsCount: number; - populatedFieldsCount: number; - totalFieldsCount: number; - fieldNameFiltersResultCount: number; - fieldTypeFiltersResultCount: number; - }; -} +import { TestData, MetricFieldVisConfig } from './types'; +import { + farequoteDataViewTestData, + farequoteKQLSearchTestData, + farequoteLuceneSearchTestData, + sampleLogTestData, +} from './index_test_data'; export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const ml = getService('ml'); - const farequoteDataViewTestData: TestData = { - suiteTitle: 'data view', - sourceIndexOrSavedSearch: 'ft_farequote', - fieldNameFilters: ['airline', '@timestamp'], - fieldTypeFilters: [ML_JOB_FIELD_TYPES.KEYWORD], - sampleSizeValidations: [ - { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, - { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, - ], - expected: { - totalDocCountFormatted: '86,274', - metricFields: [ - { - fieldName: 'responsetime', - type: ML_JOB_FIELD_TYPES.NUMBER, - existsInDocs: true, - aggregatable: true, - loading: false, - docCountFormatted: '5000 (100%)', - statsMaxDecimalPlaces: 3, - topValuesCount: 10, - viewableInLens: true, - }, - ], - nonMetricFields: [ - { - fieldName: '@timestamp', - type: ML_JOB_FIELD_TYPES.DATE, - existsInDocs: true, - aggregatable: true, - loading: false, - docCountFormatted: '5000 (100%)', - exampleCount: 2, - viewableInLens: true, - }, - { - fieldName: '@version', - type: ML_JOB_FIELD_TYPES.TEXT, - existsInDocs: true, - aggregatable: false, - loading: false, - exampleCount: 1, - docCountFormatted: '', - viewableInLens: false, - }, - { - fieldName: '@version.keyword', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 1, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - { - fieldName: 'airline', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 10, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - { - fieldName: 'type', - type: ML_JOB_FIELD_TYPES.TEXT, - existsInDocs: true, - aggregatable: false, - loading: false, - exampleCount: 1, - docCountFormatted: '', - viewableInLens: false, - }, - { - fieldName: 'type.keyword', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 1, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - ], - emptyFields: ['sourcetype'], - visibleMetricFieldsCount: 1, - totalMetricFieldsCount: 1, - populatedFieldsCount: 7, - totalFieldsCount: 8, - fieldNameFiltersResultCount: 2, - fieldTypeFiltersResultCount: 3, - }, - }; - - const farequoteKQLSearchTestData: TestData = { - suiteTitle: 'KQL saved search', - sourceIndexOrSavedSearch: 'ft_farequote_kuery', - fieldNameFilters: ['@version'], - fieldTypeFilters: [ML_JOB_FIELD_TYPES.DATE, ML_JOB_FIELD_TYPES.TEXT], - sampleSizeValidations: [ - { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, - { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, - ], - expected: { - totalDocCountFormatted: '34,415', - metricFields: [ - { - fieldName: 'responsetime', - type: ML_JOB_FIELD_TYPES.NUMBER, - existsInDocs: true, - aggregatable: true, - loading: false, - docCountFormatted: '5000 (100%)', - statsMaxDecimalPlaces: 3, - topValuesCount: 10, - viewableInLens: true, - }, - ], - nonMetricFields: [ - { - fieldName: '@timestamp', - type: ML_JOB_FIELD_TYPES.DATE, - existsInDocs: true, - aggregatable: true, - loading: false, - docCountFormatted: '5000 (100%)', - exampleCount: 2, - viewableInLens: true, - }, - { - fieldName: '@version', - type: ML_JOB_FIELD_TYPES.TEXT, - existsInDocs: true, - aggregatable: false, - loading: false, - exampleCount: 1, - docCountFormatted: '', - viewableInLens: false, - }, - { - fieldName: '@version.keyword', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 1, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - { - fieldName: 'airline', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 5, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - { - fieldName: 'type', - type: ML_JOB_FIELD_TYPES.TEXT, - existsInDocs: true, - aggregatable: false, - loading: false, - exampleCount: 1, - docCountFormatted: '', - viewableInLens: false, - }, - { - fieldName: 'type.keyword', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 1, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - ], - emptyFields: ['sourcetype'], - visibleMetricFieldsCount: 1, - totalMetricFieldsCount: 1, - populatedFieldsCount: 7, - totalFieldsCount: 8, - fieldNameFiltersResultCount: 1, - fieldTypeFiltersResultCount: 3, - }, - }; - - const farequoteLuceneSearchTestData: TestData = { - suiteTitle: 'lucene saved search', - sourceIndexOrSavedSearch: 'ft_farequote_lucene', - fieldNameFilters: ['@version.keyword', 'type'], - fieldTypeFilters: [ML_JOB_FIELD_TYPES.NUMBER], - sampleSizeValidations: [ - { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, - { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, - ], - expected: { - totalDocCountFormatted: '34,416', - metricFields: [ - { - fieldName: 'responsetime', - type: ML_JOB_FIELD_TYPES.NUMBER, - existsInDocs: true, - aggregatable: true, - loading: false, - docCountFormatted: '5000 (100%)', - statsMaxDecimalPlaces: 3, - topValuesCount: 10, - viewableInLens: true, - }, - ], - nonMetricFields: [ - { - fieldName: '@timestamp', - type: ML_JOB_FIELD_TYPES.DATE, - existsInDocs: true, - aggregatable: true, - loading: false, - docCountFormatted: '5000 (100%)', - exampleCount: 2, - viewableInLens: true, - }, - { - fieldName: '@version', - type: ML_JOB_FIELD_TYPES.TEXT, - existsInDocs: true, - aggregatable: false, - loading: false, - exampleCount: 1, - docCountFormatted: '', - viewableInLens: false, - }, - { - fieldName: '@version.keyword', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 1, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - { - fieldName: 'airline', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 5, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - { - fieldName: 'type', - type: ML_JOB_FIELD_TYPES.TEXT, - existsInDocs: true, - aggregatable: false, - loading: false, - exampleCount: 1, - docCountFormatted: '', - viewableInLens: false, - }, - { - fieldName: 'type.keyword', - type: ML_JOB_FIELD_TYPES.KEYWORD, - existsInDocs: true, - aggregatable: true, - loading: false, - exampleCount: 1, - docCountFormatted: '5000 (100%)', - viewableInLens: true, - }, - ], - emptyFields: ['sourcetype'], - visibleMetricFieldsCount: 1, - totalMetricFieldsCount: 1, - populatedFieldsCount: 7, - totalFieldsCount: 8, - fieldNameFiltersResultCount: 2, - fieldTypeFiltersResultCount: 1, - }, - }; - - const sampleLogTestData: TestData = { - suiteTitle: 'geo point field', - sourceIndexOrSavedSearch: 'ft_module_sample_logs', - fieldNameFilters: ['geo.coordinates'], - fieldTypeFilters: [ML_JOB_FIELD_TYPES.GEO_POINT], - rowsPerPage: 50, - expected: { - totalDocCountFormatted: '408', - metricFields: [], - // only testing the geo_point fields - nonMetricFields: [ - { - fieldName: 'geo.coordinates', - type: ML_JOB_FIELD_TYPES.GEO_POINT, - existsInDocs: true, - aggregatable: true, - loading: false, - docCountFormatted: '408 (100%)', - exampleCount: 10, - viewableInLens: false, - }, - ], - emptyFields: [], - visibleMetricFieldsCount: 4, - totalMetricFieldsCount: 5, - populatedFieldsCount: 35, - totalFieldsCount: 36, - fieldNameFiltersResultCount: 1, - fieldTypeFiltersResultCount: 1, - }, - sampleSizeValidations: [ - { size: 1000, expected: { field: 'geo.coordinates', docCountFormatted: '408 (100%)' } }, - { size: 5000, expected: { field: '@timestamp', docCountFormatted: '408 (100%)' } }, - ], - }; - function runTests(testData: TestData) { it(`${testData.suiteTitle} loads the source data in the data visualizer`, async () => { await ml.testExecution.logTestStep( @@ -541,7 +185,7 @@ export default function ({ getService }: FtrProviderContext) { }); describe('with module_sample_logs ', function () { - // Run tests on full farequote index. + // Run tests on full ft_module_sample_logs index. it(`${sampleLogTestData.suiteTitle} loads the data visualizer selector page`, async () => { // Start navigation from the base of the ML app. await ml.navigation.navigateToMl(); diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_discover.ts b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_discover.ts new file mode 100644 index 0000000000000..ba24684e13036 --- /dev/null +++ b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_discover.ts @@ -0,0 +1,172 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { TestData, MetricFieldVisConfig } from './types'; + +const SHOW_FIELD_STATISTICS = 'discover:showFieldStatistics'; +import { + farequoteDataViewTestData, + farequoteKQLSearchTestData, + farequoteLuceneFiltersSearchTestData, + farequoteKQLFiltersSearchTestData, + farequoteLuceneSearchTestData, + sampleLogTestData, +} from './index_test_data'; +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const esArchiver = getService('esArchiver'); + const PageObjects = getPageObjects(['common', 'discover', 'timePicker', 'settings']); + const ml = getService('ml'); + const testSubjects = getService('testSubjects'); + const retry = getService('retry'); + const toasts = getService('toasts'); + + const selectIndexPattern = async (indexPattern: string) => { + await retry.tryForTime(2 * 1000, async () => { + await PageObjects.discover.selectIndexPattern(indexPattern); + const indexPatternTitle = await testSubjects.getVisibleText('indexPattern-switch-link'); + expect(indexPatternTitle).to.be(indexPattern); + }); + }; + + const clearAdvancedSetting = async (propertyName: string) => { + await retry.tryForTime(2 * 1000, async () => { + await PageObjects.common.navigateToUrl('management', 'kibana/settings', { + shouldUseHashForSubUrl: false, + }); + if ((await PageObjects.settings.getAdvancedSettingCheckbox(propertyName)) === 'true') { + await PageObjects.settings.clearAdvancedSettings(propertyName); + } + }); + }; + + const setAdvancedSettingCheckbox = async (propertyName: string, checkedState: boolean) => { + await retry.tryForTime(2 * 1000, async () => { + await PageObjects.common.navigateToUrl('management', 'kibana/settings', { + shouldUseHashForSubUrl: false, + }); + await testSubjects.click('settings'); + await toasts.dismissAllToasts(); + await PageObjects.settings.toggleAdvancedSettingCheckbox(propertyName, checkedState); + }); + }; + + function runTestsWhenDisabled(testData: TestData) { + it('should not show view mode toggle or Field stats table', async function () { + await PageObjects.common.navigateToApp('discover'); + if (testData.isSavedSearch) { + await retry.tryForTime(2 * 1000, async () => { + await PageObjects.discover.loadSavedSearch(testData.sourceIndexOrSavedSearch); + }); + } else { + await selectIndexPattern(testData.sourceIndexOrSavedSearch); + } + + await PageObjects.timePicker.setAbsoluteRange( + 'Jan 1, 2016 @ 00:00:00.000', + 'Nov 1, 2020 @ 00:00:00.000' + ); + + await PageObjects.discover.assertViewModeToggleNotExists(); + await PageObjects.discover.assertFieldStatsTableNotExists(); + }); + } + + function runTests(testData: TestData) { + describe(`with ${testData.suiteTitle}`, function () { + it(`displays the 'Field statistics' table content correctly`, async function () { + await PageObjects.common.navigateToApp('discover'); + if (testData.isSavedSearch) { + await retry.tryForTime(2 * 1000, async () => { + await PageObjects.discover.loadSavedSearch(testData.sourceIndexOrSavedSearch); + }); + } else { + await selectIndexPattern(testData.sourceIndexOrSavedSearch); + } + await PageObjects.timePicker.setAbsoluteRange( + 'Jan 1, 2016 @ 00:00:00.000', + 'Nov 1, 2020 @ 00:00:00.000' + ); + + await PageObjects.discover.assertHitCount(testData.expected.totalDocCountFormatted); + await PageObjects.discover.assertViewModeToggleExists(); + await PageObjects.discover.clickViewModeFieldStatsButton(); + await ml.testExecution.logTestStep( + 'displays details for metric fields and non-metric fields correctly' + ); + for (const fieldRow of testData.expected.metricFields as Array< + Required + >) { + await ml.dataVisualizerTable.assertNumberFieldContents( + fieldRow.fieldName, + fieldRow.docCountFormatted, + fieldRow.topValuesCount, + fieldRow.viewableInLens + ); + } + + for (const fieldRow of testData.expected.nonMetricFields!) { + await ml.dataVisualizerTable.assertNonMetricFieldContents( + fieldRow.type, + fieldRow.fieldName!, + fieldRow.docCountFormatted, + fieldRow.exampleCount, + fieldRow.viewableInLens, + false, + fieldRow.exampleContent + ); + } + }); + }); + } + + describe('field statistics in Discover', function () { + before(async function () { + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/module_sample_logs'); + await ml.testResources.createIndexPatternIfNeeded('ft_farequote', '@timestamp'); + await ml.testResources.createIndexPatternIfNeeded('ft_module_sample_logs', '@timestamp'); + await ml.testResources.createSavedSearchFarequoteKueryIfNeeded(); + await ml.testResources.createSavedSearchFarequoteLuceneIfNeeded(); + await ml.testResources.createSavedSearchFarequoteFilterAndLuceneIfNeeded(); + await ml.testResources.createSavedSearchFarequoteFilterAndKueryIfNeeded(); + + await ml.securityUI.loginAsMlPowerUser(); + }); + + after(async function () { + await clearAdvancedSetting(SHOW_FIELD_STATISTICS); + }); + + describe('when enabled', function () { + before(async function () { + await setAdvancedSettingCheckbox(SHOW_FIELD_STATISTICS, true); + }); + + after(async function () { + await clearAdvancedSetting(SHOW_FIELD_STATISTICS); + }); + + runTests(farequoteDataViewTestData); + runTests(farequoteKQLSearchTestData); + runTests(farequoteLuceneSearchTestData); + runTests(farequoteKQLFiltersSearchTestData); + runTests(farequoteLuceneFiltersSearchTestData); + runTests(sampleLogTestData); + }); + + describe('when disabled', function () { + before(async function () { + // Ensure that the setting is set to default state which is false + await setAdvancedSettingCheckbox(SHOW_FIELD_STATISTICS, false); + }); + + runTestsWhenDisabled(farequoteDataViewTestData); + }); + }); +} diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index_test_data.ts b/x-pack/test/functional/apps/ml/data_visualizer/index_test_data.ts new file mode 100644 index 0000000000000..6dd782487fdf8 --- /dev/null +++ b/x-pack/test/functional/apps/ml/data_visualizer/index_test_data.ts @@ -0,0 +1,533 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TestData } from './types'; +import { ML_JOB_FIELD_TYPES } from '../../../../../plugins/ml/common/constants/field_types'; + +export const farequoteDataViewTestData: TestData = { + suiteTitle: 'farequote index pattern', + isSavedSearch: false, + sourceIndexOrSavedSearch: 'ft_farequote', + fieldNameFilters: ['airline', '@timestamp'], + fieldTypeFilters: [ML_JOB_FIELD_TYPES.KEYWORD], + sampleSizeValidations: [ + { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, + { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, + ], + expected: { + totalDocCountFormatted: '86,274', + metricFields: [ + { + fieldName: 'responsetime', + type: ML_JOB_FIELD_TYPES.NUMBER, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + statsMaxDecimalPlaces: 3, + topValuesCount: 10, + viewableInLens: true, + }, + ], + nonMetricFields: [ + { + fieldName: '@timestamp', + type: ML_JOB_FIELD_TYPES.DATE, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + exampleCount: 2, + viewableInLens: true, + }, + { + fieldName: '@version', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: '@version.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'airline', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 10, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'type', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: 'type.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + ], + emptyFields: ['sourcetype'], + visibleMetricFieldsCount: 1, + totalMetricFieldsCount: 1, + populatedFieldsCount: 7, + totalFieldsCount: 8, + fieldNameFiltersResultCount: 2, + fieldTypeFiltersResultCount: 3, + }, +}; + +export const farequoteKQLSearchTestData: TestData = { + suiteTitle: 'KQL saved search', + isSavedSearch: true, + sourceIndexOrSavedSearch: 'ft_farequote_kuery', + fieldNameFilters: ['@version'], + fieldTypeFilters: [ML_JOB_FIELD_TYPES.DATE, ML_JOB_FIELD_TYPES.TEXT], + sampleSizeValidations: [ + { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, + { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, + ], + expected: { + totalDocCountFormatted: '34,415', + metricFields: [ + { + fieldName: 'responsetime', + type: ML_JOB_FIELD_TYPES.NUMBER, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + statsMaxDecimalPlaces: 3, + topValuesCount: 10, + viewableInLens: true, + }, + ], + nonMetricFields: [ + { + fieldName: '@timestamp', + type: ML_JOB_FIELD_TYPES.DATE, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + exampleCount: 2, + viewableInLens: true, + }, + { + fieldName: '@version', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: '@version.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'airline', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 5, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'type', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: 'type.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + ], + emptyFields: ['sourcetype'], + visibleMetricFieldsCount: 1, + totalMetricFieldsCount: 1, + populatedFieldsCount: 7, + totalFieldsCount: 8, + fieldNameFiltersResultCount: 1, + fieldTypeFiltersResultCount: 3, + }, +}; + +export const farequoteKQLFiltersSearchTestData: TestData = { + suiteTitle: 'KQL saved search and filters', + isSavedSearch: true, + sourceIndexOrSavedSearch: 'ft_farequote_filter_and_kuery', + fieldNameFilters: ['@version'], + fieldTypeFilters: [ML_JOB_FIELD_TYPES.DATE, ML_JOB_FIELD_TYPES.TEXT], + sampleSizeValidations: [ + { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, + { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, + ], + expected: { + totalDocCountFormatted: '5,674', + metricFields: [ + { + fieldName: 'responsetime', + type: ML_JOB_FIELD_TYPES.NUMBER, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + statsMaxDecimalPlaces: 3, + topValuesCount: 10, + viewableInLens: true, + }, + ], + nonMetricFields: [ + { + fieldName: '@timestamp', + type: ML_JOB_FIELD_TYPES.DATE, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + exampleCount: 2, + viewableInLens: true, + }, + { + fieldName: '@version', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: '@version.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'airline', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + exampleContent: ['ASA'], + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'type', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: 'type.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + ], + emptyFields: ['sourcetype'], + visibleMetricFieldsCount: 1, + totalMetricFieldsCount: 1, + populatedFieldsCount: 7, + totalFieldsCount: 8, + fieldNameFiltersResultCount: 1, + fieldTypeFiltersResultCount: 3, + }, +}; + +export const farequoteLuceneSearchTestData: TestData = { + suiteTitle: 'lucene saved search', + isSavedSearch: true, + sourceIndexOrSavedSearch: 'ft_farequote_lucene', + fieldNameFilters: ['@version.keyword', 'type'], + fieldTypeFilters: [ML_JOB_FIELD_TYPES.NUMBER], + sampleSizeValidations: [ + { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, + { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, + ], + expected: { + totalDocCountFormatted: '34,416', + metricFields: [ + { + fieldName: 'responsetime', + type: ML_JOB_FIELD_TYPES.NUMBER, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + statsMaxDecimalPlaces: 3, + topValuesCount: 10, + viewableInLens: true, + }, + ], + nonMetricFields: [ + { + fieldName: '@timestamp', + type: ML_JOB_FIELD_TYPES.DATE, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + exampleCount: 2, + viewableInLens: true, + }, + { + fieldName: '@version', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: '@version.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'airline', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 5, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'type', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: 'type.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + ], + emptyFields: ['sourcetype'], + visibleMetricFieldsCount: 1, + totalMetricFieldsCount: 1, + populatedFieldsCount: 7, + totalFieldsCount: 8, + fieldNameFiltersResultCount: 2, + fieldTypeFiltersResultCount: 1, + }, +}; + +export const farequoteLuceneFiltersSearchTestData: TestData = { + suiteTitle: 'lucene saved search and filter', + isSavedSearch: true, + sourceIndexOrSavedSearch: 'ft_farequote_filter_and_lucene', + fieldNameFilters: ['@version.keyword', 'type'], + fieldTypeFilters: [ML_JOB_FIELD_TYPES.NUMBER], + sampleSizeValidations: [ + { size: 1000, expected: { field: 'airline', docCountFormatted: '1000 (100%)' } }, + { size: 5000, expected: { field: '@timestamp', docCountFormatted: '5000 (100%)' } }, + ], + expected: { + totalDocCountFormatted: '5,673', + metricFields: [ + { + fieldName: 'responsetime', + type: ML_JOB_FIELD_TYPES.NUMBER, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + statsMaxDecimalPlaces: 3, + topValuesCount: 10, + viewableInLens: true, + }, + ], + nonMetricFields: [ + { + fieldName: '@timestamp', + type: ML_JOB_FIELD_TYPES.DATE, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '5000 (100%)', + exampleCount: 2, + viewableInLens: true, + }, + { + fieldName: '@version', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: '@version.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'airline', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + exampleContent: ['ASA'], + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + { + fieldName: 'type', + type: ML_JOB_FIELD_TYPES.TEXT, + existsInDocs: true, + aggregatable: false, + loading: false, + exampleCount: 1, + docCountFormatted: '', + viewableInLens: false, + }, + { + fieldName: 'type.keyword', + type: ML_JOB_FIELD_TYPES.KEYWORD, + existsInDocs: true, + aggregatable: true, + loading: false, + exampleCount: 1, + docCountFormatted: '5000 (100%)', + viewableInLens: true, + }, + ], + emptyFields: ['sourcetype'], + visibleMetricFieldsCount: 1, + totalMetricFieldsCount: 1, + populatedFieldsCount: 7, + totalFieldsCount: 8, + fieldNameFiltersResultCount: 2, + fieldTypeFiltersResultCount: 1, + }, +}; + +export const sampleLogTestData: TestData = { + suiteTitle: 'geo point field', + isSavedSearch: false, + sourceIndexOrSavedSearch: 'ft_module_sample_logs', + fieldNameFilters: ['geo.coordinates'], + fieldTypeFilters: [ML_JOB_FIELD_TYPES.GEO_POINT], + rowsPerPage: 50, + expected: { + totalDocCountFormatted: '408', + metricFields: [], + // only testing the geo_point fields + nonMetricFields: [ + { + fieldName: 'geo.coordinates', + type: ML_JOB_FIELD_TYPES.GEO_POINT, + existsInDocs: true, + aggregatable: true, + loading: false, + docCountFormatted: '408 (100%)', + exampleCount: 10, + viewableInLens: false, + }, + ], + emptyFields: [], + visibleMetricFieldsCount: 4, + totalMetricFieldsCount: 5, + populatedFieldsCount: 35, + totalFieldsCount: 36, + fieldNameFiltersResultCount: 1, + fieldTypeFiltersResultCount: 1, + }, + sampleSizeValidations: [ + { size: 1000, expected: { field: 'geo.coordinates', docCountFormatted: '408 (100%)' } }, + { size: 5000, expected: { field: '@timestamp', docCountFormatted: '408 (100%)' } }, + ], +}; diff --git a/x-pack/test/functional/apps/ml/data_visualizer/types.ts b/x-pack/test/functional/apps/ml/data_visualizer/types.ts new file mode 100644 index 0000000000000..5c3f890dba561 --- /dev/null +++ b/x-pack/test/functional/apps/ml/data_visualizer/types.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FieldVisConfig } from '../../../../../plugins/data_visualizer/public/application/common/components/stats_table/types'; + +export interface MetricFieldVisConfig extends FieldVisConfig { + statsMaxDecimalPlaces: number; + docCountFormatted: string; + topValuesCount: number; + viewableInLens: boolean; +} + +export interface NonMetricFieldVisConfig extends FieldVisConfig { + docCountFormatted: string; + exampleCount: number; + exampleContent?: string[]; + viewableInLens: boolean; +} + +export interface TestData { + suiteTitle: string; + isSavedSearch?: boolean; + sourceIndexOrSavedSearch: string; + fieldNameFilters: string[]; + fieldTypeFilters: string[]; + rowsPerPage?: 10 | 25 | 50; + sampleSizeValidations: Array<{ + size: number; + expected: { field: string; docCountFormatted: string }; + }>; + expected: { + totalDocCountFormatted: string; + metricFields?: MetricFieldVisConfig[]; + nonMetricFields?: NonMetricFieldVisConfig[]; + emptyFields: string[]; + visibleMetricFieldsCount: number; + totalMetricFieldsCount: number; + populatedFieldsCount: number; + totalFieldsCount: number; + fieldNameFiltersResultCount: number; + fieldTypeFiltersResultCount: number; + }; +} diff --git a/x-pack/test/functional/services/ml/custom_urls.ts b/x-pack/test/functional/services/ml/custom_urls.ts index 5b2bf0773719c..3d26236741a8a 100644 --- a/x-pack/test/functional/services/ml/custom_urls.ts +++ b/x-pack/test/functional/services/ml/custom_urls.ts @@ -169,7 +169,10 @@ export function MachineLearningCustomUrlsProvider({ async assertDiscoverCustomUrlAction(expectedHitCountFormatted: string) { await PageObjects.discover.waitForDiscoverAppOnScreen(); - await retry.tryForTime(5000, async () => { + // During cloud tests, the small browser width might cause hit count to be invisible + // so temporarily collapsing the sidebar ensures the count shows + await PageObjects.discover.closeSidebar(); + await retry.tryForTime(10 * 1000, async () => { const hitCount = await PageObjects.discover.getHitCount(); expect(hitCount).to.eql( expectedHitCountFormatted, diff --git a/x-pack/test/functional/services/ml/data_visualizer_table.ts b/x-pack/test/functional/services/ml/data_visualizer_table.ts index 8094f0ad1f8d2..860f2bd86bec7 100644 --- a/x-pack/test/functional/services/ml/data_visualizer_table.ts +++ b/x-pack/test/functional/services/ml/data_visualizer_table.ts @@ -361,7 +361,27 @@ export function MachineLearningDataVisualizerTableProvider( }); } - public async assertTopValuesContents(fieldName: string, expectedTopValuesCount: number) { + public async assertTopValuesContent(fieldName: string, expectedTopValues: string[]) { + const selector = this.detailsSelector(fieldName, 'dataVisualizerFieldDataTopValuesContent'); + const topValuesElement = await testSubjects.find(selector); + const topValuesBars = await topValuesElement.findAllByTestSubject( + 'dataVisualizerFieldDataTopValueBar' + ); + + const topValuesBarsValues = await Promise.all( + topValuesBars.map(async (bar) => { + const visibleText = await bar.getVisibleText(); + return visibleText ? visibleText.split('\n')[0] : undefined; + }) + ); + + expect(topValuesBarsValues).to.eql( + expectedTopValues, + `Expected top values for field '${fieldName}' to equal '${expectedTopValues}' (got '${topValuesBarsValues}')` + ); + } + + public async assertTopValuesCount(fieldName: string, expectedTopValuesCount: number) { const selector = this.detailsSelector(fieldName, 'dataVisualizerFieldDataTopValuesContent'); const topValuesElement = await testSubjects.find(selector); const topValuesBars = await topValuesElement.findAllByTestSubject( @@ -401,7 +421,7 @@ export function MachineLearningDataVisualizerTableProvider( await testSubjects.existOrFail( this.detailsSelector(fieldName, 'dataVisualizerFieldDataTopValues') ); - await this.assertTopValuesContents(fieldName, topValuesCount); + await this.assertTopValuesCount(fieldName, topValuesCount); if (checkDistributionPreviewExist) { await this.assertDistributionPreviewExist(fieldName); @@ -433,7 +453,8 @@ export function MachineLearningDataVisualizerTableProvider( public async assertKeywordFieldContents( fieldName: string, docCountFormatted: string, - topValuesCount: number + topValuesCount: number, + exampleContent?: string[] ) { await this.assertRowExists(fieldName); await this.assertFieldDocCount(fieldName, docCountFormatted); @@ -442,7 +463,11 @@ export function MachineLearningDataVisualizerTableProvider( await testSubjects.existOrFail( this.detailsSelector(fieldName, 'dataVisualizerFieldDataTopValuesContent') ); - await this.assertTopValuesContents(fieldName, topValuesCount); + await this.assertTopValuesCount(fieldName, topValuesCount); + + if (exampleContent) { + await this.assertTopValuesContent(fieldName, exampleContent); + } await this.ensureDetailsClosed(fieldName); } @@ -508,13 +533,19 @@ export function MachineLearningDataVisualizerTableProvider( docCountFormatted: string, exampleCount: number, viewableInLens: boolean, - hasActionMenu?: boolean + hasActionMenu?: boolean, + exampleContent?: string[] ) { // Currently the data used in the data visualizer tests only contains these field types. if (fieldType === ML_JOB_FIELD_TYPES.DATE) { await this.assertDateFieldContents(fieldName, docCountFormatted); } else if (fieldType === ML_JOB_FIELD_TYPES.KEYWORD) { - await this.assertKeywordFieldContents(fieldName, docCountFormatted, exampleCount); + await this.assertKeywordFieldContents( + fieldName, + docCountFormatted, + exampleCount, + exampleContent + ); } else if (fieldType === ML_JOB_FIELD_TYPES.TEXT) { await this.assertTextFieldContents(fieldName, docCountFormatted, exampleCount); } else if (fieldType === ML_JOB_FIELD_TYPES.GEO_POINT) { diff --git a/x-pack/test/functional_basic/apps/ml/data_visualizer/index.ts b/x-pack/test/functional_basic/apps/ml/data_visualizer/index.ts index 57a44a0b7952d..4d38e6a144a78 100644 --- a/x-pack/test/functional_basic/apps/ml/data_visualizer/index.ts +++ b/x-pack/test/functional_basic/apps/ml/data_visualizer/index.ts @@ -19,6 +19,11 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile( require.resolve('../../../../functional/apps/ml/data_visualizer/index_data_visualizer') ); + loadTestFile( + require.resolve( + '../../../../functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_discover' + ) + ); loadTestFile(require.resolve('./index_data_visualizer_actions_panel')); }); } From 5bdff367aa7d5d6a5935a09a8f38ff3922dd33f7 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 21 Oct 2021 18:41:50 +0100 Subject: [PATCH 31/39] fix(NA): creation of multiple processes on production by splitting no_transpilation when setting up node env (#115246) * fix(NA): adds no_transpilation_dist to avoid preserve_symlinks on dist * chore(NA): setup node env correctly on functional tests * chore(NA): try to fix tests * chore(NA): correctly separate split * chore(NA): check ensure preserve symlinks need * chore(NA): investigate path resolve result * chore(NA): investigate path resolve result #2 * chore(NA): comment out preserve symlinks * chore(NA): apply fs.realpathSync into the calculated REPO_ROOT paths on babel_register_for_test_plugins * chore(NA): removes debug code * chore(NA): move array definition * chore(NA): correctly import fs * chore(NA): add debug code * chore(NA): some more debug statements * chore(NA): remove ensure symlinks * chore(NA): trying to solve double symlinking * chore(NA): test mappings * chore(NA): process path * chore(NA): test a second map * chore(NA): using a different mappings * chore(NA): more debug cases * chore(NA): more debug logic * chore(NA): more debug cases * chore(NA): more debug cases * chore(NA): more debug cases * chore(NA): try to add realpathSync into require * chore(NA): try to add realpathSync into require * fix(NA): jenkins and buildkite run * chore(NA): add debug logs * chore(NA): correct path * chore(NA): correct path * chore(NA): add more test maps * chore(NA): add more test maps * chore(NA): add some more test maps experiments * chore(NA): try to remove another test map dep * chore(NA): try to remove another test map dep * chore(NA): try to remove another test map dep * chore(NA): try to remove another test map dep * chore(NA): try to remove another test map dep * chore(NA): try to remove another test map dep * chore(NA): try to remove another test map dep * chore(NA): try to remove another test map dep * chore(NA): include all correct transpilations for each jenkins path * chore(NA): include all correct transpilations for each used asset path * chore(NA): include all correct transpilations for each used asset path * chore(NA): remove jenkins support Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../lib/babel_register_for_test_plugins.js | 27 ++++++++++++------- src/setup_node_env/dist.js | 2 +- src/setup_node_env/no_transpilation.js | 10 +------ src/setup_node_env/no_transpilation_dist.js | 16 +++++++++++ 4 files changed, 35 insertions(+), 20 deletions(-) create mode 100644 src/setup_node_env/no_transpilation_dist.js diff --git a/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js b/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js index 2ded0e509c253..09ed81b62a09d 100644 --- a/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js +++ b/packages/kbn-test/src/functional_tests/lib/babel_register_for_test_plugins.js @@ -6,23 +6,30 @@ * Side Public License, v 1. */ +const Fs = require('fs'); const Path = require('path'); -const { REPO_ROOT } = require('@kbn/dev-utils'); +const { REPO_ROOT: REPO_ROOT_FOLLOWING_SYMLINKS } = require('@kbn/dev-utils'); +const BASE_REPO_ROOT = Path.resolve( + Fs.realpathSync(Path.resolve(REPO_ROOT_FOLLOWING_SYMLINKS, 'package.json')), + '..' +); + +const transpileKbnPaths = [ + 'test', + 'x-pack/test', + 'examples', + 'x-pack/examples', + // TODO: should should probably remove this link back to the source + 'x-pack/plugins/task_manager/server/config.ts', + 'src/core/utils/default_app_categories.ts', +].map((path) => Path.resolve(BASE_REPO_ROOT, path)); // modifies all future calls to require() to automatically // compile the required source with babel require('@babel/register')({ ignore: [/[\/\\](node_modules|target|dist)[\/\\]/], - only: [ - Path.resolve(REPO_ROOT, 'test'), - Path.resolve(REPO_ROOT, 'x-pack/test'), - Path.resolve(REPO_ROOT, 'examples'), - Path.resolve(REPO_ROOT, 'x-pack/examples'), - // TODO: should should probably remove this link back to the source - Path.resolve(REPO_ROOT, 'x-pack/plugins/task_manager/server/config.ts'), - Path.resolve(REPO_ROOT, 'src/core/utils/default_app_categories.ts'), - ], + only: transpileKbnPaths, babelrc: false, presets: [require.resolve('@kbn/babel-preset/node_preset')], extensions: ['.js', '.ts', '.tsx'], diff --git a/src/setup_node_env/dist.js b/src/setup_node_env/dist.js index 1d901b9ef5f06..3628a27a7793f 100644 --- a/src/setup_node_env/dist.js +++ b/src/setup_node_env/dist.js @@ -6,5 +6,5 @@ * Side Public License, v 1. */ -require('./no_transpilation'); +require('./no_transpilation_dist'); require('./polyfill'); diff --git a/src/setup_node_env/no_transpilation.js b/src/setup_node_env/no_transpilation.js index 1826f5bb0297d..b9497734b40bc 100644 --- a/src/setup_node_env/no_transpilation.js +++ b/src/setup_node_env/no_transpilation.js @@ -7,12 +7,4 @@ */ require('./ensure_node_preserve_symlinks'); - -// The following require statements MUST be executed before any others - BEGIN -require('./exit_on_warning'); -require('./harden'); -// The following require statements MUST be executed before any others - END - -require('symbol-observable'); -require('source-map-support/register'); -require('./node_version_validator'); +require('./no_transpilation_dist'); diff --git a/src/setup_node_env/no_transpilation_dist.js b/src/setup_node_env/no_transpilation_dist.js new file mode 100644 index 0000000000000..c52eba70f4ad3 --- /dev/null +++ b/src/setup_node_env/no_transpilation_dist.js @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// The following require statements MUST be executed before any others - BEGIN +require('./exit_on_warning'); +require('./harden'); +// The following require statements MUST be executed before any others - END + +require('symbol-observable'); +require('source-map-support/register'); +require('./node_version_validator'); From e3aba08ea9893fbb8f813115fab1ca5c0fbcc068 Mon Sep 17 00:00:00 2001 From: Marta Bondyra Date: Thu, 21 Oct 2021 19:43:30 +0200 Subject: [PATCH 32/39] [Lens] Fix editor blowing up when working on non-exisiting data view (#114816) * correct styles for config panel (if data view is unavailable, the margins are still ok) * temp * fix data views bugs * add test * integrate feedback * Update datapanel.tsx * Update x-pack/plugins/lens/public/indexpattern_datasource/loader.ts Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../lens/public/app_plugin/mounter.tsx | 4 +- .../config_panel/layer_panel.scss | 3 +- .../change_indexpattern.tsx | 7 +- .../dimension_panel/dimension_editor.scss | 4 + .../dimension_panel/dimension_editor.tsx | 2 +- .../dimension_panel/dimension_panel.tsx | 4 +- .../droppable/get_drop_props.ts | 3 + .../indexpattern_datasource/indexpattern.tsx | 33 ++++--- .../indexpattern_suggestions.ts | 6 +- .../indexpattern_datasource/layerpanel.tsx | 1 + .../indexpattern_datasource/loader.test.ts | 91 +++++++++++++++++++ .../public/indexpattern_datasource/loader.ts | 85 +++++++++-------- .../time_shift_utils.tsx | 6 +- .../public/indexpattern_datasource/utils.ts | 2 +- .../lens/public/state_management/selectors.ts | 10 +- .../functional/apps/lens/error_handling.ts | 69 ++++++++++++++ x-pack/test/functional/apps/lens/index.ts | 1 + .../fixtures/kbn_archiver/lens/errors.json | 78 ++++++++++++++++ .../fixtures/kbn_archiver/lens/errors2.json | 16 ++++ .../test/functional/page_objects/lens_page.ts | 14 ++- 20 files changed, 369 insertions(+), 70 deletions(-) create mode 100644 x-pack/test/functional/apps/lens/error_handling.ts create mode 100644 x-pack/test/functional/fixtures/kbn_archiver/lens/errors.json create mode 100644 x-pack/test/functional/fixtures/kbn_archiver/lens/errors2.json diff --git a/x-pack/plugins/lens/public/app_plugin/mounter.tsx b/x-pack/plugins/lens/public/app_plugin/mounter.tsx index 692fb0499176d..958f36d227cc6 100644 --- a/x-pack/plugins/lens/public/app_plugin/mounter.tsx +++ b/x-pack/plugins/lens/public/app_plugin/mounter.tsx @@ -40,7 +40,7 @@ import { LensAppState, LensState, } from '../state_management'; -import { getPreloadedState } from '../state_management/lens_slice'; +import { getPreloadedState, setState } from '../state_management/lens_slice'; import { getLensInspectorService } from '../lens_inspector_service'; export async function getLensServices( @@ -205,7 +205,7 @@ export async function mountApp( if (!initialContext) { data.query.filterManager.setAppFilters([]); } - + lensStore.dispatch(setState(emptyState)); lensStore.dispatch(loadInitial({ redirectCallback, initialInput, history: props.history })); return ( diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.scss b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.scss index 781a08d0f60bb..4c699ff899bba 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.scss +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.scss @@ -122,8 +122,7 @@ } .lnsLayerPanel__styleEditor { - margin-top: -$euiSizeS; - padding: 0 $euiSize $euiSize; + padding: $euiSize; } .lnsLayerPanel__colorIndicator { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx index ca44e833981ab..d5fabb9d7ef80 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx @@ -19,6 +19,7 @@ export type ChangeIndexPatternTriggerProps = ToolbarButtonProps & { export function ChangeIndexPattern({ indexPatternRefs, + isMissingCurrent, indexPatternId, onChangeIndexPattern, trigger, @@ -26,14 +27,13 @@ export function ChangeIndexPattern({ }: { trigger: ChangeIndexPatternTriggerProps; indexPatternRefs: IndexPatternRef[]; + isMissingCurrent?: boolean; onChangeIndexPattern: (newId: string) => void; indexPatternId?: string; selectableProps?: EuiSelectableProps; }) { const [isPopoverOpen, setPopoverIsOpen] = useState(false); - const isMissingCurrent = !indexPatternRefs.some(({ id }) => id === indexPatternId); - // be careful to only add color with a value, otherwise it will fallbacks to "primary" const colorProp = isMissingCurrent ? { @@ -61,6 +61,9 @@ export function ChangeIndexPattern({ setPopoverIsOpen(false)} display="block" diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.scss b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.scss index 30e2e00c7c85d..8b509e9c39b7b 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.scss +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.scss @@ -26,6 +26,10 @@ padding: $euiSize; } +.lnsIndexPatternDimensionEditor__section--collapseNext { + margin-bottom: -$euiSizeL; +} + .lnsIndexPatternDimensionEditor__section--shaded { background-color: $euiColorLightestShade; border-bottom: $euiBorderThin; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.tsx index 93718c88b251c..74628a31ea281 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.tsx @@ -758,7 +758,7 @@ export function DimensionEditor(props: DimensionEditorProps) { {TabContent} {!isFullscreen && !currentFieldIsInvalid && ( -
+
{!incompleteInfo && selectedColumn && temporaryState === 'none' && ( { const layer = state.layers[layerId]; + return !isColumnInvalid(layer, columnId, state.indexPatterns[layer.indexPatternId]); }, @@ -449,21 +450,23 @@ export function getIndexPatternDatasource({ } // Forward the indexpattern as well, as it is required by some operationType checks - const layerErrors = Object.entries(state.layers).map(([layerId, layer]) => - ( - getErrorMessages( - layer, - state.indexPatterns[layer.indexPatternId], - state, - layerId, - core - ) ?? [] - ).map((message) => ({ - shortMessage: '', // Not displayed currently - longMessage: typeof message === 'string' ? message : message.message, - fixAction: typeof message === 'object' ? message.fixAction : undefined, - })) - ); + const layerErrors = Object.entries(state.layers) + .filter(([_, layer]) => !!state.indexPatterns[layer.indexPatternId]) + .map(([layerId, layer]) => + ( + getErrorMessages( + layer, + state.indexPatterns[layer.indexPatternId], + state, + layerId, + core + ) ?? [] + ).map((message) => ({ + shortMessage: '', // Not displayed currently + longMessage: typeof message === 'string' ? message : message.message, + fixAction: typeof message === 'object' ? message.fixAction : undefined, + })) + ); // Single layer case, no need to explain more if (layerErrors.length <= 1) { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts index 604b63aa29246..d3c292b7e019b 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts @@ -406,7 +406,7 @@ export function getDatasourceSuggestionsFromCurrentState( layer.columns[columnId].isBucketed && layer.columns[columnId].dataType === 'date' ); const timeField = - indexPattern.timeFieldName && indexPattern.getFieldByName(indexPattern.timeFieldName); + indexPattern?.timeFieldName && indexPattern.getFieldByName(indexPattern.timeFieldName); const hasNumericDimension = buckets.length === 1 && @@ -428,7 +428,9 @@ export function getDatasourceSuggestionsFromCurrentState( // suggest current metric over time if there is a default time field suggestions.push(createSuggestionWithDefaultDateHistogram(state, layerId, timeField)); } - suggestions.push(...createAlternativeMetricSuggestions(indexPattern, layerId, state)); + if (indexPattern) { + suggestions.push(...createAlternativeMetricSuggestions(indexPattern, layerId, state)); + } } else { suggestions.push(...createSimplifiedTableSuggestions(state, layerId)); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx index 28f2921ccc771..27813846883b8 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx @@ -40,6 +40,7 @@ export function LayerPanel({ state, layerId, onChangeIndexPattern }: IndexPatter }} indexPatternId={layer.indexPatternId} indexPatternRefs={state.indexPatternRefs} + isMissingCurrent={!indexPattern} onChangeIndexPattern={onChangeIndexPattern} /> diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts b/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts index e9cad4fc3a37e..d731069e6e7eb 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts @@ -604,6 +604,97 @@ describe('loader', () => { indexPatternId: '2', }); }); + + it('should default to the first loaded index pattern if could not load any used one or one from the storage', async () => { + function mockIndexPatternsServiceWithConflict() { + return { + get: jest.fn(async (id: '1' | '2' | 'conflictId') => { + if (id === 'conflictId') { + return Promise.reject(new Error('Oh noes conflict boom')); + } + const result = { ...sampleIndexPatternsFromService[id], metaFields: [] }; + if (!result.fields) { + result.fields = []; + } + return result; + }), + getIdsWithTitle: jest.fn(async () => { + return [ + { + id: sampleIndexPatterns[1].id, + title: sampleIndexPatterns[1].title, + }, + { + id: sampleIndexPatterns[2].id, + title: sampleIndexPatterns[2].title, + }, + { + id: 'conflictId', + title: 'conflictId title', + }, + ]; + }), + } as unknown as Pick; + } + const savedState: IndexPatternPersistedState = { + layers: { + layerb: { + columnOrder: ['col1', 'col2'], + columns: { + col1: { + dataType: 'date', + isBucketed: true, + label: 'My date', + operationType: 'date_histogram', + params: { + interval: 'm', + }, + sourceField: 'timestamp', + }, + col2: { + dataType: 'number', + isBucketed: false, + label: 'Sum of bytes', + operationType: 'sum', + sourceField: 'bytes', + }, + }, + }, + }, + }; + const storage = createMockStorage({ indexPatternId: 'conflictId' }); + const state = await loadInitialState({ + persistedState: savedState, + references: [ + { + name: 'indexpattern-datasource-current-indexpattern', + id: 'conflictId', + type: 'index-pattern', + }, + { name: 'indexpattern-datasource-layer-layerb', id: 'conflictId', type: 'index-pattern' }, + ], + indexPatternsService: mockIndexPatternsServiceWithConflict(), + storage, + options: { isFullEditor: true }, + }); + + expect(state).toMatchObject({ + currentIndexPatternId: '1', + indexPatternRefs: [ + { id: 'conflictId', title: 'conflictId title' }, + { id: '1', title: sampleIndexPatterns['1'].title }, + { id: '2', title: sampleIndexPatterns['2'].title }, + ], + indexPatterns: { + '1': sampleIndexPatterns['1'], + }, + layers: { layerb: { ...savedState.layers.layerb, indexPatternId: 'conflictId' } }, + }); + + expect(storage.set).toHaveBeenCalledWith('lens-settings', { + indexPatternId: '1', + }); + }); }); describe('saved object references', () => { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts index ecd15732cf094..e1a15b87e5f5c 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { uniq, mapValues } from 'lodash'; +import { uniq, mapValues, difference } from 'lodash'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; import { HttpSetup, SavedObjectReference } from 'kibana/public'; import { InitializationOptions, StateSetter } from '../types'; @@ -38,10 +38,12 @@ type ErrorHandler = (err: Error) => void; export async function loadIndexPatterns({ indexPatternsService, patterns, + notUsedPatterns, cache, }: { indexPatternsService: IndexPatternsService; patterns: string[]; + notUsedPatterns?: string[]; cache: Record; }) { const missingIds = patterns.filter((id) => !cache[id]); @@ -59,13 +61,23 @@ export async function loadIndexPatterns({ missingIds.map((id) => indexPatternsService.get(id)) ); // ignore rejected indexpatterns here, they're already handled at the app level - const indexPatterns = allIndexPatterns + let indexPatterns = allIndexPatterns .filter( (response): response is PromiseFulfilledResult => response.status === 'fulfilled' ) .map((response) => response.value); + // if all of the used index patterns failed to load, try loading one of not used ones till one succeeds + for (let i = 0; notUsedPatterns && i < notUsedPatterns?.length && !indexPatterns.length; i++) { + const resp = await indexPatternsService.get(notUsedPatterns[i]).catch((e) => { + // do nothing + }); + if (resp) { + indexPatterns = [resp]; + } + } + const indexPatternsObject = indexPatterns.reduce( (acc, indexPattern) => { const newFields = indexPattern.fields @@ -220,65 +232,62 @@ export async function loadInitialState({ const indexPatternRefs: IndexPatternRef[] = await (isFullEditor ? loadIndexPatternRefs(indexPatternsService) : []); + const lastUsedIndexPatternId = getLastUsedIndexPatternId(storage, indexPatternRefs); + const fallbackId = lastUsedIndexPatternId || defaultIndexPatternId || indexPatternRefs[0]?.id; const state = persistedState && references ? injectReferences(persistedState, references) : undefined; - - const fallbackId = lastUsedIndexPatternId || defaultIndexPatternId || indexPatternRefs[0]?.id; - - const requiredPatterns: string[] = uniq( - state - ? Object.values(state.layers) - .map((l) => l.indexPatternId) - .concat(state.currentIndexPatternId) - : [fallbackId] + const usedPatterns = ( + initialContext + ? [initialContext.indexPatternId] + : uniq( + state + ? Object.values(state.layers) + .map((l) => l.indexPatternId) + .concat(state.currentIndexPatternId) + : [fallbackId] + ) ) // take out the undefined from the list .filter(Boolean); + const notUsedPatterns: string[] = difference( + uniq(indexPatternRefs.map(({ id }) => id)), + usedPatterns + ); + const availableIndexPatterns = new Set(indexPatternRefs.map(({ id }: IndexPatternRef) => id)); + + const indexPatterns = await loadIndexPatterns({ + indexPatternsService, + cache: {}, + patterns: usedPatterns, + notUsedPatterns, + }); + // Priority list: // * start with the indexPattern in context - // * then fallback to the required ones - // * then as last resort use a random one from the available list + // * then fallback to the used ones + // * then as last resort use a first one from not used refs const availableIndexPatternIds = [ initialContext?.indexPatternId, - ...requiredPatterns, - indexPatternRefs[0]?.id, - ].filter((id) => id != null && availableIndexPatterns.has(id)); + ...usedPatterns, + ...notUsedPatterns, + ].filter((id) => id != null && availableIndexPatterns.has(id) && indexPatterns[id]); const currentIndexPatternId = availableIndexPatternIds[0]; if (currentIndexPatternId) { setLastUsedIndexPatternId(storage, currentIndexPatternId); - - if (!requiredPatterns.includes(currentIndexPatternId)) { - requiredPatterns.push(currentIndexPatternId); - } - } - - const indexPatterns = await loadIndexPatterns({ - indexPatternsService, - cache: {}, - patterns: initialContext ? [initialContext.indexPatternId] : requiredPatterns, - }); - if (state) { - return { - ...state, - currentIndexPatternId: currentIndexPatternId ?? fallbackId, - indexPatternRefs, - indexPatterns, - existingFields: {}, - isFirstExistenceFetch: true, - }; } return { - currentIndexPatternId: currentIndexPatternId ?? fallbackId, + layers: {}, + ...state, + currentIndexPatternId, indexPatternRefs, indexPatterns, - layers: {}, existingFields: {}, isFirstExistenceFetch: true, }; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/time_shift_utils.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/time_shift_utils.tsx index 8cfd25914f59c..1258100375a39 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/time_shift_utils.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/time_shift_utils.tsx @@ -150,9 +150,13 @@ export function getStateTimeShiftWarningMessages( if (!state) return; const warningMessages: React.ReactNode[] = []; Object.entries(state.layers).forEach(([layerId, layer]) => { + const layerIndexPattern = state.indexPatterns[layer.indexPatternId]; + if (!layerIndexPattern) { + return; + } const dateHistogramInterval = getDateHistogramInterval( layer, - state.indexPatterns[layer.indexPatternId], + layerIndexPattern, activeData, layerId ); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts b/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts index 7d225d730a757..a4e36367cef47 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts @@ -53,7 +53,7 @@ export function isColumnInvalid( indexPattern: IndexPattern ) { const column: IndexPatternColumn | undefined = layer.columns[columnId]; - if (!column) return; + if (!column || !indexPattern) return; const operationDefinition = column.operationType && operationDefinitionMap[column.operationType]; // check also references for errors diff --git a/x-pack/plugins/lens/public/state_management/selectors.ts b/x-pack/plugins/lens/public/state_management/selectors.ts index c1d1700d8b3b5..4b201e35e5cf7 100644 --- a/x-pack/plugins/lens/public/state_management/selectors.ts +++ b/x-pack/plugins/lens/public/state_management/selectors.ts @@ -146,8 +146,10 @@ export const selectDatasourceLayers = createSelector( export const selectFramePublicAPI = createSelector( [selectDatasourceStates, selectActiveData, selectDatasourceMap], - (datasourceStates, activeData, datasourceMap) => ({ - datasourceLayers: getDatasourceLayers(datasourceStates, datasourceMap), - activeData, - }) + (datasourceStates, activeData, datasourceMap) => { + return { + datasourceLayers: getDatasourceLayers(datasourceStates, datasourceMap), + activeData, + }; + } ); diff --git a/x-pack/test/functional/apps/lens/error_handling.ts b/x-pack/test/functional/apps/lens/error_handling.ts new file mode 100644 index 0000000000000..99263ddbc9bee --- /dev/null +++ b/x-pack/test/functional/apps/lens/error_handling.ts @@ -0,0 +1,69 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const PageObjects = getPageObjects([ + 'visualize', + 'lens', + 'header', + 'timePicker', + 'common', + 'navigationalSearch', + ]); + const security = getService('security'); + const listingTable = getService('listingTable'); + const kibanaServer = getService('kibanaServer'); + + describe('Lens error handling', () => { + before(async () => { + await security.testUser.setRoles( + ['global_discover_read', 'global_visualize_read', 'test_logstash_reader'], + false + ); + // loading an object without reference fails, so we load data view + lens object and then unload data view + await kibanaServer.importExport.load( + 'x-pack/test/functional/fixtures/kbn_archiver/lens/errors' + ); + await kibanaServer.importExport.unload( + 'x-pack/test/functional/fixtures/kbn_archiver/lens/errors2' + ); + }); + + after(async () => { + await security.testUser.restoreDefaults(); + await kibanaServer.importExport.unload( + 'x-pack/test/functional/fixtures/kbn_archiver/lens/errors' + ); + }); + + describe('Index Pattern missing', () => { + it('the warning is shown and user can fix the state', async () => { + await PageObjects.visualize.gotoVisualizationLandingPage(); + await listingTable.searchForItemWithName('lnsMetricWithNonExistingDataView'); + await PageObjects.lens.clickVisualizeListItemTitle('lnsMetricWithNonExistingDataView'); + await PageObjects.lens.waitForMissingDataViewWarning(); + await PageObjects.lens.switchToVisualization('lnsDatatable'); + await PageObjects.lens.waitForMissingDataViewWarning(); + await PageObjects.lens.switchToVisualization('donut'); + await PageObjects.lens.waitForMissingDataViewWarning(); + await PageObjects.lens.switchToVisualization('line'); + await PageObjects.lens.waitForMissingDataViewWarning(); + await PageObjects.lens.openDimensionEditor('lnsXY_yDimensionPanel > lns-dimensionTrigger'); + await PageObjects.lens.closeDimensionEditor(); + await PageObjects.lens.dragDimensionToDimension( + 'lnsXY_yDimensionPanel > lns-dimensionTrigger', + 'lnsXY_yDimensionPanel > lns-empty-dimension' + ); + await PageObjects.lens.switchFirstLayerIndexPattern('log*'); + await PageObjects.lens.waitForMissingDataViewWarningDisappear(); + await PageObjects.lens.waitForEmptyWorkspace(); + }); + }); + }); +} diff --git a/x-pack/test/functional/apps/lens/index.ts b/x-pack/test/functional/apps/lens/index.ts index 5241d9724abb9..86ceb4812ad3b 100644 --- a/x-pack/test/functional/apps/lens/index.ts +++ b/x-pack/test/functional/apps/lens/index.ts @@ -56,6 +56,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./heatmap')); loadTestFile(require.resolve('./reference_lines')); loadTestFile(require.resolve('./inspector')); + loadTestFile(require.resolve('./error_handling')); // has to be last one in the suite because it overrides saved objects loadTestFile(require.resolve('./rollup')); diff --git a/x-pack/test/functional/fixtures/kbn_archiver/lens/errors.json b/x-pack/test/functional/fixtures/kbn_archiver/lens/errors.json new file mode 100644 index 0000000000000..9ecc14164d863 --- /dev/null +++ b/x-pack/test/functional/fixtures/kbn_archiver/lens/errors.json @@ -0,0 +1,78 @@ +{ + "attributes": { + "fields": "[]", + "timeFieldName": "@timestamp", + "title": "nonExistingDataView" + }, + "coreMigrationVersion": "8.0.0", + "id": "nonExistingDataView", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "updated_at": "2021-10-19T12:28:18.765Z", + "version": "WzU0ODUsMl0=" +} + +{ + "attributes": { + "description": "", + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "eba8a330-0b65-46d4-8b1d-1528a0b53261": { + "columnOrder": [ + "eb55bd47-20ca-47fd-bf84-f72ac4b924ff" + ], + "columns": { + "eb55bd47-20ca-47fd-bf84-f72ac4b924ff": { + "dataType": "number", + "isBucketed": false, + "label": "Median of AvgTicketPrice", + "operationType": "median", + "scale": "ratio", + "sourceField": "AvgTicketPrice" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "eb55bd47-20ca-47fd-bf84-f72ac4b924ff", + "layerId": "eba8a330-0b65-46d4-8b1d-1528a0b53261", + "layerType": "data" + } + }, + "title": "lnsMetricWithNonExistingDataView", + "visualizationType": "lnsMetric" + }, + "coreMigrationVersion": "8.0.0", + "id": "3454af30-30e2-11ec-8dbc-f13e30d4f8ac", + "migrationVersion": { + "lens": "8.0.0" + }, + "references": [ + { + "id": "nonExistingDataView", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "nonExistingDataView", + "name": "indexpattern-datasource-layer-eba8a330-0b65-46d4-8b1d-1528a0b53261", + "type": "index-pattern" + } + ], + "type": "lens", + "updated_at": "2021-10-19T13:41:04.038Z", + "version": "WzU2NjEsMl0=" +} \ No newline at end of file diff --git a/x-pack/test/functional/fixtures/kbn_archiver/lens/errors2.json b/x-pack/test/functional/fixtures/kbn_archiver/lens/errors2.json new file mode 100644 index 0000000000000..cfaafd51ad728 --- /dev/null +++ b/x-pack/test/functional/fixtures/kbn_archiver/lens/errors2.json @@ -0,0 +1,16 @@ +{ + "attributes": { + "fields": "[]", + "timeFieldName": "@timestamp", + "title": "nonExistingDataView" + }, + "coreMigrationVersion": "8.0.0", + "id": "nonExistingDataView", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "updated_at": "2021-10-19T12:28:18.765Z", + "version": "WzU0ODUsMl0=" +} diff --git a/x-pack/test/functional/page_objects/lens_page.ts b/x-pack/test/functional/page_objects/lens_page.ts index 01e860cf4bec5..790ac3ede496f 100644 --- a/x-pack/test/functional/page_objects/lens_page.ts +++ b/x-pack/test/functional/page_objects/lens_page.ts @@ -247,6 +247,18 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont }); }, + async waitForMissingDataViewWarning() { + await retry.try(async () => { + await testSubjects.existOrFail(`missing-refs-failure`); + }); + }, + + async waitForMissingDataViewWarningDisappear() { + await retry.try(async () => { + await testSubjects.missingOrFail(`missing-refs-failure`); + }); + }, + async waitForEmptyWorkspace() { await retry.try(async () => { await testSubjects.existOrFail(`empty-workspace`); @@ -688,7 +700,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont */ async switchFirstLayerIndexPattern(name: string) { await testSubjects.click('lns_layerIndexPatternLabel'); - await find.clickByCssSelector(`[title="${name}"]`); + await find.clickByCssSelector(`.lnsChangeIndexPatternPopover [title="${name}"]`); await PageObjects.header.waitUntilLoadingHasFinished(); }, From b6c3762556c7de424646fb973631799cda1132a5 Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Thu, 21 Oct 2021 19:44:41 +0200 Subject: [PATCH 33/39] [Fleet] remove old assets for manual upgrade too (#115926) * remove old assets for manual upgarde too * fixed tests * fixed tests --- .../services/epm/packages/cleanup.test.ts | 2 +- .../server/services/epm/packages/cleanup.ts | 2 +- .../server/services/package_policy.test.ts | 6 ++++++ .../fleet/server/services/package_policy.ts | 17 +++++++++++------ 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/epm/packages/cleanup.test.ts b/x-pack/plugins/fleet/server/services/epm/packages/cleanup.test.ts index 482e42a46060e..07fd2d400b8d5 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/cleanup.test.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/cleanup.test.ts @@ -17,7 +17,7 @@ import { removeOldAssets } from './cleanup'; jest.mock('../..', () => ({ appContextService: { getLogger: () => ({ - info: jest.fn(), + debug: jest.fn(), }), }, })); diff --git a/x-pack/plugins/fleet/server/services/epm/packages/cleanup.ts b/x-pack/plugins/fleet/server/services/epm/packages/cleanup.ts index d70beb53eddab..87eaa82aa85f0 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/cleanup.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/cleanup.ts @@ -57,7 +57,7 @@ async function removeAssetsFromVersion( if (total > 0) { appContextService .getLogger() - .info(`Package "${pkgName}-${oldVersion}" still being used by policies`); + .debug(`Package "${pkgName}-${oldVersion}" still being used by policies`); return; } diff --git a/x-pack/plugins/fleet/server/services/package_policy.test.ts b/x-pack/plugins/fleet/server/services/package_policy.test.ts index 9dc05ee2cb4ba..c25a1db753c73 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.test.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.test.ts @@ -128,6 +128,12 @@ jest.mock('./agent_policy', () => { }; }); +jest.mock('./epm/packages/cleanup', () => { + return { + removeOldAssets: jest.fn(), + }; +}); + const mockedFetchInfo = fetchInfo as jest.Mock>; type CombinedExternalCallback = PutPackagePolicyUpdateCallback | PostPackagePolicyCreateCallback; diff --git a/x-pack/plugins/fleet/server/services/package_policy.ts b/x-pack/plugins/fleet/server/services/package_policy.ts index 9928ce3063159..fa9df22eb5e8c 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.ts @@ -424,7 +424,17 @@ class PackagePolicyService { user: options?.user, }); - return (await this.get(soClient, id)) as PackagePolicy; + const newPolicy = (await this.get(soClient, id)) as PackagePolicy; + + if (packagePolicy.package) { + await removeOldAssets({ + soClient, + pkgName: packagePolicy.package.name, + currentVersion: packagePolicy.package.version, + }); + } + + return newPolicy; } public async delete( @@ -596,11 +606,6 @@ class PackagePolicyService { name: packagePolicy.name, success: true, }); - await removeOldAssets({ - soClient, - pkgName: packageInfo.name, - currentVersion: packageInfo.version, - }); } catch (error) { // We only want to specifically handle validation errors for the new package policy. If a more severe or // general error is thrown elsewhere during the upgrade process, we want to surface that directly in From 60a8a89cd45e55b43fa1b18c7fc9d63616368c3d Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Thu, 21 Oct 2021 12:33:16 -0600 Subject: [PATCH 34/39] [Maps] fix locked tooltip issues (#115583) * [Maps] fix locked tooltip issues * rename cleanTooltipStateForLayer to updateTooltipStateForLayer * remove duplicated return * remove commented out line * review feedback Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/actions/data_request_actions.ts | 60 +++++++++++-------- .../maps/public/actions/layer_actions.ts | 6 +- .../maps/public/actions/map_actions.ts | 4 +- .../maps/public/actions/tooltip_actions.ts | 46 ++++++++------ .../features_tooltip/feature_properties.tsx | 9 ++- .../features_tooltip/features_tooltip.tsx | 14 ++++- .../tooltip_control/tooltip_popover.tsx | 40 ++++++++----- 7 files changed, 112 insertions(+), 67 deletions(-) diff --git a/x-pack/plugins/maps/public/actions/data_request_actions.ts b/x-pack/plugins/maps/public/actions/data_request_actions.ts index 48b0a416b5f0f..b912e8c52e680 100644 --- a/x-pack/plugins/maps/public/actions/data_request_actions.ts +++ b/x-pack/plugins/maps/public/actions/data_request_actions.ts @@ -32,7 +32,7 @@ import { getEventHandlers, ResultMeta, } from '../reducers/non_serializable_instances'; -import { cleanTooltipStateForLayer } from './tooltip_actions'; +import { updateTooltipStateForLayer } from './tooltip_actions'; import { LAYER_DATA_LOAD_ENDED, LAYER_DATA_LOAD_ERROR, @@ -61,7 +61,7 @@ export type DataRequestContext = { ): void; onLoadError(dataId: string, requestToken: symbol, errorMessage: string): void; onJoinError(errorMessage: string): void; - updateSourceData(newData: unknown): void; + updateSourceData(newData: object): void; isRequestStillActive(dataId: string, requestToken: symbol): boolean; registerCancelCallback(requestToken: symbol, callback: () => void): void; dataFilters: DataFilters; @@ -280,27 +280,30 @@ function endDataLoad( throw new DataRequestAbortError(); } - const features = data && 'features' in data ? (data as FeatureCollection).features : []; + if (dataId === SOURCE_DATA_REQUEST_ID) { + const features = data && 'features' in data ? (data as FeatureCollection).features : []; + + const eventHandlers = getEventHandlers(getState()); + if (eventHandlers && eventHandlers.onDataLoadEnd) { + const layer = getLayerById(layerId, getState()); + const resultMeta: ResultMeta = {}; + if (layer && layer.getType() === LAYER_TYPE.VECTOR) { + const featuresWithoutCentroids = features.filter((feature) => { + return feature.properties ? !feature.properties[KBN_IS_CENTROID_FEATURE] : true; + }); + resultMeta.featuresCount = featuresWithoutCentroids.length; + } - const eventHandlers = getEventHandlers(getState()); - if (eventHandlers && eventHandlers.onDataLoadEnd) { - const layer = getLayerById(layerId, getState()); - const resultMeta: ResultMeta = {}; - if (layer && layer.getType() === LAYER_TYPE.VECTOR) { - const featuresWithoutCentroids = features.filter((feature) => { - return feature.properties ? !feature.properties[KBN_IS_CENTROID_FEATURE] : true; + eventHandlers.onDataLoadEnd({ + layerId, + dataId, + resultMeta, }); - resultMeta.featuresCount = featuresWithoutCentroids.length; } - eventHandlers.onDataLoadEnd({ - layerId, - dataId, - resultMeta, - }); + dispatch(updateTooltipStateForLayer(layerId, features)); } - dispatch(cleanTooltipStateForLayer(layerId, features)); dispatch({ type: LAYER_DATA_LOAD_ENDED, layerId, @@ -331,16 +334,19 @@ function onDataLoadError( ) => { dispatch(unregisterCancelCallback(requestToken)); - const eventHandlers = getEventHandlers(getState()); - if (eventHandlers && eventHandlers.onDataLoadError) { - eventHandlers.onDataLoadError({ - layerId, - dataId, - errorMessage, - }); + if (dataId === SOURCE_DATA_REQUEST_ID) { + const eventHandlers = getEventHandlers(getState()); + if (eventHandlers && eventHandlers.onDataLoadError) { + eventHandlers.onDataLoadError({ + layerId, + dataId, + errorMessage, + }); + } + + dispatch(updateTooltipStateForLayer(layerId)); } - dispatch(cleanTooltipStateForLayer(layerId)); dispatch({ type: LAYER_DATA_LOAD_ERROR, layerId, @@ -361,6 +367,10 @@ export function updateSourceDataRequest(layerId: string, newData: object) { newData, }); + if ('features' in newData) { + dispatch(updateTooltipStateForLayer(layerId, (newData as FeatureCollection).features)); + } + dispatch(updateStyleMeta(layerId)); }; } diff --git a/x-pack/plugins/maps/public/actions/layer_actions.ts b/x-pack/plugins/maps/public/actions/layer_actions.ts index d67aef645b03a..9e937d86515e2 100644 --- a/x-pack/plugins/maps/public/actions/layer_actions.ts +++ b/x-pack/plugins/maps/public/actions/layer_actions.ts @@ -41,7 +41,7 @@ import { UPDATE_SOURCE_PROP, } from './map_action_constants'; import { clearDataRequests, syncDataForLayerId, updateStyleMeta } from './data_request_actions'; -import { cleanTooltipStateForLayer } from './tooltip_actions'; +import { updateTooltipStateForLayer } from './tooltip_actions'; import { Attribution, JoinDescriptor, @@ -217,7 +217,7 @@ export function setLayerVisibility(layerId: string, makeVisible: boolean) { } if (!makeVisible) { - dispatch(cleanTooltipStateForLayer(layerId)); + dispatch(updateTooltipStateForLayer(layerId)); } dispatch({ @@ -504,7 +504,7 @@ function removeLayerFromLayerList(layerId: string) { layerGettingRemoved.getInFlightRequestTokens().forEach((requestToken) => { dispatch(cancelRequest(requestToken)); }); - dispatch(cleanTooltipStateForLayer(layerId)); + dispatch(updateTooltipStateForLayer(layerId)); layerGettingRemoved.destroy(); dispatch({ type: REMOVE_LAYER, diff --git a/x-pack/plugins/maps/public/actions/map_actions.ts b/x-pack/plugins/maps/public/actions/map_actions.ts index ba52203ce486b..cf1e22ab90f88 100644 --- a/x-pack/plugins/maps/public/actions/map_actions.ts +++ b/x-pack/plugins/maps/public/actions/map_actions.ts @@ -60,7 +60,7 @@ import { addLayer, addLayerWithoutDataSync } from './layer_actions'; import { MapSettings } from '../reducers/map'; import { DrawState, MapCenterAndZoom, MapExtent, Timeslice } from '../../common/descriptor_types'; import { INITIAL_LOCATION } from '../../common/constants'; -import { cleanTooltipStateForLayer } from './tooltip_actions'; +import { updateTooltipStateForLayer } from './tooltip_actions'; import { VectorLayer } from '../classes/layers/vector_layer'; import { SET_DRAW_MODE } from './ui_actions'; import { expandToTileBoundaries } from '../../common/geo_tile_utils'; @@ -171,7 +171,7 @@ export function mapExtentChanged(mapExtentState: MapExtentState) { if (prevZoom !== nextZoom) { getLayerList(getState()).map((layer) => { if (!layer.showAtZoomLevel(nextZoom)) { - dispatch(cleanTooltipStateForLayer(layer.getId())); + dispatch(updateTooltipStateForLayer(layer.getId())); } }); } diff --git a/x-pack/plugins/maps/public/actions/tooltip_actions.ts b/x-pack/plugins/maps/public/actions/tooltip_actions.ts index c1b5f8190a73a..67b6842caeb46 100644 --- a/x-pack/plugins/maps/public/actions/tooltip_actions.ts +++ b/x-pack/plugins/maps/public/actions/tooltip_actions.ts @@ -10,8 +10,8 @@ import { Dispatch } from 'redux'; import { Feature } from 'geojson'; import { getOpenTooltips } from '../selectors/map_selectors'; import { SET_OPEN_TOOLTIPS } from './map_action_constants'; -import { FEATURE_ID_PROPERTY_NAME } from '../../common/constants'; -import { TooltipState } from '../../common/descriptor_types'; +import { FEATURE_ID_PROPERTY_NAME, FEATURE_VISIBLE_PROPERTY_NAME } from '../../common/constants'; +import { TooltipFeature, TooltipState } from '../../common/descriptor_types'; import { MapStoreState } from '../reducers/store'; export function closeOnClickTooltip(tooltipId: string) { @@ -62,26 +62,36 @@ export function openOnHoverTooltip(tooltipState: TooltipState) { }; } -export function cleanTooltipStateForLayer(layerId: string, layerFeatures: Feature[] = []) { +export function updateTooltipStateForLayer(layerId: string, layerFeatures: Feature[] = []) { return (dispatch: Dispatch, getState: () => MapStoreState) => { - let featuresRemoved = false; const openTooltips = getOpenTooltips(getState()) .map((tooltipState) => { - const nextFeatures = tooltipState.features.filter((tooltipFeature) => { + const nextFeatures: TooltipFeature[] = []; + tooltipState.features.forEach((tooltipFeature) => { if (tooltipFeature.layerId !== layerId) { // feature from another layer, keep it - return true; + nextFeatures.push(tooltipFeature); } - // Keep feature if it is still in layer - return layerFeatures.some((layerFeature) => { - return layerFeature.properties![FEATURE_ID_PROPERTY_NAME] === tooltipFeature.id; + const updatedFeature = layerFeatures.find((layerFeature) => { + const isVisible = + layerFeature.properties![FEATURE_VISIBLE_PROPERTY_NAME] !== undefined + ? layerFeature.properties![FEATURE_VISIBLE_PROPERTY_NAME] + : true; + return ( + isVisible && layerFeature.properties![FEATURE_ID_PROPERTY_NAME] === tooltipFeature.id + ); }); - }); - if (tooltipState.features.length !== nextFeatures.length) { - featuresRemoved = true; - } + if (updatedFeature) { + nextFeatures.push({ + ...tooltipFeature, + mbProperties: { + ...updatedFeature.properties, + }, + }); + } + }); return { ...tooltipState, features: nextFeatures }; }) @@ -89,11 +99,9 @@ export function cleanTooltipStateForLayer(layerId: string, layerFeatures: Featur return tooltipState.features.length > 0; }); - if (featuresRemoved) { - dispatch({ - type: SET_OPEN_TOOLTIPS, - openTooltips, - }); - } + dispatch({ + type: SET_OPEN_TOOLTIPS, + openTooltips, + }); }; } diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx index 4d9de61ffa819..570c06ff4ae7f 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx +++ b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import _ from 'lodash'; import React, { Component, CSSProperties, RefObject, ReactNode } from 'react'; import { EuiCallOut, @@ -57,6 +58,7 @@ export class FeatureProperties extends Component { private _isMounted = false; private _prevLayerId: string = ''; private _prevFeatureId?: string | number = ''; + private _prevMbProperties?: GeoJsonProperties; private readonly _tableRef: RefObject = React.createRef(); state: State = { @@ -118,13 +120,18 @@ export class FeatureProperties extends Component { nextFeatureId?: string | number; mbProperties: GeoJsonProperties; }) => { - if (this._prevLayerId === nextLayerId && this._prevFeatureId === nextFeatureId) { + if ( + this._prevLayerId === nextLayerId && + this._prevFeatureId === nextFeatureId && + _.isEqual(this._prevMbProperties, mbProperties) + ) { // do not reload same feature properties return; } this._prevLayerId = nextLayerId; this._prevFeatureId = nextFeatureId; + this._prevMbProperties = mbProperties; this.setState({ properties: null, loadPropertiesErrorMsg: null, diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx index c0f792f626989..0d2ba07a5c956 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx +++ b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx @@ -62,8 +62,20 @@ export class FeaturesTooltip extends Component { static getDerivedStateFromProps(nextProps: Props, prevState: State) { if (nextProps.features !== prevState.prevFeatures) { + let nextCurrentFeature = nextProps.features ? nextProps.features[0] : null; + if (prevState.currentFeature) { + const updatedCurrentFeature = nextProps.features.find((tooltipFeature) => { + return ( + tooltipFeature.id === prevState.currentFeature!.id && + tooltipFeature.layerId === prevState.currentFeature!.layerId + ); + }); + if (updatedCurrentFeature) { + nextCurrentFeature = updatedCurrentFeature; + } + } return { - currentFeature: nextProps.features ? nextProps.features[0] : null, + currentFeature: nextCurrentFeature, view: PROPERTIES_VIEW, prevFeatures: nextProps.features, }; diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx index 0b7ba3468d30c..181952a142ede 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx +++ b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx @@ -44,15 +44,12 @@ interface Props { interface State { x?: number; y?: number; - isVisible: boolean; } export class TooltipPopover extends Component { private readonly _popoverRef: RefObject = React.createRef(); - state: State = { - isVisible: true, - }; + state: State = {}; componentDidMount() { this._updatePopoverPosition(); @@ -74,15 +71,19 @@ export class TooltipPopover extends Component { const lat = this.props.location[LAT_INDEX]; const lon = this.props.location[LON_INDEX]; const bounds = this.props.mbMap.getBounds(); - this.setState({ - x: nextPoint.x, - y: nextPoint.y, - isVisible: - lat < bounds.getNorth() && - lat > bounds.getSouth() && - lon > bounds.getWest() && - lon < bounds.getEast(), - }); + const isVisible = + lat < bounds.getNorth() && + lat > bounds.getSouth() && + lon > bounds.getWest() && + lon < bounds.getEast(); + if (!isVisible) { + this.props.closeTooltip(); + } else { + this.setState({ + x: nextPoint.x, + y: nextPoint.y, + }); + } }; _loadFeatureProperties = async ({ @@ -104,8 +105,15 @@ export class TooltipPopover extends Component { targetFeature = tooltipLayer.getFeatureById(featureId); } - const properties = targetFeature ? targetFeature.properties : mbProperties; - return await tooltipLayer.getPropertiesForTooltip(properties ? properties : {}); + let properties: GeoJsonProperties | undefined; + if (mbProperties) { + properties = mbProperties; + } else if (targetFeature?.properties) { + properties = targetFeature?.properties; + } else { + properties = {}; + } + return await tooltipLayer.getPropertiesForTooltip(properties); }; _getLayerName = async (layerId: string) => { @@ -143,7 +151,7 @@ export class TooltipPopover extends Component { }; render() { - if (!this.state.isVisible || this.state.x === undefined || this.state.y === undefined) { + if (this.state.x === undefined || this.state.y === undefined) { return null; } From 91b5c980d8006431df2a9562a2b6451ca653c798 Mon Sep 17 00:00:00 2001 From: Josh Dover <1813008+joshdover@users.noreply.github.com> Date: Thu, 21 Oct 2021 20:51:40 +0200 Subject: [PATCH 35/39] [Fleet] Update beats tutorial descriptions for unified integrations (#115829) Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> Co-authored-by: DeDe Morton --- .../services/sample_data/lib/register_with_integrations.ts | 2 +- src/plugins/home/server/tutorials/activemq_logs/index.ts | 4 ++-- .../home/server/tutorials/activemq_metrics/index.ts | 6 +++--- .../home/server/tutorials/aerospike_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/apache_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/apache_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/auditbeat/index.ts | 4 ++-- src/plugins/home/server/tutorials/auditd_logs/index.ts | 6 +++--- src/plugins/home/server/tutorials/aws_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/aws_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/azure_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/azure_metrics/index.ts | 4 ++-- src/plugins/home/server/tutorials/barracuda_logs/index.ts | 5 +++-- src/plugins/home/server/tutorials/bluecoat_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/cef_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/ceph_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/checkpoint_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/cisco_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/cloudwatch_logs/index.ts | 4 ++-- .../home/server/tutorials/cockroachdb_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/consul_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/coredns_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/coredns_metrics/index.ts | 6 +++--- .../home/server/tutorials/couchbase_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/couchdb_metrics/index.ts | 6 +++--- .../home/server/tutorials/crowdstrike_logs/index.ts | 5 +++-- src/plugins/home/server/tutorials/cylance_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/docker_metrics/index.ts | 6 +++--- .../home/server/tutorials/dropwizard_metrics/index.ts | 6 +++--- .../home/server/tutorials/elasticsearch_logs/index.ts | 4 ++-- .../home/server/tutorials/elasticsearch_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/envoyproxy_logs/index.ts | 4 ++-- .../home/server/tutorials/envoyproxy_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/etcd_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/f5_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/fortinet_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/gcp_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/gcp_metrics/index.ts | 7 +++---- src/plugins/home/server/tutorials/golang_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/gsuite_logs/index.ts | 6 +++--- src/plugins/home/server/tutorials/haproxy_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/haproxy_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/ibmmq_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/ibmmq_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/icinga_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/iis_logs/index.ts | 5 +++-- src/plugins/home/server/tutorials/iis_metrics/index.ts | 2 +- src/plugins/home/server/tutorials/imperva_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/infoblox_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/iptables_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/juniper_logs/index.ts | 2 +- src/plugins/home/server/tutorials/kafka_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/kafka_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/kibana_logs/index.ts | 2 +- src/plugins/home/server/tutorials/kibana_metrics/index.ts | 6 +++--- .../home/server/tutorials/kubernetes_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/logstash_logs/index.ts | 4 ++-- .../home/server/tutorials/logstash_metrics/index.ts | 6 +++--- .../home/server/tutorials/memcached_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/microsoft_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/misp_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/mongodb_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/mongodb_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/mssql_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/mssql_metrics/index.ts | 2 +- src/plugins/home/server/tutorials/munin_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/mysql_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/mysql_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/nats_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/nats_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/netflow_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/netscout_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/nginx_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/nginx_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/o365_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/okta_logs/index.ts | 4 ++-- .../home/server/tutorials/openmetrics_metrics/index.ts | 5 +++-- src/plugins/home/server/tutorials/oracle_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/osquery_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/panw_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/php_fpm_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/postgresql_logs/index.ts | 4 ++-- .../home/server/tutorials/postgresql_metrics/index.ts | 6 +++--- .../home/server/tutorials/prometheus_metrics/index.ts | 4 ++-- src/plugins/home/server/tutorials/rabbitmq_logs/index.ts | 4 ++-- .../home/server/tutorials/rabbitmq_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/radware_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/redis_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/redis_metrics/index.ts | 6 +++--- .../home/server/tutorials/redisenterprise_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/santa_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/sonicwall_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/sophos_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/squid_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/stan_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/statsd_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/suricata_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/system_logs/index.ts | 2 +- src/plugins/home/server/tutorials/system_metrics/index.ts | 7 ++++--- src/plugins/home/server/tutorials/tomcat_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/traefik_logs/index.ts | 4 ++-- src/plugins/home/server/tutorials/traefik_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/uptime_monitors/index.ts | 2 +- src/plugins/home/server/tutorials/uwsgi_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/vsphere_metrics/index.ts | 6 +++--- .../home/server/tutorials/windows_event_logs/index.ts | 6 +++--- src/plugins/home/server/tutorials/windows_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/zeek_logs/index.ts | 4 ++-- .../home/server/tutorials/zookeeper_metrics/index.ts | 6 +++--- src/plugins/home/server/tutorials/zscaler_logs/index.ts | 2 +- x-pack/plugins/apm/server/tutorial/index.ts | 2 +- x-pack/plugins/maps/server/tutorials/ems/index.ts | 2 +- 112 files changed, 265 insertions(+), 261 deletions(-) diff --git a/src/plugins/home/server/services/sample_data/lib/register_with_integrations.ts b/src/plugins/home/server/services/sample_data/lib/register_with_integrations.ts index e33cd58910fd6..d06dcacff18d9 100644 --- a/src/plugins/home/server/services/sample_data/lib/register_with_integrations.ts +++ b/src/plugins/home/server/services/sample_data/lib/register_with_integrations.ts @@ -22,7 +22,7 @@ export function registerSampleDatasetWithIntegration( defaultMessage: 'Sample Data', }), description: i18n.translate('home.sampleData.customIntegrationsDescription', { - defaultMessage: 'Add sample data and assets to Elasticsearch and Kibana.', + defaultMessage: 'Explore data in Kibana with these one-click data sets.', }), uiInternalPath: `${HOME_APP_BASE_PATH}#/tutorial_directory/sampleData`, isBeta: false, diff --git a/src/plugins/home/server/tutorials/activemq_logs/index.ts b/src/plugins/home/server/tutorials/activemq_logs/index.ts index 64a6fa575f5b6..a277b37838562 100644 --- a/src/plugins/home/server/tutorials/activemq_logs/index.ts +++ b/src/plugins/home/server/tutorials/activemq_logs/index.ts @@ -24,12 +24,12 @@ export function activemqLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'activemqLogs', name: i18n.translate('home.tutorials.activemqLogs.nameTitle', { - defaultMessage: 'ActiveMQ logs', + defaultMessage: 'ActiveMQ Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.activemqLogs.shortDescription', { - defaultMessage: 'Collect ActiveMQ logs with Filebeat.', + defaultMessage: 'Collect and parse logs from ActiveMQ instances with Filebeat.', }), longDescription: i18n.translate('home.tutorials.activemqLogs.longDescription', { defaultMessage: 'Collect ActiveMQ logs with Filebeat. \ diff --git a/src/plugins/home/server/tutorials/activemq_metrics/index.ts b/src/plugins/home/server/tutorials/activemq_metrics/index.ts index 7a59d6d4b70d1..9a001c149cda0 100644 --- a/src/plugins/home/server/tutorials/activemq_metrics/index.ts +++ b/src/plugins/home/server/tutorials/activemq_metrics/index.ts @@ -23,16 +23,16 @@ export function activemqMetricsSpecProvider(context: TutorialContext): TutorialS return { id: 'activemqMetrics', name: i18n.translate('home.tutorials.activemqMetrics.nameTitle', { - defaultMessage: 'ActiveMQ metrics', + defaultMessage: 'ActiveMQ Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.activemqMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from ActiveMQ instances.', + defaultMessage: 'Collect metrics from ActiveMQ instances with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.activemqMetrics.longDescription', { defaultMessage: - 'The `activemq` Metricbeat module fetches monitoring metrics from ActiveMQ instances \ + 'The `activemq` Metricbeat module fetches metrics from ActiveMQ instances \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-activemq.html', diff --git a/src/plugins/home/server/tutorials/aerospike_metrics/index.ts b/src/plugins/home/server/tutorials/aerospike_metrics/index.ts index 75dd45272db69..3e574f2c75496 100644 --- a/src/plugins/home/server/tutorials/aerospike_metrics/index.ts +++ b/src/plugins/home/server/tutorials/aerospike_metrics/index.ts @@ -23,17 +23,17 @@ export function aerospikeMetricsSpecProvider(context: TutorialContext): Tutorial return { id: 'aerospikeMetrics', name: i18n.translate('home.tutorials.aerospikeMetrics.nameTitle', { - defaultMessage: 'Aerospike metrics', + defaultMessage: 'Aerospike Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.aerospikeMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Aerospike server.', + defaultMessage: 'Collect metrics from Aerospike servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.aerospikeMetrics.longDescription', { defaultMessage: - 'The `aerospike` Metricbeat module fetches internal metrics from Aerospike. \ + 'The `aerospike` Metricbeat module fetches metrics from Aerospike. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-aerospike.html', diff --git a/src/plugins/home/server/tutorials/apache_logs/index.ts b/src/plugins/home/server/tutorials/apache_logs/index.ts index 8606a40fe0a23..6e588fd86588d 100644 --- a/src/plugins/home/server/tutorials/apache_logs/index.ts +++ b/src/plugins/home/server/tutorials/apache_logs/index.ts @@ -24,12 +24,12 @@ export function apacheLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'apacheLogs', name: i18n.translate('home.tutorials.apacheLogs.nameTitle', { - defaultMessage: 'Apache logs', + defaultMessage: 'Apache HTTP Server Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.apacheLogs.shortDescription', { - defaultMessage: 'Collect and parse access and error logs created by the Apache HTTP server.', + defaultMessage: 'Collect and parse logs from Apache HTTP servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.apacheLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/apache_metrics/index.ts b/src/plugins/home/server/tutorials/apache_metrics/index.ts index f013f3da737f0..17b495d1460c5 100644 --- a/src/plugins/home/server/tutorials/apache_metrics/index.ts +++ b/src/plugins/home/server/tutorials/apache_metrics/index.ts @@ -23,16 +23,16 @@ export function apacheMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: 'apacheMetrics', name: i18n.translate('home.tutorials.apacheMetrics.nameTitle', { - defaultMessage: 'Apache metrics', + defaultMessage: 'Apache HTTP Server Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.apacheMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Apache 2 HTTP server.', + defaultMessage: 'Collect metrics from Apache HTTP servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.apacheMetrics.longDescription', { defaultMessage: - 'The `apache` Metricbeat module fetches internal metrics from the Apache 2 HTTP server. \ + 'The `apache` Metricbeat module fetches metrics from Apache 2 HTTP server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-apache.html', diff --git a/src/plugins/home/server/tutorials/auditbeat/index.ts b/src/plugins/home/server/tutorials/auditbeat/index.ts index 8bd6450b1daa4..96e5d4bcda393 100644 --- a/src/plugins/home/server/tutorials/auditbeat/index.ts +++ b/src/plugins/home/server/tutorials/auditbeat/index.ts @@ -24,12 +24,12 @@ export function auditbeatSpecProvider(context: TutorialContext): TutorialSchema return { id: 'auditbeat', name: i18n.translate('home.tutorials.auditbeat.nameTitle', { - defaultMessage: 'Auditbeat', + defaultMessage: 'Auditbeat Events', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.auditbeat.shortDescription', { - defaultMessage: 'Collect audit data from your hosts.', + defaultMessage: 'Collect events from your servers with Auditbeat.', }), longDescription: i18n.translate('home.tutorials.auditbeat.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/auditd_logs/index.ts b/src/plugins/home/server/tutorials/auditd_logs/index.ts index a0d6f5f683e2c..6993196d93417 100644 --- a/src/plugins/home/server/tutorials/auditd_logs/index.ts +++ b/src/plugins/home/server/tutorials/auditd_logs/index.ts @@ -24,16 +24,16 @@ export function auditdLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'auditdLogs', name: i18n.translate('home.tutorials.auditdLogs.nameTitle', { - defaultMessage: 'Auditd logs', + defaultMessage: 'Auditd Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.auditdLogs.shortDescription', { - defaultMessage: 'Collect logs from the Linux auditd daemon.', + defaultMessage: 'Collect and parse logs from Linux audit daemon with Filebeat.', }), longDescription: i18n.translate('home.tutorials.auditdLogs.longDescription', { defaultMessage: - 'The module collects and parses logs from the audit daemon ( `auditd`). \ + 'The module collects and parses logs from audit daemon ( `auditd`). \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-auditd.html', diff --git a/src/plugins/home/server/tutorials/aws_logs/index.ts b/src/plugins/home/server/tutorials/aws_logs/index.ts index 3458800b33f0a..62fbcc4eebc18 100644 --- a/src/plugins/home/server/tutorials/aws_logs/index.ts +++ b/src/plugins/home/server/tutorials/aws_logs/index.ts @@ -24,12 +24,12 @@ export function awsLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'awsLogs', name: i18n.translate('home.tutorials.awsLogs.nameTitle', { - defaultMessage: 'AWS S3 based logs', + defaultMessage: 'AWS S3 based Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.awsLogs.shortDescription', { - defaultMessage: 'Collect AWS logs from S3 bucket with Filebeat.', + defaultMessage: 'Collect and parse logs from AWS S3 buckets with Filebeat.', }), longDescription: i18n.translate('home.tutorials.awsLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/aws_metrics/index.ts b/src/plugins/home/server/tutorials/aws_metrics/index.ts index 7c3a15a47d784..6bf1bf64bff9f 100644 --- a/src/plugins/home/server/tutorials/aws_metrics/index.ts +++ b/src/plugins/home/server/tutorials/aws_metrics/index.ts @@ -23,17 +23,17 @@ export function awsMetricsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'awsMetrics', name: i18n.translate('home.tutorials.awsMetrics.nameTitle', { - defaultMessage: 'AWS metrics', + defaultMessage: 'AWS Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.awsMetrics.shortDescription', { defaultMessage: - 'Fetch monitoring metrics for EC2 instances from the AWS APIs and Cloudwatch.', + 'Collect metrics for EC2 instances from AWS APIs and Cloudwatch with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.awsMetrics.longDescription', { defaultMessage: - 'The `aws` Metricbeat module fetches monitoring metrics from the AWS APIs and Cloudwatch. \ + 'The `aws` Metricbeat module fetches metrics from AWS APIs and Cloudwatch. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-aws.html', diff --git a/src/plugins/home/server/tutorials/azure_logs/index.ts b/src/plugins/home/server/tutorials/azure_logs/index.ts index 2bf1527a79c40..3c9438d9a6298 100644 --- a/src/plugins/home/server/tutorials/azure_logs/index.ts +++ b/src/plugins/home/server/tutorials/azure_logs/index.ts @@ -24,13 +24,13 @@ export function azureLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'azureLogs', name: i18n.translate('home.tutorials.azureLogs.nameTitle', { - defaultMessage: 'Azure logs', + defaultMessage: 'Azure Logs', }), moduleName, isBeta: true, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.azureLogs.shortDescription', { - defaultMessage: 'Collects Azure activity and audit related logs.', + defaultMessage: 'Collect and parse logs from Azure with Filebeat.', }), longDescription: i18n.translate('home.tutorials.azureLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/azure_metrics/index.ts b/src/plugins/home/server/tutorials/azure_metrics/index.ts index 4a6112510b333..310f954104634 100644 --- a/src/plugins/home/server/tutorials/azure_metrics/index.ts +++ b/src/plugins/home/server/tutorials/azure_metrics/index.ts @@ -23,13 +23,13 @@ export function azureMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'azureMetrics', name: i18n.translate('home.tutorials.azureMetrics.nameTitle', { - defaultMessage: 'Azure metrics', + defaultMessage: 'Azure Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.azureMetrics.shortDescription', { - defaultMessage: 'Fetch Azure Monitor metrics.', + defaultMessage: 'Collect metrics from Azure with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.azureMetrics.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/barracuda_logs/index.ts b/src/plugins/home/server/tutorials/barracuda_logs/index.ts index 35ce10e00892e..cdfd75b9728b9 100644 --- a/src/plugins/home/server/tutorials/barracuda_logs/index.ts +++ b/src/plugins/home/server/tutorials/barracuda_logs/index.ts @@ -24,12 +24,13 @@ export function barracudaLogsSpecProvider(context: TutorialContext): TutorialSch return { id: 'barracudaLogs', name: i18n.translate('home.tutorials.barracudaLogs.nameTitle', { - defaultMessage: 'Barracuda logs', + defaultMessage: 'Barracuda Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.barracudaLogs.shortDescription', { - defaultMessage: 'Collect Barracuda Web Application Firewall logs over syslog or from a file.', + defaultMessage: + 'Collect and parse logs from Barracuda Web Application Firewall with Filebeat.', }), longDescription: i18n.translate('home.tutorials.barracudaLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/bluecoat_logs/index.ts b/src/plugins/home/server/tutorials/bluecoat_logs/index.ts index 85c7dff85d3e6..a7db5b04ee40d 100644 --- a/src/plugins/home/server/tutorials/bluecoat_logs/index.ts +++ b/src/plugins/home/server/tutorials/bluecoat_logs/index.ts @@ -24,12 +24,12 @@ export function bluecoatLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'bluecoatLogs', name: i18n.translate('home.tutorials.bluecoatLogs.nameTitle', { - defaultMessage: 'Bluecoat logs', + defaultMessage: 'Bluecoat Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.bluecoatLogs.shortDescription', { - defaultMessage: 'Collect Blue Coat Director logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Blue Coat Director with Filebeat.', }), longDescription: i18n.translate('home.tutorials.bluecoatLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/cef_logs/index.ts b/src/plugins/home/server/tutorials/cef_logs/index.ts index cfd267f661d2a..1366198d610d7 100644 --- a/src/plugins/home/server/tutorials/cef_logs/index.ts +++ b/src/plugins/home/server/tutorials/cef_logs/index.ts @@ -24,12 +24,12 @@ export function cefLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'cefLogs', name: i18n.translate('home.tutorials.cefLogs.nameTitle', { - defaultMessage: 'CEF logs', + defaultMessage: 'CEF Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.cefLogs.shortDescription', { - defaultMessage: 'Collect Common Event Format (CEF) log data over syslog.', + defaultMessage: 'Collect and parse logs from Common Event Format (CEF) with Filebeat.', }), longDescription: i18n.translate('home.tutorials.cefLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/ceph_metrics/index.ts b/src/plugins/home/server/tutorials/ceph_metrics/index.ts index 821067d87c905..6a53789d26f7c 100644 --- a/src/plugins/home/server/tutorials/ceph_metrics/index.ts +++ b/src/plugins/home/server/tutorials/ceph_metrics/index.ts @@ -23,17 +23,17 @@ export function cephMetricsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'cephMetrics', name: i18n.translate('home.tutorials.cephMetrics.nameTitle', { - defaultMessage: 'Ceph metrics', + defaultMessage: 'Ceph Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.cephMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Ceph server.', + defaultMessage: 'Collect metrics from Ceph servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.cephMetrics.longDescription', { defaultMessage: - 'The `ceph` Metricbeat module fetches internal metrics from Ceph. \ + 'The `ceph` Metricbeat module fetches metrics from Ceph. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-ceph.html', diff --git a/src/plugins/home/server/tutorials/checkpoint_logs/index.ts b/src/plugins/home/server/tutorials/checkpoint_logs/index.ts index 9c0d5591ae35b..b5ea6be42403b 100644 --- a/src/plugins/home/server/tutorials/checkpoint_logs/index.ts +++ b/src/plugins/home/server/tutorials/checkpoint_logs/index.ts @@ -24,12 +24,12 @@ export function checkpointLogsSpecProvider(context: TutorialContext): TutorialSc return { id: 'checkpointLogs', name: i18n.translate('home.tutorials.checkpointLogs.nameTitle', { - defaultMessage: 'Check Point logs', + defaultMessage: 'Check Point Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.checkpointLogs.shortDescription', { - defaultMessage: 'Collect Check Point firewall logs.', + defaultMessage: 'Collect and parse logs from Check Point firewalls with Filebeat.', }), longDescription: i18n.translate('home.tutorials.checkpointLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/cisco_logs/index.ts b/src/plugins/home/server/tutorials/cisco_logs/index.ts index 50b79f448b316..922cfbf1e23ee 100644 --- a/src/plugins/home/server/tutorials/cisco_logs/index.ts +++ b/src/plugins/home/server/tutorials/cisco_logs/index.ts @@ -24,12 +24,12 @@ export function ciscoLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'ciscoLogs', name: i18n.translate('home.tutorials.ciscoLogs.nameTitle', { - defaultMessage: 'Cisco logs', + defaultMessage: 'Cisco Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.ciscoLogs.shortDescription', { - defaultMessage: 'Collect Cisco network device logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Cisco network devices with Filebeat.', }), longDescription: i18n.translate('home.tutorials.ciscoLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/cloudwatch_logs/index.ts b/src/plugins/home/server/tutorials/cloudwatch_logs/index.ts index cf0c27ed9be73..5564d11be4d19 100644 --- a/src/plugins/home/server/tutorials/cloudwatch_logs/index.ts +++ b/src/plugins/home/server/tutorials/cloudwatch_logs/index.ts @@ -23,12 +23,12 @@ export function cloudwatchLogsSpecProvider(context: TutorialContext): TutorialSc return { id: 'cloudwatchLogs', name: i18n.translate('home.tutorials.cloudwatchLogs.nameTitle', { - defaultMessage: 'AWS Cloudwatch logs', + defaultMessage: 'AWS Cloudwatch Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.cloudwatchLogs.shortDescription', { - defaultMessage: 'Collect Cloudwatch logs with Functionbeat.', + defaultMessage: 'Collect and parse logs from AWS Cloudwatch with Functionbeat.', }), longDescription: i18n.translate('home.tutorials.cloudwatchLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/cockroachdb_metrics/index.ts b/src/plugins/home/server/tutorials/cockroachdb_metrics/index.ts index e43d05a0a098f..535c8aaa90768 100644 --- a/src/plugins/home/server/tutorials/cockroachdb_metrics/index.ts +++ b/src/plugins/home/server/tutorials/cockroachdb_metrics/index.ts @@ -23,16 +23,16 @@ export function cockroachdbMetricsSpecProvider(context: TutorialContext): Tutori return { id: 'cockroachdbMetrics', name: i18n.translate('home.tutorials.cockroachdbMetrics.nameTitle', { - defaultMessage: 'CockroachDB metrics', + defaultMessage: 'CockroachDB Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.cockroachdbMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the CockroachDB server.', + defaultMessage: 'Collect metrics from CockroachDB servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.cockroachdbMetrics.longDescription', { defaultMessage: - 'The `cockroachdb` Metricbeat module fetches monitoring metrics from CockroachDB. \ + 'The `cockroachdb` Metricbeat module fetches metrics from CockroachDB. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-cockroachdb.html', diff --git a/src/plugins/home/server/tutorials/consul_metrics/index.ts b/src/plugins/home/server/tutorials/consul_metrics/index.ts index 915920db5882c..ca7179d55fd89 100644 --- a/src/plugins/home/server/tutorials/consul_metrics/index.ts +++ b/src/plugins/home/server/tutorials/consul_metrics/index.ts @@ -23,16 +23,16 @@ export function consulMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: 'consulMetrics', name: i18n.translate('home.tutorials.consulMetrics.nameTitle', { - defaultMessage: 'Consul metrics', + defaultMessage: 'Consul Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.consulMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the Consul server.', + defaultMessage: 'Collect metrics from Consul servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.consulMetrics.longDescription', { defaultMessage: - 'The `consul` Metricbeat module fetches monitoring metrics from Consul. \ + 'The `consul` Metricbeat module fetches metrics from Consul. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-consul.html', diff --git a/src/plugins/home/server/tutorials/coredns_logs/index.ts b/src/plugins/home/server/tutorials/coredns_logs/index.ts index 298464651f7fc..1261c67135001 100644 --- a/src/plugins/home/server/tutorials/coredns_logs/index.ts +++ b/src/plugins/home/server/tutorials/coredns_logs/index.ts @@ -24,12 +24,12 @@ export function corednsLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'corednsLogs', name: i18n.translate('home.tutorials.corednsLogs.nameTitle', { - defaultMessage: 'CoreDNS logs', + defaultMessage: 'CoreDNS Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.corednsLogs.shortDescription', { - defaultMessage: 'Collect CoreDNS logs.', + defaultMessage: 'Collect and parse logs from CoreDNS servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.corednsLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/coredns_metrics/index.ts b/src/plugins/home/server/tutorials/coredns_metrics/index.ts index 34912efb31a81..3abc14314a6ba 100644 --- a/src/plugins/home/server/tutorials/coredns_metrics/index.ts +++ b/src/plugins/home/server/tutorials/coredns_metrics/index.ts @@ -23,16 +23,16 @@ export function corednsMetricsSpecProvider(context: TutorialContext): TutorialSc return { id: 'corednsMetrics', name: i18n.translate('home.tutorials.corednsMetrics.nameTitle', { - defaultMessage: 'CoreDNS metrics', + defaultMessage: 'CoreDNS Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.corednsMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the CoreDNS server.', + defaultMessage: 'Collect metrics from CoreDNS servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.corednsMetrics.longDescription', { defaultMessage: - 'The `coredns` Metricbeat module fetches monitoring metrics from CoreDNS. \ + 'The `coredns` Metricbeat module fetches metrics from CoreDNS. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-coredns.html', diff --git a/src/plugins/home/server/tutorials/couchbase_metrics/index.ts b/src/plugins/home/server/tutorials/couchbase_metrics/index.ts index 1860991fd17b2..5c29aa2d9a524 100644 --- a/src/plugins/home/server/tutorials/couchbase_metrics/index.ts +++ b/src/plugins/home/server/tutorials/couchbase_metrics/index.ts @@ -23,17 +23,17 @@ export function couchbaseMetricsSpecProvider(context: TutorialContext): Tutorial return { id: 'couchbaseMetrics', name: i18n.translate('home.tutorials.couchbaseMetrics.nameTitle', { - defaultMessage: 'Couchbase metrics', + defaultMessage: 'Couchbase Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.couchbaseMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Couchbase.', + defaultMessage: 'Collect metrics from Couchbase databases with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.couchbaseMetrics.longDescription', { defaultMessage: - 'The `couchbase` Metricbeat module fetches internal metrics from Couchbase. \ + 'The `couchbase` Metricbeat module fetches metrics from Couchbase. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-couchbase.html', diff --git a/src/plugins/home/server/tutorials/couchdb_metrics/index.ts b/src/plugins/home/server/tutorials/couchdb_metrics/index.ts index a6c57f56cf2e1..00bea11d13d99 100644 --- a/src/plugins/home/server/tutorials/couchdb_metrics/index.ts +++ b/src/plugins/home/server/tutorials/couchdb_metrics/index.ts @@ -23,16 +23,16 @@ export function couchdbMetricsSpecProvider(context: TutorialContext): TutorialSc return { id: 'couchdbMetrics', name: i18n.translate('home.tutorials.couchdbMetrics.nameTitle', { - defaultMessage: 'CouchDB metrics', + defaultMessage: 'CouchDB Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.couchdbMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the CouchdB server.', + defaultMessage: 'Collect metrics from CouchDB servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.couchdbMetrics.longDescription', { defaultMessage: - 'The `couchdb` Metricbeat module fetches monitoring metrics from CouchDB. \ + 'The `couchdb` Metricbeat module fetches metrics from CouchDB. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-couchdb.html', diff --git a/src/plugins/home/server/tutorials/crowdstrike_logs/index.ts b/src/plugins/home/server/tutorials/crowdstrike_logs/index.ts index baaaef50a641f..a48ed4288210b 100644 --- a/src/plugins/home/server/tutorials/crowdstrike_logs/index.ts +++ b/src/plugins/home/server/tutorials/crowdstrike_logs/index.ts @@ -24,12 +24,13 @@ export function crowdstrikeLogsSpecProvider(context: TutorialContext): TutorialS return { id: 'crowdstrikeLogs', name: i18n.translate('home.tutorials.crowdstrikeLogs.nameTitle', { - defaultMessage: 'CrowdStrike logs', + defaultMessage: 'CrowdStrike Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.crowdstrikeLogs.shortDescription', { - defaultMessage: 'Collect CrowdStrike Falcon logs using the Falcon SIEM Connector.', + defaultMessage: + 'Collect and parse logs from CrowdStrike Falcon using the Falcon SIEM Connector with Filebeat.', }), longDescription: i18n.translate('home.tutorials.crowdstrikeLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/cylance_logs/index.ts b/src/plugins/home/server/tutorials/cylance_logs/index.ts index 9766f417b8870..64b79a41cd2e0 100644 --- a/src/plugins/home/server/tutorials/cylance_logs/index.ts +++ b/src/plugins/home/server/tutorials/cylance_logs/index.ts @@ -24,12 +24,12 @@ export function cylanceLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'cylanceLogs', name: i18n.translate('home.tutorials.cylanceLogs.nameTitle', { - defaultMessage: 'CylancePROTECT logs', + defaultMessage: 'CylancePROTECT Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.cylanceLogs.shortDescription', { - defaultMessage: 'Collect CylancePROTECT logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from CylancePROTECT with Filebeat.', }), longDescription: i18n.translate('home.tutorials.cylanceLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/docker_metrics/index.ts b/src/plugins/home/server/tutorials/docker_metrics/index.ts index 6a8687ef5d66e..ab80e6d644dbc 100644 --- a/src/plugins/home/server/tutorials/docker_metrics/index.ts +++ b/src/plugins/home/server/tutorials/docker_metrics/index.ts @@ -23,16 +23,16 @@ export function dockerMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: 'dockerMetrics', name: i18n.translate('home.tutorials.dockerMetrics.nameTitle', { - defaultMessage: 'Docker metrics', + defaultMessage: 'Docker Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.dockerMetrics.shortDescription', { - defaultMessage: 'Fetch metrics about your Docker containers.', + defaultMessage: 'Collect metrics from Docker containers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.dockerMetrics.longDescription', { defaultMessage: - 'The `docker` Metricbeat module fetches metrics from the Docker server. \ + 'The `docker` Metricbeat module fetches metrics from Docker server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-docker.html', diff --git a/src/plugins/home/server/tutorials/dropwizard_metrics/index.ts b/src/plugins/home/server/tutorials/dropwizard_metrics/index.ts index 86be26dd12ca7..9864d376966bb 100644 --- a/src/plugins/home/server/tutorials/dropwizard_metrics/index.ts +++ b/src/plugins/home/server/tutorials/dropwizard_metrics/index.ts @@ -23,17 +23,17 @@ export function dropwizardMetricsSpecProvider(context: TutorialContext): Tutoria return { id: 'dropwizardMetrics', name: i18n.translate('home.tutorials.dropwizardMetrics.nameTitle', { - defaultMessage: 'Dropwizard metrics', + defaultMessage: 'Dropwizard Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.dropwizardMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Dropwizard Java application.', + defaultMessage: 'Collect metrics from Dropwizard Java applciations with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.dropwizardMetrics.longDescription', { defaultMessage: - 'The `dropwizard` Metricbeat module fetches internal metrics from Dropwizard Java Application. \ + 'The `dropwizard` Metricbeat module fetches metrics from Dropwizard Java Application. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-dropwizard.html', diff --git a/src/plugins/home/server/tutorials/elasticsearch_logs/index.ts b/src/plugins/home/server/tutorials/elasticsearch_logs/index.ts index 1886a912fdcd2..6415781d02c06 100644 --- a/src/plugins/home/server/tutorials/elasticsearch_logs/index.ts +++ b/src/plugins/home/server/tutorials/elasticsearch_logs/index.ts @@ -24,13 +24,13 @@ export function elasticsearchLogsSpecProvider(context: TutorialContext): Tutoria return { id: 'elasticsearchLogs', name: i18n.translate('home.tutorials.elasticsearchLogs.nameTitle', { - defaultMessage: 'Elasticsearch logs', + defaultMessage: 'Elasticsearch Logs', }), moduleName, category: TutorialsCategory.LOGGING, isBeta: true, shortDescription: i18n.translate('home.tutorials.elasticsearchLogs.shortDescription', { - defaultMessage: 'Collect and parse logs created by Elasticsearch.', + defaultMessage: 'Collect and parse logs from Elasticsearch clusters with Filebeat.', }), longDescription: i18n.translate('home.tutorials.elasticsearchLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/elasticsearch_metrics/index.ts b/src/plugins/home/server/tutorials/elasticsearch_metrics/index.ts index 2adc2fd90fa70..3961d7f78c86c 100644 --- a/src/plugins/home/server/tutorials/elasticsearch_metrics/index.ts +++ b/src/plugins/home/server/tutorials/elasticsearch_metrics/index.ts @@ -23,17 +23,17 @@ export function elasticsearchMetricsSpecProvider(context: TutorialContext): Tuto return { id: 'elasticsearchMetrics', name: i18n.translate('home.tutorials.elasticsearchMetrics.nameTitle', { - defaultMessage: 'Elasticsearch metrics', + defaultMessage: 'Elasticsearch Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.elasticsearchMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Elasticsearch.', + defaultMessage: 'Collect metrics from Elasticsearch clusters with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.elasticsearchMetrics.longDescription', { defaultMessage: - 'The `elasticsearch` Metricbeat module fetches internal metrics from Elasticsearch. \ + 'The `elasticsearch` Metricbeat module fetches metrics from Elasticsearch. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-elasticsearch.html', diff --git a/src/plugins/home/server/tutorials/envoyproxy_logs/index.ts b/src/plugins/home/server/tutorials/envoyproxy_logs/index.ts index fda69a2467b25..55c85a5bdd2a4 100644 --- a/src/plugins/home/server/tutorials/envoyproxy_logs/index.ts +++ b/src/plugins/home/server/tutorials/envoyproxy_logs/index.ts @@ -24,12 +24,12 @@ export function envoyproxyLogsSpecProvider(context: TutorialContext): TutorialSc return { id: 'envoyproxyLogs', name: i18n.translate('home.tutorials.envoyproxyLogs.nameTitle', { - defaultMessage: 'Envoy Proxy logs', + defaultMessage: 'Envoy Proxy Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.envoyproxyLogs.shortDescription', { - defaultMessage: 'Collect Envoy Proxy logs.', + defaultMessage: 'Collect and parse logs from Envoy Proxy with Filebeat.', }), longDescription: i18n.translate('home.tutorials.envoyproxyLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/envoyproxy_metrics/index.ts b/src/plugins/home/server/tutorials/envoyproxy_metrics/index.ts index 263d1a2036fd0..e2f3b84739685 100644 --- a/src/plugins/home/server/tutorials/envoyproxy_metrics/index.ts +++ b/src/plugins/home/server/tutorials/envoyproxy_metrics/index.ts @@ -23,16 +23,16 @@ export function envoyproxyMetricsSpecProvider(context: TutorialContext): Tutoria return { id: 'envoyproxyMetrics', name: i18n.translate('home.tutorials.envoyproxyMetrics.nameTitle', { - defaultMessage: 'Envoy Proxy metrics', + defaultMessage: 'Envoy Proxy Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.envoyproxyMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from Envoy Proxy.', + defaultMessage: 'Collect metrics from Envoy Proxy with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.envoyproxyMetrics.longDescription', { defaultMessage: - 'The `envoyproxy` Metricbeat module fetches monitoring metrics from Envoy Proxy. \ + 'The `envoyproxy` Metricbeat module fetches metrics from Envoy Proxy. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-envoyproxy.html', diff --git a/src/plugins/home/server/tutorials/etcd_metrics/index.ts b/src/plugins/home/server/tutorials/etcd_metrics/index.ts index cda16ecf68e34..9ed153c21c257 100644 --- a/src/plugins/home/server/tutorials/etcd_metrics/index.ts +++ b/src/plugins/home/server/tutorials/etcd_metrics/index.ts @@ -23,17 +23,17 @@ export function etcdMetricsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'etcdMetrics', name: i18n.translate('home.tutorials.etcdMetrics.nameTitle', { - defaultMessage: 'Etcd metrics', + defaultMessage: 'Etcd Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.etcdMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Etcd server.', + defaultMessage: 'Collect metrics from Etcd servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.etcdMetrics.longDescription', { defaultMessage: - 'The `etcd` Metricbeat module fetches internal metrics from Etcd. \ + 'The `etcd` Metricbeat module fetches metrics from Etcd. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-etcd.html', diff --git a/src/plugins/home/server/tutorials/f5_logs/index.ts b/src/plugins/home/server/tutorials/f5_logs/index.ts index ebcdd4ece7f45..a407d1d3d5142 100644 --- a/src/plugins/home/server/tutorials/f5_logs/index.ts +++ b/src/plugins/home/server/tutorials/f5_logs/index.ts @@ -24,12 +24,12 @@ export function f5LogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'f5Logs', name: i18n.translate('home.tutorials.f5Logs.nameTitle', { - defaultMessage: 'F5 logs', + defaultMessage: 'F5 Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.f5Logs.shortDescription', { - defaultMessage: 'Collect F5 Big-IP Access Policy Manager logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from F5 Big-IP Access Policy Manager with Filebeat.', }), longDescription: i18n.translate('home.tutorials.f5Logs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/fortinet_logs/index.ts b/src/plugins/home/server/tutorials/fortinet_logs/index.ts index 3e7923b680c6e..2f6af3ba47280 100644 --- a/src/plugins/home/server/tutorials/fortinet_logs/index.ts +++ b/src/plugins/home/server/tutorials/fortinet_logs/index.ts @@ -24,12 +24,12 @@ export function fortinetLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'fortinetLogs', name: i18n.translate('home.tutorials.fortinetLogs.nameTitle', { - defaultMessage: 'Fortinet logs', + defaultMessage: 'Fortinet Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.fortinetLogs.shortDescription', { - defaultMessage: 'Collect Fortinet FortiOS logs over syslog.', + defaultMessage: 'Collect and parse logs from Fortinet FortiOS with Filebeat.', }), longDescription: i18n.translate('home.tutorials.fortinetLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/gcp_logs/index.ts b/src/plugins/home/server/tutorials/gcp_logs/index.ts index feef7d673c5d9..23d8e3364eb69 100644 --- a/src/plugins/home/server/tutorials/gcp_logs/index.ts +++ b/src/plugins/home/server/tutorials/gcp_logs/index.ts @@ -24,12 +24,12 @@ export function gcpLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'gcpLogs', name: i18n.translate('home.tutorials.gcpLogs.nameTitle', { - defaultMessage: 'Google Cloud logs', + defaultMessage: 'Google Cloud Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.gcpLogs.shortDescription', { - defaultMessage: 'Collect Google Cloud audit, firewall, and VPC flow logs.', + defaultMessage: 'Collect and parse logs from Google Cloud Platform with Filebeat.', }), longDescription: i18n.translate('home.tutorials.gcpLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/gcp_metrics/index.ts b/src/plugins/home/server/tutorials/gcp_metrics/index.ts index 5f198ed5f3cf2..7f397c1e1be7b 100644 --- a/src/plugins/home/server/tutorials/gcp_metrics/index.ts +++ b/src/plugins/home/server/tutorials/gcp_metrics/index.ts @@ -23,17 +23,16 @@ export function gcpMetricsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'gcpMetrics', name: i18n.translate('home.tutorials.gcpMetrics.nameTitle', { - defaultMessage: 'Google Cloud metrics', + defaultMessage: 'Google Cloud Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.gcpMetrics.shortDescription', { - defaultMessage: - 'Fetch monitoring metrics from Google Cloud Platform using Stackdriver Monitoring API.', + defaultMessage: 'Collect metrics from Google Cloud Platform with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.gcpMetrics.longDescription', { defaultMessage: - 'The `gcp` Metricbeat module fetches monitoring metrics from Google Cloud Platform using Stackdriver Monitoring API. \ + 'The `gcp` Metricbeat module fetches metrics from Google Cloud Platform using Stackdriver Monitoring API. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-gcp.html', diff --git a/src/plugins/home/server/tutorials/golang_metrics/index.ts b/src/plugins/home/server/tutorials/golang_metrics/index.ts index 85937e0dda0e0..50d09e42e8791 100644 --- a/src/plugins/home/server/tutorials/golang_metrics/index.ts +++ b/src/plugins/home/server/tutorials/golang_metrics/index.ts @@ -23,17 +23,17 @@ export function golangMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: moduleName + 'Metrics', name: i18n.translate('home.tutorials.golangMetrics.nameTitle', { - defaultMessage: 'Golang metrics', + defaultMessage: 'Golang Metrics', }), moduleName, isBeta: true, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.golangMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Golang app.', + defaultMessage: 'Collect metrics from Golang applications with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.golangMetrics.longDescription', { defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Golang app. \ + 'The `{moduleName}` Metricbeat module fetches metrics from a Golang app. \ [Learn more]({learnMoreLink}).', values: { moduleName, diff --git a/src/plugins/home/server/tutorials/gsuite_logs/index.ts b/src/plugins/home/server/tutorials/gsuite_logs/index.ts index 4d23c6b1cfdce..718558321cf78 100644 --- a/src/plugins/home/server/tutorials/gsuite_logs/index.ts +++ b/src/plugins/home/server/tutorials/gsuite_logs/index.ts @@ -24,16 +24,16 @@ export function gsuiteLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'gsuiteLogs', name: i18n.translate('home.tutorials.gsuiteLogs.nameTitle', { - defaultMessage: 'GSuite logs', + defaultMessage: 'GSuite Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.gsuiteLogs.shortDescription', { - defaultMessage: 'Collect GSuite activity reports.', + defaultMessage: 'Collect and parse activity reports from GSuite with Filebeat.', }), longDescription: i18n.translate('home.tutorials.gsuiteLogs.longDescription', { defaultMessage: - 'This is a module for ingesting data from the different GSuite audit reports APIs. \ + 'This is a module for ingesting data from different GSuite audit reports APIs. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.filebeat}/filebeat-module-gsuite.html', diff --git a/src/plugins/home/server/tutorials/haproxy_logs/index.ts b/src/plugins/home/server/tutorials/haproxy_logs/index.ts index 0b0fd35f07058..c3765317ecbe0 100644 --- a/src/plugins/home/server/tutorials/haproxy_logs/index.ts +++ b/src/plugins/home/server/tutorials/haproxy_logs/index.ts @@ -24,12 +24,12 @@ export function haproxyLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'haproxyLogs', name: i18n.translate('home.tutorials.haproxyLogs.nameTitle', { - defaultMessage: 'HAProxy logs', + defaultMessage: 'HAProxy Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.haproxyLogs.shortDescription', { - defaultMessage: 'Collect HAProxy logs.', + defaultMessage: 'Collect and parse logs from HAProxy servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.haproxyLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/haproxy_metrics/index.ts b/src/plugins/home/server/tutorials/haproxy_metrics/index.ts index e37f0ffc4b916..49f1d32dc4c82 100644 --- a/src/plugins/home/server/tutorials/haproxy_metrics/index.ts +++ b/src/plugins/home/server/tutorials/haproxy_metrics/index.ts @@ -23,17 +23,17 @@ export function haproxyMetricsSpecProvider(context: TutorialContext): TutorialSc return { id: 'haproxyMetrics', name: i18n.translate('home.tutorials.haproxyMetrics.nameTitle', { - defaultMessage: 'HAProxy metrics', + defaultMessage: 'HAProxy Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.haproxyMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the HAProxy server.', + defaultMessage: 'Collect metrics from HAProxy servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.haproxyMetrics.longDescription', { defaultMessage: - 'The `haproxy` Metricbeat module fetches internal metrics from HAProxy. \ + 'The `haproxy` Metricbeat module fetches metrics from HAProxy. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-haproxy.html', diff --git a/src/plugins/home/server/tutorials/ibmmq_logs/index.ts b/src/plugins/home/server/tutorials/ibmmq_logs/index.ts index 646747d1a49f8..21b60a9ab5a5c 100644 --- a/src/plugins/home/server/tutorials/ibmmq_logs/index.ts +++ b/src/plugins/home/server/tutorials/ibmmq_logs/index.ts @@ -24,12 +24,12 @@ export function ibmmqLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'ibmmqLogs', name: i18n.translate('home.tutorials.ibmmqLogs.nameTitle', { - defaultMessage: 'IBM MQ logs', + defaultMessage: 'IBM MQ Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.ibmmqLogs.shortDescription', { - defaultMessage: 'Collect IBM MQ logs with Filebeat.', + defaultMessage: 'Collect and parse logs from IBM MQ with Filebeat.', }), longDescription: i18n.translate('home.tutorials.ibmmqLogs.longDescription', { defaultMessage: 'Collect IBM MQ logs with Filebeat. \ diff --git a/src/plugins/home/server/tutorials/ibmmq_metrics/index.ts b/src/plugins/home/server/tutorials/ibmmq_metrics/index.ts index 3862bd9ca85eb..706003f0eab48 100644 --- a/src/plugins/home/server/tutorials/ibmmq_metrics/index.ts +++ b/src/plugins/home/server/tutorials/ibmmq_metrics/index.ts @@ -23,16 +23,16 @@ export function ibmmqMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'ibmmqMetrics', name: i18n.translate('home.tutorials.ibmmqMetrics.nameTitle', { - defaultMessage: 'IBM MQ metrics', + defaultMessage: 'IBM MQ Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.ibmmqMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from IBM MQ instances.', + defaultMessage: 'Collect metrics from IBM MQ instances with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.ibmmqMetrics.longDescription', { defaultMessage: - 'The `ibmmq` Metricbeat module fetches monitoring metrics from IBM MQ instances \ + 'The `ibmmq` Metricbeat module fetches metrics from IBM MQ instances \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-ibmmq.html', diff --git a/src/plugins/home/server/tutorials/icinga_logs/index.ts b/src/plugins/home/server/tutorials/icinga_logs/index.ts index 0dae93b70343b..dc730022262c2 100644 --- a/src/plugins/home/server/tutorials/icinga_logs/index.ts +++ b/src/plugins/home/server/tutorials/icinga_logs/index.ts @@ -24,12 +24,12 @@ export function icingaLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'icingaLogs', name: i18n.translate('home.tutorials.icingaLogs.nameTitle', { - defaultMessage: 'Icinga logs', + defaultMessage: 'Icinga Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.icingaLogs.shortDescription', { - defaultMessage: 'Collect Icinga main, debug, and startup logs.', + defaultMessage: 'Collect and parse main, debug, and startup logs from Icinga with Filebeat.', }), longDescription: i18n.translate('home.tutorials.icingaLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/iis_logs/index.ts b/src/plugins/home/server/tutorials/iis_logs/index.ts index 5393edf6ab148..0dbc5bbdc75b8 100644 --- a/src/plugins/home/server/tutorials/iis_logs/index.ts +++ b/src/plugins/home/server/tutorials/iis_logs/index.ts @@ -24,12 +24,13 @@ export function iisLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'iisLogs', name: i18n.translate('home.tutorials.iisLogs.nameTitle', { - defaultMessage: 'IIS logs', + defaultMessage: 'IIS Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.iisLogs.shortDescription', { - defaultMessage: 'Collect and parse access and error logs created by the IIS HTTP server.', + defaultMessage: + 'Collect and parse access and error logs from IIS HTTP servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.iisLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/iis_metrics/index.ts b/src/plugins/home/server/tutorials/iis_metrics/index.ts index dbfa474dc9c89..d57e4688ba753 100644 --- a/src/plugins/home/server/tutorials/iis_metrics/index.ts +++ b/src/plugins/home/server/tutorials/iis_metrics/index.ts @@ -28,7 +28,7 @@ export function iisMetricsSpecProvider(context: TutorialContext): TutorialSchema moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.iisMetrics.shortDescription', { - defaultMessage: 'Collect IIS server related metrics.', + defaultMessage: 'Collect metrics from IIS HTTP servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.iisMetrics.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/imperva_logs/index.ts b/src/plugins/home/server/tutorials/imperva_logs/index.ts index 71c3af3809e2e..1cbe707f813ee 100644 --- a/src/plugins/home/server/tutorials/imperva_logs/index.ts +++ b/src/plugins/home/server/tutorials/imperva_logs/index.ts @@ -24,12 +24,12 @@ export function impervaLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'impervaLogs', name: i18n.translate('home.tutorials.impervaLogs.nameTitle', { - defaultMessage: 'Imperva logs', + defaultMessage: 'Imperva Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.impervaLogs.shortDescription', { - defaultMessage: 'Collect Imperva SecureSphere logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Imperva SecureSphere with Filebeat.', }), longDescription: i18n.translate('home.tutorials.impervaLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/infoblox_logs/index.ts b/src/plugins/home/server/tutorials/infoblox_logs/index.ts index 5329444dfa85f..8dce2bf00b2e2 100644 --- a/src/plugins/home/server/tutorials/infoblox_logs/index.ts +++ b/src/plugins/home/server/tutorials/infoblox_logs/index.ts @@ -24,12 +24,12 @@ export function infobloxLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'infobloxLogs', name: i18n.translate('home.tutorials.infobloxLogs.nameTitle', { - defaultMessage: 'Infoblox logs', + defaultMessage: 'Infoblox Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.infobloxLogs.shortDescription', { - defaultMessage: 'Collect Infoblox NIOS logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Infoblox NIOS with Filebeat.', }), longDescription: i18n.translate('home.tutorials.infobloxLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/iptables_logs/index.ts b/src/plugins/home/server/tutorials/iptables_logs/index.ts index 85faf169f8714..6d298e88a2dfb 100644 --- a/src/plugins/home/server/tutorials/iptables_logs/index.ts +++ b/src/plugins/home/server/tutorials/iptables_logs/index.ts @@ -24,12 +24,12 @@ export function iptablesLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'iptablesLogs', name: i18n.translate('home.tutorials.iptablesLogs.nameTitle', { - defaultMessage: 'Iptables logs', + defaultMessage: 'Iptables Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.iptablesLogs.shortDescription', { - defaultMessage: 'Collect iptables and ip6tables logs.', + defaultMessage: 'Collect and parse logs from iptables and ip6tables with Filebeat.', }), longDescription: i18n.translate('home.tutorials.iptablesLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/juniper_logs/index.ts b/src/plugins/home/server/tutorials/juniper_logs/index.ts index f9174d8a089e0..7430e4705a5f4 100644 --- a/src/plugins/home/server/tutorials/juniper_logs/index.ts +++ b/src/plugins/home/server/tutorials/juniper_logs/index.ts @@ -29,7 +29,7 @@ export function juniperLogsSpecProvider(context: TutorialContext): TutorialSchem moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.juniperLogs.shortDescription', { - defaultMessage: 'Collect Juniper JUNOS logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Juniper JUNOS with Filebeat.', }), longDescription: i18n.translate('home.tutorials.juniperLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/kafka_logs/index.ts b/src/plugins/home/server/tutorials/kafka_logs/index.ts index 5b877cadcbec6..9ccc06eb222c7 100644 --- a/src/plugins/home/server/tutorials/kafka_logs/index.ts +++ b/src/plugins/home/server/tutorials/kafka_logs/index.ts @@ -24,12 +24,12 @@ export function kafkaLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'kafkaLogs', name: i18n.translate('home.tutorials.kafkaLogs.nameTitle', { - defaultMessage: 'Kafka logs', + defaultMessage: 'Kafka Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.kafkaLogs.shortDescription', { - defaultMessage: 'Collect and parse logs created by Kafka.', + defaultMessage: 'Collect and parse logs from Kafka servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.kafkaLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/kafka_metrics/index.ts b/src/plugins/home/server/tutorials/kafka_metrics/index.ts index 92f6744b91cbe..973ec06b58fdf 100644 --- a/src/plugins/home/server/tutorials/kafka_metrics/index.ts +++ b/src/plugins/home/server/tutorials/kafka_metrics/index.ts @@ -23,17 +23,17 @@ export function kafkaMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'kafkaMetrics', name: i18n.translate('home.tutorials.kafkaMetrics.nameTitle', { - defaultMessage: 'Kafka metrics', + defaultMessage: 'Kafka Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.kafkaMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Kafka server.', + defaultMessage: 'Collect metrics from Kafka servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.kafkaMetrics.longDescription', { defaultMessage: - 'The `kafka` Metricbeat module fetches internal metrics from Kafka. \ + 'The `kafka` Metricbeat module fetches metrics from Kafka. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-kafka.html', diff --git a/src/plugins/home/server/tutorials/kibana_logs/index.ts b/src/plugins/home/server/tutorials/kibana_logs/index.ts index 988af821ef9e3..9863a53700a55 100644 --- a/src/plugins/home/server/tutorials/kibana_logs/index.ts +++ b/src/plugins/home/server/tutorials/kibana_logs/index.ts @@ -29,7 +29,7 @@ export function kibanaLogsSpecProvider(context: TutorialContext): TutorialSchema moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.kibanaLogs.shortDescription', { - defaultMessage: 'Collect Kibana logs.', + defaultMessage: 'Collect and parse logs from Kibana with Filebeat.', }), longDescription: i18n.translate('home.tutorials.kibanaLogs.longDescription', { defaultMessage: 'This is the Kibana module. \ diff --git a/src/plugins/home/server/tutorials/kibana_metrics/index.ts b/src/plugins/home/server/tutorials/kibana_metrics/index.ts index dfe4efe4f7337..3d0eb691ede51 100644 --- a/src/plugins/home/server/tutorials/kibana_metrics/index.ts +++ b/src/plugins/home/server/tutorials/kibana_metrics/index.ts @@ -23,17 +23,17 @@ export function kibanaMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: 'kibanaMetrics', name: i18n.translate('home.tutorials.kibanaMetrics.nameTitle', { - defaultMessage: 'Kibana metrics', + defaultMessage: 'Kibana Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.kibanaMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Kibana.', + defaultMessage: 'Collect metrics from Kibana with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.kibanaMetrics.longDescription', { defaultMessage: - 'The `kibana` Metricbeat module fetches internal metrics from Kibana. \ + 'The `kibana` Metricbeat module fetches metrics from Kibana. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-kibana.html', diff --git a/src/plugins/home/server/tutorials/kubernetes_metrics/index.ts b/src/plugins/home/server/tutorials/kubernetes_metrics/index.ts index 4a694560f5c28..9c66125ee0cfe 100644 --- a/src/plugins/home/server/tutorials/kubernetes_metrics/index.ts +++ b/src/plugins/home/server/tutorials/kubernetes_metrics/index.ts @@ -23,16 +23,16 @@ export function kubernetesMetricsSpecProvider(context: TutorialContext): Tutoria return { id: 'kubernetesMetrics', name: i18n.translate('home.tutorials.kubernetesMetrics.nameTitle', { - defaultMessage: 'Kubernetes metrics', + defaultMessage: 'Kubernetes Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.kubernetesMetrics.shortDescription', { - defaultMessage: 'Fetch metrics from your Kubernetes installation.', + defaultMessage: 'Collect metrics from Kubernetes installations with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.kubernetesMetrics.longDescription', { defaultMessage: - 'The `kubernetes` Metricbeat module fetches metrics from the Kubernetes APIs. \ + 'The `kubernetes` Metricbeat module fetches metrics from Kubernetes APIs. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-kubernetes.html', diff --git a/src/plugins/home/server/tutorials/logstash_logs/index.ts b/src/plugins/home/server/tutorials/logstash_logs/index.ts index 55491d45df28c..688ad8245b78d 100644 --- a/src/plugins/home/server/tutorials/logstash_logs/index.ts +++ b/src/plugins/home/server/tutorials/logstash_logs/index.ts @@ -24,12 +24,12 @@ export function logstashLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'logstashLogs', name: i18n.translate('home.tutorials.logstashLogs.nameTitle', { - defaultMessage: 'Logstash logs', + defaultMessage: 'Logstash Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.logstashLogs.shortDescription', { - defaultMessage: 'Collect Logstash main and slow logs.', + defaultMessage: 'Collect and parse main and slow logs from Logstash with Filebeat.', }), longDescription: i18n.translate('home.tutorials.logstashLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/logstash_metrics/index.ts b/src/plugins/home/server/tutorials/logstash_metrics/index.ts index e7d3fae011bd2..9ae4bcdcecbf1 100644 --- a/src/plugins/home/server/tutorials/logstash_metrics/index.ts +++ b/src/plugins/home/server/tutorials/logstash_metrics/index.ts @@ -23,17 +23,17 @@ export function logstashMetricsSpecProvider(context: TutorialContext): TutorialS return { id: moduleName + 'Metrics', name: i18n.translate('home.tutorials.logstashMetrics.nameTitle', { - defaultMessage: 'Logstash metrics', + defaultMessage: 'Logstash Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.logstashMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Logstash server.', + defaultMessage: 'Collect metrics from Logstash servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.logstashMetrics.longDescription', { defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Logstash server. \ + 'The `{moduleName}` Metricbeat module fetches metrics from a Logstash server. \ [Learn more]({learnMoreLink}).', values: { moduleName, diff --git a/src/plugins/home/server/tutorials/memcached_metrics/index.ts b/src/plugins/home/server/tutorials/memcached_metrics/index.ts index 15df179b44a9e..891567f72ca7c 100644 --- a/src/plugins/home/server/tutorials/memcached_metrics/index.ts +++ b/src/plugins/home/server/tutorials/memcached_metrics/index.ts @@ -23,17 +23,17 @@ export function memcachedMetricsSpecProvider(context: TutorialContext): Tutorial return { id: 'memcachedMetrics', name: i18n.translate('home.tutorials.memcachedMetrics.nameTitle', { - defaultMessage: 'Memcached metrics', + defaultMessage: 'Memcached Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.memcachedMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Memcached server.', + defaultMessage: 'Collect metrics from Memcached servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.memcachedMetrics.longDescription', { defaultMessage: - 'The `memcached` Metricbeat module fetches internal metrics from Memcached. \ + 'The `memcached` Metricbeat module fetches metrics from Memcached. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-memcached.html', diff --git a/src/plugins/home/server/tutorials/microsoft_logs/index.ts b/src/plugins/home/server/tutorials/microsoft_logs/index.ts index 52401df1f9eb7..88893e22bc9ff 100644 --- a/src/plugins/home/server/tutorials/microsoft_logs/index.ts +++ b/src/plugins/home/server/tutorials/microsoft_logs/index.ts @@ -24,12 +24,12 @@ export function microsoftLogsSpecProvider(context: TutorialContext): TutorialSch return { id: 'microsoftLogs', name: i18n.translate('home.tutorials.microsoftLogs.nameTitle', { - defaultMessage: 'Microsoft Defender ATP logs', + defaultMessage: 'Microsoft Defender ATP Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.microsoftLogs.shortDescription', { - defaultMessage: 'Collect Microsoft Defender ATP alerts.', + defaultMessage: 'Collect and parse alerts from Microsoft Defender ATP with Filebeat.', }), longDescription: i18n.translate('home.tutorials.microsoftLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/misp_logs/index.ts b/src/plugins/home/server/tutorials/misp_logs/index.ts index b7611b543bab1..ea2147a296534 100644 --- a/src/plugins/home/server/tutorials/misp_logs/index.ts +++ b/src/plugins/home/server/tutorials/misp_logs/index.ts @@ -24,12 +24,12 @@ export function mispLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'mispLogs', name: i18n.translate('home.tutorials.mispLogs.nameTitle', { - defaultMessage: 'MISP threat intel logs', + defaultMessage: 'MISP threat intel Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.mispLogs.shortDescription', { - defaultMessage: 'Collect MISP threat intelligence data with Filebeat.', + defaultMessage: 'Collect and parse logs from MISP threat intelligence with Filebeat.', }), longDescription: i18n.translate('home.tutorials.mispLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/mongodb_logs/index.ts b/src/plugins/home/server/tutorials/mongodb_logs/index.ts index 3c189c04da43b..a7f9869d440ed 100644 --- a/src/plugins/home/server/tutorials/mongodb_logs/index.ts +++ b/src/plugins/home/server/tutorials/mongodb_logs/index.ts @@ -24,12 +24,12 @@ export function mongodbLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'mongodbLogs', name: i18n.translate('home.tutorials.mongodbLogs.nameTitle', { - defaultMessage: 'MongoDB logs', + defaultMessage: 'MongoDB Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.mongodbLogs.shortDescription', { - defaultMessage: 'Collect MongoDB logs.', + defaultMessage: 'Collect and parse logs from MongoDB servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.mongodbLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/mongodb_metrics/index.ts b/src/plugins/home/server/tutorials/mongodb_metrics/index.ts index 121310fba6f3a..cc0ecc0574fa9 100644 --- a/src/plugins/home/server/tutorials/mongodb_metrics/index.ts +++ b/src/plugins/home/server/tutorials/mongodb_metrics/index.ts @@ -23,16 +23,16 @@ export function mongodbMetricsSpecProvider(context: TutorialContext): TutorialSc return { id: 'mongodbMetrics', name: i18n.translate('home.tutorials.mongodbMetrics.nameTitle', { - defaultMessage: 'MongoDB metrics', + defaultMessage: 'MongoDB Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.mongodbMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from MongoDB.', + defaultMessage: 'Collect metrics from MongoDB servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.mongodbMetrics.longDescription', { defaultMessage: - 'The `mongodb` Metricbeat module fetches internal metrics from the MongoDB server. \ + 'The `mongodb` Metricbeat module fetches metrics from MongoDB server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-mongodb.html', diff --git a/src/plugins/home/server/tutorials/mssql_logs/index.ts b/src/plugins/home/server/tutorials/mssql_logs/index.ts index 567080910b7fe..06cafd95283c8 100644 --- a/src/plugins/home/server/tutorials/mssql_logs/index.ts +++ b/src/plugins/home/server/tutorials/mssql_logs/index.ts @@ -24,12 +24,12 @@ export function mssqlLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'mssqlLogs', name: i18n.translate('home.tutorials.mssqlLogs.nameTitle', { - defaultMessage: 'MSSQL logs', + defaultMessage: 'Microsoft SQL Server Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.mssqlLogs.shortDescription', { - defaultMessage: 'Collect MSSQL logs.', + defaultMessage: 'Collect and parse logs from Microsoft SQL Server instances with Filebeat.', }), longDescription: i18n.translate('home.tutorials.mssqlLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/mssql_metrics/index.ts b/src/plugins/home/server/tutorials/mssql_metrics/index.ts index 998cefe2de004..e3c9e3c338209 100644 --- a/src/plugins/home/server/tutorials/mssql_metrics/index.ts +++ b/src/plugins/home/server/tutorials/mssql_metrics/index.ts @@ -28,7 +28,7 @@ export function mssqlMetricsSpecProvider(context: TutorialContext): TutorialSche moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.mssqlMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from a Microsoft SQL Server instance', + defaultMessage: 'Collect metrics from Microsoft SQL Server instances with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.mssqlMetrics.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/munin_metrics/index.ts b/src/plugins/home/server/tutorials/munin_metrics/index.ts index 1abd321e4c738..12621d05d0766 100644 --- a/src/plugins/home/server/tutorials/munin_metrics/index.ts +++ b/src/plugins/home/server/tutorials/munin_metrics/index.ts @@ -23,18 +23,18 @@ export function muninMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'muninMetrics', name: i18n.translate('home.tutorials.muninMetrics.nameTitle', { - defaultMessage: 'Munin metrics', + defaultMessage: 'Munin Metrics', }), moduleName, euiIconType: '/plugins/home/assets/logos/munin.svg', isBeta: true, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.muninMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Munin server.', + defaultMessage: 'Collect metrics from Munin servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.muninMetrics.longDescription', { defaultMessage: - 'The `munin` Metricbeat module fetches internal metrics from Munin. \ + 'The `munin` Metricbeat module fetches metrics from Munin. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-munin.html', diff --git a/src/plugins/home/server/tutorials/mysql_logs/index.ts b/src/plugins/home/server/tutorials/mysql_logs/index.ts index a788e736d2964..b0c6f0e69dcfb 100644 --- a/src/plugins/home/server/tutorials/mysql_logs/index.ts +++ b/src/plugins/home/server/tutorials/mysql_logs/index.ts @@ -24,12 +24,12 @@ export function mysqlLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'mysqlLogs', name: i18n.translate('home.tutorials.mysqlLogs.nameTitle', { - defaultMessage: 'MySQL logs', + defaultMessage: 'MySQL Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.mysqlLogs.shortDescription', { - defaultMessage: 'Collect and parse error and slow logs created by MySQL.', + defaultMessage: 'Collect and parse logs from MySQL servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.mysqlLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/mysql_metrics/index.ts b/src/plugins/home/server/tutorials/mysql_metrics/index.ts index 078a96f8110df..09c55dc81ff84 100644 --- a/src/plugins/home/server/tutorials/mysql_metrics/index.ts +++ b/src/plugins/home/server/tutorials/mysql_metrics/index.ts @@ -23,16 +23,16 @@ export function mysqlMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'mysqlMetrics', name: i18n.translate('home.tutorials.mysqlMetrics.nameTitle', { - defaultMessage: 'MySQL metrics', + defaultMessage: 'MySQL Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.mysqlMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from MySQL.', + defaultMessage: 'Collect metrics from MySQL servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.mysqlMetrics.longDescription', { defaultMessage: - 'The `mysql` Metricbeat module fetches internal metrics from the MySQL server. \ + 'The `mysql` Metricbeat module fetches metrics from MySQL server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-mysql.html', diff --git a/src/plugins/home/server/tutorials/nats_logs/index.ts b/src/plugins/home/server/tutorials/nats_logs/index.ts index a1dc24080bc0d..b6ef0a192d92f 100644 --- a/src/plugins/home/server/tutorials/nats_logs/index.ts +++ b/src/plugins/home/server/tutorials/nats_logs/index.ts @@ -24,13 +24,13 @@ export function natsLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'natsLogs', name: i18n.translate('home.tutorials.natsLogs.nameTitle', { - defaultMessage: 'NATS logs', + defaultMessage: 'NATS Logs', }), moduleName, category: TutorialsCategory.LOGGING, isBeta: true, shortDescription: i18n.translate('home.tutorials.natsLogs.shortDescription', { - defaultMessage: 'Collect and parse logs created by Nats.', + defaultMessage: 'Collect and parse logs from NATS servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.natsLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/nats_metrics/index.ts b/src/plugins/home/server/tutorials/nats_metrics/index.ts index 11494e5dc57d0..54f034ad44b19 100644 --- a/src/plugins/home/server/tutorials/nats_metrics/index.ts +++ b/src/plugins/home/server/tutorials/nats_metrics/index.ts @@ -23,16 +23,16 @@ export function natsMetricsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'natsMetrics', name: i18n.translate('home.tutorials.natsMetrics.nameTitle', { - defaultMessage: 'NATS metrics', + defaultMessage: 'NATS Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.natsMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the Nats server.', + defaultMessage: 'Collect metrics from NATS servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.natsMetrics.longDescription', { defaultMessage: - 'The `nats` Metricbeat module fetches monitoring metrics from Nats. \ + 'The `nats` Metricbeat module fetches metrics from Nats. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-nats.html', diff --git a/src/plugins/home/server/tutorials/netflow_logs/index.ts b/src/plugins/home/server/tutorials/netflow_logs/index.ts index e8404e93ae355..c659d9c1d31b1 100644 --- a/src/plugins/home/server/tutorials/netflow_logs/index.ts +++ b/src/plugins/home/server/tutorials/netflow_logs/index.ts @@ -24,12 +24,12 @@ export function netflowLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'netflowLogs', name: i18n.translate('home.tutorials.netflowLogs.nameTitle', { - defaultMessage: 'NetFlow / IPFIX Collector', + defaultMessage: 'NetFlow / IPFIX Records', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.netflowLogs.shortDescription', { - defaultMessage: 'Collect NetFlow and IPFIX flow records.', + defaultMessage: 'Collect records from NetFlow and IPFIX flow with Filebeat.', }), longDescription: i18n.translate('home.tutorials.netflowLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/netscout_logs/index.ts b/src/plugins/home/server/tutorials/netscout_logs/index.ts index 395fbb8b49d39..e6c22947f8057 100644 --- a/src/plugins/home/server/tutorials/netscout_logs/index.ts +++ b/src/plugins/home/server/tutorials/netscout_logs/index.ts @@ -24,12 +24,12 @@ export function netscoutLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'netscoutLogs', name: i18n.translate('home.tutorials.netscoutLogs.nameTitle', { - defaultMessage: 'Arbor Peakflow logs', + defaultMessage: 'Arbor Peakflow Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.netscoutLogs.shortDescription', { - defaultMessage: 'Collect Netscout Arbor Peakflow SP logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Netscout Arbor Peakflow SP with Filebeat.', }), longDescription: i18n.translate('home.tutorials.netscoutLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/nginx_logs/index.ts b/src/plugins/home/server/tutorials/nginx_logs/index.ts index 90ec6737c2461..e6f2fc4efb01c 100644 --- a/src/plugins/home/server/tutorials/nginx_logs/index.ts +++ b/src/plugins/home/server/tutorials/nginx_logs/index.ts @@ -24,12 +24,12 @@ export function nginxLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'nginxLogs', name: i18n.translate('home.tutorials.nginxLogs.nameTitle', { - defaultMessage: 'Nginx logs', + defaultMessage: 'Nginx Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.nginxLogs.shortDescription', { - defaultMessage: 'Collect and parse access and error logs created by the Nginx HTTP server.', + defaultMessage: 'Collect and parse logs from Nginx HTTP servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.nginxLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/nginx_metrics/index.ts b/src/plugins/home/server/tutorials/nginx_metrics/index.ts index 12f67a26dcf29..680dd664912d3 100644 --- a/src/plugins/home/server/tutorials/nginx_metrics/index.ts +++ b/src/plugins/home/server/tutorials/nginx_metrics/index.ts @@ -23,16 +23,16 @@ export function nginxMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'nginxMetrics', name: i18n.translate('home.tutorials.nginxMetrics.nameTitle', { - defaultMessage: 'Nginx metrics', + defaultMessage: 'Nginx Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.nginxMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the Nginx HTTP server.', + defaultMessage: 'Collect metrics from Nginx HTTP servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.nginxMetrics.longDescription', { defaultMessage: - 'The `nginx` Metricbeat module fetches internal metrics from the Nginx HTTP server. \ + 'The `nginx` Metricbeat module fetches metrics from Nginx HTTP server. \ The module scrapes the server status data from the web page generated by the \ {statusModuleLink}, \ which must be enabled in your Nginx installation. \ diff --git a/src/plugins/home/server/tutorials/o365_logs/index.ts b/src/plugins/home/server/tutorials/o365_logs/index.ts index e3663e2c3cd78..3cd4d3a5c5e18 100644 --- a/src/plugins/home/server/tutorials/o365_logs/index.ts +++ b/src/plugins/home/server/tutorials/o365_logs/index.ts @@ -24,12 +24,12 @@ export function o365LogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'o365Logs', name: i18n.translate('home.tutorials.o365Logs.nameTitle', { - defaultMessage: 'Office 365 logs', + defaultMessage: 'Office 365 Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.o365Logs.shortDescription', { - defaultMessage: 'Collect Office 365 activity logs via the Office 365 API.', + defaultMessage: 'Collect and parse logs from Office 365 with Filebeat.', }), longDescription: i18n.translate('home.tutorials.o365Logs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/okta_logs/index.ts b/src/plugins/home/server/tutorials/okta_logs/index.ts index 62cde4b5128c3..aad18409de329 100644 --- a/src/plugins/home/server/tutorials/okta_logs/index.ts +++ b/src/plugins/home/server/tutorials/okta_logs/index.ts @@ -24,12 +24,12 @@ export function oktaLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'oktaLogs', name: i18n.translate('home.tutorials.oktaLogs.nameTitle', { - defaultMessage: 'Okta logs', + defaultMessage: 'Okta Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.oktaLogs.shortDescription', { - defaultMessage: 'Collect the Okta system log via the Okta API.', + defaultMessage: 'Collect and parse logs from the Okta API with Filebeat.', }), longDescription: i18n.translate('home.tutorials.oktaLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/openmetrics_metrics/index.ts b/src/plugins/home/server/tutorials/openmetrics_metrics/index.ts index acbddf5169881..02625b341549b 100644 --- a/src/plugins/home/server/tutorials/openmetrics_metrics/index.ts +++ b/src/plugins/home/server/tutorials/openmetrics_metrics/index.ts @@ -23,12 +23,13 @@ export function openmetricsMetricsSpecProvider(context: TutorialContext): Tutori return { id: 'openmetricsMetrics', name: i18n.translate('home.tutorials.openmetricsMetrics.nameTitle', { - defaultMessage: 'OpenMetrics metrics', + defaultMessage: 'OpenMetrics Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.openmetricsMetrics.shortDescription', { - defaultMessage: 'Fetch metrics from an endpoint that serves metrics in OpenMetrics format.', + defaultMessage: + 'Collect metrics from an endpoint that serves metrics in OpenMetrics format with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.openmetricsMetrics.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/oracle_metrics/index.ts b/src/plugins/home/server/tutorials/oracle_metrics/index.ts index 9b63e82c21ccd..14cf5392c5231 100644 --- a/src/plugins/home/server/tutorials/oracle_metrics/index.ts +++ b/src/plugins/home/server/tutorials/oracle_metrics/index.ts @@ -23,17 +23,17 @@ export function oracleMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: moduleName + 'Metrics', name: i18n.translate('home.tutorials.oracleMetrics.nameTitle', { - defaultMessage: 'oracle metrics', + defaultMessage: 'oracle Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.oracleMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Oracle server.', + defaultMessage: 'Collect metrics from Oracle servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.oracleMetrics.longDescription', { defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Oracle server. \ + 'The `{moduleName}` Metricbeat module fetches metrics from a Oracle server. \ [Learn more]({learnMoreLink}).', values: { moduleName, diff --git a/src/plugins/home/server/tutorials/osquery_logs/index.ts b/src/plugins/home/server/tutorials/osquery_logs/index.ts index 6bacbed57792c..4f87fc4e256e1 100644 --- a/src/plugins/home/server/tutorials/osquery_logs/index.ts +++ b/src/plugins/home/server/tutorials/osquery_logs/index.ts @@ -24,12 +24,12 @@ export function osqueryLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'osqueryLogs', name: i18n.translate('home.tutorials.osqueryLogs.nameTitle', { - defaultMessage: 'Osquery logs', + defaultMessage: 'Osquery Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.osqueryLogs.shortDescription', { - defaultMessage: 'Collect osquery logs in JSON format.', + defaultMessage: 'Collect and parse logs from Osquery with Filebeat.', }), longDescription: i18n.translate('home.tutorials.osqueryLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/panw_logs/index.ts b/src/plugins/home/server/tutorials/panw_logs/index.ts index 3ca839556d756..f5158c48f30d5 100644 --- a/src/plugins/home/server/tutorials/panw_logs/index.ts +++ b/src/plugins/home/server/tutorials/panw_logs/index.ts @@ -24,13 +24,13 @@ export function panwLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'panwLogs', name: i18n.translate('home.tutorials.panwLogs.nameTitle', { - defaultMessage: 'Palo Alto Networks PAN-OS logs', + defaultMessage: 'Palo Alto Networks PAN-OS Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.panwLogs.shortDescription', { defaultMessage: - 'Collect Palo Alto Networks PAN-OS threat and traffic logs over syslog or from a log file.', + 'Collect and parse threat and traffic logs from Palo Alto Networks PAN-OS with Filebeat.', }), longDescription: i18n.translate('home.tutorials.panwLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/php_fpm_metrics/index.ts b/src/plugins/home/server/tutorials/php_fpm_metrics/index.ts index ed67960ab5a1c..40b35984fb17a 100644 --- a/src/plugins/home/server/tutorials/php_fpm_metrics/index.ts +++ b/src/plugins/home/server/tutorials/php_fpm_metrics/index.ts @@ -23,17 +23,17 @@ export function phpfpmMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: 'phpfpmMetrics', name: i18n.translate('home.tutorials.phpFpmMetrics.nameTitle', { - defaultMessage: 'PHP-FPM metrics', + defaultMessage: 'PHP-FPM Metrics', }), moduleName, category: TutorialsCategory.METRICS, isBeta: false, shortDescription: i18n.translate('home.tutorials.phpFpmMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from PHP-FPM.', + defaultMessage: 'Collect metrics from PHP-FPM with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.phpFpmMetrics.longDescription', { defaultMessage: - 'The `php_fpm` Metricbeat module fetches internal metrics from the PHP-FPM server. \ + 'The `php_fpm` Metricbeat module fetches metrics from PHP-FPM server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-php_fpm.html', diff --git a/src/plugins/home/server/tutorials/postgresql_logs/index.ts b/src/plugins/home/server/tutorials/postgresql_logs/index.ts index c5f5d879ac35d..3a092e61b0bd9 100644 --- a/src/plugins/home/server/tutorials/postgresql_logs/index.ts +++ b/src/plugins/home/server/tutorials/postgresql_logs/index.ts @@ -24,12 +24,12 @@ export function postgresqlLogsSpecProvider(context: TutorialContext): TutorialSc return { id: 'postgresqlLogs', name: i18n.translate('home.tutorials.postgresqlLogs.nameTitle', { - defaultMessage: 'PostgreSQL logs', + defaultMessage: 'PostgreSQL Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.postgresqlLogs.shortDescription', { - defaultMessage: 'Collect and parse error and slow logs created by PostgreSQL.', + defaultMessage: 'Collect and parse logs from PostgreSQL servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.postgresqlLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/postgresql_metrics/index.ts b/src/plugins/home/server/tutorials/postgresql_metrics/index.ts index ca20efb44bca7..501ea252cd16f 100644 --- a/src/plugins/home/server/tutorials/postgresql_metrics/index.ts +++ b/src/plugins/home/server/tutorials/postgresql_metrics/index.ts @@ -23,17 +23,17 @@ export function postgresqlMetricsSpecProvider(context: TutorialContext): Tutoria return { id: 'postgresqlMetrics', name: i18n.translate('home.tutorials.postgresqlMetrics.nameTitle', { - defaultMessage: 'PostgreSQL metrics', + defaultMessage: 'PostgreSQL Metrics', }), moduleName, category: TutorialsCategory.METRICS, isBeta: false, shortDescription: i18n.translate('home.tutorials.postgresqlMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from PostgreSQL.', + defaultMessage: 'Collect metrics from PostgreSQL servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.postgresqlMetrics.longDescription', { defaultMessage: - 'The `postgresql` Metricbeat module fetches internal metrics from the PostgreSQL server. \ + 'The `postgresql` Metricbeat module fetches metrics from PostgreSQL server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-postgresql.html', diff --git a/src/plugins/home/server/tutorials/prometheus_metrics/index.ts b/src/plugins/home/server/tutorials/prometheus_metrics/index.ts index ee05770d65108..2f422e5e3be70 100644 --- a/src/plugins/home/server/tutorials/prometheus_metrics/index.ts +++ b/src/plugins/home/server/tutorials/prometheus_metrics/index.ts @@ -23,13 +23,13 @@ export function prometheusMetricsSpecProvider(context: TutorialContext): Tutoria return { id: moduleName + 'Metrics', name: i18n.translate('home.tutorials.prometheusMetrics.nameTitle', { - defaultMessage: 'Prometheus metrics', + defaultMessage: 'Prometheus Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.prometheusMetrics.shortDescription', { - defaultMessage: 'Fetch metrics from a Prometheus exporter.', + defaultMessage: 'Collect metrics from Prometheus exporters with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.prometheusMetrics.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/rabbitmq_logs/index.ts b/src/plugins/home/server/tutorials/rabbitmq_logs/index.ts index 0fbdb48236832..8a1634e7da038 100644 --- a/src/plugins/home/server/tutorials/rabbitmq_logs/index.ts +++ b/src/plugins/home/server/tutorials/rabbitmq_logs/index.ts @@ -24,12 +24,12 @@ export function rabbitmqLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'rabbitmqLogs', name: i18n.translate('home.tutorials.rabbitmqLogs.nameTitle', { - defaultMessage: 'RabbitMQ logs', + defaultMessage: 'RabbitMQ Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.rabbitmqLogs.shortDescription', { - defaultMessage: 'Collect RabbitMQ logs.', + defaultMessage: 'Collect and parse logs from RabbitMQ servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.rabbitmqLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/rabbitmq_metrics/index.ts b/src/plugins/home/server/tutorials/rabbitmq_metrics/index.ts index b58f936f205b2..abfc895088d91 100644 --- a/src/plugins/home/server/tutorials/rabbitmq_metrics/index.ts +++ b/src/plugins/home/server/tutorials/rabbitmq_metrics/index.ts @@ -23,16 +23,16 @@ export function rabbitmqMetricsSpecProvider(context: TutorialContext): TutorialS return { id: 'rabbitmqMetrics', name: i18n.translate('home.tutorials.rabbitmqMetrics.nameTitle', { - defaultMessage: 'RabbitMQ metrics', + defaultMessage: 'RabbitMQ Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.rabbitmqMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the RabbitMQ server.', + defaultMessage: 'Collect metrics from RabbitMQ servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.rabbitmqMetrics.longDescription', { defaultMessage: - 'The `rabbitmq` Metricbeat module fetches internal metrics from the RabbitMQ server. \ + 'The `rabbitmq` Metricbeat module fetches metrics from RabbitMQ server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-rabbitmq.html', diff --git a/src/plugins/home/server/tutorials/radware_logs/index.ts b/src/plugins/home/server/tutorials/radware_logs/index.ts index 28392cf9c4362..3e918a0a4064c 100644 --- a/src/plugins/home/server/tutorials/radware_logs/index.ts +++ b/src/plugins/home/server/tutorials/radware_logs/index.ts @@ -24,12 +24,12 @@ export function radwareLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'radwareLogs', name: i18n.translate('home.tutorials.radwareLogs.nameTitle', { - defaultMessage: 'Radware DefensePro logs', + defaultMessage: 'Radware DefensePro Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.radwareLogs.shortDescription', { - defaultMessage: 'Collect Radware DefensePro logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Radware DefensePro with Filebeat.', }), longDescription: i18n.translate('home.tutorials.radwareLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/redis_logs/index.ts b/src/plugins/home/server/tutorials/redis_logs/index.ts index 0f3a5aa812f49..f6aada27dec48 100644 --- a/src/plugins/home/server/tutorials/redis_logs/index.ts +++ b/src/plugins/home/server/tutorials/redis_logs/index.ts @@ -24,12 +24,12 @@ export function redisLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'redisLogs', name: i18n.translate('home.tutorials.redisLogs.nameTitle', { - defaultMessage: 'Redis logs', + defaultMessage: 'Redis Logs', }), moduleName, category: TutorialsCategory.LOGGING, shortDescription: i18n.translate('home.tutorials.redisLogs.shortDescription', { - defaultMessage: 'Collect and parse error and slow logs created by Redis.', + defaultMessage: 'Collect and parse logs from Redis servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.redisLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/redis_metrics/index.ts b/src/plugins/home/server/tutorials/redis_metrics/index.ts index 1b4ee7290a6d0..2bb300c48ff65 100644 --- a/src/plugins/home/server/tutorials/redis_metrics/index.ts +++ b/src/plugins/home/server/tutorials/redis_metrics/index.ts @@ -23,16 +23,16 @@ export function redisMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'redisMetrics', name: i18n.translate('home.tutorials.redisMetrics.nameTitle', { - defaultMessage: 'Redis metrics', + defaultMessage: 'Redis Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.redisMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Redis.', + defaultMessage: 'Collect metrics from Redis servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.redisMetrics.longDescription', { defaultMessage: - 'The `redis` Metricbeat module fetches internal metrics from the Redis server. \ + 'The `redis` Metricbeat module fetches metrics from Redis server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-redis.html', diff --git a/src/plugins/home/server/tutorials/redisenterprise_metrics/index.ts b/src/plugins/home/server/tutorials/redisenterprise_metrics/index.ts index be8de9c3eab4d..62e1386f29dbb 100644 --- a/src/plugins/home/server/tutorials/redisenterprise_metrics/index.ts +++ b/src/plugins/home/server/tutorials/redisenterprise_metrics/index.ts @@ -23,16 +23,16 @@ export function redisenterpriseMetricsSpecProvider(context: TutorialContext): Tu return { id: 'redisenterpriseMetrics', name: i18n.translate('home.tutorials.redisenterpriseMetrics.nameTitle', { - defaultMessage: 'Redis Enterprise metrics', + defaultMessage: 'Redis Enterprise Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.redisenterpriseMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from Redis Enterprise Server.', + defaultMessage: 'Collect metrics from Redis Enterprise servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.redisenterpriseMetrics.longDescription', { defaultMessage: - 'The `redisenterprise` Metricbeat module fetches monitoring metrics from Redis Enterprise Server \ + 'The `redisenterprise` Metricbeat module fetches metrics from Redis Enterprise Server \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-redisenterprise.html', diff --git a/src/plugins/home/server/tutorials/santa_logs/index.ts b/src/plugins/home/server/tutorials/santa_logs/index.ts index 10d1506438b62..da9f2e940066e 100644 --- a/src/plugins/home/server/tutorials/santa_logs/index.ts +++ b/src/plugins/home/server/tutorials/santa_logs/index.ts @@ -24,12 +24,12 @@ export function santaLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'santaLogs', name: i18n.translate('home.tutorials.santaLogs.nameTitle', { - defaultMessage: 'Google Santa logs', + defaultMessage: 'Google Santa Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.santaLogs.shortDescription', { - defaultMessage: 'Collect Google Santa logs about process executions on MacOS.', + defaultMessage: 'Collect and parse logs from Google Santa systems with Filebeat.', }), longDescription: i18n.translate('home.tutorials.santaLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/sonicwall_logs/index.ts b/src/plugins/home/server/tutorials/sonicwall_logs/index.ts index 1fa711327a07d..04bf7a3968320 100644 --- a/src/plugins/home/server/tutorials/sonicwall_logs/index.ts +++ b/src/plugins/home/server/tutorials/sonicwall_logs/index.ts @@ -24,12 +24,12 @@ export function sonicwallLogsSpecProvider(context: TutorialContext): TutorialSch return { id: 'sonicwallLogs', name: i18n.translate('home.tutorials.sonicwallLogs.nameTitle', { - defaultMessage: 'Sonicwall FW logs', + defaultMessage: 'Sonicwall FW Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.sonicwallLogs.shortDescription', { - defaultMessage: 'Collect Sonicwall-FW logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Sonicwall-FW with Filebeat.', }), longDescription: i18n.translate('home.tutorials.sonicwallLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/sophos_logs/index.ts b/src/plugins/home/server/tutorials/sophos_logs/index.ts index 35b27973a55ec..4fadcecb6e1bd 100644 --- a/src/plugins/home/server/tutorials/sophos_logs/index.ts +++ b/src/plugins/home/server/tutorials/sophos_logs/index.ts @@ -24,12 +24,12 @@ export function sophosLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'sophosLogs', name: i18n.translate('home.tutorials.sophosLogs.nameTitle', { - defaultMessage: 'Sophos logs', + defaultMessage: 'Sophos Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.sophosLogs.shortDescription', { - defaultMessage: 'Collect Sophos XG SFOS logs over syslog.', + defaultMessage: 'Collect and parse logs from Sophos XG SFOS with Filebeat.', }), longDescription: i18n.translate('home.tutorials.sophosLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/squid_logs/index.ts b/src/plugins/home/server/tutorials/squid_logs/index.ts index d8d0bb6c0829b..2d8f055d7fa6b 100644 --- a/src/plugins/home/server/tutorials/squid_logs/index.ts +++ b/src/plugins/home/server/tutorials/squid_logs/index.ts @@ -24,12 +24,12 @@ export function squidLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'squidLogs', name: i18n.translate('home.tutorials.squidLogs.nameTitle', { - defaultMessage: 'Squid logs', + defaultMessage: 'Squid Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.squidLogs.shortDescription', { - defaultMessage: 'Collect Squid logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Squid servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.squidLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/stan_metrics/index.ts b/src/plugins/home/server/tutorials/stan_metrics/index.ts index ceb6084b539e6..0b3c0352b663d 100644 --- a/src/plugins/home/server/tutorials/stan_metrics/index.ts +++ b/src/plugins/home/server/tutorials/stan_metrics/index.ts @@ -23,16 +23,16 @@ export function stanMetricsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'stanMetrics', name: i18n.translate('home.tutorials.stanMetrics.nameTitle', { - defaultMessage: 'STAN metrics', + defaultMessage: 'STAN Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.stanMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from the STAN server.', + defaultMessage: 'Collect metrics from STAN servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.stanMetrics.longDescription', { defaultMessage: - 'The `stan` Metricbeat module fetches monitoring metrics from STAN. \ + 'The `stan` Metricbeat module fetches metrics from STAN. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-stan.html', diff --git a/src/plugins/home/server/tutorials/statsd_metrics/index.ts b/src/plugins/home/server/tutorials/statsd_metrics/index.ts index 472c1406db386..1be010a01d5a6 100644 --- a/src/plugins/home/server/tutorials/statsd_metrics/index.ts +++ b/src/plugins/home/server/tutorials/statsd_metrics/index.ts @@ -20,16 +20,16 @@ export function statsdMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: 'statsdMetrics', name: i18n.translate('home.tutorials.statsdMetrics.nameTitle', { - defaultMessage: 'Statsd metrics', + defaultMessage: 'Statsd Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.statsdMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from statsd.', + defaultMessage: 'Collect metrics from Statsd servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.statsdMetrics.longDescription', { defaultMessage: - 'The `statsd` Metricbeat module fetches monitoring metrics from statsd. \ + 'The `statsd` Metricbeat module fetches metrics from statsd. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-statsd.html', diff --git a/src/plugins/home/server/tutorials/suricata_logs/index.ts b/src/plugins/home/server/tutorials/suricata_logs/index.ts index 3bb2b93b6301a..373522e333379 100644 --- a/src/plugins/home/server/tutorials/suricata_logs/index.ts +++ b/src/plugins/home/server/tutorials/suricata_logs/index.ts @@ -24,12 +24,12 @@ export function suricataLogsSpecProvider(context: TutorialContext): TutorialSche return { id: 'suricataLogs', name: i18n.translate('home.tutorials.suricataLogs.nameTitle', { - defaultMessage: 'Suricata logs', + defaultMessage: 'Suricata Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.suricataLogs.shortDescription', { - defaultMessage: 'Collect Suricata IDS/IPS/NSM logs.', + defaultMessage: 'Collect and parse logs from Suricata IDS/IPS/NSM with Filebeat.', }), longDescription: i18n.translate('home.tutorials.suricataLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/system_logs/index.ts b/src/plugins/home/server/tutorials/system_logs/index.ts index 6f403a6d0a71a..fcc5745f48252 100644 --- a/src/plugins/home/server/tutorials/system_logs/index.ts +++ b/src/plugins/home/server/tutorials/system_logs/index.ts @@ -24,7 +24,7 @@ export function systemLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'systemLogs', name: i18n.translate('home.tutorials.systemLogs.nameTitle', { - defaultMessage: 'System logs', + defaultMessage: 'System Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, diff --git a/src/plugins/home/server/tutorials/system_metrics/index.ts b/src/plugins/home/server/tutorials/system_metrics/index.ts index 08979a3d3b003..1348535d9bb72 100644 --- a/src/plugins/home/server/tutorials/system_metrics/index.ts +++ b/src/plugins/home/server/tutorials/system_metrics/index.ts @@ -23,16 +23,17 @@ export function systemMetricsSpecProvider(context: TutorialContext): TutorialSch return { id: 'systemMetrics', name: i18n.translate('home.tutorials.systemMetrics.nameTitle', { - defaultMessage: 'System metrics', + defaultMessage: 'System Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.systemMetrics.shortDescription', { - defaultMessage: 'Collect CPU, memory, network, and disk statistics from the host.', + defaultMessage: + 'Collect CPU, memory, network, and disk metrics from System hosts with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.systemMetrics.longDescription', { defaultMessage: - 'The `system` Metricbeat module collects CPU, memory, network, and disk statistics from the host. \ + 'The `system` Metricbeat module collects CPU, memory, network, and disk statistics from host. \ It collects system wide statistics and statistics per process and filesystem. \ [Learn more]({learnMoreLink}).', values: { diff --git a/src/plugins/home/server/tutorials/tomcat_logs/index.ts b/src/plugins/home/server/tutorials/tomcat_logs/index.ts index 5ce4096ad4628..3258d3eff5a16 100644 --- a/src/plugins/home/server/tutorials/tomcat_logs/index.ts +++ b/src/plugins/home/server/tutorials/tomcat_logs/index.ts @@ -24,12 +24,12 @@ export function tomcatLogsSpecProvider(context: TutorialContext): TutorialSchema return { id: 'tomcatLogs', name: i18n.translate('home.tutorials.tomcatLogs.nameTitle', { - defaultMessage: 'Tomcat logs', + defaultMessage: 'Tomcat Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.tomcatLogs.shortDescription', { - defaultMessage: 'Collect Apache Tomcat logs over syslog or from a file.', + defaultMessage: 'Collect and parse logs from Apache Tomcat servers with Filebeat.', }), longDescription: i18n.translate('home.tutorials.tomcatLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/traefik_logs/index.ts b/src/plugins/home/server/tutorials/traefik_logs/index.ts index 6bbc905bbd6aa..30b9db4022137 100644 --- a/src/plugins/home/server/tutorials/traefik_logs/index.ts +++ b/src/plugins/home/server/tutorials/traefik_logs/index.ts @@ -24,12 +24,12 @@ export function traefikLogsSpecProvider(context: TutorialContext): TutorialSchem return { id: 'traefikLogs', name: i18n.translate('home.tutorials.traefikLogs.nameTitle', { - defaultMessage: 'Traefik logs', + defaultMessage: 'Traefik Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.traefikLogs.shortDescription', { - defaultMessage: 'Collect Traefik access logs.', + defaultMessage: 'Collect and parse logs from Traefik with Filebeat.', }), longDescription: i18n.translate('home.tutorials.traefikLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/traefik_metrics/index.ts b/src/plugins/home/server/tutorials/traefik_metrics/index.ts index 35d54317c8ede..6f76be3056110 100644 --- a/src/plugins/home/server/tutorials/traefik_metrics/index.ts +++ b/src/plugins/home/server/tutorials/traefik_metrics/index.ts @@ -20,16 +20,16 @@ export function traefikMetricsSpecProvider(context: TutorialContext): TutorialSc return { id: 'traefikMetrics', name: i18n.translate('home.tutorials.traefikMetrics.nameTitle', { - defaultMessage: 'Traefik metrics', + defaultMessage: 'Traefik Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.traefikMetrics.shortDescription', { - defaultMessage: 'Fetch monitoring metrics from Traefik.', + defaultMessage: 'Collect metrics from Traefik with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.traefikMetrics.longDescription', { defaultMessage: - 'The `traefik` Metricbeat module fetches monitoring metrics from Traefik. \ + 'The `traefik` Metricbeat module fetches metrics from Traefik. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-traefik.html', diff --git a/src/plugins/home/server/tutorials/uptime_monitors/index.ts b/src/plugins/home/server/tutorials/uptime_monitors/index.ts index 6e949d5410115..118174d0e5717 100644 --- a/src/plugins/home/server/tutorials/uptime_monitors/index.ts +++ b/src/plugins/home/server/tutorials/uptime_monitors/index.ts @@ -28,7 +28,7 @@ export function uptimeMonitorsSpecProvider(context: TutorialContext): TutorialSc moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.uptimeMonitors.shortDescription', { - defaultMessage: 'Monitor services for their availability', + defaultMessage: 'Monitor availability of the services with Heartbeat.', }), longDescription: i18n.translate('home.tutorials.uptimeMonitors.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/uwsgi_metrics/index.ts b/src/plugins/home/server/tutorials/uwsgi_metrics/index.ts index d9cfcc9f7fb75..b1dbeb89bdb26 100644 --- a/src/plugins/home/server/tutorials/uwsgi_metrics/index.ts +++ b/src/plugins/home/server/tutorials/uwsgi_metrics/index.ts @@ -23,16 +23,16 @@ export function uwsgiMetricsSpecProvider(context: TutorialContext): TutorialSche return { id: 'uwsgiMetrics', name: i18n.translate('home.tutorials.uwsgiMetrics.nameTitle', { - defaultMessage: 'uWSGI metrics', + defaultMessage: 'uWSGI Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.uwsgiMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from the uWSGI server.', + defaultMessage: 'Collect metrics from uWSGI servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.uwsgiMetrics.longDescription', { defaultMessage: - 'The `uwsgi` Metricbeat module fetches internal metrics from the uWSGI server. \ + 'The `uwsgi` Metricbeat module fetches metrics from uWSGI server. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-uwsgi.html', diff --git a/src/plugins/home/server/tutorials/vsphere_metrics/index.ts b/src/plugins/home/server/tutorials/vsphere_metrics/index.ts index bcbcec59c36e4..14a574872221a 100644 --- a/src/plugins/home/server/tutorials/vsphere_metrics/index.ts +++ b/src/plugins/home/server/tutorials/vsphere_metrics/index.ts @@ -23,16 +23,16 @@ export function vSphereMetricsSpecProvider(context: TutorialContext): TutorialSc return { id: 'vsphereMetrics', name: i18n.translate('home.tutorials.vsphereMetrics.nameTitle', { - defaultMessage: 'vSphere metrics', + defaultMessage: 'vSphere Metrics', }), moduleName, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.vsphereMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from vSphere.', + defaultMessage: 'Collect metrics from vSphere with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.vsphereMetrics.longDescription', { defaultMessage: - 'The `vsphere` Metricbeat module fetches internal metrics from a vSphere cluster. \ + 'The `vsphere` Metricbeat module fetches metrics from a vSphere cluster. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-vsphere.html', diff --git a/src/plugins/home/server/tutorials/windows_event_logs/index.ts b/src/plugins/home/server/tutorials/windows_event_logs/index.ts index 0df7fa906e085..008468487ea64 100644 --- a/src/plugins/home/server/tutorials/windows_event_logs/index.ts +++ b/src/plugins/home/server/tutorials/windows_event_logs/index.ts @@ -23,17 +23,17 @@ export function windowsEventLogsSpecProvider(context: TutorialContext): Tutorial return { id: 'windowsEventLogs', name: i18n.translate('home.tutorials.windowsEventLogs.nameTitle', { - defaultMessage: 'Windows Event Log', + defaultMessage: 'Windows Event Logs', }), moduleName, isBeta: false, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.windowsEventLogs.shortDescription', { - defaultMessage: 'Fetch logs from the Windows Event Log.', + defaultMessage: 'Collect and parse logs from Windows Event Logs with WinLogBeat.', }), longDescription: i18n.translate('home.tutorials.windowsEventLogs.longDescription', { defaultMessage: - 'Use Winlogbeat to collect the logs from the Windows Event Log. \ + 'Use Winlogbeat to collect the logs from Windows Event Logs. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.winlogbeat}/index.html', diff --git a/src/plugins/home/server/tutorials/windows_metrics/index.ts b/src/plugins/home/server/tutorials/windows_metrics/index.ts index 6c663fbb13d4d..31d9b3f8962ce 100644 --- a/src/plugins/home/server/tutorials/windows_metrics/index.ts +++ b/src/plugins/home/server/tutorials/windows_metrics/index.ts @@ -23,17 +23,17 @@ export function windowsMetricsSpecProvider(context: TutorialContext): TutorialSc return { id: 'windowsMetrics', name: i18n.translate('home.tutorials.windowsMetrics.nameTitle', { - defaultMessage: 'Windows metrics', + defaultMessage: 'Windows Metrics', }), moduleName, isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.windowsMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from Windows.', + defaultMessage: 'Collect metrics from Windows with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.windowsMetrics.longDescription', { defaultMessage: - 'The `windows` Metricbeat module fetches internal metrics from Windows. \ + 'The `windows` Metricbeat module fetches metrics from Windows. \ [Learn more]({learnMoreLink}).', values: { learnMoreLink: '{config.docs.beats.metricbeat}/metricbeat-module-windows.html', diff --git a/src/plugins/home/server/tutorials/zeek_logs/index.ts b/src/plugins/home/server/tutorials/zeek_logs/index.ts index 5434dcc8527ff..df86518978c52 100644 --- a/src/plugins/home/server/tutorials/zeek_logs/index.ts +++ b/src/plugins/home/server/tutorials/zeek_logs/index.ts @@ -24,12 +24,12 @@ export function zeekLogsSpecProvider(context: TutorialContext): TutorialSchema { return { id: 'zeekLogs', name: i18n.translate('home.tutorials.zeekLogs.nameTitle', { - defaultMessage: 'Zeek logs', + defaultMessage: 'Zeek Logs', }), moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.zeekLogs.shortDescription', { - defaultMessage: 'Collect Zeek network security monitoring logs.', + defaultMessage: 'Collect and parse logs from Zeek network security with Filebeat.', }), longDescription: i18n.translate('home.tutorials.zeekLogs.longDescription', { defaultMessage: diff --git a/src/plugins/home/server/tutorials/zookeeper_metrics/index.ts b/src/plugins/home/server/tutorials/zookeeper_metrics/index.ts index 85ca03acacfd4..8f732969a07f3 100644 --- a/src/plugins/home/server/tutorials/zookeeper_metrics/index.ts +++ b/src/plugins/home/server/tutorials/zookeeper_metrics/index.ts @@ -23,18 +23,18 @@ export function zookeeperMetricsSpecProvider(context: TutorialContext): Tutorial return { id: moduleName + 'Metrics', name: i18n.translate('home.tutorials.zookeeperMetrics.nameTitle', { - defaultMessage: 'Zookeeper metrics', + defaultMessage: 'Zookeeper Metrics', }), moduleName, euiIconType: '/plugins/home/assets/logos/zookeeper.svg', isBeta: false, category: TutorialsCategory.METRICS, shortDescription: i18n.translate('home.tutorials.zookeeperMetrics.shortDescription', { - defaultMessage: 'Fetch internal metrics from a Zookeeper server.', + defaultMessage: 'Collect metrics from Zookeeper servers with Metricbeat.', }), longDescription: i18n.translate('home.tutorials.zookeeperMetrics.longDescription', { defaultMessage: - 'The `{moduleName}` Metricbeat module fetches internal metrics from a Zookeeper server. \ + 'The `{moduleName}` Metricbeat module fetches metrics from a Zookeeper server. \ [Learn more]({learnMoreLink}).', values: { moduleName, diff --git a/src/plugins/home/server/tutorials/zscaler_logs/index.ts b/src/plugins/home/server/tutorials/zscaler_logs/index.ts index a2eb41a257a92..977bbb242c62a 100644 --- a/src/plugins/home/server/tutorials/zscaler_logs/index.ts +++ b/src/plugins/home/server/tutorials/zscaler_logs/index.ts @@ -29,7 +29,7 @@ export function zscalerLogsSpecProvider(context: TutorialContext): TutorialSchem moduleName, category: TutorialsCategory.SECURITY_SOLUTION, shortDescription: i18n.translate('home.tutorials.zscalerLogs.shortDescription', { - defaultMessage: 'This is a module for receiving Zscaler NSS logs over Syslog or a file.', + defaultMessage: 'Collect and parse logs from Zscaler NSS with Filebeat.', }), longDescription: i18n.translate('home.tutorials.zscalerLogs.longDescription', { defaultMessage: diff --git a/x-pack/plugins/apm/server/tutorial/index.ts b/x-pack/plugins/apm/server/tutorial/index.ts index a3ad59d842df1..66ff8f5b2c92c 100644 --- a/x-pack/plugins/apm/server/tutorial/index.ts +++ b/x-pack/plugins/apm/server/tutorial/index.ts @@ -22,7 +22,7 @@ import apmDataView from './index_pattern.json'; const apmIntro = i18n.translate('xpack.apm.tutorial.introduction', { defaultMessage: - 'Collect in-depth performance metrics and errors from inside your applications.', + 'Collect performance metrics from your applications with Elastic APM.', }); const moduleName = 'apm'; diff --git a/x-pack/plugins/maps/server/tutorials/ems/index.ts b/x-pack/plugins/maps/server/tutorials/ems/index.ts index ba8720a7bc8eb..47cb5476c4b90 100644 --- a/x-pack/plugins/maps/server/tutorials/ems/index.ts +++ b/x-pack/plugins/maps/server/tutorials/ems/index.ts @@ -65,7 +65,7 @@ export function emsBoundariesSpecProvider({ }), category: TutorialsCategory.OTHER, shortDescription: i18n.translate('xpack.maps.tutorials.ems.shortDescription', { - defaultMessage: 'Administrative boundaries from the Elastic Maps Service.', + defaultMessage: 'Add administrative boundaries to your data with Elastic Maps Service.', }), longDescription: i18n.translate('xpack.maps.tutorials.ems.longDescription', { defaultMessage: From 4b0ae9633cc8c3d729c2940d3759fb00ff78987c Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Thu, 21 Oct 2021 14:57:30 -0400 Subject: [PATCH 36/39] [Security Solution][Endpoint] un-skip permissions FTR tests for endpoint (#115962) * unskip test suite and skip the Test for Host details - found bug --- .../apps/endpoint/endpoint_permissions.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts b/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts index 90dd5123f5d36..48c0aea825048 100644 --- a/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts +++ b/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts @@ -20,8 +20,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const endpointTestResources = getService('endpointTestResources'); const policyTestResources = getService('policyTestResources'); - // failing ES promotion: https://github.com/elastic/kibana/issues/110309 - describe.skip('Endpoint permissions:', () => { + describe('Endpoint permissions:', () => { let indexedData: IndexedHostsAndAlertsResponse; before(async () => { @@ -62,7 +61,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { await testSubjects.existOrFail('noIngestPermissions'); }); - it('should display endpoint data on Host Details', async () => { + // FIXME:PT skipped. need to fix security-team bug #1929 + it.skip('should display endpoint data on Host Details', async () => { const endpoint = indexedData.hosts[0]; await PageObjects.hosts.navigateToHostDetails(endpoint.host.name); const endpointSummary = await PageObjects.hosts.hostDetailsEndpointOverviewData(); From 6344b8d2a49430aabd1ca1f57cea98896fb2c9a8 Mon Sep 17 00:00:00 2001 From: Yuliia Naumenko Date: Thu, 21 Oct 2021 12:19:34 -0700 Subject: [PATCH 37/39] [Alerting] Changed alerting telemetry throttle and schedule time metrics to be numbers instead of strings (#115605) * [Alerting] Changed alerting telemetry throttle and interval metrics to be numbers instead of strings * fixed test * fixed typecheck * set size to 0 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../actions/server/usage/actions_telemetry.ts | 2 + .../server/usage/alerts_telemetry.test.ts | 66 ++++++++++++++++++- .../alerting/server/usage/alerts_telemetry.ts | 20 +++--- .../server/usage/alerts_usage_collector.ts | 24 +++---- x-pack/plugins/alerting/server/usage/types.ts | 12 ++-- .../schema/xpack_plugins.json | 12 ++-- 6 files changed, 101 insertions(+), 35 deletions(-) diff --git a/x-pack/plugins/actions/server/usage/actions_telemetry.ts b/x-pack/plugins/actions/server/usage/actions_telemetry.ts index 1cb6bf8bfc74c..803a2122fe7f8 100644 --- a/x-pack/plugins/actions/server/usage/actions_telemetry.ts +++ b/x-pack/plugins/actions/server/usage/actions_telemetry.ts @@ -43,6 +43,7 @@ export async function getTotalCount( const { body: searchResult } = await esClient.search({ index: kibanaIndex, + size: 0, body: { query: { bool: { @@ -224,6 +225,7 @@ export async function getInUseTotalCount( const { body: actionResults } = await esClient.search({ index: kibanaIndex, + size: 0, body: { query: { bool: { diff --git a/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts b/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts index 15fa6e63ac561..348036252817d 100644 --- a/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts +++ b/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts @@ -7,7 +7,7 @@ // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { elasticsearchClientMock } from '../../../../../src/core/server/elasticsearch/client/mocks'; -import { getTotalCountInUse } from './alerts_telemetry'; +import { getTotalCountAggregations, getTotalCountInUse } from './alerts_telemetry'; describe('alerts telemetry', () => { test('getTotalCountInUse should replace first "." symbol to "__" in alert types names', async () => { @@ -49,6 +49,70 @@ Object { "countNamespaces": 1, "countTotal": 4, } +`); + }); + + test('getTotalCountAggregations should return aggregations for throttle, interval and associated actions', async () => { + const mockEsClient = elasticsearchClientMock.createClusterClient().asScoped().asInternalUser; + mockEsClient.search.mockReturnValue( + // @ts-expect-error @elastic/elasticsearch Aggregate only allows unknown values + elasticsearchClientMock.createSuccessTransportRequestPromise({ + aggregations: { + byAlertTypeId: { + value: { + ruleTypes: { + '.index-threshold': 2, + 'logs.alert.document.count': 1, + 'document.test.': 1, + }, + namespaces: { + default: 1, + }, + }, + }, + throttleTime: { value: { min: 0, max: 10, totalCount: 10, totalSum: 20 } }, + intervalTime: { value: { min: 0, max: 2, totalCount: 2, totalSum: 5 } }, + connectorsAgg: { + connectors: { + value: { min: 0, max: 5, totalActionsCount: 10, totalAlertsCount: 2 }, + }, + }, + }, + hits: { + hits: [], + }, + }) + ); + + const telemetry = await getTotalCountAggregations(mockEsClient, 'test'); + + expect(mockEsClient.search).toHaveBeenCalledTimes(1); + + expect(telemetry).toMatchInlineSnapshot(` +Object { + "connectors_per_alert": Object { + "avg": 2.5, + "max": 5, + "min": 0, + }, + "count_by_type": Object { + "__index-threshold": 2, + "document.test__": 1, + "logs.alert.document.count": 1, + }, + "count_rules_namespaces": 0, + "count_total": 4, + "schedule_time": Object { + "avg": 2.5, + "max": 2, + "min": 0, + }, + "throttle_time": Object { + "avg": 2, + "max": 10, + "min": 0, + }, +} `); }); }); diff --git a/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts b/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts index 18fa9b590b4e1..ede2ac3613296 100644 --- a/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts +++ b/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts @@ -233,6 +233,7 @@ export async function getTotalCountAggregations( const { body: results } = await esClient.search({ index: kibanaInex, + size: 0, body: { query: { bool: { @@ -284,22 +285,20 @@ export async function getTotalCountAggregations( {} ), throttle_time: { - min: `${aggregations.throttleTime.value.min}s`, - avg: `${ + min: aggregations.throttleTime.value.min, + avg: aggregations.throttleTime.value.totalCount > 0 ? aggregations.throttleTime.value.totalSum / aggregations.throttleTime.value.totalCount - : 0 - }s`, - max: `${aggregations.throttleTime.value.max}s`, + : 0, + max: aggregations.throttleTime.value.max, }, schedule_time: { - min: `${aggregations.intervalTime.value.min}s`, - avg: `${ + min: aggregations.intervalTime.value.min, + avg: aggregations.intervalTime.value.totalCount > 0 ? aggregations.intervalTime.value.totalSum / aggregations.intervalTime.value.totalCount - : 0 - }s`, - max: `${aggregations.intervalTime.value.max}s`, + : 0, + max: aggregations.intervalTime.value.max, }, connectors_per_alert: { min: aggregations.connectorsAgg.connectors.value.min, @@ -316,6 +315,7 @@ export async function getTotalCountAggregations( export async function getTotalCountInUse(esClient: ElasticsearchClient, kibanaInex: string) { const { body: searchResult } = await esClient.search({ index: kibanaInex, + size: 0, body: { query: { bool: { diff --git a/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts b/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts index ecea721dfad92..e9405c51dbf15 100644 --- a/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts +++ b/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts @@ -75,14 +75,14 @@ export function createAlertsUsageCollector( count_active_total: 0, count_disabled_total: 0, throttle_time: { - min: '0s', - avg: '0s', - max: '0s', + min: 0, + avg: 0, + max: 0, }, schedule_time: { - min: '0s', - avg: '0s', - max: '0s', + min: 0, + avg: 0, + max: 0, }, connectors_per_alert: { min: 0, @@ -100,14 +100,14 @@ export function createAlertsUsageCollector( count_active_total: { type: 'long' }, count_disabled_total: { type: 'long' }, throttle_time: { - min: { type: 'keyword' }, - avg: { type: 'keyword' }, - max: { type: 'keyword' }, + min: { type: 'long' }, + avg: { type: 'float' }, + max: { type: 'long' }, }, schedule_time: { - min: { type: 'keyword' }, - avg: { type: 'keyword' }, - max: { type: 'keyword' }, + min: { type: 'long' }, + avg: { type: 'float' }, + max: { type: 'long' }, }, connectors_per_alert: { min: { type: 'long' }, diff --git a/x-pack/plugins/alerting/server/usage/types.ts b/x-pack/plugins/alerting/server/usage/types.ts index 5e420b54e37cb..0e489893a1bbc 100644 --- a/x-pack/plugins/alerting/server/usage/types.ts +++ b/x-pack/plugins/alerting/server/usage/types.ts @@ -13,14 +13,14 @@ export interface AlertsUsage { count_active_by_type: Record; count_rules_namespaces: number; throttle_time: { - min: string; - avg: string; - max: string; + min: number; + avg: number; + max: number; }; schedule_time: { - min: string; - avg: string; - max: string; + min: number; + avg: number; + max: number; }; connectors_per_alert: { min: number; diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 12763e4e26e31..b3ca5f17634d5 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -144,26 +144,26 @@ "throttle_time": { "properties": { "min": { - "type": "keyword" + "type": "long" }, "avg": { - "type": "keyword" + "type": "float" }, "max": { - "type": "keyword" + "type": "long" } } }, "schedule_time": { "properties": { "min": { - "type": "keyword" + "type": "long" }, "avg": { - "type": "keyword" + "type": "float" }, "max": { - "type": "keyword" + "type": "long" } } }, From 21878b5b542919f5f99f94c1583eaa5c9da5737b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Thu, 21 Oct 2021 15:43:22 -0400 Subject: [PATCH 38/39] [APM] Dark metadata icons on service overview page (#115964) --- .../apm/public/components/shared/service_icons/icon_popover.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/apm/public/components/shared/service_icons/icon_popover.tsx b/x-pack/plugins/apm/public/components/shared/service_icons/icon_popover.tsx index 695c941c61ed4..19abd2059c903 100644 --- a/x-pack/plugins/apm/public/components/shared/service_icons/icon_popover.tsx +++ b/x-pack/plugins/apm/public/components/shared/service_icons/icon_popover.tsx @@ -50,7 +50,7 @@ export function IconPopover({ } From ce546998a43be795a0a5115cdb7b0af611e9c302 Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Thu, 21 Oct 2021 15:44:06 -0400 Subject: [PATCH 39/39] Add deprecation levels (#115832) --- x-pack/plugins/actions/server/index.ts | 7 ++++++- x-pack/plugins/alerting/server/index.ts | 8 +++++--- x-pack/plugins/stack_alerts/server/index.ts | 1 + x-pack/plugins/task_manager/server/index.ts | 2 ++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/actions/server/index.ts b/x-pack/plugins/actions/server/index.ts index 14cdfacd360a2..e6c82969a0aa2 100644 --- a/x-pack/plugins/actions/server/index.ts +++ b/x-pack/plugins/actions/server/index.ts @@ -57,7 +57,9 @@ export const plugin = (initContext: PluginInitializerContext) => new ActionsPlug export const config: PluginConfigDescriptor = { schema: configSchema, deprecations: ({ renameFromRoot, unused }) => [ - renameFromRoot('xpack.actions.whitelistedHosts', 'xpack.actions.allowedHosts'), + renameFromRoot('xpack.actions.whitelistedHosts', 'xpack.actions.allowedHosts', { + level: 'warning', + }), (settings, fromPath, addDeprecation) => { const actions = get(settings, fromPath); const customHostSettings = actions?.customHostSettings ?? []; @@ -69,6 +71,7 @@ export const config: PluginConfigDescriptor = { ) ) { addDeprecation({ + level: 'warning', configPath: 'xpack.actions.customHostSettings.ssl.rejectUnauthorized', message: `"xpack.actions.customHostSettings[].ssl.rejectUnauthorized" is deprecated.` + @@ -97,6 +100,7 @@ export const config: PluginConfigDescriptor = { const actions = get(settings, fromPath); if (actions?.hasOwnProperty('rejectUnauthorized')) { addDeprecation({ + level: 'warning', configPath: `${fromPath}.rejectUnauthorized`, message: `"xpack.actions.rejectUnauthorized" is deprecated. Use "xpack.actions.verificationMode" instead, ` + @@ -124,6 +128,7 @@ export const config: PluginConfigDescriptor = { const actions = get(settings, fromPath); if (actions?.hasOwnProperty('proxyRejectUnauthorizedCertificates')) { addDeprecation({ + level: 'warning', configPath: `${fromPath}.proxyRejectUnauthorizedCertificates`, message: `"xpack.actions.proxyRejectUnauthorizedCertificates" is deprecated. Use "xpack.actions.proxyVerificationMode" instead, ` + diff --git a/x-pack/plugins/alerting/server/index.ts b/x-pack/plugins/alerting/server/index.ts index 162ee06216304..2ddb6ff711c46 100644 --- a/x-pack/plugins/alerting/server/index.ts +++ b/x-pack/plugins/alerting/server/index.ts @@ -48,14 +48,16 @@ export const plugin = (initContext: PluginInitializerContext) => new AlertingPlu export const config: PluginConfigDescriptor = { schema: configSchema, deprecations: ({ renameFromRoot }) => [ - renameFromRoot('xpack.alerts.healthCheck', 'xpack.alerting.healthCheck'), + renameFromRoot('xpack.alerts.healthCheck', 'xpack.alerting.healthCheck', { level: 'warning' }), renameFromRoot( 'xpack.alerts.invalidateApiKeysTask.interval', - 'xpack.alerting.invalidateApiKeysTask.interval' + 'xpack.alerting.invalidateApiKeysTask.interval', + { level: 'warning' } ), renameFromRoot( 'xpack.alerts.invalidateApiKeysTask.removalDelay', - 'xpack.alerting.invalidateApiKeysTask.removalDelay' + 'xpack.alerting.invalidateApiKeysTask.removalDelay', + { level: 'warning' } ), ], }; diff --git a/x-pack/plugins/stack_alerts/server/index.ts b/x-pack/plugins/stack_alerts/server/index.ts index 1ac774a2d6c3f..b6b117ceb7075 100644 --- a/x-pack/plugins/stack_alerts/server/index.ts +++ b/x-pack/plugins/stack_alerts/server/index.ts @@ -18,6 +18,7 @@ export const config: PluginConfigDescriptor = { const stackAlerts = get(settings, fromPath); if (stackAlerts?.enabled === false || stackAlerts?.enabled === true) { addDeprecation({ + level: 'critical', configPath: 'xpack.stack_alerts.enabled', message: `"xpack.stack_alerts.enabled" is deprecated. The ability to disable this plugin will be removed in 8.0.0.`, correctiveActions: { diff --git a/x-pack/plugins/task_manager/server/index.ts b/x-pack/plugins/task_manager/server/index.ts index 100f95729d1b7..d078c7b78ad94 100644 --- a/x-pack/plugins/task_manager/server/index.ts +++ b/x-pack/plugins/task_manager/server/index.ts @@ -49,6 +49,7 @@ export const config: PluginConfigDescriptor = { const taskManager = get(settings, fromPath); if (taskManager?.index) { addDeprecation({ + level: 'critical', configPath: `${fromPath}.index`, documentationUrl: 'https://ela.st/kbn-remove-legacy-multitenancy', message: `"${fromPath}.index" is deprecated. Multitenancy by changing "kibana.index" will not be supported starting in 8.0. See https://ela.st/kbn-remove-legacy-multitenancy for more details`, @@ -62,6 +63,7 @@ export const config: PluginConfigDescriptor = { } if (taskManager?.max_workers > MAX_WORKERS_LIMIT) { addDeprecation({ + level: 'critical', configPath: `${fromPath}.max_workers`, message: `setting "${fromPath}.max_workers" (${taskManager?.max_workers}) greater than ${MAX_WORKERS_LIMIT} is deprecated. Values greater than ${MAX_WORKERS_LIMIT} will not be supported starting in 8.0.`, correctiveActions: {