diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml index 8d7b3fee29006..9067ecfb25e78 100644 --- a/.buildkite/ftr_configs.yml +++ b/.buildkite/ftr_configs.yml @@ -79,24 +79,12 @@ disabled: - x-pack/test_serverless/functional/config.base.ts - x-pack/test_serverless/shared/config.base.ts - # Serverless configs, currently only for manual tests runs, CI integration planned - - x-pack/test_serverless/api_integration/test_suites/common/config.ts - - x-pack/test_serverless/api_integration/test_suites/observability/config.ts - - x-pack/test_serverless/api_integration/test_suites/observability/config.feature_flags.ts - - x-pack/test_serverless/api_integration/test_suites/search/config.ts - - x-pack/test_serverless/api_integration/test_suites/search/config.feature_flags.ts - - x-pack/test_serverless/api_integration/test_suites/security/config.ts - - x-pack/test_serverless/api_integration/test_suites/security/config.feature_flags.ts - - x-pack/test_serverless/functional/test_suites/common/config.ts - - x-pack/test_serverless/functional/test_suites/observability/config.ts + # Serverless feature flag config files (move to enabled after tests are added) - x-pack/test_serverless/functional/test_suites/observability/config.feature_flags.ts - - x-pack/test_serverless/functional/test_suites/observability/config.examples.ts - - x-pack/test_serverless/functional/test_suites/search/config.ts + - x-pack/test_serverless/api_integration/test_suites/search/config.feature_flags.ts - x-pack/test_serverless/functional/test_suites/search/config.feature_flags.ts - - x-pack/test_serverless/functional/test_suites/search/config.examples.ts - - x-pack/test_serverless/functional/test_suites/security/config.ts + - x-pack/test_serverless/api_integration/test_suites/security/config.feature_flags.ts - x-pack/test_serverless/functional/test_suites/security/config.feature_flags.ts - - x-pack/test_serverless/functional/test_suites/security/config.examples.ts defaultQueue: 'n2-4-spot' enabled: @@ -410,6 +398,17 @@ enabled: - x-pack/test/ui_capabilities/spaces_only/config.ts - x-pack/test/upgrade_assistant_integration/config.js - x-pack/test/usage_collection/config.ts + - x-pack/test_serverless/api_integration/test_suites/observability/config.ts + - x-pack/test_serverless/api_integration/test_suites/search/config.ts + - x-pack/test_serverless/api_integration/test_suites/security/config.ts + - x-pack/test_serverless/functional/test_suites/observability/config.ts + - x-pack/test_serverless/functional/test_suites/observability/config.examples.ts + - x-pack/test_serverless/api_integration/test_suites/observability/config.feature_flags.ts + - x-pack/test_serverless/functional/test_suites/search/config.ts + - x-pack/test_serverless/functional/test_suites/search/config.examples.ts + - x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts + - x-pack/test_serverless/functional/test_suites/security/config.ts + - x-pack/test_serverless/functional/test_suites/security/config.examples.ts - x-pack/performance/journeys/ecommerce_dashboard.ts - x-pack/performance/journeys/ecommerce_dashboard_map_only.ts - x-pack/performance/journeys/flight_dashboard.ts diff --git a/.buildkite/pipelines/on_merge.yml b/.buildkite/pipelines/on_merge.yml index 521a0c76317a0..133004f468948 100644 --- a/.buildkite/pipelines/on_merge.yml +++ b/.buildkite/pipelines/on_merge.yml @@ -78,16 +78,44 @@ steps: - exit_status: '*' limit: 1 - - command: '.buildkite/scripts/steps/functional/on_merge_unsupported_ftrs.sh' - label: Trigger unsupported ftr tests - timeout_in_minutes: 10 - depends_on: - - build + - command: .buildkite/scripts/steps/functional/security_serverless.sh + label: 'Serverless Security Cypress Tests' agents: - queue: 'kibana-default' + queue: n2-4-spot + depends_on: build + timeout_in_minutes: 40 + parallelism: 2 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/security_serverless_explore.sh + label: 'Serverless Explore - Security Solution Cypress Tests' + agents: + queue: n2-4-spot + depends_on: build + timeout_in_minutes: 60 + parallelism: 2 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/security_serverless_investigations.sh + label: 'Serverless Investigations - Security Solution Cypress Tests' + agents: + queue: n2-4-spot + depends_on: build + timeout_in_minutes: 120 + parallelism: 2 + retry: + automatic: + - exit_status: '*' + limit: 1 - - command: '.buildkite/scripts/steps/functional/on_merge_serverless_ftrs.sh' - label: Trigger serverless ftr tests + - command: '.buildkite/scripts/steps/functional/on_merge_unsupported_ftrs.sh' + label: Trigger unsupported ftr tests timeout_in_minutes: 10 depends_on: - build diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index 60c26c8bce2fb..158c22c0bb0c5 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -56,84 +56,6 @@ steps: - exit_status: '*' limit: 1 - - command: SERVERLESS_ENVIRONMENT=observability .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Observability Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - soft_fail: - - exit_status: 10 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - - command: SERVERLESS_ENVIRONMENT=observability.examples .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Observability Examples Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - soft_fail: - - exit_status: 10 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - - command: SERVERLESS_ENVIRONMENT=search .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Search Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - soft_fail: - - exit_status: 10 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - - command: SERVERLESS_ENVIRONMENT=search.examples .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Search Examples Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - soft_fail: - - exit_status: 10 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - - command: SERVERLESS_ENVIRONMENT=security .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Security Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - soft_fail: - - exit_status: 10 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - - command: SERVERLESS_ENVIRONMENT=security.examples .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Security Examples Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - soft_fail: - - exit_status: 10 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - command: .buildkite/scripts/steps/functional/security_serverless.sh label: 'Serverless Security Cypress Tests' agents: @@ -141,7 +63,6 @@ steps: depends_on: build timeout_in_minutes: 40 parallelism: 2 - soft_fail: true retry: automatic: - exit_status: '*' @@ -154,7 +75,6 @@ steps: # queue: n2-4-spot # depends_on: build # timeout_in_minutes: 40 - # soft_fail: true # retry: # automatic: # - exit_status: '*' @@ -167,7 +87,6 @@ steps: depends_on: build timeout_in_minutes: 40 parallelism: 2 - soft_fail: true retry: automatic: - exit_status: '*' @@ -180,7 +99,6 @@ steps: depends_on: build timeout_in_minutes: 40 parallelism: 2 - soft_fail: true retry: automatic: - exit_status: '*' diff --git a/.buildkite/pipelines/serverless.yml b/.buildkite/pipelines/serverless.yml deleted file mode 100644 index 0a9cc038088ff..0000000000000 --- a/.buildkite/pipelines/serverless.yml +++ /dev/null @@ -1,137 +0,0 @@ -steps: - - command: .buildkite/scripts/lifecycle/pre_build.sh - label: Pre-Build - timeout_in_minutes: 10 - agents: - queue: kibana-default - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/build_kibana.sh - label: Build Kibana Distribution and Plugins - agents: - queue: n2-16-spot - key: build - if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''" - timeout_in_minutes: 60 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - - command: SERVERLESS_ENVIRONMENT=observability .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Observability Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - exit_status: '*' - limit: 1 - - - command: SERVERLESS_ENVIRONMENT=observability.examples .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Observability Examples Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - exit_status: '*' - limit: 1 - - - command: SERVERLESS_ENVIRONMENT=search .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Search Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - exit_status: '*' - limit: 1 - - - command: SERVERLESS_ENVIRONMENT=search.examples .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Search Examples Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - exit_status: '*' - limit: 1 - - - command: SERVERLESS_ENVIRONMENT=security .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Security Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - exit_status: '*' - limit: 1 - - - command: SERVERLESS_ENVIRONMENT=security.examples .buildkite/scripts/steps/functional/serverless_ftr.sh - label: 'Serverless Security Examples Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - retry: - automatic: - - exit_status: '-1' - limit: 3 - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/security_serverless.sh - label: 'Serverless Security Cypress Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 40 - parallelism: 2 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/security_serverless_investigations.sh - label: 'Serverless Security Investigations Cypress Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 120 - parallelism: 2 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/security_serverless_explore.sh - label: 'Serverless Security Explore Cypress Tests' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 60 - parallelism: 2 - retry: - automatic: - - exit_status: '*' - limit: 1 - diff --git a/.buildkite/scripts/steps/functional/on_merge_serverless_ftrs.sh b/.buildkite/scripts/steps/functional/on_merge_serverless_ftrs.sh deleted file mode 100755 index 96a7d82498105..0000000000000 --- a/.buildkite/scripts/steps/functional/on_merge_serverless_ftrs.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -if [[ "$BUILDKITE_BRANCH" == "main" ]]; then - echo "--- Trigger serverless ftr tests" - ts-node .buildkite/scripts/steps/trigger_pipeline.ts kibana-serverless "$BUILDKITE_BRANCH" "$BUILDKITE_COMMIT" "$BUILDKITE_BUILD_ID" -fi diff --git a/.buildkite/scripts/steps/functional/serverless_ftr.sh b/.buildkite/scripts/steps/functional/serverless_ftr.sh deleted file mode 100755 index 335b4b97f1445..0000000000000 --- a/.buildkite/scripts/steps/functional/serverless_ftr.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -source .buildkite/scripts/steps/functional/common.sh - -export JOB="kibana-serverless-$SERVERLESS_ENVIRONMENT" - -if [[ "$SERVERLESS_ENVIRONMENT" == "search" ]]; then - SERVERLESS_CONFIGS=( - "x-pack/test_serverless/api_integration/test_suites/search/config.ts" - "x-pack/test_serverless/api_integration/test_suites/search/config.feature_flags.ts" - "x-pack/test_serverless/functional/test_suites/search/config.ts" - ) -elif [[ "$SERVERLESS_ENVIRONMENT" == "search.examples" ]]; then - SERVERLESS_CONFIGS=( - "x-pack/test_serverless/functional/test_suites/search/config.examples.ts" - ) -elif [[ "$SERVERLESS_ENVIRONMENT" == "observability" ]]; then - SERVERLESS_CONFIGS=( - "x-pack/test_serverless/api_integration/test_suites/observability/config.ts" - "x-pack/test_serverless/api_integration/test_suites/observability/config.feature_flags.ts" - "x-pack/test_serverless/functional/test_suites/observability/config.ts" - "x-pack/test_serverless/functional/test_suites/observability/cypress/config_headless.ts" - ) -elif [[ "$SERVERLESS_ENVIRONMENT" == "observability.examples" ]]; then - SERVERLESS_CONFIGS=( - "x-pack/test_serverless/functional/test_suites/observability/config.examples.ts" - ) -elif [[ "$SERVERLESS_ENVIRONMENT" == "security" ]]; then - SERVERLESS_CONFIGS=( - "x-pack/test_serverless/api_integration/test_suites/security/config.ts" - "x-pack/test_serverless/api_integration/test_suites/security/config.feature_flags.ts" - "x-pack/test_serverless/functional/test_suites/security/config.ts" - ) -elif [[ "$SERVERLESS_ENVIRONMENT" == "security.examples" ]]; then - SERVERLESS_CONFIGS=( - "x-pack/test_serverless/functional/test_suites/security/config.examples.ts" - ) -fi - -EXIT_CODE=0 -OFFENDING_CONFIG= - -for CONFIG in "${SERVERLESS_CONFIGS[@]}" -do - echo "--- $ node scripts/functional_tests --bail --config $CONFIG" - set +e; - node ./scripts/functional_tests \ - --bail \ - --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ - --config="$CONFIG" - LAST_CODE=$? - set -e; - - if [ $LAST_CODE -ne 0 ]; then - EXIT_CODE=10 - OFFENDING_CONFIG=$CONFIG - fi -done - -echo "--- Serverless FTR Results for $JOB" -if [ $EXIT_CODE -eq 0 ]; then - echo "✅ Success!" -elif [ $EXIT_CODE -eq 10 ]; then - echo "❌ Failed in config: $OFFENDING_CONFIG, exit code set to 10 for soft-failure" -else - echo "❌ Failed." -fi - -exit $EXIT_CODE diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index df64d99949b9c..5f7502062abdc 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -297,6 +297,7 @@ x-pack/plugins/cross_cluster_replication @elastic/platform-deployment-management packages/kbn-crypto @elastic/kibana-security packages/kbn-crypto-browser @elastic/kibana-core x-pack/plugins/custom_branding @elastic/appex-sharedux +packages/kbn-custom-integrations @elastic/infra-monitoring-ui src/plugins/custom_integrations @elastic/fleet packages/kbn-cypress-config @elastic/kibana-operations x-pack/plugins/dashboard_enhanced @elastic/kibana-presentation @@ -480,7 +481,13 @@ packages/kbn-managed-vscode-config @elastic/kibana-operations packages/kbn-managed-vscode-config-cli @elastic/kibana-operations packages/kbn-management/cards_navigation @elastic/platform-deployment-management src/plugins/management @elastic/platform-deployment-management +packages/kbn-management/settings/components/field_input @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/components/field_row @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/field_definition @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/setting_ids @elastic/appex-sharedux @elastic/platform-deployment-management packages/kbn-management/settings/section_registry @elastic/appex-sharedux @elastic/platform-deployment-management +packages/kbn-management/settings/types @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/utilities @elastic/platform-deployment-management @elastic/appex-sharedux packages/kbn-management/storybook/config @elastic/platform-deployment-management test/plugin_functional/plugins/management_test_plugin @elastic/kibana-app-services packages/kbn-mapbox-gl @elastic/kibana-gis @@ -547,6 +554,7 @@ examples/preboot_example @elastic/kibana-security @elastic/kibana-core src/plugins/presentation_util @elastic/kibana-presentation x-pack/plugins/profiling_data_access @elastic/profiling-ui x-pack/plugins/profiling @elastic/profiling-ui +packages/kbn-profiling-utils @elastic/profiling-ui x-pack/packages/kbn-random-sampling @elastic/kibana-visualizations packages/kbn-react-field @elastic/kibana-data-discovery packages/react/kibana_context/common @elastic/appex-sharedux @@ -633,9 +641,13 @@ packages/kbn-securitysolution-utils @elastic/security-detection-engine packages/kbn-server-http-tools @elastic/kibana-core packages/kbn-server-route-repository @elastic/apm-ui x-pack/plugins/serverless @elastic/appex-sharedux +packages/serverless/settings/common @elastic/appex-sharedux @elastic/platform-deployment-management x-pack/plugins/serverless_observability @elastic/appex-sharedux @elastic/apm-ui +packages/serverless/settings/observability_project @elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management packages/serverless/project_switcher @elastic/appex-sharedux x-pack/plugins/serverless_search @elastic/enterprise-search-frontend +packages/serverless/settings/search_project @elastic/enterprise-search-frontend @elastic/platform-deployment-management +packages/serverless/settings/security_project @elastic/security-solution @elastic/platform-deployment-management packages/serverless/storybook/config @elastic/appex-sharedux packages/serverless/types @elastic/appex-sharedux test/plugin_functional/plugins/session_notifications @elastic/kibana-core @@ -795,6 +807,7 @@ src/plugins/visualizations @elastic/kibana-visualizations x-pack/plugins/watcher @elastic/platform-deployment-management packages/kbn-web-worker-stub @elastic/kibana-operations packages/kbn-whereis-pkg-cli @elastic/kibana-operations +packages/kbn-xstate-utils @elastic/infra-monitoring-ui packages/kbn-yarn-lock-validator @elastic/kibana-operations #### ## Everything below this line overrides the default assignments for each package. @@ -1012,7 +1025,7 @@ x-pack/plugins/infra/server/lib/alerting @elastic/actionable-observability /.buildkite/ @elastic/kibana-operations /kbn_pm/ @elastic/kibana-operations /x-pack/dev-tools @elastic/kibana-operations -catalog-info.yaml @elastic/kibana-operations @elastic/kibana-tech-leads +/catalog-info.yaml @elastic/kibana-operations @elastic/kibana-tech-leads # Appex QA /src/dev/code_coverage @elastic/appex-qa @@ -1293,8 +1306,7 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib /x-pack/plugins/security_solution/server/lists_integration/endpoint/ @elastic/security-defend-workflows /x-pack/plugins/security_solution/server/lib/license/ @elastic/security-defend-workflows /x-pack/plugins/security_solution/server/fleet_integration/ @elastic/security-defend-workflows -/x-pack/plugins/security_solution/scripts/endpoint/event_filters/ @elastic/security-defend-workflows -/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/ @elastic/security-defend-workflows +/x-pack/plugins/security_solution/scripts/endpoint/ @elastic/security-defend-workflows /x-pack/test/security_solution_endpoint/ @elastic/security-defend-workflows /x-pack/test/security_solution_endpoint_api_int/ @elastic/security-defend-workflows /x-pack/test_serverless/shared/lib/security/kibana_roles/ @elastic/security-defend-workflows diff --git a/.i18nrc.json b/.i18nrc.json index 373f28219a8cb..f5de3b91a9a01 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -18,6 +18,7 @@ "packages/core" ], "customIntegrations": "src/plugins/custom_integrations", + "customIntegrationsPackage": "packages/kbn-custom-integrations", "dashboard": "src/plugins/dashboard", "domDragDrop": "packages/kbn-dom-drag-drop", "controls": "src/plugins/controls", diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 77ae4552b9494..74c2df42d3ebe 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index ea04a15079483..2b846854e3332 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 948af04dfa6cc..7080314757917 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 2742fa1ee38c0..49ebca6cd544b 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index 8bd384647c099..65b7ea4e15948 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -408,7 +408,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_service_summary\" | \"GET /internal/apm/assistant/get_error_document\" | \"POST /internal/apm/assistant/get_correlation_values\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"POST /internal/apm/assistant/get_services_list\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_service_summary\" | \"GET /internal/apm/assistant/get_error_document\" | \"POST /internal/apm/assistant/get_correlation_values\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"POST /internal/apm/assistant/get_services_list\" | \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\"" ], "path": "x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -455,7 +455,109 @@ "label": "APMServerRouteRepository", "description": [], "signature": [ - "{ \"POST /internal/apm/assistant/get_services_list\": { endpoint: \"POST /internal/apm/assistant/get_services_list\"; params?: ", + "{ \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\": { endpoint: \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ serviceName: ", + "StringC", + "; }>; query: ", + "IntersectionC", + "<[", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>, ", + "TypeC", + "<{ kuery: ", + "StringC", + "; }>, ", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"ENVIRONMENT_NOT_DEFINED\">, ", + "LiteralC", + "<\"ENVIRONMENT_ALL\">, ", + "BrandC", + "<", + "StringC", + ", ", + { + "pluginId": "@kbn/io-ts-utils", + "scope": "common", + "docId": "kibKbnIoTsUtilsPluginApi", + "section": "def-common.NonEmptyStringBrand", + "text": "NonEmptyStringBrand" + }, + ">]>; }>, ", + "TypeC", + "<{ documentType: ", + "UnionC", + "<[", + "LiteralC", + "<", + "ApmDocumentType", + ".ServiceTransactionMetric>, ", + "LiteralC", + "<", + "ApmDocumentType", + ".TransactionMetric>, ", + "LiteralC", + "<", + "ApmDocumentType", + ".TransactionEvent>]>; rollupInterval: ", + "UnionC", + "<[", + "LiteralC", + "<", + "RollupInterval", + ".OneMinute>, ", + "LiteralC", + "<", + "RollupInterval", + ".TenMinutes>, ", + "LiteralC", + "<", + "RollupInterval", + ".SixtyMinutes>, ", + "LiteralC", + "<", + "RollupInterval", + ".None>]>; }>]>; }> | undefined; handler: ({}: ", + "APMRouteHandlerResources", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; } & { kuery: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".ServiceTransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; }; }; }) => Promise<", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.BaseFlameGraph", + "text": "BaseFlameGraph" + }, + " | undefined>; } & ", + "APMRouteCreateOptions", + "; \"POST /internal/apm/assistant/get_services_list\": { endpoint: \"POST /internal/apm/assistant/get_services_list\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -4809,9 +4911,13 @@ "TypeC", "<{ entryTransactionId: ", "StringC", - "; }>]>; }> | undefined; handler: ({}: ", + "; }>, ", + "PartialC", + "<{ maxTraceItems: ", + "Type", + "; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", - " & { params: { path: { traceId: string; }; query: { start: number; end: number; } & { entryTransactionId: string; }; }; }) => Promise<{ traceItems: ", + " & { params: { path: { traceId: string; }; query: { start: number; end: number; } & { entryTransactionId: string; } & { maxTraceItems?: number | undefined; }; }; }) => Promise<{ traceItems: ", "TraceItems", "; entryTransaction?: ", "Transaction", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 1bf54763ec8f0..0321e08da232e 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index b52bd14caca63..ccc6dae388e7c 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.devdocs.json b/api_docs/asset_manager.devdocs.json index fcc5f81df2922..7f2baa50411c4 100644 --- a/api_docs/asset_manager.devdocs.json +++ b/api_docs/asset_manager.devdocs.json @@ -22,7 +22,7 @@ "label": "AssetManagerConfig", "description": [], "signature": [ - "{ readonly alphaEnabled?: boolean | undefined; readonly sourceIndices: Readonly<{} & { metrics: string; traces: string; logs: string; serviceMetrics: string; serviceLogs: string; }>; readonly lockedSource: \"assets\" | \"signals\"; }" + "{ readonly alphaEnabled?: boolean | undefined; readonly sourceIndices: Readonly<{} & { metrics: string; logs: string; }>; readonly lockedSource: \"assets\" | \"signals\"; }" ], "path": "x-pack/plugins/asset_manager/server/types.ts", "deprecated": false, diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 34a38503bc482..2bad7c5caf69e 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index ea27403f79cd4..b7b359acda646 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 116c8ec5511e3..9f3e7bacf423f 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index b0aeb19ddc3a4..35c31f24455e0 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 4d8fe0b736679..c4ea980bdfd40 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 7f8cebd9c601f..aaf83ded16c82 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 052d01b821dfb..8baed658a86d9 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 4050a4485826a..2da12d342ced2 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 022d5abf4e688..cfefd3c8175fe 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index dc8e55c22fc37..ad12a3d3293e5 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index fdbbbec14d777..07ba774eeb694 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index e712da700e1c4..77d1d81611094 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index b869e5f9100bf..fa344b8cd1e08 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 3340eb4323321..a5647838823c2 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 15cd6b51ccc39..678f4bc4d01d6 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index d8aa02a236d4c..6222fdddf3101 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index cc3b8b98886a7..ed8b09b8aa01d 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 044d3c18c32b2..29e6604854c95 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 08c3a62bf6fe4..d0984d0dba3e1 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index ef9a68c32f6d8..84b3aa93242c4 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -13415,10 +13415,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -21160,10 +21156,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index dccb5a70b606f..e03cb84f065e1 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index d49aec8aedb4d..94a4d83f941cd 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 38913c8ead517..d05211b72db28 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 08db90c7bd89a..bc9c5332b1d5c 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index 9a2fb90fbc842..09560e1cd46cd 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index 6f6c4e9640185..146d057db3d61 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index 306fa6e5ed4d4..70cff55c9937b 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -107,10 +107,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -8100,10 +8096,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -15154,10 +15146,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 4f2d2cb766082..8944c31b46bde 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 7d0c90421fea6..45e1f8b045824 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 9621d6a7d6bdf..36e26120e41e0 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -66,7 +66,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | discover | - | | | data, discover, imageEmbeddable, embeddable | - | | | @kbn/core-saved-objects-browser-mocks, discover, @kbn/core-saved-objects-browser-internal | - | -| | advancedSettings, discover | - | +| | advancedSettings, discover, @kbn/management-settings-field-definition | - | | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal, canvas, @kbn/core-saved-objects-browser-internal | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index fdc39aec44eff..0c396bf1c2d0c 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -304,6 +304,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] +## @kbn/management-settings-field-definition + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [get_definition.ts](https://github.com/elastic/kibana/tree/main/packages/kbn-management/settings/field_definition/get_definition.ts#:~:text=metric) | - | + + + ## @kbn/react-kibana-context-styled | Deprecated API | Reference location(s) | Remove By | @@ -1459,12 +1467,12 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 12 more | - | | | [dependencies_start_mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/endpoint/dependencies_start_mock.ts#:~:text=indexPatterns) | - | | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 78 more | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | | | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/eql/api.ts#:~:text=options) | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 10 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 9 more | - | | | [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/saved_objects.ts#:~:text=toMountPoint)+ 5 more | - | | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider) | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index ec5149568ca7e..35aa77b621a4d 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 1e4729e6e3fd6..5c28c06fd69c0 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index eed219f241c70..ef5fa29530011 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index b03643efebe31..ff158f6a5a37f 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 14b6bf9f4585a..b653fb78036e4 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index c14d11fc00a65..70c1b911bda7e 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index a84163a8085ca..9217763484b93 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 405e184101803..947b0e22a3a51 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index 1a8ec1b332282..a203be3c2e59b 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 6a7ea6a4ed438..025b910b17d62 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 211240e83892f..2996d73375ba5 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 918abc119a91f..252d84810e54b 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 5450d5fdf8039..3fff455b0a940 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 41758dac77bbb..a7af7966142de 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index ff5edb3e8db22..e022424c3bcfd 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index fac0b4e9335a5..025a92714cb2b 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 714943cebb37f..f77caa84872dd 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index e16e5e8cfd402..df0d244e525e0 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 6e830e2a28c70..216d05dfda4b5 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 93c86b3f2998d..7447f9267eeab 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index cb1fd2689b0ef..7f318a76a2e2a 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index eb961744db7e6..fcc3d1cdddc09 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 9ac6e136ea595..1e57837174182 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 572d48f180198..4d8583e8c96ed 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 8d53983c480a0..55b73dc07e946 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 72eb012d4e584..a7ea5594dc7e1 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index f10c76d5dd824..4fc8bfe7e5077 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index e2ed986a1b698..8ff4021bced53 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index ed98a4da42874..b6ead9d135807 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index cf2d312c2cdc4..340c879e1b751 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 7a5b54185b565..b97278b601b79 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 1681a79d83ea8..d9370b426ba25 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 45cd2d17bc559..e2b7e5da3f308 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 81f16a4569943..a2d2ac414a189 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index a3ed95291ed2c..1e0c1befd77ce 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index ee71d0e7f902c..727ef69690db4 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.devdocs.json b/api_docs/home.devdocs.json index e39bab658985d..ffae4fbc9f5a5 100644 --- a/api_docs/home.devdocs.json +++ b/api_docs/home.devdocs.json @@ -693,6 +693,54 @@ "path": "src/plugins/home/public/services/feature_catalogue/feature_catalogue_registry.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "home", + "id": "def-public.FeatureCatalogueSolution.isVisible", + "type": "Function", + "tags": [], + "label": "isVisible", + "description": [ + "Optional function to control visibility of this solution." + ], + "signature": [ + "((capabilities: ", + { + "pluginId": "@kbn/core-capabilities-common", + "scope": "common", + "docId": "kibKbnCoreCapabilitiesCommonPluginApi", + "section": "def-common.Capabilities", + "text": "Capabilities" + }, + ") => boolean) | undefined" + ], + "path": "src/plugins/home/public/services/feature_catalogue/feature_catalogue_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "home", + "id": "def-public.FeatureCatalogueSolution.isVisible.$1", + "type": "Object", + "tags": [], + "label": "capabilities", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-capabilities-common", + "scope": "common", + "docId": "kibKbnCoreCapabilitiesCommonPluginApi", + "section": "def-common.Capabilities", + "text": "Capabilities" + } + ], + "path": "src/plugins/home/public/services/feature_catalogue/feature_catalogue_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 45486fc1ebc57..aeebb152ddbb7 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 147 | 0 | 108 | 0 | +| 149 | 0 | 109 | 0 | ## Client diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 344be405fc7f0..30e0ffc11e61b 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 7d94b8b112d3b..461076745bfca 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 15df24ec989d6..10df7ee6b8495 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index fe2315d3a5d42..81c6d278ba6c5 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 8574468784dbc..05d5cf4824821 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index 2d25ac27c5816..70bd1093402f0 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 48640452cda1a..ced2a0416e5ef 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index a380549bc7b5f..840621476fc4a 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index ef2c6c09fa491..30fafa575aa86 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 8234fee3fbbef..a50005a3eb4d3 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 0a303f602d63c..087548ae3f2c7 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index d0d8506de6910..31dabd1555c9c 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 3bcba254073bd..377eb4a494990 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index e4aed184e4032..ad361f8e3e7c1 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index d211931f25de7..7c8bad3bcf0bd 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index fd3aecb07e896..612a946dbe6b5 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 2af8818ec4115..29c87b3489d74 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 8dde494334be2..d0a75d3834b97 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index c5e5b566ffd0e..c7d43d33f7678 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 79107120ff34b..4dd5ec04c8753 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 68eb7cb3375fd..16349148ffbdb 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index bab117e8a909f..211f858c95038 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 3b83da8832a95..9b59ec8bc69b5 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 11c6d7bc0a729..caa146e8e0c55 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 8aba8b71f2726..ce33e7094b5d3 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 53526edcc3c6c..e154d1876617a 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index f038efa40b43d..43c2d48d8d503 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index efd0a58540321..dc2a22537cfbd 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 9318cb4121328..3057e387f2dce 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 37633ea374d3b..624246f3f1cbe 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 5be8ad1610d2a..9bc2481809ebc 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 5efb6eece1487..bed3382b721da 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index a69b0235e1fc2..e004b83be3ba0 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 0c120b3a98ed5..bcf1edf67f4d6 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 87d61f9888249..0693c819d3639 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 620fe6f680f1a..837799a3183ab 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 66bd6a690d2cf..ea2afb6cebc6e 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index a147b6e933771..fd1b2b0704e5c 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index e101f15d83815..fad14faae22ab 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 1ae2b948d5b23..689fffafe3d10 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 45e66d0da2aea..d60366283c07f 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index d2317b1c5ea49..7685973bf5445 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 1d47d3c65bee5..3e120dd75aa81 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 2b4bc1a023ca8..638a0719fbc92 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index eb62fee67e360..38a5af9bca204 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index ca9ea007c1229..cdd8ddc274859 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index e9526a3f62d06..b0e98295e3651 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index 8e7284fca387d..d3fc29b22133c 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 53139c789c468..f75467bf89bd3 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 896ed47f6b98f..83bf6e86b3882 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 0c73e53450d52..3bceef68891e7 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index e2db3a4984bca..e6e96eac11a67 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 3e3ea42dd5e98..e69b9cbd85f31 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 94081823b76db..89677d63998f6 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 8737727eefc6f..1da42e9b40e3b 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 395bd8af7a4ad..f089280e74a0e 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 869c202932378..3be5e340de76f 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 909a9c2ab53ad..fb8a09425d2e4 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 160145bfb45f2..f2e2d4e81d5c0 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index ec889e3d06cb3..799955a5d8168 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index faeeada886cb2..a343df6e423d4 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 0714270b41c9d..2e0c77ef52b11 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 1a5cc7bcc6878..d002a63d85cb6 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index e1c2581a42639..9078dd27a2cd2 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 0f26384bbfd39..627a503686bea 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index b8f589f7a9927..18c9cf8270f55 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 56e2bc70b26d6..cac16801c9b61 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 3dc3181eeca29..ec21285b3e2a8 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index d2c2dbba8301d..2f5550e57d5d3 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index e69ca643265e7..4ad9e7c5b741b 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 152b093856f27..dba337f90278c 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index e3d548172b49d..ade37e92fa17b 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 95dfd3b0c0c78..b129f94245a42 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 17c16c8037cc2..b8426f93d901d 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 04b1cf3e67f9e..b223b8ad24295 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index e0073b947fb11..94ff3b5d15f66 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index 8dae3e842dee9..85a3df5bd0d3f 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 48bd9aeff76dd..f65063eff2d64 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index b9c22f819e6ae..24a60c23de605 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 126eafe6962b8..ad7bbeba00b9c 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 482e19fb7897d..e7601e739d8d0 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 73533ae4e293c..019dae5622e00 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index fa0cb91975686..625aea26f97c2 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index 90cc607972980..bb05db24ec7ee 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index 64067d62e9b04..8d84a1cda3a30 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index cce93a3bc27e9..2bebe89767c7b 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index e0714d4dc9b32..960f0bf180c46 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index acbe2d77c3d6b..b129f424bc4d6 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index 9fdf41e26eeeb..efc5ffba7900a 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index b41e1bb91a3df..8f44d2fbc2bf3 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 325f5e5fc791f..12fc7c154011e 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 162a8a4dc86b9..5d373c4a6d75f 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index e076d5c0e6c33..fa14ca9284b8e 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index a5259752a003e..04251bcddd9b9 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 6853187b735fd..df8abf49b100c 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 0022f2405c73a..b6efb8777a1b2 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 700f5bba684dd..8d820a4a6512c 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 5cc3009ddbc95..0a82ff6f4bb98 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index 3706816087145..6f255b40819c5 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 6878ef8377f73..990ac7a7691a4 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index 24c75daf246ab..7e3fc0712d744 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index 3e864f602dafe..788740f733e54 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index 9f277729ca71f..7620efe9b717b 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index a8734ff233603..e45995f2ba22f 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index cbbb33985a8ae..edf36ab2b9b30 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index dd8967d2d75a0..73eaab5107815 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index dd1bfb90c43ad..333bc2ef14e47 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index b29bfb37a617c..c939eccfa85f0 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index c17f9b534fb39..75c5bafb6656d 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 0c60e77a9eaa6..e1a27e29f13d0 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index 45557ff7be6e1..1db0150620673 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index b6c5a7e685515..190f4aaba37e2 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index ca7fe489ebcf6..2b6111f5ee4b7 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 6e71f4170fcef..56192d84288a0 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index d9f00ec296c72..fac7054f4bedd 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 595a8c0a7bc5a..ebc8c2badc6d4 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 2f7008b48665e..6793915901fca 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index de9987938dad4..297bc703eced0 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 0f4873c88eb94..f16a926b45ab2 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 4de8474a2b1a9..5f57f2d579b04 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 46137a50c99f5..f6299a3b0cbe9 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index ffc17fd3a1b79..4d3182846eda3 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index ea3ae42127387..edffd877512c5 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 5fb24186b29f6..fd71c7f8d2581 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index bf3d68df6c495..67205cc60f586 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 0fb20058e4d36..4cb2b9b7aa27c 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 7b3901871f01a..622f94777e1e9 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index dccbf7cad5822..af0d5329fdbe3 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 2802be031c000..70f69fadbc86c 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 03d6560a158c0..c0954438f8bbc 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index d2ea1e51d7a43..cb285fcbc0817 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 5c55790e89ff2..53d61904513b7 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 11ccf89fcff3b..c1c6e19ab8a68 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index 64dc089190e9e..b10208998bcd7 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 6672f79c7d316..3ff5150143804 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index 1d833a7694d80..c44b0b2117ce5 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 65bd727e2462b..55e9bb16959e5 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 56130fa76a230..8fac50c57da1a 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index c82b126e96db4..1b172c825ace1 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index b9621eef0f7bf..7008beab1738c 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index a9537b375e5aa..8b7335baad4bf 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 2c6b086076c71..5ddb00dd955e7 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 5d6f02c127f66..3f2acf7b4fb3e 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 2dbc851e3e0b6..2ac5493f2b133 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index a59c4125b51d2..90cf4cb1f9fd0 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 33688eca59573..7d88695f51048 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 139f9ee076b9c..94583af89cadb 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 7d471f27cff87..8ae081bcb9b1e 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index b62ce573dc715..3e535f141bc30 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 7f2922b8c4f64..2e20f288f809a 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index f46f55fdc1669..724b2e312ed06 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index e1dad980db9aa..b509c9f5e2c6c 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 9174b9b6e19af..43e99414f7c20 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 4e35dbd7588a2..1b35bf41a48fc 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 8b2c6d23e7412..3572eec8dc6d7 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 203dfe3c687b5..280ccbc6fbe40 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 2db8f031780bd..95c7012b86872 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 345e2a6c99d4c..da17aa9946e86 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 9462f7fdda267..d6855a30e4fcb 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 5bc681f863793..641c6f84c886a 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index b8ea126d1ca9a..5ffbe9c75bf4a 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index bec74fb2e248e..9d68a4399bdb8 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index d27d9553efca5..2169deffd755e 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index aef1539126a30..595e680adcd92 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index a80bf5ebddea8..c8ada6c1d565d 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index f33a08e3ab1a3..9ff3c6997fdad 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index f0543399fd9ff..d237c9e4d649c 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 625ba12e43461..6e9cd37dd72d1 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index b012699c60759..cad186b2dc033 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json index 4788fa89a6be4..4706f5a6e2e38 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json @@ -843,6 +843,8 @@ "IndexNotGreenTimeout", " | ", "ClusterShardLimitExceeded", + " | ", + "OperationNotSupported", ", ", "AcknowledgeResponse", ">" diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 0a702618c7d71..6e1664e89b1bd 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 125 | 0 | 91 | 46 | +| 125 | 0 | 91 | 47 | ## Common diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index bda8a397aa4fe..c1f3776997875 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 747e30cab90b1..be93347de8bf6 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 19ff53584bbc2..21b3f41f0fee1 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index cf0f2654d762b..46ead18c42752 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 9f3d0a5523949..1f28dab63ff5b 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index 8b965cd2818b9..647c4e01d8b17 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 6513dbf6cdefb..20d65f134cf1c 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 8cd9a106b7ccb..0707e03010fb3 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index fe529edb5cb7c..33a38b2a54919 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index c1b3a997b8e9c..481cd2b4bfd41 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 84c79532de133..b23a31f9048d2 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 2e8c43eab6511..e8e77e92f6c28 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 78de562017185..abfa1570e05ed 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 23fb18aaa0ad9..371e3c6f42444 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 3c1cd7de18613..db1e0f76d4d62 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index c2db09a9a65e4..f276b62a73423 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 55504deb98020..7c24094965b1e 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.devdocs.json b/api_docs/kbn_core_ui_settings_browser.devdocs.json index f39807e781468..4804d0fac6dac 100644 --- a/api_docs/kbn_core_ui_settings_browser.devdocs.json +++ b/api_docs/kbn_core_ui_settings_browser.devdocs.json @@ -554,7 +554,15 @@ "section": "def-common.UiSettingsScope", "text": "UiSettingsScope" }, - " | undefined; order?: number | undefined; name?: string | undefined; description?: string | undefined; category?: string[] | undefined; optionLabels?: Record | undefined; requiresPageReload?: boolean | undefined; readonly?: boolean | undefined; sensitive?: boolean | undefined; deprecation?: ", + " | undefined; order?: number | undefined; name?: string | undefined; description?: string | undefined; category?: string[] | undefined; optionLabels?: Record | undefined; requiresPageReload?: boolean | undefined; readonly?: boolean | undefined; readonlyMode?: ", + { + "pluginId": "@kbn/core-ui-settings-common", + "scope": "common", + "docId": "kibKbnCoreUiSettingsCommonPluginApi", + "section": "def-common.ReadonlyModeType", + "text": "ReadonlyModeType" + }, + " | undefined; sensitive?: boolean | undefined; deprecation?: ", { "pluginId": "@kbn/core-ui-settings-common", "scope": "common", diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index f33556054d4b6..770daf63751bf 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index bd5f2306dd104..9b21cae907972 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 58e1cab74c117..65327a6f206fd 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.devdocs.json b/api_docs/kbn_core_ui_settings_common.devdocs.json index 252e14a65d219..16e4a9397621c 100644 --- a/api_docs/kbn_core_ui_settings_common.devdocs.json +++ b/api_docs/kbn_core_ui_settings_common.devdocs.json @@ -213,6 +213,29 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-ui-settings-common", + "id": "def-common.UiSettingsParams.readonlyMode", + "type": "CompoundType", + "tags": [], + "label": "readonlyMode", + "description": [ + "a flag indicating the level of restriction of the readonly settings {@link ReadonlyModeType}" + ], + "signature": [ + { + "pluginId": "@kbn/core-ui-settings-common", + "scope": "common", + "docId": "kibKbnCoreUiSettingsCommonPluginApi", + "section": "def-common.ReadonlyModeType", + "text": "ReadonlyModeType" + }, + " | undefined" + ], + "path": "packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-ui-settings-common", "id": "def-common.UiSettingsParams.sensitive", @@ -345,6 +368,10 @@ { "plugin": "discover", "path": "src/plugins/discover/server/ui_settings.ts" + }, + { + "plugin": "@kbn/management-settings-field-definition", + "path": "packages/kbn-management/settings/field_definition/get_definition.ts" } ] }, @@ -431,6 +458,23 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/core-ui-settings-common", + "id": "def-common.ReadonlyModeType", + "type": "Type", + "tags": [], + "label": "ReadonlyModeType", + "description": [ + "\nType for the readonly mode of the readonly settings.\n'strict' indicates that the value cannot be changed through API and is not displayed in the UI\n'ui' indicates that the value is just not displayed in the UI" + ], + "signature": [ + "\"strict\" | \"ui\"" + ], + "path": "packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-ui-settings-common", "id": "def-common.TIMEZONE_OPTIONS", diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index e31ad7dd9f5b1..1aa4a737229d7 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 25 | 0 | 4 | 0 | +| 27 | 0 | 4 | 0 | ## Common diff --git a/api_docs/kbn_core_ui_settings_server.devdocs.json b/api_docs/kbn_core_ui_settings_server.devdocs.json index e4d4c0c5eedd1..9db8a89dd3d1f 100644 --- a/api_docs/kbn_core_ui_settings_server.devdocs.json +++ b/api_docs/kbn_core_ui_settings_server.devdocs.json @@ -525,6 +525,40 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "@kbn/core-ui-settings-server", + "id": "def-common.UiSettingsServiceSetup.setAllowlist", + "type": "Function", + "tags": [], + "label": "setAllowlist", + "description": [ + "\nSets an allowlist of setting keys." + ], + "signature": [ + "(keys: string[]) => void" + ], + "path": "packages/core/ui-settings/core-ui-settings-server/src/contracts.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-ui-settings-server", + "id": "def-common.UiSettingsServiceSetup.setAllowlist.$1", + "type": "Array", + "tags": [], + "label": "keys", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/core/ui-settings/core-ui-settings-server/src/contracts.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 3cfc74cad599c..9cb79338d1682 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 32 | 1 | 16 | 0 | +| 34 | 1 | 17 | 0 | ## Common diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 2eb87fb8bcec8..ff32cbf0d8e3c 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index c5881c5a04f5d..404134d87f917 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index eaad95ac09495..da875bbf0e182 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 40d2b80827510..1e64c972845b0 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 3548346752b88..771d2a438138c 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 112929653a148..06fbdc6d3125b 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 23eea95f2dd5f..06b5995f2a0a1 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 3391bb253ca79..dd2186a3171b8 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index dfb13ab5fb375..a853e8d288304 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 47454781f9179..905bcbc3d5f6f 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.devdocs.json b/api_docs/kbn_custom_integrations.devdocs.json new file mode 100644 index 0000000000000..931ffe65e4a92 --- /dev/null +++ b/api_docs/kbn_custom_integrations.devdocs.json @@ -0,0 +1,404 @@ +{ + "id": "@kbn/custom-integrations", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.ConnectedCustomIntegrationsButton", + "type": "Function", + "tags": [], + "label": "ConnectedCustomIntegrationsButton", + "description": [], + "signature": [ + "({ isDisabled, onClick, testSubj, }: ConnectedCustomIntegrationsButtonProps) => JSX.Element | null" + ], + "path": "packages/kbn-custom-integrations/src/components/custom_integrations_button.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.ConnectedCustomIntegrationsButton.$1", + "type": "Object", + "tags": [], + "label": "{\n isDisabled,\n onClick,\n testSubj = 'customIntegrationsPackageConnectedButton',\n}", + "description": [], + "signature": [ + "ConnectedCustomIntegrationsButtonProps" + ], + "path": "packages/kbn-custom-integrations/src/components/custom_integrations_button.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.ConnectedCustomIntegrationsForm", + "type": "Function", + "tags": [], + "label": "ConnectedCustomIntegrationsForm", + "description": [], + "signature": [ + "({ testSubjects }: Props) => JSX.Element | null" + ], + "path": "packages/kbn-custom-integrations/src/components/custom_integrations_form.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.ConnectedCustomIntegrationsForm.$1", + "type": "Object", + "tags": [], + "label": "{ testSubjects }", + "description": [], + "signature": [ + "Props" + ], + "path": "packages/kbn-custom-integrations/src/components/custom_integrations_form.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.CustomIntegrationsProvider", + "type": "Function", + "tags": [], + "label": "CustomIntegrationsProvider", + "description": [], + "signature": [ + "React.FunctionComponent>" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.CustomIntegrationsProvider.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P & { children?: React.ReactNode; }" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.CustomIntegrationsProvider.$2", + "type": "Any", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "any" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.useConsumerCustomIntegrations", + "type": "Function", + "tags": [], + "label": "useConsumerCustomIntegrations", + "description": [], + "signature": [ + "() => { mode: ", + "Mode", + "; dispatchableEvents: { saveCreateFields: (() => void) | undefined; updateCreateFields: ((fields: Partial<{ integrationName: string; datasets: { name: string; type: \"metrics\" | \"logs\"; }[]; }>) => void) | undefined; }; }" + ], + "path": "packages/kbn-custom-integrations/src/hooks/use_consumer_custom_integrations.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.useCustomIntegrations", + "type": "Function", + "tags": [], + "label": "useCustomIntegrations", + "description": [], + "signature": [ + "() => { customIntegrationsState: ", + "State", + "<", + "WithSelectedMode", + ", ", + "CreateCustomIntegrationNotificationEvent", + ", any, ", + "CustomIntegrationsTypestate", + ", ", + "ResolveTypegenMeta", + "<", + "TypegenDisabled", + ", ", + "CreateCustomIntegrationNotificationEvent", + ", ", + "BaseActionObject", + ", ", + "ServiceMap", + ">>; customIntegrationsPageSend: (event: ", + "SingleOrArray", + "<", + "Event", + "<", + "CreateCustomIntegrationNotificationEvent", + ">> | ", + "SCXML", + ".Event<", + "CreateCustomIntegrationNotificationEvent", + ">, payload?: ", + "EventData", + " | undefined) => ", + "State", + "<", + "WithSelectedMode", + ", ", + "CreateCustomIntegrationNotificationEvent", + ", any, ", + "CustomIntegrationsTypestate", + ", ", + "ResolveTypegenMeta", + "<", + "TypegenDisabled", + ", ", + "CreateCustomIntegrationNotificationEvent", + ", ", + "BaseActionObject", + ", ", + "ServiceMap", + ">>; customIntegrationsStateService: ", + "Interpreter", + "<", + "WithSelectedMode", + ", any, ", + "CreateCustomIntegrationNotificationEvent", + ", ", + "CustomIntegrationsTypestate", + ", ", + "ResolveTypegenMeta", + "<", + "TypegenDisabled", + ", ", + "CreateCustomIntegrationNotificationEvent", + ", ", + "BaseActionObject", + ", ", + "ServiceMap", + ">>; }" + ], + "path": "packages/kbn-custom-integrations/src/hooks/use_custom_integrations.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.Callbacks", + "type": "Interface", + "tags": [], + "label": "Callbacks", + "description": [], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.Callbacks.onIntegrationCreation", + "type": "Function", + "tags": [], + "label": "onIntegrationCreation", + "description": [], + "signature": [ + "((integrationOptions: { integrationName: string; datasets: { name: string; type: \"metrics\" | \"logs\"; }[]; }) => void) | undefined" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.Callbacks.onIntegrationCreation.$1", + "type": "Object", + "tags": [], + "label": "integrationOptions", + "description": [], + "signature": [ + "{ integrationName: string; datasets: { name: string; type: \"metrics\" | \"logs\"; }[]; }" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.Callbacks.onIntegrationCleanup", + "type": "Function", + "tags": [], + "label": "onIntegrationCleanup", + "description": [], + "signature": [ + "((integrationName: string) => void) | undefined" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.Callbacks.onIntegrationCleanup.$1", + "type": "string", + "tags": [], + "label": "integrationName", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.Callbacks.onIntegrationCleanupFailed", + "type": "Function", + "tags": [], + "label": "onIntegrationCleanupFailed", + "description": [], + "signature": [ + "((error: ", + "IntegrationError", + ") => void) | undefined" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.Callbacks.onIntegrationCleanupFailed.$1", + "type": "Object", + "tags": [], + "label": "error", + "description": [], + "signature": [ + "IntegrationError" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.CustomIntegrationOptions", + "type": "Type", + "tags": [], + "label": "CustomIntegrationOptions", + "description": [], + "signature": [ + "{ integrationName: string; datasets: { name: string; type: \"metrics\" | \"logs\"; }[]; }" + ], + "path": "packages/kbn-custom-integrations/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.DispatchableEvents", + "type": "Type", + "tags": [], + "label": "DispatchableEvents", + "description": [], + "signature": [ + "{ saveCreateFields: (() => void) | undefined; updateCreateFields: ((fields: Partial<{ integrationName: string; datasets: { name: string; type: \"metrics\" | \"logs\"; }[]; }>) => void) | undefined; }" + ], + "path": "packages/kbn-custom-integrations/src/hooks/use_consumer_custom_integrations.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/custom-integrations", + "id": "def-common.InitialState", + "type": "Type", + "tags": [], + "label": "InitialState", + "description": [], + "signature": [ + "{ context?: Partial<", + "CreateInitialState", + "> | undefined; } & ", + "WithSelectedMode" + ], + "path": "packages/kbn-custom-integrations/src/state_machines/custom_integrations/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx new file mode 100644 index 0000000000000..a601161cb0b97 --- /dev/null +++ b/api_docs/kbn_custom_integrations.mdx @@ -0,0 +1,36 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnCustomIntegrationsPluginApi +slug: /kibana-dev-docs/api/kbn-custom-integrations +title: "@kbn/custom-integrations" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/custom-integrations plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] +--- +import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; + + + +Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 19 | 0 | 17 | 6 | + +## Common + +### Functions + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 61a5673a23a60..8ac9dd661d0df 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 87b53d6af25e9..20099207784ab 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index d1035c4aabf5a..64ee037296eed 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 1cd8529c53d9d..c4a834b032daa 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 754a7fd601c2c..ba3d070bf504c 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index a68c219b5d404..625bce98cf1d1 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 92128db57cc4d..c775e2c4cf663 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index f98356b52804d..e50ede7967e03 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 31a54811cb680..785c22d4ff37f 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 3c844b072791d..638eab6243550 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index f8220cf020878..caed466a20784 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 36c772a510e15..99894427aa689 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 5f07faffe9633..ee9ee501515d8 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 7c8aad2286cc1..925f6e916d4b8 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 002ce28d1ad35..93ed8330f7bf1 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 1091513673be2..2d9fbd7349e62 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index df3bda28f55c0..3720039d4bfe4 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 35f90b549c342..01964ac5527d7 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 0fddfa76328c4..c9b0fa9ec9aac 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 0a6b75c10f0f8..f0d79b25235ba 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 32cdf613a3691..2bc1fc8dc1528 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 777be0261da60..7c97e78475f7e 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 02c8546c578a3..0173d4a028259 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index c4ea201f1b60b..96f106702aae0 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 439c15c1fd37d..ab3c82e8fcdc8 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.devdocs.json b/api_docs/kbn_es.devdocs.json index b7cfd2bbebb2e..a8542adedc15a 100644 --- a/api_docs/kbn_es.devdocs.json +++ b/api_docs/kbn_es.devdocs.json @@ -17,7 +17,656 @@ "objects": [] }, "common": { - "classes": [], + "classes": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster", + "type": "Class", + "tags": [], + "label": "Cluster", + "description": [], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "{ log = defaultLog, ssl = false }", + "description": [], + "signature": [ + "{ log?: ", + { + "pluginId": "@kbn/tooling-log", + "scope": "common", + "docId": "kibKbnToolingLogPluginApi", + "section": "def-common.ToolingLog", + "text": "ToolingLog" + }, + " | undefined; ssl?: boolean | undefined; }" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installSource", + "type": "Function", + "tags": [], + "label": "installSource", + "description": [ + "\nBuilds and installs ES from source" + ], + "signature": [ + "(options: ", + "InstallSourceOptions", + ") => Promise<{ installPath: string; }>" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installSource.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "InstallSourceOptions" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.downloadSnapshot", + "type": "Function", + "tags": [], + "label": "downloadSnapshot", + "description": [ + "\nDownload ES from a snapshot" + ], + "signature": [ + "(options: ", + "DownloadSnapshotOptions", + ") => Promise<{ downloadPath: string; }>" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.downloadSnapshot.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "DownloadSnapshotOptions" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installSnapshot", + "type": "Function", + "tags": [], + "label": "installSnapshot", + "description": [ + "\nDownload and installs ES from a snapshot" + ], + "signature": [ + "(options: ", + "InstallSnapshotOptions", + ") => Promise<{ installPath: string; }>" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installSnapshot.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "InstallSnapshotOptions" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installArchive", + "type": "Function", + "tags": [], + "label": "installArchive", + "description": [ + "\nInstalls ES from a local tar" + ], + "signature": [ + "(archivePath: string, options?: ", + "InstallArchiveOptions", + " | undefined) => Promise<{ installPath: string; }>" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installArchive.$1", + "type": "string", + "tags": [], + "label": "archivePath", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installArchive.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "InstallArchiveOptions", + " | undefined" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.extractDataDirectory", + "type": "Function", + "tags": [], + "label": "extractDataDirectory", + "description": [ + "\nUnpacks a tar or zip file containing the data directory for an ES cluster." + ], + "signature": [ + "(installPath: string, archivePath: string, extractDirName?: string) => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.extractDataDirectory.$1", + "type": "string", + "tags": [], + "label": "installPath", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.extractDataDirectory.$2", + "type": "string", + "tags": [], + "label": "archivePath", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.extractDataDirectory.$3", + "type": "string", + "tags": [], + "label": "extractDirName", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installPlugins", + "type": "Function", + "tags": [], + "label": "installPlugins", + "description": [ + "\nInstalls comma separated list of ES plugins to the specified path" + ], + "signature": [ + "(installPath: string, plugins: string, esJavaOpts?: string | undefined) => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installPlugins.$1", + "type": "string", + "tags": [], + "label": "installPath", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installPlugins.$2", + "type": "string", + "tags": [], + "label": "plugins", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.installPlugins.$3", + "type": "string", + "tags": [], + "label": "esJavaOpts", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.configureKeystoreWithSecureSettingsFiles", + "type": "Function", + "tags": [], + "label": "configureKeystoreWithSecureSettingsFiles", + "description": [], + "signature": [ + "(installPath: string, secureSettingsFiles: string[][]) => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.configureKeystoreWithSecureSettingsFiles.$1", + "type": "string", + "tags": [], + "label": "installPath", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.configureKeystoreWithSecureSettingsFiles.$2", + "type": "Array", + "tags": [], + "label": "secureSettingsFiles", + "description": [], + "signature": [ + "string[][]" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.start", + "type": "Function", + "tags": [], + "label": "start", + "description": [ + "\nStarts ES and returns resolved promise once started" + ], + "signature": [ + "(installPath: string, options: ", + "EsClusterExecOptions", + ") => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.start.$1", + "type": "string", + "tags": [], + "label": "installPath", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.start.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "EsClusterExecOptions" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.run", + "type": "Function", + "tags": [], + "label": "run", + "description": [ + "\nStarts Elasticsearch and waits for Elasticsearch to exit" + ], + "signature": [ + "(installPath: string, options: ", + "EsClusterExecOptions", + ") => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.run.$1", + "type": "string", + "tags": [], + "label": "installPath", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.run.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "EsClusterExecOptions" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.stop", + "type": "Function", + "tags": [], + "label": "stop", + "description": [ + "\nStops ES process, if it's running" + ], + "signature": [ + "() => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.kill", + "type": "Function", + "tags": [], + "label": "kill", + "description": [ + "\nStops ES process without waiting for it to shutdown gracefully" + ], + "signature": [ + "() => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.waitForClusterReady", + "type": "Function", + "tags": [], + "label": "waitForClusterReady", + "description": [], + "signature": [ + "(client: ", + "default", + ", readyTimeout?: number) => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.waitForClusterReady.$1", + "type": "Object", + "tags": [], + "label": "client", + "description": [], + "signature": [ + "default" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.waitForClusterReady.$2", + "type": "number", + "tags": [], + "label": "readyTimeout", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.runServerless", + "type": "Function", + "tags": [], + "label": "runServerless", + "description": [ + "\nRuns an Elasticsearch Serverless Docker cluster and returns node names" + ], + "signature": [ + "(options: ", + "ServerlessOptions", + ") => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.runServerless.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "ServerlessOptions" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.runDocker", + "type": "Function", + "tags": [], + "label": "runDocker", + "description": [ + "\nRun an Elasticsearch Docker container" + ], + "signature": [ + "(options: ", + "DockerOptions", + ") => Promise" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.Cluster.runDocker.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "DockerOptions" + ], + "path": "packages/kbn-es/src/cluster.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], "functions": [ { "parentPluginId": "@kbn/es", @@ -91,6 +740,21 @@ "interfaces": [], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/es", + "id": "def-common.ArtifactLicense", + "type": "Type", + "tags": [], + "label": "ArtifactLicense", + "description": [], + "signature": [ + "\"basic\" | \"trial\" | \"oss\"" + ], + "path": "packages/kbn-es/src/artifact.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/es", "id": "def-common.ELASTIC_SERVERLESS_SUPERUSER", @@ -134,29 +798,6 @@ "initialIsOpen": false } ], - "objects": [ - { - "parentPluginId": "@kbn/es", - "id": "def-common.Cluster", - "type": "Object", - "tags": [], - "label": "Cluster", - "description": [], - "signature": [ - "typeof ", - { - "pluginId": "@kbn/es", - "scope": "common", - "docId": "kibKbnEsPluginApi", - "section": "def-common.Cluster", - "text": "Cluster" - } - ], - "path": "packages/kbn-es/src/cluster.js", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ] + "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index effd8d9c13d83..22c9ba4d80ae4 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; @@ -21,16 +21,16 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 8 | 0 | 7 | 0 | +| 46 | 0 | 33 | 7 | ## Common -### Objects - - ### Functions +### Classes + + ### Consts, variables and types diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 2b656af9f702c..be71956d98fe5 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 51ed065ecafd3..40439d20ca089 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 350fdfec8cb44..0712fca6d837e 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 9d4e11583b97e..5e31bfaa121ad 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 5e8bd7b7e52ec..dc6d7d4741330 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index ca0839e55844f..0580b7ba9cfd2 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 38ef1215e1df8..fd16db558722a 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index ab10123d1b9e9..ec132a7ca87dd 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 806c65bb3d0ae..8e0ef67baf5a6 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 4eaf9c2153bed..5d7f29a0e55eb 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 20e101f50464b..ff41b34f565ab 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 64e47d147eda6..482c6066fece2 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index f839ad02f249d..d577c348169ca 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 3a912ac8c3702..6f0d7a49bb273 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 22aebb53a72ce..d3b65b32e9eb8 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 42a99fcfbbc28..6f045381a2937 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 1babc719e08b7..83c2936d49330 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index e786f9e31b8d8..df3d2a40d9d89 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 99ba2cd9d8956..5b6264973a3f8 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 6ee3c47ceed81..9c2be72f59c22 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 5fbfeda9b8389..f6741ecb0ed6a 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 5c57d2a0252d0..980f13dd03aac 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 70b376e9341e4..ec3f632afabc2 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 3bfa007a046e9..6bc9021130a7c 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 414e53852d0f0..101c3b4da4f6f 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 3c1391f2dda0e..0f4a144df6b34 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index a8aaedacf28e8..530eb8d508e45 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index fd4f081636afb..6b234c62eb11c 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 9f6cd75e6395f..f2a811ec6aa63 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index f8b2888220e46..485643ab2d9b2 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 2020cfb51fe88..6c6c91aaea30d 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 6db717c3867f6..777ae2876d2ba 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index e1ccfad3c19b6..d5b016137948e 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 756c8364143f9..9406e406bd882 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index eb878c93087a7..1b70ff4c25a95 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index c2f0d0c1b5a0f..147084d2cb7df 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 0b7a79b90bcc9..972b00f385842 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.devdocs.json b/api_docs/kbn_management_settings_components_field_input.devdocs.json new file mode 100644 index 0000000000000..06abcd536d7b3 --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_input.devdocs.json @@ -0,0 +1,482 @@ +{ + "id": "@kbn/management-settings-components-field-input", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInput", + "type": "Function", + "tags": [], + "label": "FieldInput", + "description": [ + "\nAn input that allows one to change a setting in Kibana.\n" + ], + "signature": [ + "(props: ", + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.FieldInputProps", + "text": "FieldInputProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInput.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [ + "The props for the {@link FieldInput } component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.FieldInputProps", + "text": "FieldInputProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputKibanaDependencies", + "type": "Interface", + "tags": [], + "label": "FieldInputKibanaDependencies", + "description": [ + "\nAn interface containing a collection of Kibana plugins and services required to\nrender this component." + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputKibanaDependencies.toasts", + "type": "Object", + "tags": [], + "label": "toasts", + "description": [ + "The portion of the {@link ToastsStart} contract used by this component." + ], + "signature": [ + "{ addDanger: (toastOrTitle: ", + { + "pluginId": "@kbn/core-notifications-browser", + "scope": "common", + "docId": "kibKbnCoreNotificationsBrowserPluginApi", + "section": "def-common.ToastInput", + "text": "ToastInput" + }, + ", options?: any) => ", + { + "pluginId": "@kbn/core-notifications-browser", + "scope": "common", + "docId": "kibKbnCoreNotificationsBrowserPluginApi", + "section": "def-common.Toast", + "text": "Toast" + }, + "; }" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps", + "type": "Interface", + "tags": [], + "label": "FieldInputProps", + "description": [ + "\nThe props that are passed to the {@link FieldInput} component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.FieldInputProps", + "text": "FieldInputProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.field", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The {@link FieldDefinition} for the component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.unsavedChange", + "type": "Object", + "tags": [], + "label": "unsavedChange", + "description": [ + "An {@link UnsavedFieldChange} for the component, if any." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + " | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.onChange", + "type": "Function", + "tags": [], + "label": "onChange", + "description": [ + "The `onChange` handler for the input." + ], + "signature": [ + "(params: ", + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + ") => void" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.onChange.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.isDisabled", + "type": "CompoundType", + "tags": [], + "label": "isDisabled", + "description": [ + "True if the input is disabled, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputProps.isInvalid", + "type": "CompoundType", + "tags": [], + "label": "isInvalid", + "description": [ + "True if the value within the input is invalid, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/field_input.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputServices", + "type": "Interface", + "tags": [], + "label": "FieldInputServices", + "description": [ + "\nContextual services used by a {@link FieldInput} component." + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputServices.showDanger", + "type": "Function", + "tags": [], + "label": "showDanger", + "description": [ + "\nDisplays a danger toast message." + ], + "signature": [ + "(value: string) => void" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.FieldInputServices.showDanger.$1", + "type": "string", + "tags": [], + "label": "value", + "description": [ + "The message to display." + ], + "signature": [ + "string" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams", + "type": "Interface", + "tags": [], + "label": "OnChangeParams", + "description": [ + "\nParameters for the {@link OnChangeFn} handler." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams.value", + "type": "CompoundType", + "tags": [], + "label": "value", + "description": [ + "The value provided to the handler." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams.error", + "type": "string", + "tags": [], + "label": "error", + "description": [ + "An error message, if one occurred." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeParams.isInvalid", + "type": "CompoundType", + "tags": [], + "label": "isInvalid", + "description": [ + "True if the format of a change is not valid, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeFn", + "type": "Type", + "tags": [], + "label": "OnChangeFn", + "description": [ + "\nA function that is called when the value of a {@link FieldInput} changes." + ], + "signature": [ + "(params: ", + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + ") => void" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-input", + "id": "def-common.OnChangeFn.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [ + "The {@link OnChangeParams } parameters passed to the handler." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-input", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldInputPluginApi", + "section": "def-common.OnChangeParams", + "text": "OnChangeParams" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_input/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx new file mode 100644 index 0000000000000..559629a02eae2 --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -0,0 +1,36 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsComponentsFieldInputPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input +title: "@kbn/management-settings-components-field-input" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-components-field-input plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] +--- +import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 20 | 0 | 1 | 0 | + +## Common + +### Functions + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_management_settings_components_field_row.devdocs.json b/api_docs/kbn_management_settings_components_field_row.devdocs.json new file mode 100644 index 0000000000000..117654406892d --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_row.devdocs.json @@ -0,0 +1,277 @@ +{ + "id": "@kbn/management-settings-components-field-row", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRow", + "type": "Function", + "tags": [], + "label": "FieldRow", + "description": [ + "\nComponent for displaying a {@link FieldDefinition} in a form row, using a {@link FieldInput}." + ], + "signature": [ + "(props: ", + { + "pluginId": "@kbn/management-settings-components-field-row", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldRowPluginApi", + "section": "def-common.FieldRowProps", + "text": "FieldRowProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRow.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [ + "The {@link FieldRowProps } for the {@link FieldRow } component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-row", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldRowPluginApi", + "section": "def-common.FieldRowProps", + "text": "FieldRowProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps", + "type": "Interface", + "tags": [], + "label": "FieldRowProps", + "description": [ + "\nProps for a {@link FieldRow} component." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-components-field-row", + "scope": "common", + "docId": "kibKbnManagementSettingsComponentsFieldRowPluginApi", + "section": "def-common.FieldRowProps", + "text": "FieldRowProps" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.isSavingEnabled", + "type": "boolean", + "tags": [], + "label": "isSavingEnabled", + "description": [ + "True if saving settings is enabled, false otherwise." + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onChange", + "type": "Function", + "tags": [], + "label": "onChange", + "description": [ + "The {@link OnChangeFn} handler." + ], + "signature": [ + "(id: string, change: ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + ") => void" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onChange.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "packages/kbn-management/settings/components/field_row/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onChange.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "" + ], + "path": "packages/kbn-management/settings/components/field_row/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onClear", + "type": "Function", + "tags": [], + "label": "onClear", + "description": [ + "\nThe onClear handler, if a value is cleared to an empty or default state." + ], + "signature": [ + "((id: string) => void) | undefined" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.onClear.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "The id relating to the field to clear." + ], + "signature": [ + "string" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.field", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The {@link FieldDefinition} corresponding the setting." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-components-field-row", + "id": "def-common.FieldRowProps.unsavedChange", + "type": "Object", + "tags": [], + "label": "unsavedChange", + "description": [ + "The {@link UnsavedFieldChange} corresponding to any unsaved change to the field." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + " | undefined" + ], + "path": "packages/kbn-management/settings/components/field_row/field_row.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx new file mode 100644 index 0000000000000..9a012764d458d --- /dev/null +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -0,0 +1,33 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsComponentsFieldRowPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row +title: "@kbn/management-settings-components-field-row" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-components-field-row plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] +--- +import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 11 | 0 | 2 | 0 | + +## Common + +### Functions + + +### Interfaces + + diff --git a/api_docs/kbn_management_settings_field_definition.devdocs.json b/api_docs/kbn_management_settings_field_definition.devdocs.json new file mode 100644 index 0000000000000..f19d32aba14fa --- /dev/null +++ b/api_docs/kbn_management_settings_field_definition.devdocs.json @@ -0,0 +1,969 @@ +{ + "id": "@kbn/management-settings-field-definition", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.getFieldDefinition", + "type": "Function", + "tags": [], + "label": "getFieldDefinition", + "description": [ + "\nCreate a {@link FieldDefinition} from a {@link UiSettingMetadata} object for use\nin the UI.\n" + ], + "signature": [ + "(parameters: GetDefinitionParams) => ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/field_definition/get_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.getFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "parameters", + "description": [ + "The {@link GetDefinitionParams } for creating the {@link FieldDefinition }." + ], + "signature": [ + "GetDefinitionParams" + ], + "path": "packages/kbn-management/settings/field_definition/get_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldDefinition", + "type": "Function", + "tags": [], + "label": "isArrayFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link ArrayFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ArrayFieldDefinition", + "text": "ArrayFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isArrayFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link ArrayUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ArrayUnsavedFieldChange", + "text": "ArrayUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isArrayFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldDefinition", + "type": "Function", + "tags": [], + "label": "isBooleanFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link BooleanFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.BooleanFieldDefinition", + "text": "BooleanFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isBooleanFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link BooleanUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.BooleanUnsavedFieldChange", + "text": "BooleanUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isBooleanFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldDefinition", + "type": "Function", + "tags": [], + "label": "isColorFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link ColorFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ColorFieldDefinition", + "text": "ColorFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isColorFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link ColorUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ColorUnsavedFieldChange", + "text": "ColorUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isColorFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldDefinition", + "type": "Function", + "tags": [], + "label": "isImageFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link ImageFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ImageFieldDefinition", + "text": "ImageFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isImageFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link ImageUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ImageUnsavedFieldChange", + "text": "ImageUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isImageFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldDefinition", + "type": "Function", + "tags": [], + "label": "isJsonFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link JsonFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.JsonFieldDefinition", + "text": "JsonFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isJsonFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link JsonUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.JsonUnsavedFieldChange", + "text": "JsonUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isJsonFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldDefinition", + "type": "Function", + "tags": [], + "label": "isMarkdownFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link MarkdownFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.MarkdownFieldDefinition", + "text": "MarkdownFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isMarkdownFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link MarkdownUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.MarkdownUnsavedFieldChange", + "text": "MarkdownUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isMarkdownFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldDefinition", + "type": "Function", + "tags": [], + "label": "isNumberFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link NumberFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.NumberFieldDefinition", + "text": "NumberFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isNumberFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link NumberUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.NumberUnsavedFieldChange", + "text": "NumberUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isNumberFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldDefinition", + "type": "Function", + "tags": [], + "label": "isSelectFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link SelectFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectFieldDefinition", + "text": "SelectFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isSelectFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link SelectUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectUnsavedFieldChange", + "text": "SelectUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isSelectFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldDefinition", + "type": "Function", + "tags": [], + "label": "isStringFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link StringFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.StringFieldDefinition", + "text": "StringFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isStringFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link StringUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.StringUnsavedFieldChange", + "text": "StringUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isStringFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldDefinition", + "type": "Function", + "tags": [], + "label": "isUndefinedFieldDefinition", + "description": [ + "\nReturns `true` if the given {@link FieldDefinition} is an {@link UndefinedFieldDefinition},\n`false` otherwise." + ], + "signature": [ + "(d: Definition) => d is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UndefinedFieldDefinition", + "text": "UndefinedFieldDefinition" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldDefinition.$1", + "type": "Object", + "tags": [], + "label": "d", + "description": [ + "The {@link FieldDefinition } to check." + ], + "signature": [ + "Definition" + ], + "path": "packages/kbn-management/settings/field_definition/is/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldUnsavedChange", + "type": "Function", + "tags": [], + "label": "isUndefinedFieldUnsavedChange", + "description": [ + "\nReturns `true` if the given {@link FieldUnsavedChange} is an {@link UndefinedUnsavedFieldChange},\n`false` otherwise." + ], + "signature": [ + "(c?: Change | undefined) => c is ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UndefinedUnsavedFieldChange", + "text": "UndefinedUnsavedFieldChange" + } + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-field-definition", + "id": "def-common.isUndefinedFieldUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "c", + "description": [ + "The {@link FieldUnsavedChange } to check." + ], + "signature": [ + "Change | undefined" + ], + "path": "packages/kbn-management/settings/field_definition/is/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx new file mode 100644 index 0000000000000..63f3d5df631bf --- /dev/null +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsFieldDefinitionPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-field-definition +title: "@kbn/management-settings-field-definition" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-field-definition plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] +--- +import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 42 | 0 | 0 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_management_settings_ids.devdocs.json b/api_docs/kbn_management_settings_ids.devdocs.json new file mode 100644 index 0000000000000..65f9349533995 --- /dev/null +++ b/api_docs/kbn_management_settings_ids.devdocs.json @@ -0,0 +1,1933 @@ +{ + "id": "@kbn/management-settings-ids", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ACCESSIBILITY_DISABLE_ANIMATIONS_ID", + "type": "string", + "tags": [], + "label": "ACCESSIBILITY_DISABLE_ANIMATIONS_ID", + "description": [], + "signature": [ + "\"accessibility:disableAnimations\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.AUTOCOMPLETE_USE_TIME_RANGE_ID", + "type": "string", + "tags": [], + "label": "AUTOCOMPLETE_USE_TIME_RANGE_ID", + "description": [], + "signature": [ + "\"autocomplete:useTimeRange\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.AUTOCOMPLETE_VALUE_SUGGESTION_METHOD_ID", + "type": "string", + "tags": [], + "label": "AUTOCOMPLETE_VALUE_SUGGESTION_METHOD_ID", + "description": [], + "signature": [ + "\"autocomplete:valueSuggestionMethod\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_BACKGROUND_COLOR_ID", + "type": "string", + "tags": [], + "label": "BANNERS_BACKGROUND_COLOR_ID", + "description": [], + "signature": [ + "\"banners:backgroundColor\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_PLACEMENT_ID", + "type": "string", + "tags": [], + "label": "BANNERS_PLACEMENT_ID", + "description": [], + "signature": [ + "\"banners:placement\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_TEXT_COLOR_ID", + "type": "string", + "tags": [], + "label": "BANNERS_TEXT_COLOR_ID", + "description": [], + "signature": [ + "\"banners:textColor\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.BANNERS_TEXT_CONTENT_ID", + "type": "string", + "tags": [], + "label": "BANNERS_TEXT_CONTENT_ID", + "description": [], + "signature": [ + "\"banners:textContent\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CONTEXT_DEFAULT_SIZE_ID", + "type": "string", + "tags": [], + "label": "CONTEXT_DEFAULT_SIZE_ID", + "description": [], + "signature": [ + "\"context:defaultSize\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CONTEXT_STEP_ID", + "type": "string", + "tags": [], + "label": "CONTEXT_STEP_ID", + "description": [], + "signature": [ + "\"context:step\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CONTEXT_TIE_BREAKER_FIELDS_ID", + "type": "string", + "tags": [], + "label": "CONTEXT_TIE_BREAKER_FIELDS_ID", + "description": [], + "signature": [ + "\"context:tieBreakerFields\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_CUSTOM_REQUEST_PREFERENCE_ID", + "type": "string", + "tags": [], + "label": "COURIER_CUSTOM_REQUEST_PREFERENCE_ID", + "description": [], + "signature": [ + "\"courier:customRequestPreference\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID", + "type": "string", + "tags": [], + "label": "COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID", + "description": [], + "signature": [ + "\"courier:ignoreFilterIfFieldNotInIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_MAX_CONCURRENT_SHARD_REQUEST_ID", + "type": "string", + "tags": [], + "label": "COURIER_MAX_CONCURRENT_SHARD_REQUEST_ID", + "description": [], + "signature": [ + "\"courier:maxConcurrentShardRequests\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.COURIER_SET_REQUEST_PREFERENCE_ID", + "type": "string", + "tags": [], + "label": "COURIER_SET_REQUEST_PREFERENCE_ID", + "description": [], + "signature": [ + "\"courier:setRequestPreference\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CSV_QUOTE_VALUES_ID", + "type": "string", + "tags": [], + "label": "CSV_QUOTE_VALUES_ID", + "description": [], + "signature": [ + "\"csv:quoteValues\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.CSV_SEPARATOR_ID", + "type": "string", + "tags": [], + "label": "CSV_SEPARATOR_ID", + "description": [], + "signature": [ + "\"csv:separator\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_DOW_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_DOW_ID", + "description": [], + "signature": [ + "\"dateFormat:dow\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_ID", + "description": [], + "signature": [ + "\"dateFormat\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_NANOS_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_NANOS_ID", + "description": [], + "signature": [ + "\"dateNanosFormat\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_SCALED_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_SCALED_ID", + "description": [], + "signature": [ + "\"dateFormat:scaled\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DATE_FORMAT_TZ_ID", + "type": "string", + "tags": [], + "label": "DATE_FORMAT_TZ_ID", + "description": [], + "signature": [ + "\"dateFormat:tz\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DEFAULT_COLUMNS_ID", + "type": "string", + "tags": [], + "label": "DEFAULT_COLUMNS_ID", + "description": [], + "signature": [ + "\"defaultColumns\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DEFAULT_INDEX_ID", + "type": "string", + "tags": [], + "label": "DEFAULT_INDEX_ID", + "description": [], + "signature": [ + "\"defaultIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DEFAULT_ROUTE_ID", + "type": "string", + "tags": [], + "label": "DEFAULT_ROUTE_ID", + "description": [], + "signature": [ + "\"defaultRoute\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISABLE_BATCH_COMPRESSION_ID", + "type": "string", + "tags": [], + "label": "DISABLE_BATCH_COMPRESSION_ID", + "description": [], + "signature": [ + "\"bfetch:disableCompression\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISABLE_REQUEST_BATCHING_ID", + "type": "string", + "tags": [], + "label": "DISABLE_REQUEST_BATCHING_ID", + "description": [], + "signature": [ + "\"bfetch:disable\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_ENABLE_SQL_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_ENABLE_SQL_ID", + "description": [], + "signature": [ + "\"discover:enableSql\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_MAX_DOC_FIELDS_DISPLAYED_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_MAX_DOC_FIELDS_DISPLAYED_ID", + "description": [], + "signature": [ + "\"discover:maxDocFieldsDisplayed\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_MODIFY_COLUMNS_ON_SWITCH_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_MODIFY_COLUMNS_ON_SWITCH_ID", + "description": [], + "signature": [ + "\"discover:modifyColumnsOnSwitch\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_ROW_HEIGHT_OPTION_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_ROW_HEIGHT_OPTION_ID", + "description": [], + "signature": [ + "\"discover:rowHeightOption\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SAMPLE_ROWS_PER_PAGE_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SAMPLE_ROWS_PER_PAGE_ID", + "description": [], + "signature": [ + "\"discover:sampleRowsPerPage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SAMPLE_SIZE_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SAMPLE_SIZE_ID", + "description": [], + "signature": [ + "\"discover:sampleSize\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SEARCH_FIELDS_FROM_SOURCE_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SEARCH_FIELDS_FROM_SOURCE_ID", + "description": [], + "signature": [ + "\"discover:searchFieldsFromSource\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SEARCH_ON_PAGE_LOAD_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SEARCH_ON_PAGE_LOAD_ID", + "description": [], + "signature": [ + "\"discover:searchOnPageLoad\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SHOW_FIELD_STATISTICS_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SHOW_FIELD_STATISTICS_ID", + "description": [], + "signature": [ + "\"discover:showFieldStatistics\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SHOW_LEGACY_FIELD_TOP_VALUES_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SHOW_LEGACY_FIELD_TOP_VALUES_ID", + "description": [], + "signature": [ + "\"discover:showLegacyFieldTopValues\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SHOW_MULTI_FIELDS_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SHOW_MULTI_FIELDS_ID", + "description": [], + "signature": [ + "\"discover:showMultiFields\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DISCOVER_SORT_DEFAULT_ORDER_ID", + "type": "string", + "tags": [], + "label": "DISCOVER_SORT_DEFAULT_ORDER_ID", + "description": [], + "signature": [ + "\"discover:sort:defaultOrder\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DOC_TABLE_HIDE_TIME_COLUMNS_ID", + "type": "string", + "tags": [], + "label": "DOC_TABLE_HIDE_TIME_COLUMNS_ID", + "description": [], + "signature": [ + "\"doc_table:hideTimeColumn\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DOC_TABLE_HIGHLIGHT_ID", + "type": "string", + "tags": [], + "label": "DOC_TABLE_HIGHLIGHT_ID", + "description": [], + "signature": [ + "\"doc_table:highlight\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.DOC_TABLE_LEGACY_ID", + "type": "string", + "tags": [], + "label": "DOC_TABLE_LEGACY_ID", + "description": [], + "signature": [ + "\"doc_table:legacy\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FIELDS_POPULAR_LIMIT_ID", + "type": "string", + "tags": [], + "label": "FIELDS_POPULAR_LIMIT_ID", + "description": [], + "signature": [ + "\"fields:popularLimit\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FILE_UPLOAD_MAX_SIZE_ID", + "type": "string", + "tags": [], + "label": "FILE_UPLOAD_MAX_SIZE_ID", + "description": [], + "signature": [ + "\"fileUpload:maxFileSize\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FILTER_EDITOR_SUGGEST_VALUES_ID", + "type": "string", + "tags": [], + "label": "FILTER_EDITOR_SUGGEST_VALUES_ID", + "description": [], + "signature": [ + "\"filterEditor:suggestValues\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FILTERS_PINNED_BY_DEFAULT_ID", + "type": "string", + "tags": [], + "label": "FILTERS_PINNED_BY_DEFAULT_ID", + "description": [], + "signature": [ + "\"filters:pinnedByDefault\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_BYTES_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_BYTES_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:bytes:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_CURRENCY_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_CURRENCY_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:currency:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_DEFAULT_TYPE_MAP_ID", + "type": "string", + "tags": [], + "label": "FORMAT_DEFAULT_TYPE_MAP_ID", + "description": [], + "signature": [ + "\"format:defaultTypeMap\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_NUMBER_DEFAULT_LOCALE_ID", + "type": "string", + "tags": [], + "label": "FORMAT_NUMBER_DEFAULT_LOCALE_ID", + "description": [], + "signature": [ + "\"format:number:defaultLocale\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_NUMBER_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_NUMBER_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:number:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.FORMAT_PERCENT_DEFAULT_PATTERN_ID", + "type": "string", + "tags": [], + "label": "FORMAT_PERCENT_DEFAULT_PATTERN_ID", + "description": [], + "signature": [ + "\"format:percent:defaultPattern\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HIDE_ANNOUNCEMENTS_ID", + "type": "string", + "tags": [], + "label": "HIDE_ANNOUNCEMENTS_ID", + "description": [], + "signature": [ + "\"hideAnnouncements\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HISTOGRAM_BAR_TARGET_ID", + "type": "string", + "tags": [], + "label": "HISTOGRAM_BAR_TARGET_ID", + "description": [], + "signature": [ + "\"histogram:barTarget\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HISTOGRAM_MAX_BARS_ID", + "type": "string", + "tags": [], + "label": "HISTOGRAM_MAX_BARS_ID", + "description": [], + "signature": [ + "\"histogram:maxBars\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.HISTORY_LIMIT_ID", + "type": "string", + "tags": [], + "label": "HISTORY_LIMIT_ID", + "description": [], + "signature": [ + "\"history:limit\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_CANVAS_BY_VALUE_EMBEDDABLE_ID", + "type": "string", + "tags": [], + "label": "LABS_CANVAS_BY_VALUE_EMBEDDABLE_ID", + "description": [], + "signature": [ + "\"labs:canvas:byValueEmbeddable\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_CANVAS_ENABLE_UI_ID", + "type": "string", + "tags": [], + "label": "LABS_CANVAS_ENABLE_UI_ID", + "description": [], + "signature": [ + "\"labs:canvas:enable_ui\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_DASHBOARD_CONTROLS_ID", + "type": "string", + "tags": [], + "label": "LABS_DASHBOARD_CONTROLS_ID", + "description": [], + "signature": [ + "\"labs:dashboard:dashboardControls\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_DASHBOARD_DEFER_BELOW_FOLD_ID", + "type": "string", + "tags": [], + "label": "LABS_DASHBOARD_DEFER_BELOW_FOLD_ID", + "description": [], + "signature": [ + "\"labs:dashboard:deferBelowFold\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.LABS_DASHBOARDS_ENABLE_UI_ID", + "type": "string", + "tags": [], + "label": "LABS_DASHBOARDS_ENABLE_UI_ID", + "description": [], + "signature": [ + "\"labs:dashboard:enable_ui\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.META_FIELDS_ID", + "type": "string", + "tags": [], + "label": "META_FIELDS_ID", + "description": [], + "signature": [ + "\"metaFields\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.METRICS_ALLOW_CHECKING_FOR_FAILED_SHARDS_ID", + "type": "string", + "tags": [], + "label": "METRICS_ALLOW_CHECKING_FOR_FAILED_SHARDS_ID", + "description": [], + "signature": [ + "\"metrics:allowCheckingForFailedShards\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.METRICS_ALLOW_STRING_INDICES_ID", + "type": "string", + "tags": [], + "label": "METRICS_ALLOW_STRING_INDICES_ID", + "description": [], + "signature": [ + "\"metrics:allowStringIndices\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.METRICS_MAX_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "METRICS_MAX_BUCKETS_ID", + "description": [], + "signature": [ + "\"metrics:max_buckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"ml:anomalyDetection:results:enableTimeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"ml:anomalyDetection:results:timeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_BANNER_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_BANNER_ID", + "description": [], + "signature": [ + "\"notifications:banner\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_BANNER_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_BANNER_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:banner\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_ERROR_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_ERROR_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:error\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_INFO_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_INFO_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:info\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.NOTIFICATIONS_LIFETIME_WARNING_ID", + "type": "string", + "tags": [], + "label": "NOTIFICATIONS_LIFETIME_WARNING_ID", + "description": [], + "signature": [ + "\"notifications:lifetime:warning\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_AGENT_EXPLORER_VIEW_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_AGENT_EXPLORER_VIEW_ID", + "description": [], + "signature": [ + "\"observability:apmAgentExplorerView\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_AWS_LAMBDA_PRICE_FACTOR_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_AWS_LAMBDA_PRICE_FACTOR_ID", + "description": [], + "signature": [ + "\"observability:apmAWSLambdaPriceFactor\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_AWS_LAMBDA_REQUEST_COST_PER_MILLION_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_AWS_LAMBDA_REQUEST_COST_PER_MILLION_ID", + "description": [], + "signature": [ + "\"observability:apmAWSLambdaRequestCostPerMillion\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_DEFAULT_SERVICE_ENVIRONMENT_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_DEFAULT_SERVICE_ENVIRONMENT_ID", + "description": [], + "signature": [ + "\"observability:apmDefaultServiceEnvironment\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_ENABLE_CRITICAL_PATH_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_ENABLE_CRITICAL_PATH_ID", + "description": [], + "signature": [ + "\"observability:apmEnableCriticalPath\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_LABS_BUTTON_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_LABS_BUTTON_ID", + "description": [], + "signature": [ + "\"observability:apmLabsButton\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_PROGRESSIVE_LOADING_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_PROGRESSIVE_LOADING_ID", + "description": [], + "signature": [ + "\"observability:apmProgressiveLoading\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_SERVICE_GROUP_MAX_NUMBER_OF_SERVCIE_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_SERVICE_GROUP_MAX_NUMBER_OF_SERVCIE_ID", + "description": [], + "signature": [ + "\"observability:apmServiceGroupMaxNumberOfServices\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_SERVICE_INVENTORY_OPTIMIZED_SORTING_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_SERVICE_INVENTORY_OPTIMIZED_SORTING_ID", + "description": [], + "signature": [ + "\"observability:apmServiceInventoryOptimizedSorting\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_APM_TRACE_EXPLORER_TAB_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_APM_TRACE_EXPLORER_TAB_ID", + "description": [], + "signature": [ + "\"observability:apmTraceExplorerTab\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_AWS_LAMBDA_METRICS_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_AWS_LAMBDA_METRICS_ID", + "description": [], + "signature": [ + "\"observability:enableAwsLambdaMetrics\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_COMPARISON_BY_DEFAULT_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_COMPARISON_BY_DEFAULT_ID", + "description": [], + "signature": [ + "\"observability:enableComparisonByDefault\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_INFRASTRUCTURE_HOSTS_VIEW_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_INFRASTRUCTURE_HOSTS_VIEW_ID", + "description": [], + "signature": [ + "\"observability:enableInfrastructureHostsView\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_ENABLE_INSPECT_ES_QUERIES_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_ENABLE_INSPECT_ES_QUERIES_ID", + "description": [], + "signature": [ + "\"observability:enableInspectEsQueries\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_MAX_SUGGESTIONS_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_MAX_SUGGESTIONS_ID", + "description": [], + "signature": [ + "\"observability:maxSuggestions\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.OBSERVABILITY_PROFILING_ELASTICSEARCH_PLUGIN_ID", + "type": "string", + "tags": [], + "label": "OBSERVABILITY_PROFILING_ELASTICSEARCH_PLUGIN_ID", + "description": [], + "signature": [ + "\"observability:profilingElasticsearchPlugin\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.QUERY_ALLOW_LEADING_WILDCARDS_ID", + "type": "string", + "tags": [], + "label": "QUERY_ALLOW_LEADING_WILDCARDS_ID", + "description": [], + "signature": [ + "\"query:allowLeadingWildcards\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.QUERY_STRING_OPTIONS_ID", + "type": "string", + "tags": [], + "label": "QUERY_STRING_OPTIONS_ID", + "description": [], + "signature": [ + "\"query:queryString:options\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.ROLLUPS_ENABLE_INDEX_PATTERNS_ID", + "type": "string", + "tags": [], + "label": "ROLLUPS_ENABLE_INDEX_PATTERNS_ID", + "description": [], + "signature": [ + "\"rollups.enableIndexPatterns\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SAVED_OBJECTS_LISTING_LIMIT_ID", + "type": "string", + "tags": [], + "label": "SAVED_OBJECTS_LISTING_LIMIT_ID", + "description": [], + "signature": [ + "\"savedObjects:listingLimit\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SAVED_OBJECTS_PER_PAGE_ID", + "type": "string", + "tags": [], + "label": "SAVED_OBJECTS_PER_PAGE_ID", + "description": [], + "signature": [ + "\"savedObjects:perPage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SEARCH_INCLUDE_FROZEN_ID", + "type": "string", + "tags": [], + "label": "SEARCH_INCLUDE_FROZEN_ID", + "description": [], + "signature": [ + "\"search:includeFrozen\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SEARCH_QUERY_LANGUAGE_ID", + "type": "string", + "tags": [], + "label": "SEARCH_QUERY_LANGUAGE_ID", + "description": [], + "signature": [ + "\"search:queryLanguage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SEARCH_TIMEOUT_ID", + "type": "string", + "tags": [], + "label": "SEARCH_TIMEOUT_ID", + "description": [], + "signature": [ + "\"search:timeout\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID", + "description": [], + "signature": [ + "\"securitySolution:defaultAnomalyScore\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_DEFAULT_INDEX_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_DEFAULT_INDEX_ID", + "description": [], + "signature": [ + "\"securitySolution:defaultIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID", + "description": [], + "signature": [ + "\"securitySolution:defaultThreatIndex\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID", + "description": [], + "signature": [ + "\"securitySolution:enableCcsWarning\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_ENABLE_GROUPED_NAV_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_ENABLE_GROUPED_NAV_ID", + "description": [], + "signature": [ + "\"securitySolution:enableGroupedNav\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_ENABLE_NEWS_FEED_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_ENABLE_NEWS_FEED_ID", + "description": [], + "signature": [ + "\"securitySolution:enableNewsFeed\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID", + "description": [], + "signature": [ + "\"securitySolution:ipReputationLinks\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_NEWS_FEED_URL_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_NEWS_FEED_URL_ID", + "description": [], + "signature": [ + "\"securitySolution:newsFeedUrl\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID", + "description": [], + "signature": [ + "\"securitySolution:refreshIntervalDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID", + "description": [], + "signature": [ + "\"securitySolution:rulesTableRefresh\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID", + "description": [], + "signature": [ + "\"securitySolution:showRelatedIntegrations\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"securitySolution:timeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SHORT_DOTS_ENABLE_ID", + "type": "string", + "tags": [], + "label": "SHORT_DOTS_ENABLE_ID", + "description": [], + "signature": [ + "\"shortDots:enable\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SORT_OPTIONS_ID", + "type": "string", + "tags": [], + "label": "SORT_OPTIONS_ID", + "description": [], + "signature": [ + "\"sort:options\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.STATE_STORE_IN_SESSION_STORAGE_ID", + "type": "string", + "tags": [], + "label": "STATE_STORE_IN_SESSION_STORAGE_ID", + "description": [], + "signature": [ + "\"state:storeInSessionStorage\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.THEME_DARK_MODE_ID", + "type": "string", + "tags": [], + "label": "THEME_DARK_MODE_ID", + "description": [], + "signature": [ + "\"theme:darkMode\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_ES_DEFAULT_INDEX_ID", + "type": "string", + "tags": [], + "label": "TIMELION_ES_DEFAULT_INDEX_ID", + "description": [], + "signature": [ + "\"timelion:es.default_index\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_ES_TIME_FIELD_ID", + "type": "string", + "tags": [], + "label": "TIMELION_ES_TIME_FIELD_ID", + "description": [], + "signature": [ + "\"timelion:es.timefield\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_MAX_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "TIMELION_MAX_BUCKETS_ID", + "description": [], + "signature": [ + "\"timelion:max_buckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_MIN_INTERVAL_ID", + "type": "string", + "tags": [], + "label": "TIMELION_MIN_INTERVAL_ID", + "description": [], + "signature": [ + "\"timelion:min_interval\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMELION_TARGET_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "TIMELION_TARGET_BUCKETS_ID", + "description": [], + "signature": [ + "\"timelion:target_buckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMEPICKER_QUICK_RANGES_ID", + "type": "string", + "tags": [], + "label": "TIMEPICKER_QUICK_RANGES_ID", + "description": [], + "signature": [ + "\"timepicker:quickRanges\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMEPICKER_REFRESH_INTERVAL_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "TIMEPICKER_REFRESH_INTERVAL_DEFAULTS_ID", + "description": [], + "signature": [ + "\"timepicker:refreshIntervalDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TIMEPICKER_TIME_DEFAULTS_ID", + "type": "string", + "tags": [], + "label": "TIMEPICKER_TIME_DEFAULTS_ID", + "description": [], + "signature": [ + "\"timepicker:timeDefaults\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.TRUNCATE_MAX_HEIGHT_ID", + "type": "string", + "tags": [], + "label": "TRUNCATE_MAX_HEIGHT_ID", + "description": [], + "signature": [ + "\"truncate:maxHeight\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_COLOR_MAPPING_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_COLOR_MAPPING_ID", + "description": [], + "signature": [ + "\"visualization:colorMapping\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_ENABLE_LABS_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_ENABLE_LABS_ID", + "description": [], + "signature": [ + "\"visualize:enableLabs\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_HEATMAP_MAX_BUCKETS_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_HEATMAP_MAX_BUCKETS_ID", + "description": [], + "signature": [ + "\"visualization:heatmap:maxBuckets\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_LEGACY_GAUGE_CHARTS_LIBRARY_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_LEGACY_GAUGE_CHARTS_LIBRARY_ID", + "description": [], + "signature": [ + "\"visualization:visualize:legacyGaugeChartsLibrary\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_LEGACY_HEATMAP_CHARTS_LIBRARY_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_LEGACY_HEATMAP_CHARTS_LIBRARY_ID", + "description": [], + "signature": [ + "\"visualization:visualize:legacyHeatmapChartsLibrary\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.VISUALIZATION_USE_LEGACY_TIME_AXIS_ID", + "type": "string", + "tags": [], + "label": "VISUALIZATION_USE_LEGACY_TIME_AXIS_ID", + "description": [], + "signature": [ + "\"visualization:useLegacyTimeAxis\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.XPACK_REPORTING_CUSTOM_PDF_LOGO_ID", + "type": "string", + "tags": [], + "label": "XPACK_REPORTING_CUSTOM_PDF_LOGO_ID", + "description": [], + "signature": [ + "\"xpackReporting:customPdfLogo\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx new file mode 100644 index 0000000000000..c294a94fe7007 --- /dev/null +++ b/api_docs/kbn_management_settings_ids.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsIdsPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-ids +title: "@kbn/management-settings-ids" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-ids plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] +--- +import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; + + + +Contact [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 127 | 0 | 127 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index a757c8ba9946f..17370654b494a 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.devdocs.json b/api_docs/kbn_management_settings_types.devdocs.json new file mode 100644 index 0000000000000..e9c76c4189fca --- /dev/null +++ b/api_docs/kbn_management_settings_types.devdocs.json @@ -0,0 +1,1523 @@ +{ + "id": "@kbn/management-settings-types", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition", + "type": "Interface", + "tags": [], + "label": "FieldDefinition", + "description": [ + "\nA {@link FieldDefinition} adapts a {@link UiSettingMetadata} object to be more\neasily consumed by the UI. It contains additional information about the field\nthat is determined from a given UiSettingMetadata object, (which is a type\nrepresenting a UiSetting)." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.ariaAttributes", + "type": "Object", + "tags": [], + "label": "ariaAttributes", + "description": [ + "UX ARIA attributes derived from the setting." + ], + "signature": [ + "{ ariaLabel: string; ariaDescribedBy?: string | undefined; }" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.categories", + "type": "Array", + "tags": [], + "label": "categories", + "description": [ + "A list of categories related to the field." + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.defaultValue", + "type": "Uncategorized", + "tags": [], + "label": "defaultValue", + "description": [ + "The default value of the field from Kibana." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.defaultValueDisplay", + "type": "string", + "tags": [], + "label": "defaultValueDisplay", + "description": [ + "The text-based display of the default value, for use in the UI." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.deprecation", + "type": "Object", + "tags": [ + "see" + ], + "label": "deprecation", + "description": [ + "\nDeprecation information for the field" + ], + "signature": [ + { + "pluginId": "@kbn/core-ui-settings-common", + "scope": "common", + "docId": "kibKbnCoreUiSettingsCommonPluginApi", + "section": "def-common.DeprecationSettings", + "text": "DeprecationSettings" + }, + " | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.description", + "type": "CompoundType", + "tags": [], + "label": "description", + "description": [ + "A description of the field." + ], + "signature": [ + "string | React.ReactElement> | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.displayName", + "type": "string", + "tags": [], + "label": "displayName", + "description": [ + "The name of the field suitable for display in the UX." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.groupId", + "type": "string", + "tags": [], + "label": "groupId", + "description": [ + "The grouping identifier for the field." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "The unique identifier of the field, typically separated by `:`" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isCustom", + "type": "boolean", + "tags": [], + "label": "isCustom", + "description": [ + "True if the field is a custom setting, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isDefaultValue", + "type": "boolean", + "tags": [], + "label": "isDefaultValue", + "description": [ + "True if the current saved setting matches the default setting." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isOverridden", + "type": "boolean", + "tags": [], + "label": "isOverridden", + "description": [ + "True if the setting is overridden in Kibana, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.isReadOnly", + "type": "boolean", + "tags": [], + "label": "isReadOnly", + "description": [ + "True if the setting is read-only, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.metric", + "type": "Object", + "tags": [], + "label": "metric", + "description": [ + "Metric information when one interacts with the field." + ], + "signature": [ + "{ name?: string | undefined; type?: string | undefined; } | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.name", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "The name of the field suitable for use in the UX." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.options", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Option information if the field represents a `select` setting." + ], + "signature": [ + "{ values: string[] | number[]; labels: Record; } | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.order", + "type": "number", + "tags": [], + "label": "order", + "description": [ + "A rank order for the field relative to other fields." + ], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.requiresPageReload", + "type": "boolean", + "tags": [], + "label": "requiresPageReload", + "description": [ + "True if the browser must be reloaded for the setting to take effect, false otherwise." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.savedValue", + "type": "Uncategorized", + "tags": [], + "label": "savedValue", + "description": [ + "The current saved value of the setting." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.type", + "type": "Uncategorized", + "tags": [ + "see" + ], + "label": "type", + "description": [ + "\nThe type of setting the field represents." + ], + "signature": [ + "T" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.FieldDefinition.unsavedFieldId", + "type": "string", + "tags": [], + "label": "unsavedFieldId", + "description": [ + "An identifier of the field when it has an unsaved change." + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectFieldDefinition", + "type": "Interface", + "tags": [], + "label": "SelectFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `select` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectFieldDefinition", + "text": "SelectFieldDefinition" + }, + " extends ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"select\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectFieldDefinition.options", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Options are required when this definition is used." + ], + "signature": [ + "{ values: string[] | number[]; labels: Record; }" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata", + "type": "Interface", + "tags": [], + "label": "UiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} type, whose fields\nare not only optional, but also not strongly typed to\n{@link @kbn/core-ui-settings-common#UiSettingsType}.\n" + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + " extends UiSetting" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata.type", + "type": "Uncategorized", + "tags": [ + "see" + ], + "label": "type", + "description": [ + "\nThe type of setting being represented." + ], + "signature": [ + "T" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata.value", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [ + "The default value in Kibana for the setting." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UiSettingMetadata.userValue", + "type": "Uncategorized", + "tags": [], + "label": "userValue", + "description": [ + "The value saved by the user." + ], + "signature": [ + "V | undefined" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange", + "type": "Interface", + "tags": [], + "label": "UnsavedFieldChange", + "description": [ + "\nA {@link UnsavedFieldChange} represents local changes to a field that have not\nyet been saved." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.type", + "type": "Uncategorized", + "tags": [ + "see" + ], + "label": "type", + "description": [ + "\nThe type of setting." + ], + "signature": [ + "T" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.error", + "type": "CompoundType", + "tags": [], + "label": "error", + "description": [ + "An error message, if any, from the change." + ], + "signature": [ + "string | null | undefined" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.isInvalid", + "type": "CompoundType", + "tags": [], + "label": "isInvalid", + "description": [ + "True if the change is invalid for the field, false otherwise." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UnsavedFieldChange.unsavedValue", + "type": "CompoundType", + "tags": [], + "label": "unsavedValue", + "description": [ + "The current unsaved value stored in the field." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArrayFieldDefinition", + "type": "Type", + "tags": [], + "label": "ArrayFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `array` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"array\", (string | number)[] | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArraySettingType", + "type": "Type", + "tags": [], + "label": "ArraySettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `array` primitive type value." + ], + "signature": [ + "\"array\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArrayUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "ArrayUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `array` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"array\", (string | number)[] | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ArrayUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "ArrayUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `number` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"array\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanFieldDefinition", + "type": "Type", + "tags": [], + "label": "BooleanFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `boolean` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"boolean\", boolean | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanSettingType", + "type": "Type", + "tags": [], + "label": "BooleanSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `boolean` primitive type value." + ], + "signature": [ + "\"boolean\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "BooleanUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `boolean` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"boolean\", boolean | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.BooleanUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "BooleanUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `boolean` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"boolean\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ColorFieldDefinition", + "type": "Type", + "tags": [], + "label": "ColorFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `color` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"color\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ColorUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "ColorUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `color` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"color\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ColorUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "ColorUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `color` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"color\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ImageFieldDefinition", + "type": "Type", + "tags": [], + "label": "ImageFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `image` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"image\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ImageUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "ImageUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `image` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"image\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.ImageUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "ImageUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `image` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"image\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.JsonFieldDefinition", + "type": "Type", + "tags": [], + "label": "JsonFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `json` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"json\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.JsonUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "JsonUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `json` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"json\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.JsonUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "JsonUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `json` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"json\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.KnownTypeToMetadata", + "type": "Type", + "tags": [], + "label": "KnownTypeToMetadata", + "description": [ + "\nThis is a narrowing type, which finds the correct {@link UiSettingMetadata}\ntype based on a given {@link SettingType}." + ], + "signature": [ + "T extends \"array\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ArrayUiSettingMetadata", + "text": "ArrayUiSettingMetadata" + }, + " : T extends \"boolean\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.BooleanUiSettingMetadata", + "text": "BooleanUiSettingMetadata" + }, + " : T extends \"color\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ColorUiSettingMetadata", + "text": "ColorUiSettingMetadata" + }, + " : T extends \"image\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.ImageUiSettingMetadata", + "text": "ImageUiSettingMetadata" + }, + " : T extends \"json\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.JsonUiSettingMetadata", + "text": "JsonUiSettingMetadata" + }, + " : T extends \"markdown\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.MarkdownUiSettingMetadata", + "text": "MarkdownUiSettingMetadata" + }, + " : T extends \"number\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.NumberUiSettingMetadata", + "text": "NumberUiSettingMetadata" + }, + " : T extends \"select\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.SelectUiSettingMetadata", + "text": "SelectUiSettingMetadata" + }, + " : T extends \"string\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.StringUiSettingMetadata", + "text": "StringUiSettingMetadata" + }, + " : T extends \"undefined\" ? ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UndefinedUiSettingMetadata", + "text": "UndefinedUiSettingMetadata" + }, + " : never" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.KnownTypeToValue", + "type": "Type", + "tags": [], + "label": "KnownTypeToValue", + "description": [ + "\nThis is a narrowing type, which finds the correct primitive type based on a\ngiven {@link SettingType}." + ], + "signature": [ + "T extends \"string\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\" ? string : T extends \"boolean\" ? boolean : T extends \"number\" | \"bigint\" ? number : T extends \"array\" ? (string | number)[] : T extends \"undefined\" ? undefined : never" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.MarkdownFieldDefinition", + "type": "Type", + "tags": [], + "label": "MarkdownFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `markdown` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"markdown\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.MarkdownUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "MarkdownUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `markdown` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"markdown\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.MarkdownUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "MarkdownUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `markdown` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"markdown\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberFieldDefinition", + "type": "Type", + "tags": [], + "label": "NumberFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `number` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"number\", number | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberSettingType", + "type": "Type", + "tags": [], + "label": "NumberSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `number` primitive type value." + ], + "signature": [ + "\"number\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "NumberUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `number` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"number\", number | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.NumberUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "NumberUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `number` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"number\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "SelectUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `select` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"select\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SelectUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "SelectUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `select` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"select\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.SettingType", + "type": "Type", + "tags": [], + "label": "SettingType", + "description": [ + "\nThis is a local type equivalent to {@link UiSettingsType} for flexibility." + ], + "signature": [ + "\"string\" | \"number\" | \"boolean\" | \"undefined\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\" | \"array\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringFieldDefinition", + "type": "Type", + "tags": [], + "label": "StringFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `string` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"string\", string | null>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringSettingType", + "type": "Type", + "tags": [], + "label": "StringSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `string` primitive type value." + ], + "signature": [ + "\"string\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "StringUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `string` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"string\", string | null>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.StringUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "StringUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `string` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"string\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedFieldDefinition", + "type": "Type", + "tags": [], + "label": "UndefinedFieldDefinition", + "description": [ + "\nThis is a {@link FieldDefinition} representing {@link UiSetting} `undefined` type\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + "<\"undefined\", null | undefined>" + ], + "path": "packages/kbn-management/settings/types/field_definition.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedSettingType", + "type": "Type", + "tags": [], + "label": "UndefinedSettingType", + "description": [ + "\nA narrowing type representing all {@link SettingType} values that correspond\nto an `undefined` type value." + ], + "signature": [ + "\"undefined\"" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedUiSettingMetadata", + "type": "Type", + "tags": [], + "label": "UndefinedUiSettingMetadata", + "description": [ + "\nThis is an type-safe abstraction over the {@link UiSetting} `undefined` type." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UiSettingMetadata", + "text": "UiSettingMetadata" + }, + "<\"undefined\", null | undefined>" + ], + "path": "packages/kbn-management/settings/types/metadata.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.UndefinedUnsavedFieldChange", + "type": "Type", + "tags": [], + "label": "UndefinedUnsavedFieldChange", + "description": [ + "\nThis is a {@link UnsavedFieldChange} representing an unsaved change to a\n{@link FieldDefinition} which has a {@link UiSetting} `undefined` value\nfor use in the UI." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + "<\"undefined\">" + ], + "path": "packages/kbn-management/settings/types/unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-types", + "id": "def-common.Value", + "type": "Type", + "tags": [], + "label": "Value", + "description": [ + "\nA type representing all possible values corresponding to a given {@link SettingType}." + ], + "signature": [ + "string | number | boolean | (string | number)[] | null | undefined" + ], + "path": "packages/kbn-management/settings/types/setting_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx new file mode 100644 index 0000000000000..c8592100f1456 --- /dev/null +++ b/api_docs/kbn_management_settings_types.mdx @@ -0,0 +1,33 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsTypesPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-types +title: "@kbn/management-settings-types" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-types plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] +--- +import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 71 | 0 | 0 | 0 | + +## Common + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_management_settings_utilities.devdocs.json b/api_docs/kbn_management_settings_utilities.devdocs.json new file mode 100644 index 0000000000000..462a359ec8b85 --- /dev/null +++ b/api_docs/kbn_management_settings_utilities.devdocs.json @@ -0,0 +1,788 @@ +{ + "id": "@kbn/management-settings-utilities", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [ + "\nConvenience function that, given a {@link FieldDefinition} and an {@link UnsavedFieldChange},\nreturns the value to be displayed in the input field, and a boolean indicating whether the\nvalue is an unsaved value.\n" + ], + "signature": [ + "(field: F<\"array\">, change: C<\"array\">) => [string[], boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The field to compare." + ], + "signature": [ + "F<\"array\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [ + "The unsaved change to compare." + ], + "signature": [ + "C<\"array\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"color\">, change: C<\"color\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"color\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"color\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"boolean\">, change: C<\"boolean\">) => [boolean, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"boolean\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"boolean\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"image\">, change: C<\"image\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"image\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"image\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"json\">, change: C<\"json\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"json\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"json\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"markdown\">, change: C<\"markdown\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"markdown\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"markdown\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"number\">, change: C<\"number\">) => [number, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"number\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"number\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"select\">, change: C<\"select\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"select\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"select\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"string\">, change: C<\"string\">) => [string, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"string\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"string\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F<\"undefined\">, change: C<\"undefined\">) => [string | null | undefined, boolean]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F<\"undefined\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C<\"undefined\">" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue", + "type": "Function", + "tags": [], + "label": "getInputValue", + "description": [], + "signature": [ + "(field: F, change: C) => (boolean | ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined)[]" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "F" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.getInputValue.$2", + "type": "Object", + "tags": [], + "label": "change", + "description": [], + "signature": [ + "C" + ], + "path": "packages/kbn-management/settings/utilities/get_input_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.hasUnsavedChange", + "type": "Function", + "tags": [], + "label": "hasUnsavedChange", + "description": [ + "\nCompares a given {@link FieldDefinition} to an {@link UnsavedFieldChange} to determine\nif the field has an unsaved change in the UI.\n" + ], + "signature": [ + "(field: Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>, \"savedValue\">, unsavedChange?: Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + ", \"unsavedValue\"> | undefined) => boolean" + ], + "path": "packages/kbn-management/settings/utilities/has_unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.hasUnsavedChange.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The field to compare." + ], + "signature": [ + "Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>, \"savedValue\">" + ], + "path": "packages/kbn-management/settings/utilities/has_unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.hasUnsavedChange.$2", + "type": "Object", + "tags": [], + "label": "unsavedChange", + "description": [ + "The unsaved change to compare." + ], + "signature": [ + "Pick<", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.UnsavedFieldChange", + "text": "UnsavedFieldChange" + }, + ", \"unsavedValue\"> | undefined" + ], + "path": "packages/kbn-management/settings/utilities/has_unsaved_change.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.isUnsavedValue", + "type": "Function", + "tags": [], + "label": "isUnsavedValue", + "description": [ + "\nConvenience function to compare a given {@link FieldDefinition} to an {@link UnsavedFieldChange}\nto determine if the value in the unsaved change is a different value from what is saved.\n" + ], + "signature": [ + "(field: ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>, unsavedValue?: ", + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined) => boolean" + ], + "path": "packages/kbn-management/settings/utilities/is_unsaved_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.isUnsavedValue.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "The field to compare." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.FieldDefinition", + "text": "FieldDefinition" + }, + " | null>" + ], + "path": "packages/kbn-management/settings/utilities/is_unsaved_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/management-settings-utilities", + "id": "def-common.isUnsavedValue.$2", + "type": "CompoundType", + "tags": [], + "label": "unsavedValue", + "description": [ + "The unsaved value to compare." + ], + "signature": [ + { + "pluginId": "@kbn/management-settings-types", + "scope": "common", + "docId": "kibKbnManagementSettingsTypesPluginApi", + "section": "def-common.KnownTypeToValue", + "text": "KnownTypeToValue" + }, + " | null | undefined" + ], + "path": "packages/kbn-management/settings/utilities/is_unsaved_value.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx new file mode 100644 index 0000000000000..31e0ff94a2a40 --- /dev/null +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnManagementSettingsUtilitiesPluginApi +slug: /kibana-dev-docs/api/kbn-management-settings-utilities +title: "@kbn/management-settings-utilities" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/management-settings-utilities plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] +--- +import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; + + + +Contact [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 39 | 0 | 30 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 2a9ddbb07a4b5..8364e5c6de53c 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index c3cbea6836261..f309595582bc4 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index d9ebcbcfcc291..233ec13546216 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index fd2c4d0b9705e..657ff4b8264ad 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index dc98d4a337fd0..be9336d573cd2 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 8e82d093dfc8f..1a3afc43e56d7 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 6c8ac5595d6d6..c13c54d34121b 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index b6856d0f6287f..647cb07b3eb64 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 1ef076df35097..c6f8376c47a28 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index c1ae85ddfa961..be18567cbb014 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 881d24c69923a..726d94891ed72 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 13368efa8d0e7..06ab4563359c0 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 46577b3b8d6c7..b74d2f40fb222 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 97784b0c9fc7d..e04b238a09c40 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index e656ff02146f7..3c6e582f76844 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 7bb19a981c248..863d2d28a4e24 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index f88b847127d4d..03269cb0d0ed3 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 9877effcae9fe..0dae3a21c7702 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index d8a617a6fa58f..381ef607c2a62 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index ab6266640c94c..05c5b586cab36 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index a129d2a44cd92..16c8571c874e4 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index e86565fef21fe..57a5df70840ad 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 6133597b9ce2e..9dec182d24c48 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 4d60bacb6e59a..c6a77c39a1a26 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 135635c505ef4..0d9473a6f86f5 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.devdocs.json b/api_docs/kbn_monaco.devdocs.json index a02324fc33509..c7d87a27c0872 100644 --- a/api_docs/kbn_monaco.devdocs.json +++ b/api_docs/kbn_monaco.devdocs.json @@ -892,6 +892,61 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration", + "type": "Object", + "tags": [], + "label": "languageConfiguration", + "description": [], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration.brackets", + "type": "Array", + "tags": [], + "label": "brackets", + "description": [], + "signature": [ + "[string, string][]" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration.autoClosingPairs", + "type": "Array", + "tags": [], + "label": "autoClosingPairs", + "description": [], + "signature": [ + "{ open: string; close: string; }[]" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/monaco", + "id": "def-common.ESQLLang.languageConfiguration.surroundingPairs", + "type": "Array", + "tags": [], + "label": "surroundingPairs", + "description": [], + "signature": [ + "{ open: string; close: string; }[]" + ], + "path": "packages/kbn-monaco/src/esql/language.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "@kbn/monaco", "id": "def-common.ESQLLang.getSuggestionProvider", diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 997fbcdd0238c..9e5313ea98c4a 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 74 | 0 | 72 | 3 | +| 78 | 0 | 76 | 3 | ## Common diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 5c952503c898c..dc9d79bfa9777 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index e38ab1e481143..56b02aebfb5ea 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 641253b7f126b..5380d1d3b8d3a 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 8689722e24020..d010e5fe75378 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 4ea9e6457b96f..7c70442dd6f6b 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 8a84dd2c0ed78..e581c401d18e4 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 8ad0ae42f131c..d6a167647782b 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index e41a4bd68c978..1f1a6f95d8d1c 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.devdocs.json b/api_docs/kbn_profiling_utils.devdocs.json new file mode 100644 index 0000000000000..91934b1fb9ad9 --- /dev/null +++ b/api_docs/kbn_profiling_utils.devdocs.json @@ -0,0 +1,2609 @@ +{ + "id": "@kbn/profiling-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createBaseFlameGraph", + "type": "Function", + "tags": [], + "label": "createBaseFlameGraph", + "description": [ + "\ncreateBaseFlameGraph encapsulates the tree representation into a serialized form." + ], + "signature": [ + "(tree: ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.CalleeTree", + "text": "CalleeTree" + }, + ", samplingRate: number, totalSeconds: number) => ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.BaseFlameGraph", + "text": "BaseFlameGraph" + } + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createBaseFlameGraph.$1", + "type": "Object", + "tags": [], + "label": "tree", + "description": [ + "CalleeTree" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.CalleeTree", + "text": "CalleeTree" + } + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createBaseFlameGraph.$2", + "type": "number", + "tags": [], + "label": "samplingRate", + "description": [ + "number" + ], + "signature": [ + "number" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createBaseFlameGraph.$3", + "type": "number", + "tags": [], + "label": "totalSeconds", + "description": [ + "number" + ], + "signature": [ + "number" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "BaseFlameGraph" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createCalleeTree", + "type": "Function", + "tags": [], + "label": "createCalleeTree", + "description": [ + "\nCreate a callee tree" + ], + "signature": [ + "(events: Map, stackTraces: Map, stackFrames: Map, executables: Map, totalFrames: number, samplingRate: number) => ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.CalleeTree", + "text": "CalleeTree" + } + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createCalleeTree.$1", + "type": "Object", + "tags": [], + "label": "events", + "description": [ + "Map" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createCalleeTree.$2", + "type": "Object", + "tags": [], + "label": "stackTraces", + "description": [ + "Map" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createCalleeTree.$3", + "type": "Object", + "tags": [], + "label": "stackFrames", + "description": [ + "Map" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createCalleeTree.$4", + "type": "Object", + "tags": [], + "label": "executables", + "description": [ + "Map" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createCalleeTree.$5", + "type": "number", + "tags": [], + "label": "totalFrames", + "description": [ + "number" + ], + "signature": [ + "number" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createCalleeTree.$6", + "type": "number", + "tags": [], + "label": "samplingRate", + "description": [ + "number" + ], + "signature": [ + "number" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFlameGraph", + "type": "Function", + "tags": [], + "label": "createFlameGraph", + "description": [ + "\n\ncreateFlameGraph combines the base flamegraph with CPU-intensive values.\nThis allows us to create a flamegraph in two steps (e.g. first on the server\nand finally in the browser)." + ], + "signature": [ + "(base: ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.BaseFlameGraph", + "text": "BaseFlameGraph" + }, + ") => ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.ElasticFlameGraph", + "text": "ElasticFlameGraph" + } + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFlameGraph.$1", + "type": "Object", + "tags": [], + "label": "base", + "description": [ + "BaseFlameGraph" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.BaseFlameGraph", + "text": "BaseFlameGraph" + } + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "ElasticFlameGraph" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFrameGroupID", + "type": "Function", + "tags": [], + "label": "createFrameGroupID", + "description": [ + "\n\ncreateFrameGroupID is the \"standard\" way of grouping frames, by commonly shared group identifiers.\nFor ELF-symbolized frames, group by FunctionName, ExeFileName and FileID.\nFor non-symbolized frames, group by FileID and AddressOrLine.\notherwise group by ExeFileName, SourceFilename and FunctionName." + ], + "signature": [ + "(fileID: string, addressOrLine: number, exeFilename: string, sourceFilename: string, functionName: string) => string" + ], + "path": "packages/kbn-profiling-utils/common/frame_group.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFrameGroupID.$1", + "type": "string", + "tags": [], + "label": "fileID", + "description": [ + "string" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/frame_group.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFrameGroupID.$2", + "type": "number", + "tags": [], + "label": "addressOrLine", + "description": [ + "string" + ], + "signature": [ + "number" + ], + "path": "packages/kbn-profiling-utils/common/frame_group.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFrameGroupID.$3", + "type": "string", + "tags": [], + "label": "exeFilename", + "description": [ + "string" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/frame_group.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFrameGroupID.$4", + "type": "string", + "tags": [], + "label": "sourceFilename", + "description": [ + "string" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/frame_group.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createFrameGroupID.$5", + "type": "string", + "tags": [], + "label": "functionName", + "description": [ + "string" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/frame_group.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "FrameGroupID" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createStackFrameMetadata", + "type": "Function", + "tags": [], + "label": "createStackFrameMetadata", + "description": [ + "\ncreate stackframe metadata" + ], + "signature": [ + "(options: Partial<", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackFrameMetadata", + "text": "StackFrameMetadata" + }, + ">) => ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackFrameMetadata", + "text": "StackFrameMetadata" + } + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.createStackFrameMetadata.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Partial" + ], + "signature": [ + "Partial<", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackFrameMetadata", + "text": "StackFrameMetadata" + }, + ">" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "StackFrameMetadata" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.decodeStackTraceResponse", + "type": "Function", + "tags": [], + "label": "decodeStackTraceResponse", + "description": [ + "\nDecodes stack trace response" + ], + "signature": [ + "(response: ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackTraceResponse", + "text": "StackTraceResponse" + }, + ") => ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.DecodedStackTraceResponse", + "text": "DecodedStackTraceResponse" + } + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.decodeStackTraceResponse.$1", + "type": "Object", + "tags": [], + "label": "response", + "description": [ + "StackTraceResponse" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackTraceResponse", + "text": "StackTraceResponse" + } + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "DecodedStackTraceResponse" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.describeFrameType", + "type": "Function", + "tags": [], + "label": "describeFrameType", + "description": [ + "\nget frame type name" + ], + "signature": [ + "(ft: ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.FrameType", + "text": "FrameType" + }, + ") => string" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.describeFrameType.$1", + "type": "Enum", + "tags": [], + "label": "ft", + "description": [ + "FrameType" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.FrameType", + "text": "FrameType" + } + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "string" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getCalleeFunction", + "type": "Function", + "tags": [], + "label": "getCalleeFunction", + "description": [ + "\nGet callee function name" + ], + "signature": [ + "(frame: ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackFrameMetadata", + "text": "StackFrameMetadata" + }, + ") => string" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getCalleeFunction.$1", + "type": "Object", + "tags": [], + "label": "frame", + "description": [ + "StackFrameMetadata" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackFrameMetadata", + "text": "StackFrameMetadata" + } + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "string" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getCalleeSource", + "type": "Function", + "tags": [], + "label": "getCalleeSource", + "description": [ + "\nGet callee source information.\nIf we don't have the executable filename, display \nIf no source line or filename available, display the executable offset" + ], + "signature": [ + "(frame: ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackFrameMetadata", + "text": "StackFrameMetadata" + }, + ") => string" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getCalleeSource.$1", + "type": "Object", + "tags": [], + "label": "frame", + "description": [ + "StackFrameMetadata" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.StackFrameMetadata", + "text": "StackFrameMetadata" + } + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "string" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getFieldNameForTopNType", + "type": "Function", + "tags": [], + "label": "getFieldNameForTopNType", + "description": [ + "\nGet Profiling ES field based on TopN Type" + ], + "signature": [ + "(type: ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.TopNType", + "text": "TopNType" + }, + ") => string" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getFieldNameForTopNType.$1", + "type": "Enum", + "tags": [], + "label": "type", + "description": [ + "TopNType" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.TopNType", + "text": "TopNType" + } + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "string" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getFrameSymbolStatus", + "type": "Function", + "tags": [], + "label": "getFrameSymbolStatus", + "description": [ + "\nGet frame symbol status" + ], + "signature": [ + "(param: FrameSymbolStatusParams) => ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.FrameSymbolStatus", + "text": "FrameSymbolStatus" + } + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getFrameSymbolStatus.$1", + "type": "Object", + "tags": [], + "label": "param", + "description": [ + "FrameSymbolStatusParams" + ], + "signature": [ + "FrameSymbolStatusParams" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "FrameSymbolStatus" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getLanguageType", + "type": "Function", + "tags": [], + "label": "getLanguageType", + "description": [ + "\nGet language type" + ], + "signature": [ + "(param: LanguageTypeParams) => \"NATIVE\" | \"INTERPRETED\"" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.getLanguageType.$1", + "type": "Object", + "tags": [], + "label": "param", + "description": [ + "LanguageTypeParams" + ], + "signature": [ + "LanguageTypeParams" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "string" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.groupStackFrameMetadataByStackTrace", + "type": "Function", + "tags": [], + "label": "groupStackFrameMetadataByStackTrace", + "description": [ + "\nGroup stackframe by stack trace" + ], + "signature": [ + "(stackTraces: Map, stackFrames: Map, executables: Map) => Record" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.groupStackFrameMetadataByStackTrace.$1", + "type": "Object", + "tags": [], + "label": "stackTraces", + "description": [ + "Map" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.groupStackFrameMetadataByStackTrace.$2", + "type": "Object", + "tags": [], + "label": "stackFrames", + "description": [ + "Map" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.groupStackFrameMetadataByStackTrace.$3", + "type": "Object", + "tags": [], + "label": "executables", + "description": [ + "Map" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "Record" + ], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph", + "type": "Interface", + "tags": [], + "label": "BaseFlameGraph", + "description": [ + "\nBase Flamegraph" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.Size", + "type": "number", + "tags": [], + "label": "Size", + "description": [ + "size" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.Edges", + "type": "Array", + "tags": [], + "label": "Edges", + "description": [ + "edges" + ], + "signature": [ + "number[][]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.FileID", + "type": "Array", + "tags": [], + "label": "FileID", + "description": [ + "file ids" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.FrameType", + "type": "Array", + "tags": [], + "label": "FrameType", + "description": [ + "frame types" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.Inline", + "type": "Array", + "tags": [], + "label": "Inline", + "description": [ + "inlines" + ], + "signature": [ + "boolean[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.ExeFilename", + "type": "Array", + "tags": [], + "label": "ExeFilename", + "description": [ + "executable file names" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.AddressOrLine", + "type": "Array", + "tags": [], + "label": "AddressOrLine", + "description": [ + "address or line" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.FunctionName", + "type": "Array", + "tags": [], + "label": "FunctionName", + "description": [ + "function names" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.FunctionOffset", + "type": "Array", + "tags": [], + "label": "FunctionOffset", + "description": [ + "function offsets" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.SourceFilename", + "type": "Array", + "tags": [], + "label": "SourceFilename", + "description": [ + "source file names" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.SourceLine", + "type": "Array", + "tags": [], + "label": "SourceLine", + "description": [ + "source lines" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.CountInclusive", + "type": "Array", + "tags": [], + "label": "CountInclusive", + "description": [ + "total cpu" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.CountExclusive", + "type": "Array", + "tags": [], + "label": "CountExclusive", + "description": [ + "self cpu" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.TotalSeconds", + "type": "number", + "tags": [], + "label": "TotalSeconds", + "description": [ + "total seconds" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.SamplingRate", + "type": "number", + "tags": [], + "label": "SamplingRate", + "description": [ + "sampling rate" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree", + "type": "Interface", + "tags": [], + "label": "CalleeTree", + "description": [ + "\nCallee tree" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.Size", + "type": "number", + "tags": [], + "label": "Size", + "description": [ + "size" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.Edges", + "type": "Array", + "tags": [], + "label": "Edges", + "description": [ + "edges" + ], + "signature": [ + "Map[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.FileID", + "type": "Array", + "tags": [], + "label": "FileID", + "description": [ + "file ids" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.FrameType", + "type": "Array", + "tags": [], + "label": "FrameType", + "description": [ + "frame types" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.Inline", + "type": "Array", + "tags": [], + "label": "Inline", + "description": [ + "inlines" + ], + "signature": [ + "boolean[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.ExeFilename", + "type": "Array", + "tags": [], + "label": "ExeFilename", + "description": [ + "executable file names" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.AddressOrLine", + "type": "Array", + "tags": [], + "label": "AddressOrLine", + "description": [ + "address or lines" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.FunctionName", + "type": "Array", + "tags": [], + "label": "FunctionName", + "description": [ + "function names" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.FunctionOffset", + "type": "Array", + "tags": [], + "label": "FunctionOffset", + "description": [ + "function offsets" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.SourceFilename", + "type": "Array", + "tags": [], + "label": "SourceFilename", + "description": [ + "source file names" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.SourceLine", + "type": "Array", + "tags": [], + "label": "SourceLine", + "description": [ + "source lines" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.CountInclusive", + "type": "Array", + "tags": [], + "label": "CountInclusive", + "description": [ + "total cpu" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.CountExclusive", + "type": "Array", + "tags": [], + "label": "CountExclusive", + "description": [ + "self cpu" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.DecodedStackTraceResponse", + "type": "Interface", + "tags": [], + "label": "DecodedStackTraceResponse", + "description": [ + "Decoded stack trace response" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.DecodedStackTraceResponse.events", + "type": "Object", + "tags": [], + "label": "events", + "description": [ + "Map of Stacktrace ID and event" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.DecodedStackTraceResponse.stackTraces", + "type": "Object", + "tags": [], + "label": "stackTraces", + "description": [ + "Map of stacktrace ID and stacktrace" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.DecodedStackTraceResponse.stackFrames", + "type": "Object", + "tags": [], + "label": "stackFrames", + "description": [ + "Map of stackframe ID and stackframe" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.DecodedStackTraceResponse.executables", + "type": "Object", + "tags": [], + "label": "executables", + "description": [ + "Map of file ID and Executables" + ], + "signature": [ + "Map" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.DecodedStackTraceResponse.totalFrames", + "type": "number", + "tags": [], + "label": "totalFrames", + "description": [ + "Total number of frames" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.DecodedStackTraceResponse.samplingRate", + "type": "number", + "tags": [], + "label": "samplingRate", + "description": [ + "sampling rate" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ElasticFlameGraph", + "type": "Interface", + "tags": [], + "label": "ElasticFlameGraph", + "description": [ + "Elasticsearch flamegraph" + ], + "signature": [ + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.ElasticFlameGraph", + "text": "ElasticFlameGraph" + }, + " extends ", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.BaseFlameGraph", + "text": "BaseFlameGraph" + } + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ElasticFlameGraph.ID", + "type": "Array", + "tags": [], + "label": "ID", + "description": [ + "ID" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ElasticFlameGraph.Label", + "type": "Array", + "tags": [], + "label": "Label", + "description": [ + "Label" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.Executable", + "type": "Interface", + "tags": [], + "label": "Executable", + "description": [ + "Executable" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.Executable.FileName", + "type": "string", + "tags": [], + "label": "FileName", + "description": [ + "file name" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatusResponse", + "type": "Interface", + "tags": [], + "label": "ProfilingStatusResponse", + "description": [ + "Profiling status response" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatusResponse.profiling", + "type": "Object", + "tags": [], + "label": "profiling", + "description": [ + "profiling enabled" + ], + "signature": [ + "{ enabled: boolean; }" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatusResponse.resource_management", + "type": "Object", + "tags": [], + "label": "resource_management", + "description": [ + "resource management status" + ], + "signature": [ + "{ enabled: boolean; }" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingStatusResponse.resources", + "type": "Object", + "tags": [], + "label": "resources", + "description": [ + "Indices creates / pre 8.9.1 data still available" + ], + "signature": [ + "{ created: boolean; pre_8_9_1_data: boolean; }" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrame", + "type": "Interface", + "tags": [], + "label": "StackFrame", + "description": [ + "Stack frame" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrame.FileName", + "type": "string", + "tags": [], + "label": "FileName", + "description": [ + "file name" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrame.FunctionName", + "type": "string", + "tags": [], + "label": "FunctionName", + "description": [ + "function name" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrame.FunctionOffset", + "type": "number", + "tags": [], + "label": "FunctionOffset", + "description": [ + "function offset" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrame.LineNumber", + "type": "number", + "tags": [], + "label": "LineNumber", + "description": [ + "line number" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrame.Inline", + "type": "boolean", + "tags": [], + "label": "Inline", + "description": [ + "inline" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata", + "type": "Interface", + "tags": [], + "label": "StackFrameMetadata", + "description": [ + "Stack frame metadata" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.FrameID", + "type": "string", + "tags": [], + "label": "FrameID", + "description": [ + "StackTrace.FrameID" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.FileID", + "type": "string", + "tags": [], + "label": "FileID", + "description": [ + "StackTrace.FileID" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.FrameType", + "type": "Enum", + "tags": [], + "label": "FrameType", + "description": [ + "StackTrace.Type" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.Inline", + "type": "boolean", + "tags": [], + "label": "Inline", + "description": [ + "StackFrame.Inline" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.AddressOrLine", + "type": "number", + "tags": [], + "label": "AddressOrLine", + "description": [ + "StackTrace.AddressOrLine" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.FunctionName", + "type": "string", + "tags": [], + "label": "FunctionName", + "description": [ + "StackFrame.FunctionName" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.FunctionOffset", + "type": "number", + "tags": [], + "label": "FunctionOffset", + "description": [ + "StackFrame.FunctionOffset" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.SourceID", + "type": "string", + "tags": [], + "label": "SourceID", + "description": [ + "should this be StackFrame.SourceID?" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.SourceFilename", + "type": "string", + "tags": [], + "label": "SourceFilename", + "description": [ + "StackFrame.Filename" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.SourceLine", + "type": "number", + "tags": [], + "label": "SourceLine", + "description": [ + "StackFrame.LineNumber" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.FunctionSourceLine", + "type": "number", + "tags": [], + "label": "FunctionSourceLine", + "description": [ + "auto-generated - see createStackFrameMetadata" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.ExeFileName", + "type": "string", + "tags": [], + "label": "ExeFileName", + "description": [ + "Executable.FileName" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.CommitHash", + "type": "string", + "tags": [], + "label": "CommitHash", + "description": [ + "unused atm due to lack of symbolization metadata" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.SourceCodeURL", + "type": "string", + "tags": [], + "label": "SourceCodeURL", + "description": [ + "unused atm due to lack of symbolization metadata" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.SourcePackageHash", + "type": "string", + "tags": [], + "label": "SourcePackageHash", + "description": [ + "unused atm due to lack of symbolization metadata" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.SourcePackageURL", + "type": "string", + "tags": [], + "label": "SourcePackageURL", + "description": [ + "unused atm due to lack of symbolization metadata" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameMetadata.SamplingRate", + "type": "number", + "tags": [], + "label": "SamplingRate", + "description": [ + "unused atm due to lack of symbolization metadata" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTrace", + "type": "Interface", + "tags": [], + "label": "StackTrace", + "description": [ + "Stack trace" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTrace.FrameIDs", + "type": "Array", + "tags": [], + "label": "FrameIDs", + "description": [ + "frame ids" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTrace.FileIDs", + "type": "Array", + "tags": [], + "label": "FileIDs", + "description": [ + "file ids" + ], + "signature": [ + "string[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTrace.AddressOrLines", + "type": "Array", + "tags": [], + "label": "AddressOrLines", + "description": [ + "address or lines" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTrace.Types", + "type": "Array", + "tags": [], + "label": "Types", + "description": [ + "types" + ], + "signature": [ + "number[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceResponse", + "type": "Interface", + "tags": [], + "label": "StackTraceResponse", + "description": [ + "Profiling stacktrace" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceResponse.stack_trace_events", + "type": "Object", + "tags": [], + "label": "['stack_trace_events']", + "description": [ + "stack trace events" + ], + "signature": [ + "ProfilingEvents | undefined" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceResponse.stack_traces", + "type": "Object", + "tags": [], + "label": "['stack_traces']", + "description": [ + "stack traces" + ], + "signature": [ + "ProfilingStackTraces | undefined" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceResponse.stack_frames", + "type": "Object", + "tags": [], + "label": "['stack_frames']", + "description": [ + "stack frames" + ], + "signature": [ + "ProfilingStackFrames | undefined" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceResponse.executables", + "type": "Object", + "tags": [], + "label": "['executables']", + "description": [ + "executables" + ], + "signature": [ + "ProfilingExecutables | undefined" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceResponse.total_frames", + "type": "number", + "tags": [], + "label": "['total_frames']", + "description": [ + "total frames" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceResponse.sampling_rate", + "type": "number", + "tags": [], + "label": "['sampling_rate']", + "description": [ + "sampling rate" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.FrameSymbolStatus", + "type": "Enum", + "tags": [], + "label": "FrameSymbolStatus", + "description": [ + "\nFrame symbol status" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.FrameType", + "type": "Enum", + "tags": [], + "label": "FrameType", + "description": [ + "\nFrame type" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.ProfilingESField", + "type": "Enum", + "tags": [], + "label": "ProfilingESField", + "description": [ + "\nProfiling Elasticsearch fields" + ], + "path": "packages/kbn-profiling-utils/common/elasticsearch.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTracesDisplayOption", + "type": "Enum", + "tags": [], + "label": "StackTracesDisplayOption", + "description": [ + "\nStacktraces options" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.TopNType", + "type": "Enum", + "tags": [], + "label": "TopNType", + "description": [ + "\nFunctions TopN types definition" + ], + "path": "packages/kbn-profiling-utils/common/stack_traces.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.FileID", + "type": "Type", + "tags": [], + "label": "FileID", + "description": [ + "\nFile ID" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.FrameGroupID", + "type": "Type", + "tags": [], + "label": "FrameGroupID", + "description": [ + "Frame group ID" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/frame_group.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackFrameID", + "type": "Type", + "tags": [], + "label": "StackFrameID", + "description": [ + "\nStackFrame ID" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.StackTraceID", + "type": "Type", + "tags": [], + "label": "StackTraceID", + "description": [ + "\nStacktrace ID" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyExecutable", + "type": "Object", + "tags": [], + "label": "emptyExecutable", + "description": [ + "\nEmpty exectutable" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyExecutable.FileName", + "type": "string", + "tags": [], + "label": "FileName", + "description": [ + "/** file name */" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackFrame", + "type": "Object", + "tags": [], + "label": "emptyStackFrame", + "description": [ + "\nEmpty stack frame" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackFrame.FileName", + "type": "string", + "tags": [], + "label": "FileName", + "description": [ + "/** File name */" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackFrame.FunctionName", + "type": "string", + "tags": [], + "label": "FunctionName", + "description": [ + "/** Function name */" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackFrame.FunctionOffset", + "type": "number", + "tags": [], + "label": "FunctionOffset", + "description": [ + "/** Function offset */" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackFrame.LineNumber", + "type": "number", + "tags": [], + "label": "LineNumber", + "description": [ + "/** Line number */" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackFrame.Inline", + "type": "boolean", + "tags": [], + "label": "Inline", + "description": [ + "/** Inline */" + ], + "signature": [ + "false" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackTrace", + "type": "Object", + "tags": [], + "label": "emptyStackTrace", + "description": [ + "\nEmpty stack trace" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackTrace.FrameIDs", + "type": "Array", + "tags": [], + "label": "FrameIDs", + "description": [ + "/** Frame IDs */" + ], + "signature": [ + "never[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackTrace.FileIDs", + "type": "Array", + "tags": [], + "label": "FileIDs", + "description": [ + "/** File IDs */" + ], + "signature": [ + "never[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackTrace.AddressOrLines", + "type": "Array", + "tags": [], + "label": "AddressOrLines", + "description": [ + "/** Address or lines */" + ], + "signature": [ + "never[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.emptyStackTrace.Types", + "type": "Array", + "tags": [], + "label": "Types", + "description": [ + "/** Types */" + ], + "signature": [ + "never[]" + ], + "path": "packages/kbn-profiling-utils/common/profiling.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ] + } +} \ No newline at end of file diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx new file mode 100644 index 0000000000000..a864a8f52e917 --- /dev/null +++ b/api_docs/kbn_profiling_utils.mdx @@ -0,0 +1,42 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnProfilingUtilsPluginApi +slug: /kibana-dev-docs/api/kbn-profiling-utils +title: "@kbn/profiling-utils" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/profiling-utils plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] +--- +import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; + + + +Contact [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 143 | 0 | 0 | 0 | + +## Common + +### Objects + + +### Functions + + +### Interfaces + + +### Enums + + +### Consts, variables and types + + diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index c941a4230691b..62f75661a564a 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index edca020f7b175..934776daccf4c 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index b9825703651a2..be5b4d7317203 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 52e28e2d0a5f6..47a7840f07b8d 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 4f5158dd1d757..2284a1ab60842 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 156f56ad7f86c..a2b1c5c67e218 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index e5c06379661f2..1a9f28711e615 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 4243cb83a8370..32ecfc853ef48 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 049ed34456bd9..da1599e7fc66f 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 11cea446958c8..76950102c2693 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 700068ec3b0bf..3decad6e6e1c3 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index d2becb7a3a507..3e2c73632a132 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index b3909478fcb7e..6a2412a96fc1f 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index cf4e4a4a5088c..bd1de89298aa7 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 8fd3865b9bce2..679ea275d904d 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index ff9d7fc6c0928..6089cf1b5a99a 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 24eda1fcc6bb4..f6c4935a70707 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 60025be84f67b..4234000350c4d 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 15915df6bd097..091ec4908a5e1 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 4c141b7db37e1..6acb8bc0ab314 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 4064387335207..a50f73e7ca604 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 8827e825dfa97..265af90e0d81a 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 43456475aa285..90a55a8147350 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 38aa39a46852c..349822c41dd04 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 3e879e3947138..676bd50193170 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index c8b779d2542a9..45cea3ee8386b 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index f6e9a1b05b169..425802eee52dc 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index a76440bff5dff..f401066e69335 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index e7a40a9627e1b..7666acc49edef 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index d8142ad2df020..c0d0505a3c8ad 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 136ca71b15d61..47686702540aa 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 088d9921ab31e..6c3fa9690485a 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 382ea471d0a96..c88f5a634e9d7 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index cd08f582f3f12..fbd9cea5e3ccd 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index 1cbb8d7a7da20..2e40e7c12c181 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 4e3b0747394dc..e542cc8df8dac 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 1d01058054cd8..05eb8cc077765 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index 987788c92a3cf..c38ace33dbbc1 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 327490c35b35e..d1acab8a34fd8 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index e37d46a0d5cb5..d8e7c5a7d078f 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index a1867708dd125..1bc4ef4d225e4 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 0164520dde720..69ec92ff8e812 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index a8399cfbbc35b..d172148a6b99c 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index cdfb540ac13a2..04c06dd1c5630 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.devdocs.json b/api_docs/kbn_serverless_common_settings.devdocs.json new file mode 100644 index 0000000000000..7a9606cbc24d0 --- /dev/null +++ b/api_docs/kbn_serverless_common_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-common-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-common-settings", + "id": "def-common.ALL_COMMON_SETTINGS", + "type": "Array", + "tags": [], + "label": "ALL_COMMON_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx new file mode 100644 index 0000000000000..ee878f57220cc --- /dev/null +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessCommonSettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-common-settings +title: "@kbn/serverless-common-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-common-settings plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] +--- +import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; + + + +Contact [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_observability_settings.devdocs.json b/api_docs/kbn_serverless_observability_settings.devdocs.json new file mode 100644 index 0000000000000..35b798a42f024 --- /dev/null +++ b/api_docs/kbn_serverless_observability_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-observability-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-observability-settings", + "id": "def-common.OBSERVABILITY_PROJECT_SETTINGS", + "type": "Array", + "tags": [], + "label": "OBSERVABILITY_PROJECT_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/observability_project/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx new file mode 100644 index 0000000000000..02c5606b0aa82 --- /dev/null +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessObservabilitySettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-observability-settings +title: "@kbn/serverless-observability-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-observability-settings plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] +--- +import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; + + + +Contact [@elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 03e303d69ab4c..0844f0e999d77 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.devdocs.json b/api_docs/kbn_serverless_search_settings.devdocs.json new file mode 100644 index 0000000000000..772c029aea954 --- /dev/null +++ b/api_docs/kbn_serverless_search_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-search-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-search-settings", + "id": "def-common.SEARCH_PROJECT_SETTINGS", + "type": "Array", + "tags": [], + "label": "SEARCH_PROJECT_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/search_project/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx new file mode 100644 index 0000000000000..575c3a99a7c68 --- /dev/null +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessSearchSettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-search-settings +title: "@kbn/serverless-search-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-search-settings plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] +--- +import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; + + + +Contact [@elastic/enterprise-search-frontend @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/enterprise-search-frontend ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_security_settings.devdocs.json b/api_docs/kbn_serverless_security_settings.devdocs.json new file mode 100644 index 0000000000000..fd54e257a28c8 --- /dev/null +++ b/api_docs/kbn_serverless_security_settings.devdocs.json @@ -0,0 +1,43 @@ +{ + "id": "@kbn/serverless-security-settings", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/serverless-security-settings", + "id": "def-common.SECURITY_PROJECT_SETTINGS", + "type": "Array", + "tags": [], + "label": "SECURITY_PROJECT_SETTINGS", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/serverless/settings/security_project/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx new file mode 100644 index 0000000000000..9961dbdbed79f --- /dev/null +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnServerlessSecuritySettingsPluginApi +slug: /kibana-dev-docs/api/kbn-serverless-security-settings +title: "@kbn/serverless-security-settings" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/serverless-security-settings plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] +--- +import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; + + + +Contact [@elastic/security-solution @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/security-solution ) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 1 | 0 | 1 | 0 | + +## Common + +### Consts, variables and types + + diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index b9cb6f105cc37..29344ddbe1e98 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 97be347b347cf..2d8ba2d0494b8 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 4415cab557213..96c052166a38b 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 361649cc4a441..a7c0873016a7e 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index a729d51080db2..5e4e0be470993 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index c687fc670021a..a9da1a6e22917 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index fcc1adbbb6ee2..f5826bcf9adda 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 5d0723f9acb7b..2c583dc3e77ac 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 79ceb1909b814..860e878a2a25c 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 98f73bb37866d..65ec1953880ad 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index a3a237257d9ca..3d5ebbcc325ef 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 15cf4d369bd2d..05df1e3c48d61 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 7a58d73ef6027..170065a54c9f7 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 040ac97a76d8d..2c46fdac34a17 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index a0b3f16b680c2..2a6fd8a8efa67 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index d639424d3f860..2a06b6994f5d1 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 6c4f3a13c1c73..270775d965ea4 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index a57ca6ce18e56..aa952107aa3c7 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index c1def5499b274..0ceccc88c158b 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index e5f1be438f261..85f28f39af24e 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 6fced1f1bb474..460ee093f305b 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index b2342f44da029..7cab462394e11 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 63f2eb961476e..e95b52c7c244f 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 179fdfeb91e11..8c3fb6850cb95 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 6f62d52fd1040..eb426bcaba79e 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 1ae7f98535dd9..49c8f063f8e85 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 6bbbb9c68f1fb..48326fcb14531 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index e828b6e615193..20246a63b2fda 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 1c0f41eb8605d..f7e47aceaa5d8 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 226d202053dec..b4f83099a82e3 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index a63eafcd33b29..c97a83e2a4f7c 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 4b05a2bf34a37..e1defde765930 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 6748f8fb93727..e283143b1c9e6 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 108f2b8805b71..cd1ed4e1ae3c6 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index a5c810427ab61..6ce1356fa6531 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index ed3bafb114169..58f84c6c6b8a5 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index e6645be3d6a82..426ee9804e6bd 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index bf9d96e5ce41b..a40d398aa75e2 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 47502f92effa3..74e0173895b61 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index b9434c039d32b..e2098bf0cff02 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index b4edfb19ccf99..e9ff3a531ff1b 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 396ba1c2cb05b..8bd2a0a66f841 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index c157ab5ba33c2..79e5777d0b021 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 0ef122cf78543..7ae5e6ab1827e 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 99a57252b4cea..4cf9de783e1cb 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 83e1de0f426bf..29e0fe389034a 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index e3e61795e7ec9..953065aae5fe0 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.devdocs.json b/api_docs/kbn_test.devdocs.json index 86f6572ae1162..222a0d35f68c6 100644 --- a/api_docs/kbn_test.devdocs.json +++ b/api_docs/kbn_test.devdocs.json @@ -3136,7 +3136,14 @@ "\nLicense to run your cluster under. Keep in mind that a `trial` license\nhas an expiration date. If you are using a `dataArchive` with your tests,\nyou'll likely need to use `basic` or `gold` to prevent the test from failing\nwhen the license expires." ], "signature": [ - "\"basic\" | \"gold\" | \"trial\" | undefined" + { + "pluginId": "@kbn/es", + "scope": "common", + "docId": "kibKbnEsPluginApi", + "section": "def-common.ArtifactLicense", + "text": "ArtifactLicense" + }, + " | undefined" ], "path": "packages/kbn-test/src/es/test_es_cluster.ts", "deprecated": false, diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index a03a0bf66e4bc..bc1f0cceeae58 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 32b779494e656..7afa74db5d8da 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 4501b58596a04..46134be6ad400 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 523f2582faba6..e7e110038a130 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 82c0d0f252595..2a80fe3482872 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index c4668fefd0aa2..14dc50ec51bf4 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index c97b1a23a77db..a62c7030a00d2 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 28c4a2e7e49da..7e28e9a4d322b 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 06329a47f3c24..9f5852794430a 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index ceb7c941ea529..a43a72a165881 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.devdocs.json b/api_docs/kbn_unified_data_table.devdocs.json index ae7cb737b9638..66f136070b569 100644 --- a/api_docs/kbn_unified_data_table.devdocs.json +++ b/api_docs/kbn_unified_data_table.devdocs.json @@ -1579,6 +1579,56 @@ "initialIsOpen": false } ], - "objects": [] + "objects": [ + { + "parentPluginId": "@kbn/unified-data-table", + "id": "def-common.ROWS_HEIGHT_OPTIONS", + "type": "Object", + "tags": [], + "label": "ROWS_HEIGHT_OPTIONS", + "description": [ + "\nRow height might be a value from -1 to 20\nA value of -1 automatically adjusts the row height to fit the contents.\nA value of 0 displays the content in a single line.\nA value from 1 to 20 represents number of lines of Document explorer row to display." + ], + "path": "packages/kbn-unified-data-table/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/unified-data-table", + "id": "def-common.ROWS_HEIGHT_OPTIONS.auto", + "type": "number", + "tags": [], + "label": "auto", + "description": [], + "path": "packages/kbn-unified-data-table/src/constants.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/unified-data-table", + "id": "def-common.ROWS_HEIGHT_OPTIONS.single", + "type": "number", + "tags": [], + "label": "single", + "description": [], + "path": "packages/kbn-unified-data-table/src/constants.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/unified-data-table", + "id": "def-common.ROWS_HEIGHT_OPTIONS.default", + "type": "number", + "tags": [], + "label": "default", + "description": [], + "path": "packages/kbn-unified-data-table/src/constants.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ] } } \ No newline at end of file diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 7482eee3c7898..2f7a28bcca9ac 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 88 | 0 | 39 | 1 | +| 92 | 0 | 42 | 1 | ## Common +### Objects + + ### Functions diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index de651f9526958..fb88b69a01b1c 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.devdocs.json b/api_docs/kbn_unified_field_list.devdocs.json index dddaeb04aa725..d8aeafc25ecbe 100644 --- a/api_docs/kbn_unified_field_list.devdocs.json +++ b/api_docs/kbn_unified_field_list.devdocs.json @@ -1520,7 +1520,7 @@ }, " | undefined; }; getCreationOptions: () => ", "UnifiedFieldListSidebarContainerCreationOptions", - "; isSidebarCollapsed?: boolean | undefined; prependInFlyout?: (() => React.ReactNode) | undefined; variant?: \"responsive\" | \"button-and-flyout-always\" | \"list-always\" | undefined; onSelectedFieldFilter?: ((field: ", + "; prependInFlyout?: (() => React.ReactNode) | undefined; variant?: \"responsive\" | \"button-and-flyout-always\" | \"list-always\" | undefined; onSelectedFieldFilter?: ((field: ", { "pluginId": "dataViews", "scope": "common", @@ -2985,6 +2985,20 @@ } ] }, + { + "parentPluginId": "@kbn/unified-field-list", + "id": "def-common.FieldListFiltersProps.compressed", + "type": "CompoundType", + "tags": [], + "label": "compressed", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/unified-field-list", "id": "def-common.FieldListFiltersProps.nameFilter", @@ -5733,7 +5747,7 @@ }, " | undefined; }; getCreationOptions: () => ", "UnifiedFieldListSidebarContainerCreationOptions", - "; isSidebarCollapsed?: boolean | undefined; prependInFlyout?: (() => React.ReactNode) | undefined; variant?: \"responsive\" | \"button-and-flyout-always\" | \"list-always\" | undefined; onSelectedFieldFilter?: ((field: ", + "; prependInFlyout?: (() => React.ReactNode) | undefined; variant?: \"responsive\" | \"button-and-flyout-always\" | \"list-always\" | undefined; onSelectedFieldFilter?: ((field: ", { "pluginId": "dataViews", "scope": "common", diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index d615ff67dbdab..257f9d38d9e90 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 302 | 0 | 275 | 9 | +| 303 | 0 | 276 | 9 | ## Common diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index ed8f275a6ca28..f96bf45a0263b 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 963430e66b98b..3f6ef80b04d09 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 2f6fc7ec348c8..e2494c484925a 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index fb3468c4c0ead..62eb2672f9c27 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index e8176f1bf8820..0378171610dcb 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 472e8e9941830..141f78735f1b5 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index b453b8f3929e7..275fee7af2303 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.devdocs.json b/api_docs/kbn_xstate_utils.devdocs.json new file mode 100644 index 0000000000000..b67854e217961 --- /dev/null +++ b/api_docs/kbn_xstate_utils.devdocs.json @@ -0,0 +1,274 @@ +{ + "id": "@kbn/xstate-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.createNotificationChannel", + "type": "Function", + "tags": [], + "label": "createNotificationChannel", + "description": [], + "signature": [ + "(shouldReplayLastEvent?: boolean) => ", + { + "pluginId": "@kbn/xstate-utils", + "scope": "common", + "docId": "kibKbnXstateUtilsPluginApi", + "section": "def-common.NotificationChannel", + "text": "NotificationChannel" + }, + "" + ], + "path": "packages/kbn-xstate-utils/src/notification_channel.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.createNotificationChannel.$1", + "type": "boolean", + "tags": [], + "label": "shouldReplayLastEvent", + "description": [], + "signature": [ + "boolean" + ], + "path": "packages/kbn-xstate-utils/src/notification_channel.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.isDevMode", + "type": "Function", + "tags": [], + "label": "isDevMode", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "packages/kbn-xstate-utils/src/dev_tools.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.sendIfDefined", + "type": "Function", + "tags": [], + "label": "sendIfDefined", + "description": [], + "signature": [ + "(target: string | ", + "ActorRef", + ") => (eventExpr: ", + "Expr", + ", options?: ", + "SendActionOptions", + " | undefined) => ", + "PureAction", + "" + ], + "path": "packages/kbn-xstate-utils/src/actions.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.sendIfDefined.$1", + "type": "CompoundType", + "tags": [], + "label": "target", + "description": [], + "signature": [ + "string | ", + "ActorRef", + "" + ], + "path": "packages/kbn-xstate-utils/src/actions.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.NotificationChannel", + "type": "Interface", + "tags": [], + "label": "NotificationChannel", + "description": [], + "signature": [ + { + "pluginId": "@kbn/xstate-utils", + "scope": "common", + "docId": "kibKbnXstateUtilsPluginApi", + "section": "def-common.NotificationChannel", + "text": "NotificationChannel" + }, + "" + ], + "path": "packages/kbn-xstate-utils/src/notification_channel.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.NotificationChannel.createService", + "type": "Function", + "tags": [], + "label": "createService", + "description": [], + "signature": [ + "() => ", + "Subscribable", + "" + ], + "path": "packages/kbn-xstate-utils/src/notification_channel.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.NotificationChannel.notify", + "type": "Function", + "tags": [], + "label": "notify", + "description": [], + "signature": [ + "(eventExpr: ", + "Expr", + ") => (context: TContext, event: TEvent, meta: ", + "ActionMeta", + ") => void" + ], + "path": "packages/kbn-xstate-utils/src/notification_channel.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.NotificationChannel.notify.$1", + "type": "Function", + "tags": [], + "label": "eventExpr", + "description": [], + "signature": [ + "Expr", + "" + ], + "path": "packages/kbn-xstate-utils/src/notification_channel.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.MatchedState", + "type": "Type", + "tags": [], + "label": "MatchedState", + "description": [], + "signature": [ + "TState extends ", + "State", + " ? ", + "State", + "<(TTypestate extends any ? { value: TStateValue; context: any; } extends TTypestate ? TTypestate : never : never)[\"context\"], TEvent, TStateSchema, TTypestate, TResolvedTypesMeta> & { value: TStateValue; } : never" + ], + "path": "packages/kbn-xstate-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.MatchedStateFromActor", + "type": "Type", + "tags": [], + "label": "MatchedStateFromActor", + "description": [], + "signature": [ + "EmittedFrom", + " extends ", + "State", + " ? ", + "State", + "<(TTypestate extends any ? { value: TStateValue; context: any; } extends TTypestate ? TTypestate : never : never)[\"context\"], TEvent, TStateSchema, TTypestate, TResolvedTypesMeta> & { value: TStateValue; } : never" + ], + "path": "packages/kbn-xstate-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/xstate-utils", + "id": "def-common.OmitDeprecatedState", + "type": "Type", + "tags": [], + "label": "OmitDeprecatedState", + "description": [], + "signature": [ + "{ [P in Exclude]: T[P]; }" + ], + "path": "packages/kbn-xstate-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx new file mode 100644 index 0000000000000..7ff4e23d1da27 --- /dev/null +++ b/api_docs/kbn_xstate_utils.mdx @@ -0,0 +1,36 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnXstateUtilsPluginApi +slug: /kibana-dev-docs/api/kbn-xstate-utils +title: "@kbn/xstate-utils" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/xstate-utils plugin +date: 2023-09-13 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] +--- +import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; + + + +Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 12 | 0 | 12 | 0 | + +## Common + +### Functions + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index b75e89764ddc0..bffee930c8051 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 5ec17d8bcfbf0..a68c974f1d405 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 35ad48136e0b0..5e89af9eabac7 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index e1c1921520ace..b7f26f3ec2903 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 7132d1ede17aa..5b0c16a73152b 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 36b60c21bb285..8688b219874c8 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index cc854c14e0f5f..e2877b9552ceb 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index 8b51e3667ada8..b6e081cc6a736 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 4ed2bdb7c390b..451cd31cd5996 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 0662d4b7040c1..32f3640893098 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 9af6a308e22fb..a3c52e411f77a 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 3dcef684f7bf1..25409f679ad5f 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 7dc9516107ced..8ccfceeddf4e6 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index f2b767de0f681..faa9c48aa838a 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index d203b48392d1e..2289ee7785b59 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index b88d5590a3318..5e1771d3df8bd 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 39c682a0d54ed..c825cb956660b 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 951f145a0db6b..37d9d39cbf00e 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index cf01fd47fb193..4480c9f083529 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index c2d5cbca4b7fb..2d7b01467c5db 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 207660cec507f..d2c175ae44c3d 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 0f227793babbe..b48fefcb206e6 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index cd87630124a6c..2489775b841ae 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 03ec22dff6d71..f27a9bd1cfe11 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 673fa4ae078a0..35fa1d82dc54b 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json index 03a774e515760..d6d93fdc5e06e 100644 --- a/api_docs/observability_shared.devdocs.json +++ b/api_docs/observability_shared.devdocs.json @@ -270,6 +270,39 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.EmbeddableFlamegraph", + "type": "Function", + "tags": [], + "label": "EmbeddableFlamegraph", + "description": [], + "signature": [ + "({ data, height, isLoading }: Props) => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.EmbeddableFlamegraph.$1", + "type": "Object", + "tags": [], + "label": "{ data, height, isLoading }", + "description": [], + "signature": [ + "Props" + ], + "path": "x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.getContextMenuItemsFromActions", @@ -2362,6 +2395,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.EMBEDDABLE_FLAMEGRAPH", + "type": "string", + "tags": [], + "label": "EMBEDDABLE_FLAMEGRAPH", + "description": [ + "Profiling flamegraph embeddable key" + ], + "signature": [ + "\"EMBEDDABLE_FLAMEGRAPH\"" + ], + "path": "x-pack/plugins/observability_shared/public/components/profiling/embeddables/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.LazyObservabilityPageTemplateProps", diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index a66d4ddf512a3..1fa1a145ce13f 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 278 | 1 | 277 | 11 | +| 281 | 1 | 279 | 11 | ## Client diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index b2172038fc1d6..88c1929639562 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 43ee3ea001aec..ec3b948caf653 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index f12e88afa6fd3..6b709b1457498 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 675 | 566 | 39 | +| 688 | 579 | 43 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74242 | 223 | 63618 | 1516 | +| 74788 | 223 | 63851 | 1530 | ## Plugin Directory @@ -103,7 +103,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | graph | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 0 | 0 | 0 | 0 | | grokdebugger | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/platform-onboarding](https://github.com/orgs/elastic/teams/platform-onboarding) | Guided onboarding framework | 58 | 0 | 57 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 147 | 0 | 108 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 149 | 0 | 109 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Image embeddable | 3 | 0 | 3 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 194 | 0 | 189 | 4 | @@ -139,7 +139,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 42 | 0 | 39 | 7 | | observabilityLogExplorer | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin exposes and registers observability log consumption features. | 0 | 0 | 0 | 0 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 15 | 0 | 15 | 0 | -| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 278 | 1 | 277 | 11 | +| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 281 | 1 | 279 | 11 | | | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 2 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 218 | 2 | 164 | 11 | @@ -163,7 +163,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 172 | 0 | 106 | 32 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | ESS customizations for Security Solution. | 6 | 0 | 6 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Serverless customizations for security. | 6 | 0 | 6 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 17 | 0 | 16 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 19 | 0 | 18 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Serverless customizations for observability. | 6 | 0 | 6 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Serverless customizations for search. | 6 | 0 | 6 | 0 | | | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | - | 134 | 0 | 134 | 8 | @@ -378,7 +378,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 73 | 0 | 40 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 0 | 23 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 125 | 0 | 91 | 46 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 125 | 0 | 91 | 47 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 12 | 0 | 12 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 547 | 1 | 121 | 4 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 69 | 0 | 69 | 4 | @@ -399,8 +399,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 30 | 1 | 18 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 11 | 1 | 11 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 8 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 25 | 0 | 4 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 1 | 16 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 27 | 0 | 4 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 1 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 18 | 1 | 17 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 155 | 0 | 144 | 0 | @@ -411,6 +411,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 13 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 10 | 0 | 10 | 0 | +| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 19 | 0 | 17 | 6 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 2 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 14 | 0 | 9 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 44 | 0 | 43 | 0 | @@ -436,7 +437,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 35125 | 0 | 34718 | 0 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 13 | 0 | 5 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 84 | 0 | 64 | 5 | -| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 8 | 0 | 7 | 0 | +| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 46 | 0 | 33 | 7 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 0 | 14 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 259 | 1 | 199 | 15 | @@ -474,7 +475,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 8 | 0 | 8 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 6 | 0 | 1 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 10 | 0 | 10 | 1 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 20 | 0 | 1 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 11 | 0 | 2 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 42 | 0 | 0 | 0 | +| | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 127 | 0 | 127 | 0 | | | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 20 | 0 | 11 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 71 | 0 | 0 | 0 | +| | [@elastic/platform-deployment-management @elastic/appex-sharedux](https://github.com/orgs/elastic/teams/platform-deployment-management ) | - | 39 | 0 | 30 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 0 | 0 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 582 | 1 | 1 | 0 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 2 | 0 | 2 | 0 | @@ -500,7 +507,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 1 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 8 | 0 | 8 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 31 | 1 | 24 | 1 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 74 | 0 | 72 | 3 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 78 | 0 | 76 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 55 | 1 | 50 | 0 | | | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 13 | 0 | 13 | 3 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 45 | 0 | 45 | 10 | @@ -509,6 +516,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-performance-testing](https://github.com/orgs/elastic/teams/kibana-performance-testing) | - | 3 | 0 | 3 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | +| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 143 | 0 | 0 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 13 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 22 | 0 | 9 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 2 | 0 | @@ -553,7 +561,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 31 | 0 | 29 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 54 | 0 | 51 | 1 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 31 | 0 | 30 | 1 | +| | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 1 | 0 | 1 | 0 | +| | [@elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 1 | 0 | 1 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 7 | 1 | +| | [@elastic/enterprise-search-frontend @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/enterprise-search-frontend ) | - | 1 | 0 | 1 | 0 | +| | [@elastic/security-solution @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/security-solution ) | - | 1 | 0 | 1 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 0 | 0 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 2 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 2 | @@ -611,9 +623,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 49 | 0 | 35 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 47 | 0 | 38 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 7 | 0 | 6 | 0 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the unified data table which can be integrated into apps | 88 | 0 | 39 | 1 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the unified data table which can be integrated into apps | 92 | 0 | 42 | 1 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 10 | 0 | 7 | 6 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list and field stats which can be integrated into apps | 302 | 0 | 275 | 9 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list and field stats which can be integrated into apps | 303 | 0 | 276 | 9 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 4 | 0 | 0 | 0 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 3 | 0 | 2 | 1 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 80 | 0 | 21 | 2 | @@ -621,5 +633,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 2 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 24 | 0 | 14 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 155 | 0 | 151 | 3 | +| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 12 | 0 | 12 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 6 | 0 | 2 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index dd23bb92c20e3..e4ff920b0c8d6 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index fece1b2898c56..6a6a990f614b1 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.devdocs.json b/api_docs/profiling_data_access.devdocs.json index 3528e7e26c101..e6d9a9ba73a6c 100644 --- a/api_docs/profiling_data_access.devdocs.json +++ b/api_docs/profiling_data_access.devdocs.json @@ -37,8 +37,16 @@ "label": "ProfilingDataAccessPluginStart", "description": [], "signature": [ - "{ services: { fetchFlamechartData: ({ esClient, rangeFrom, rangeTo, kuery }: FetchFlamechartParams) => Promise<", - "BaseFlameGraph", + "{ services: { fetchFlamechartData: ({ esClient, rangeFromMs, rangeToMs, kuery }: ", + "FetchFlamechartParams", + ") => Promise<", + { + "pluginId": "@kbn/profiling-utils", + "scope": "common", + "docId": "kibKbnProfilingUtilsPluginApi", + "section": "def-common.BaseFlameGraph", + "text": "BaseFlameGraph" + }, ">; }; }" ], "path": "x-pack/plugins/profiling_data_access/server/plugin.ts", diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 0d83b3e8c649d..79326ba432d7a 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index fb8b75082e805..ccc7a2726c35c 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 269001e97e882..4b22ef69d9458 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index b0b31aa639810..9dc448dc57502 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 56b2eb0ffb7de..41d6c0a704b8f 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index a49bed582a808..43cec5adfb93a 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 75448b7c8c3b6..f2276867e82bf 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index a274462e7eddb..f0749afca0cb3 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 9216b0deb6992..3a6386cb22f4e 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 4eba229b09521..245d1d7032fd6 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index de080068e2adc..4bae1c0a95f03 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index a312361070bab..129b5871103ee 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 516a44c44da81..8ecfc548b34a4 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 68e2b39a28ae9..786531b718120 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 2b4a4fa1dd893..6e2e6e30e7ea1 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 338851fa6b7c2..fd1c2715fd1f6 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 797bbe8a76a15..ed5161597c071 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index e415a4ea57ae1..64c8cd2aeaa93 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.devdocs.json b/api_docs/serverless.devdocs.json index 4a9258ba58353..6275b9f9b0688 100644 --- a/api_docs/serverless.devdocs.json +++ b/api_docs/serverless.devdocs.json @@ -274,7 +274,40 @@ "path": "x-pack/plugins/serverless/server/types.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "serverless", + "id": "def-server.ServerlessPluginSetup.setupProjectSettings", + "type": "Function", + "tags": [], + "label": "setupProjectSettings", + "description": [], + "signature": [ + "(keys: string[]) => void" + ], + "path": "x-pack/plugins/serverless/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "serverless", + "id": "def-server.ServerlessPluginSetup.setupProjectSettings.$1", + "type": "Array", + "tags": [], + "label": "keys", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/serverless/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], "lifecycle": "setup", "initialIsOpen": true }, diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index a90ac98a80785..98e11bb21c91c 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 17 | 0 | 16 | 0 | +| 19 | 0 | 18 | 0 | ## Client diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 39092b0d5a24e..bc210ab3c6ce9 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 1414a460b4554..19608208fd71b 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 445384c4ba469..295391e8a034b 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index ae3cb141a437f..791df54b06f27 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 7ae4482f16e6a..e74f26d598679 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index d041ebaed30fd..5f971d4f8c9e4 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index c7eabdafe3609..6cc3dec6ffe10 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 536b9df363712..6fe4521717e3f 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 1f19c43dfedba..888da9894e207 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index a7fd02c178a82..1642f2fb8d7df 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 8f18dc00450e4..d86425638a738 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 0ad8e33594e54..acb98267b441b 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 781b2930aa38d..af8357713f14c 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index c66088670cb14..167bf0fd570c2 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 52cdd2bf3fc1e..26cd5c79d1dc5 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 0482f29b3954d..c2fbff2affc30 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 97775eaf12331..92cb909761fa4 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 165eb8e250979..e8d467d363418 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 0ba38cb342601..62661096c057c 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index a25a6be77a104..482d62bbf6f76 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 831a758e2fb2e..fd4de8afb7c49 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 7a23e3fc88357..7357d15dcff9d 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.devdocs.json b/api_docs/unified_search.devdocs.json index 143aaf552bfb8..b02f9ce5f11be 100644 --- a/api_docs/unified_search.devdocs.json +++ b/api_docs/unified_search.devdocs.json @@ -603,7 +603,7 @@ }, "[] | undefined; refreshInterval?: number | undefined; iconType?: ", "IconType", - " | undefined; dataTestSubj?: string | undefined; timeHistory?: ", + " | undefined; showQueryInput?: boolean | undefined; dataTestSubj?: string | undefined; timeHistory?: ", { "pluginId": "data", "scope": "public", @@ -611,7 +611,7 @@ "section": "def-public.TimeHistoryContract", "text": "TimeHistoryContract" }, - " | undefined; customSubmitButton?: React.ReactNode; dataViewPickerOverride?: React.ReactNode; screenTitle?: string | undefined; showQueryMenu?: boolean | undefined; showQueryInput?: boolean | undefined; showFilterBar?: boolean | undefined; showDatePicker?: boolean | undefined; showAutoRefreshOnly?: boolean | undefined; filtersForSuggestions?: ", + " | undefined; customSubmitButton?: React.ReactNode; dataViewPickerOverride?: React.ReactNode; screenTitle?: string | undefined; showQueryMenu?: boolean | undefined; showFilterBar?: boolean | undefined; showDatePicker?: boolean | undefined; showAutoRefreshOnly?: boolean | undefined; filtersForSuggestions?: ", { "pluginId": "@kbn/es-query", "scope": "common", diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index baccc62e45ac5..20509874fc91c 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 643ea02bc4662..c17109be851c7 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index f94ab2d8e65a0..7dfeea17d0844 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 65f7a1ba5db01..00b55be3b9d36 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 7deace1164dcb..24f9bd750a5bf 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 4d4c24a9e07b2..6389bb834a1af 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 47bd6e32a5fb9..b277a26fa2f95 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 76223a9ba7331..5feee7e62166c 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index b6ce6d2ec6e5a..a0a65e0ff8b6c 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 0ff8f01aae9b1..f635d9b5fcab3 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index d44411689fa25..c74d6003d6b76 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index 603aaafa2691d..bc0bbc7d21c85 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 61f1efcd48e69..7dc780b576f66 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index bce044bc10202..b5fe2abb212ff 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 6173705f349ce..a2d355e89a5d3 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index fcfe1903490ab..f924d3a80161e 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 7f132497a9452..29d5001163434 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-11 +date: 2023-09-13 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/dev_docs/contributing/code_walkthrough.mdx b/dev_docs/contributing/code_walkthrough.mdx index 617b54e519f13..139ac4df93070 100644 --- a/dev_docs/contributing/code_walkthrough.mdx +++ b/dev_docs/contributing/code_walkthrough.mdx @@ -86,7 +86,7 @@ This code primarily belongs to the Core team and contains the plugin infrastruct ### [src/dev](https://github.com/elastic/kibana/tree/main/src/dev) -Maintained by the Operations team, this code contains build and development tooling related code. This folder existed before `packages`, so contains mostly older code that hasn't been migrated to packages. Prefer creating a `package` if possible. Can be ignored for the most part if you are not on the Ops team. Prefer +Maintained by the Operations team, this code contains build and development tooling related code. This folder existed before `packages`, so contains mostly older code that hasn't been migrated to packages. Prefer creating a `package` if possible. Can be ignored for the most part if you are not on the Ops team. ### [src/plugins](https://github.com/elastic/kibana/tree/main/src/plugins) diff --git a/dev_docs/contributing/standards.mdx b/dev_docs/contributing/standards.mdx index aba29e5fab2f2..80df5f4752131 100644 --- a/dev_docs/contributing/standards.mdx +++ b/dev_docs/contributing/standards.mdx @@ -91,11 +91,12 @@ Every public API should have a release tag specified at the top of it’s docume #### Release tags | Type | Description | Documentation | Asciidoc Tag | -| Undocumented | Every public API should be documented, but if it isn’t, we make no guarantees about it. These need to be eliminated and should become internal or documented. | -| Experimental | A public API that may break or be removed at any time. | experimental[] | -| Beta | A public API that we make a best effort not to break or remove. However, there are no guarantees. | beta[] | -| Stable | No breaking changes outside of a Major\* | stable[] | -| Deprecated | Do not use, will be removed. | deprecated[] | +| -----| ------------| ------------- | ------------ | +| Undocumented | Every public API should be documented, but if it isn’t, we make no guarantees about it. These need to be eliminated and should become internal or documented. | | | +| Experimental | A public API that may break or be removed at any time. | experimental[] | | +| Beta | A public API that we make a best effort not to break or remove. However, there are no guarantees. | beta[] | | +| Stable | No breaking changes outside of a Major\* | stable[] | | +| Deprecated | Do not use, will be removed. | deprecated[] | | \*This is likely to change with Make it Minor as we move towards a calendar based rolling deprecation and removal policy. diff --git a/docs/api-generated/connectors/connector-apis-passthru.asciidoc b/docs/api-generated/connectors/connector-apis-passthru.asciidoc index 004946cfdb335..73a0bf8df1da0 100644 --- a/docs/api-generated/connectors/connector-apis-passthru.asciidoc +++ b/docs/api-generated/connectors/connector-apis-passthru.asciidoc @@ -1002,6 +1002,7 @@ Any modifications made to this file will be overwritten.
  • Update_connector_request_body_properties - Update connector request body properties
  • action_response_properties - Action response properties
  • config_properties_cases_webhook - Connector request properties for Webhook - Case Management connector
  • +
  • config_properties_d3security - Connector request properties for a D3 Security connector
  • config_properties_genai - Connector request properties for a generative AI connector
  • config_properties_index - Connector request properties for an index connector
  • config_properties_jira - Connector request properties for a Jira connector
  • @@ -1012,8 +1013,10 @@ Any modifications made to this file will be overwritten.
  • config_properties_servicenow_itom - Connector request properties for a ServiceNow ITSM connector
  • config_properties_swimlane - Connector request properties for a Swimlane connector
  • config_properties_webhook - Connector request properties for a Webhook connector
  • +
  • config_properties_xmatters - Connector request properties for an xMatters connector
  • connector_response_properties - Connector response properties
  • connector_response_properties_cases_webhook - Connector request properties for a Webhook - Case Management connector
  • +
  • connector_response_properties_d3security - Connector response properties for a D3 Security connector
  • connector_response_properties_email - Connector response properties for an email connector
  • connector_response_properties_index - Connector response properties for an index connector
  • connector_response_properties_jira - Connector response properties for a Jira connector
  • @@ -1033,6 +1036,7 @@ Any modifications made to this file will be overwritten.
  • connector_response_properties_xmatters - Connector response properties for an xMatters connector
  • connector_types - Connector types
  • create_connector_request_cases_webhook - Create Webhook - Case Managment connector request
  • +
  • create_connector_request_d3security - Create D3 Security connector request
  • create_connector_request_email - Create email connector request
  • create_connector_request_genai - Create generative AI connector request
  • create_connector_request_index - Create index connector request
  • @@ -1087,6 +1091,7 @@ Any modifications made to this file will be overwritten.
  • run_connector_subaction_pushtoservice_subActionParams_incident_malware_url -
  • run_connector_subaction_pushtoservice_subActionParams_incident_source_ip -
  • secrets_properties_cases_webhook - Connector secrets properties for Webhook - Case Management connector
  • +
  • secrets_properties_d3security - Connector secrets properties for a D3 Security connector
  • secrets_properties_genai - Connector secrets properties for a generative AI connector
  • secrets_properties_jira - Connector secrets properties for a Jira connector
  • secrets_properties_opsgenie - Connector secrets properties for an Opsgenie connector
  • @@ -1096,9 +1101,12 @@ Any modifications made to this file will be overwritten.
  • secrets_properties_slack_api - Connector secrets properties for a Web API Slack connector
  • secrets_properties_slack_webhook - Connector secrets properties for a Webhook Slack connector
  • secrets_properties_swimlane - Connector secrets properties for a Swimlane connector
  • +
  • secrets_properties_teams - Connector secrets properties for a Microsoft Teams connector
  • secrets_properties_webhook - Connector secrets properties for a Webhook connector
  • +
  • secrets_properties_xmatters - Connector secrets properties for an xMatters connector
  • updateConnector_400_response -
  • update_connector_request_cases_webhook - Update Webhook - Case Managment connector request
  • +
  • update_connector_request_d3security - Update D3 Security connector request
  • update_connector_request_index - Update index connector request
  • update_connector_request_jira - Update Jira connector request
  • update_connector_request_opsgenie - Update Opsgenie connector request
  • @@ -1110,6 +1118,8 @@ Any modifications made to this file will be overwritten.
  • update_connector_request_slack_api - Update Slack connector request
  • update_connector_request_slack_webhook - Update Slack connector request
  • update_connector_request_swimlane - Update Swimlane connector request
  • +
  • update_connector_request_teams - Update Microsoft Teams connector request
  • +
  • update_connector_request_xmatters - Update xMatters connector request
  • @@ -1179,12 +1189,12 @@ Any modifications made to this file will be overwritten.

    Create_connector_request_body_properties - Create connector request body properties Up

    The properties vary depending on the connector type.
    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    name
    String The display name for the connector.
    -
    secrets
    map[String, oas_any_type_not_mapped] Defines secrets for connectors when type is .xmatters.
    +
    secrets
    @@ -1335,9 +1345,9 @@ Any modifications made to this file will be overwritten.

    Update_connector_request_body_properties - Update connector request body properties Up

    The properties vary depending on the connector type.
    -
    config
    +
    config
    name
    String The display name for the connector.
    -
    secrets
    +
    secrets
    @@ -1380,6 +1390,13 @@ Any modifications made to this file will be overwritten.
    viewIncidentUrl
    String The URL to view the case in the external system. You can use variables to add the external system ID or external system title to the URL.
    +
    +

    config_properties_d3security - Connector request properties for a D3 Security connector Up

    +
    Defines properties for connectors when type is .d3security.
    +
    +
    url
    String The D3 Security API request URL. If you are using the xpack.actions.allowedHosts setting, add the hostname to the allowed hosts.
    +
    +

    config_properties_genai - Connector request properties for a generative AI connector Up

    Defines properties for connectors when type is .gen-ai.
    @@ -1484,11 +1501,19 @@ Any modifications made to this file will be overwritten.
    certificate
    full
    none
    +
    +

    config_properties_xmatters - Connector request properties for an xMatters connector Up

    +
    Defines properties for connectors when type is .xmatters.
    +
    +
    configUrl (optional)
    String The request URL for the Elastic Alerts trigger in xMatters. It is applicable only when usesBasic is true.
    +
    usesBasic (optional)
    Boolean Specifies whether the connector uses HTTP basic authentication (true) or URL authentication (false).
    +
    +

    connector_response_properties - Connector response properties Up

    The properties vary depending on the connector type.
    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    @@ -1513,6 +1538,22 @@ Any modifications made to this file will be overwritten.
    is_missing_secrets (optional)
    Boolean Indicates whether secrets are missing for the connector. Secrets configuration properties vary depending on the connector type.
    is_preconfigured
    Boolean Indicates whether it is a preconfigured connector. If true, the config and is_missing_secrets properties are omitted from the response.
    is_system_action (optional)
    Boolean Indicates whether the connector is used for system actions.
    +
    name
    String The display name for the connector.
    +
    +
    +
    +

    connector_response_properties_d3security - Connector response properties for a D3 Security connector Up

    +
    +
    +
    config
    +
    connector_type_id
    String The type of connector.
    +
    Enum:
    +
    .d3security
    +
    id
    String The identifier for the connector.
    +
    is_deprecated
    Boolean Indicates whether the connector type is deprecated.
    +
    is_missing_secrets (optional)
    Boolean Indicates whether secrets are missing for the connector. Secrets configuration properties vary depending on the connector type.
    +
    is_preconfigured
    Boolean Indicates whether it is a preconfigured connector. If true, the config and is_missing_secrets properties are omitted from the response.
    +
    is_system_action (optional)
    Boolean Indicates whether the connector is used for system actions.
    name
    String The display name for the connector.
    @@ -1726,7 +1767,8 @@ Any modifications made to this file will be overwritten.

    connector_response_properties_teams - Connector response properties for a Microsoft Teams connector Up

    -
    connector_type_id
    String The type of connector.
    +
    config (optional)
    +
    connector_type_id
    String The type of connector.
    Enum:
    .teams
    id
    String The identifier for the connector.
    @@ -1773,7 +1815,7 @@ Any modifications made to this file will be overwritten.

    connector_response_properties_xmatters - Connector response properties for an xMatters connector Up

    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    @@ -1803,6 +1845,18 @@ Any modifications made to this file will be overwritten.
    secrets (optional)
    +
    +

    create_connector_request_d3security - Create D3 Security connector request Up

    +
    The connector uses axios to send a POST request to a D3 Security endpoint.
    +
    +
    config
    +
    connector_type_id
    String The type of connector.
    +
    Enum:
    +
    .d3security
    +
    name
    String The display name for the connector.
    +
    secrets
    +
    +

    create_connector_request_email - Create email connector request Up

    The email connector uses the SMTP protocol to send mail messages, using an integration of Nodemailer. An exception is Microsoft Exchange, which uses HTTP protocol for sending emails, Send mail. Email message text is sent as both plain text and html text.
    @@ -1974,7 +2028,7 @@ Any modifications made to this file will be overwritten.
    Enum:
    .teams
    name
    String The display name for the connector.
    -
    secrets
    map[String, oas_any_type_not_mapped] Defines secrets for connectors when type is .teams.
    +
    secrets
    @@ -2005,12 +2059,12 @@ Any modifications made to this file will be overwritten.

    create_connector_request_xmatters - Create xMatters connector request Up

    The xMatters connector uses the xMatters Workflow for Elastic to send actionable alerts to on-call xMatters resources.
    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .xmatters.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .xmatters
    name
    String The display name for the connector.
    -
    secrets
    map[String, oas_any_type_not_mapped] Defines secrets for connectors when type is .xmatters.
    +
    secrets
    @@ -2364,6 +2418,13 @@ Any modifications made to this file will be overwritten.
    user (optional)
    String The username for HTTP basic authentication. If hasAuth is set to true, this property is required.
    +
    +

    secrets_properties_d3security - Connector secrets properties for a D3 Security connector Up

    +
    Defines secrets for connectors when type is .d3security.
    +
    +
    token
    String The D3 Security token.
    +
    +

    secrets_properties_genai - Connector secrets properties for a generative AI connector Up

    Defines secrets for connectors when type is .gen-ai.
    @@ -2433,6 +2494,13 @@ Any modifications made to this file will be overwritten.
    apiToken (optional)
    String Swimlane API authentication token.
    +
    +

    secrets_properties_teams - Connector secrets properties for a Microsoft Teams connector Up

    +
    Defines secrets for connectors when type is .teams.
    +
    +
    webhookUrl
    String The URL of the incoming webhook. If you are using the xpack.actions.allowedHosts setting, add the hostname to the allowed hosts.
    +
    +

    secrets_properties_webhook - Connector secrets properties for a Webhook connector Up

    Defines secrets for connectors when type is .webhook.
    @@ -2444,6 +2512,15 @@ Any modifications made to this file will be overwritten.
    user (optional)
    String The username for HTTP basic authentication. If hasAuth is set to true and authType is webhook-authentication-basic, this property is required.
    +
    +

    secrets_properties_xmatters - Connector secrets properties for an xMatters connector Up

    +
    Defines secrets for connectors when type is .xmatters.
    +
    +
    password (optional)
    String A user name for HTTP basic authentication. It is applicable only when usesBasic is true.
    +
    secretsUrl (optional)
    String The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. It is applicable only when usesBasic is false.
    +
    user (optional)
    String A password for HTTP basic authentication. It is applicable only when usesBasic is true.
    +
    +

    updateConnector_400_response - Up

    @@ -2462,6 +2539,15 @@ Any modifications made to this file will be overwritten.
    secrets (optional)
    +

    update_connector_request_index - Update index connector request Up

    @@ -2556,5 +2642,22 @@ Any modifications made to this file will be overwritten.
    secrets
    + + ++++ diff --git a/docs/apm/api.asciidoc b/docs/apm/api.asciidoc index fb672b2884af2..341e75bbb835c 100644 --- a/docs/apm/api.asciidoc +++ b/docs/apm/api.asciidoc @@ -503,6 +503,16 @@ The following APIs are available: * <> * <> +[float] +[[limit-sourcemap-api]] +==== Max payload size + +{kib}'s maximum payload size is 1mb. +If you attempt to upload a source map that exceeds the max payload size, you will get a `413` error. + +Before uploading source maps that exceed this default, change the maximum payload size allowed by {kib} +with the <> variable. + [float] [[use-sourcemap-api]] ==== How to use APM APIs diff --git a/docs/landing-page.asciidoc b/docs/landing-page.asciidoc index 1cb3e188d6121..79b7fdf2a7ec4 100644 --- a/docs/landing-page.asciidoc +++ b/docs/landing-page.asciidoc @@ -71,8 +71,8 @@

    - What's new - Release notes + What's new + Release notes Install

    diff --git a/docs/management/action-types.asciidoc b/docs/management/action-types.asciidoc index 1e45c9c64fa14..bbaba806386e2 100644 --- a/docs/management/action-types.asciidoc +++ b/docs/management/action-types.asciidoc @@ -27,9 +27,9 @@ a| <> | Send a message to a Microsoft Teams channel. -a| <> +a| <> -| Create or close an alert in Opsgenie. +| Create or close an alert in {opsgenie}. a| <> diff --git a/docs/management/connectors/action-types/d3security.asciidoc b/docs/management/connectors/action-types/d3security.asciidoc index 095e5f5980328..76152365f76cd 100644 --- a/docs/management/connectors/action-types/d3security.asciidoc +++ b/docs/management/connectors/action-types/d3security.asciidoc @@ -3,21 +3,14 @@ ++++ D3 Security ++++ +:frontmatter-description: Add a connector that can send requests to D3 Security. +:frontmatter-tags-products: [alerting] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The D3 Security connector uses https://github.com/axios/axios[axios] to send a POST request to a D3 Security endpoint. The connector uses the <> to send the request. You can use the connector for rule actions. -[float] -[[d3security-connector-prerequisites]] -=== Prerequisites - -To use a D3 Security connector, you must first configure a webhook key in your D3 SOAR environment. To generate an API URL and a token in D3 Security: -1. Log in to your D3 SOAR environment. -2. Navigate to Configuration. -3. Navigate to Integration > Search for “Kibana”. Click “Fetch Event”. -4. Select the "Enable Webhook" checkbox. -5. Click Set up Webhook Keys. -6. Under Event Ingestion, Click +. Select the site for the webhook integration, then click Generate. -7. Copy the Request URL and Request Header Value to configure the Kibana connector +To create this connector, you must first configure a webhook key in your D3 SOAR environment. For configuration tips, refer to <>. [float] [[define-d3security-ui]] @@ -36,35 +29,7 @@ D3 Security connectors have the following configuration properties: Name:: The name of the connector. URL:: The D3 Security API request URL. -Token:: The D3 Security token - -[float] -[[preconfigured-d3security-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -[source,text] --- -xpack.actions.preconfigured: - my-d3security: - name: preconfigured-d3security-connector-type - actionTypeId: .d3security - config: - url: https://testurl.com/elasticsearch/VSOC/api/Data/Kibana/Security%20Operations/CreateEvents - secrets: - token: superlongtoken --- - -Config defines information for the connector type. - -`url`:: A URL string that corresponds to the *D3 Security API URL*. - -Secrets defines sensitive information for the connector type. - -`token`:: A string that corresponds to *D3 Security API Token*. +Token:: The D3 Security token. [float] [[d3security-action-configuration]] @@ -88,4 +53,18 @@ this can be any type, it is not validated [[d3security-connector-networking-configuration]] === Connector networking configuration -Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. \ No newline at end of file +Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. + +[float] +[[configure-d3security]] +=== Configure D3 Security + +To generate an API URL and a token in D3 Security: + +1. Log in to your D3 SOAR environment. +2. Navigate to *Configuration*. +3. Navigate to *Integration*. Search for {kib}. Click *Fetch Event*. +4. Select the *Enable Webhook* checkbox. +5. Click *Set up Webhook Keys*. +6. Under *Event Ingestion*, click the plus sign(+). Select the site for the webhook integration, then click *Generate*. +7. Copy the request URL and request header value to configure the connector. \ No newline at end of file diff --git a/docs/management/connectors/action-types/opsgenie.asciidoc b/docs/management/connectors/action-types/opsgenie.asciidoc index e7cb784ca31fc..79c03edf964cc 100644 --- a/docs/management/connectors/action-types/opsgenie.asciidoc +++ b/docs/management/connectors/action-types/opsgenie.asciidoc @@ -3,8 +3,16 @@ ++++ Opsgenie ++++ +:frontmatter-description: Add a connector that can create and close alerts in {opsgenie}. +:frontmatter-tags-products: [alerting] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] -The Opsgenie connector uses the https://docs.opsgenie.com/docs/alert-api[Opsgenie alert API]. +An {opsgenie} connector enables you to create and close alerts in {opsgenie}. +In particular, it uses the https://docs.opsgenie.com/docs/alert-api[{opsgenie} alert API]. + +To create this connector, you must have a valid {opsgenie} URL and API key. +For configuration tips, refer to <>. [float] [[define-opsgenie-ui]] @@ -27,28 +35,28 @@ Name:: The name of the connector. The name is used to identify a connector in th URL:: The Opsgenie URL. For example, https://api.opsgenie.com or https://api.eu.opsgenie.com. + NOTE: If you are using the <> setting, make sure the hostname is added to the allowed hosts. -API Key:: The Opsgenie API authentication key for HTTP Basic authentication. For more details about generating Opsgenie API keys, refer to https://support.atlassian.com/opsgenie/docs/create-a-default-api-integration/[Opsgenie documentation]. + +API Key:: The Opsgenie API authentication key for HTTP basic authentication. For more details about generating Opsgenie API keys, refer to https://support.atlassian.com/opsgenie/docs/create-a-default-api-integration/[Opsgenie documentation]. [float] [[opsgenie-action-configuration]] === Test connectors -You can test connectors with the <> or -as you're creating or editing the connector in {kib}. For example: - -[role="screenshot"] -image::management/connectors/images/opsgenie-params-test.png[Opsgenie params test] -// NOTE: This is an autogenerated screenshot. Do not edit it directly. - -The Opsgenie connector supports two types of actions: Create alert and Close alert. The properties supported for each action are different because Opsgenie defines different properties for each operation. +After you create a connector, use the *Test* tab to test its actions: -When testing the Opsgenie connector, choose the appropriate action from the selector. Each action has different properties that can be configured. - -Action:: Select *Create alert* to configure the actions that occur when a rule's conditions are met. Select *Close alert* to define the recovery actions that occur when a rule's conditions are no longer met. +* <> +* <> [float] [[opsgenie-action-create-alert-configuration]] -==== Configure the create alert action +==== Create alert action + +When you create a rule that uses an {opsgenie} connector, its actions (with the exception of recovery actions) create {opsgenie} alerts. +You can test this type of action when you create or edit your connector: + +[role="screenshot"] +image::management/connectors/images/opsgenie-create-alert-test.png[{opsgenie} create alert action test] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. You can configure the create alert action through the form view or using a JSON editor. @@ -115,7 +123,14 @@ Example JSON editor contents [float] [[opsgenie-action-close-alert-configuration]] -==== Close alert configuration +==== Close alert action + +When you create a rule that uses an {opsgenie} connector, its recovery actions close {opsgenie} alerts. +You can test this type of action when you create or edit your connector: + +[role="screenshot"] +image::management/connectors/images/opsgenie-close-alert-test.png[{opsgenie} close alert action test] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. The close alert action has the following configuration properties. diff --git a/docs/management/connectors/action-types/pagerduty.asciidoc b/docs/management/connectors/action-types/pagerduty.asciidoc index e9db3eb00360d..0a7cf2b584d11 100644 --- a/docs/management/connectors/action-types/pagerduty.asciidoc +++ b/docs/management/connectors/action-types/pagerduty.asciidoc @@ -8,7 +8,11 @@ :frontmatter-tags-content-type: [how-to] :frontmatter-tags-user-goals: [configure] -The PagerDuty connector uses the https://v2.developer.pagerduty.com/docs/events-api-v2[v2 Events API] to trigger, acknowledge, and resolve PagerDuty alerts. +The PagerDuty connector enables you to trigger, acknowledge, and resolve PagerDuty alerts. +In particular, it uses the https://v2.developer.pagerduty.com/docs/events-api-v2[v2 Events API]. + +To create this connector, you must have a valid PagerDuty integration key. +For configuration tips, refer to <> [float] [[define-pagerduty-ui]] @@ -35,24 +39,58 @@ Integration Key:: A 32 character PagerDuty Integration Key for an integration [[pagerduty-action-configuration]] === Test connectors -You can test connectors with the <> or -as you're creating or editing the connector in {kib}. For example: +After you create a connector, use the *Test* tab to test its actions: + +* <> +* <> +* <> + +When you create a rule that uses a PagerDuty connector, you can use any of these types of actions. +Rule recovery actions also support all types. + +[float] +[[pagerduty-action-acknowledge]] +==== Acknowledge action + +When you test the acknowlege action, you must provide the de-duplication key for a PagerDuty alert: [role="screenshot"] -image::management/connectors/images/pagerduty-params-test.png[PagerDuty params test] +image::management/connectors/images/pagerduty-acknowledge-test.png[PagerDuty params test] // NOTE: This is an autogenerated screenshot. Do not edit it directly. -PagerDuty actions have the following properties. +[float] +[[pagerduty-action-resolve]] +==== Resolve action + +Likewise when you test the resolve action, you must provide the de-duplication key: + +[role="screenshot"] +image::management/connectors/images/pagerduty-resolve-test.png[PagerDuty params test] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + +[float] +[[pagerduty-action-trigger]] +==== Trigger action + +When you test the trigger action, you must provide a summary for the PagerDuty alert: + +[role="screenshot"] +image::management/connectors/images/pagerduty-trigger-test.png[PagerDuty params test] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + +This action has the following properties: Severity:: The perceived severity of on the affected system. This can be one of `Critical`, `Error`, `Warning` or `Info`(default). Event action:: One of `Trigger` (default), `Resolve`, or `Acknowledge`. See https://v2.developer.pagerduty.com/docs/events-api-v2#event-action[event action] for more details. -Dedup Key:: All actions sharing this key will be associated with the same PagerDuty alert. This value is used to correlate trigger and resolution. This value is *optional*, and if not set, defaults to `:`. The maximum length is *255* characters. See https://v2.developer.pagerduty.com/docs/events-api-v2#alert-de-duplication[alert deduplication] for details. -Timestamp:: An *optional* https://v2.developer.pagerduty.com/v2/docs/types#datetime[ISO-8601 format date-time], indicating the time the event was detected or generated. -Component:: An *optional* value indicating the component of the source machine that is responsible for the event, for example `mysql` or `eth0`. -Group:: An *optional* value indicating the logical grouping of components of a service, for example `app-stack`. -Source:: An *optional* value indicating the affected system, preferably a hostname or fully qualified domain name. Defaults to the {kib} saved object id of the action. -Summary:: An *optional* text summary of the event, defaults to `No summary provided`. The maximum length is 1024 characters. -Class:: An *optional* value indicating the class/type of the event, for example `ping failure` or `cpu load`. +Dedup Key:: All actions sharing this key will be associated with the same PagerDuty alert. This value is used to correlate trigger and resolution. This value is optional, and if not set, defaults to `:`. The maximum length is 255 characters. See https://v2.developer.pagerduty.com/docs/events-api-v2#alert-de-duplication[alert deduplication] for details. ++ +By default, when you create rules that use the PagerDuty connector, the de-duplication key is used to create a new PagerDuty incident for each alert and reuse the incident when a recovered alert reactivates. +Timestamp:: An optional https://v2.developer.pagerduty.com/v2/docs/types#datetime[ISO-8601 format date-time], indicating the time the event was detected or generated. +Component:: An optional value indicating the component of the source machine that is responsible for the event, for example `mysql` or `eth0`. +Group:: An optional value indicating the logical grouping of components of a service, for example `app-stack`. +Source:: An optional value indicating the affected system, preferably a hostname or fully qualified domain name. Defaults to the {kib} saved object id of the action. +Summary:: An optional text summary of the event, defaults to `No summary provided`. The maximum length is 1024 characters. +Class:: An optional value indicating the class/type of the event, for example `ping failure` or `cpu load`. For more details on these properties, see https://v2.developer.pagerduty.com/v2/docs/send-an-event-events-api-v2[PagerDuty v2 event parameters]. @@ -62,7 +100,6 @@ For more details on these properties, see https://v2.developer.pagerduty.com/v2/ Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. - [float] [[pagerduty-benefits]] === Configure PagerDuty @@ -70,22 +107,11 @@ Use the <> to customize connecto By integrating PagerDuty with rules, you can: * Route your rules to the right PagerDuty responder within your team, based on your structure, escalation policies, and workflows. -* Automatically generate incidents of different types and severity based on each rule’s context. -* Tailor the incident data to match your needs by easily passing the rule context from Kibana to PagerDuty. - -[float] -[[pagerduty-support]] -=== Support -If you need help with this integration, get in touch with the {kib} team by visiting -https://support.elastic.co[support.elastic.co] or by using the *Ask Elastic* option in the {kib} Help menu. -You can also select the {kib} category at https://discuss.elastic.co/[discuss.elastic.co]. - -[float] -[[pagerduty-integration-walkthrough]] -=== Integration with PagerDuty walkthrough +* Automatically generate incidents of different types and severity based on each rule's context. +* Tailor the incident data to match your needs by easily passing the rule context from {kib} to PagerDuty. [[pagerduty-in-pagerduty]] -*In PagerDuty* +To set up PagerDuty: . From the *Configuration* menu, select *Services*. . Add an integration to a service: @@ -96,8 +122,8 @@ Then, select the *Integrations* tab and click the *New Integration* button. * If you are creating a new service for your integration, go to https://support.pagerduty.com/docs/services-and-integrations#section-configuring-services-and-integrations[Configuring Services and Integrations] -and follow the steps outlined in the *Create a New Service* section, selecting *Elastic Alerts* as the *Integration Type* in step 4. -Continue with the <> section once you have finished these steps. +and follow the steps outlined in the *Create a New Service* section, selecting *Elastic Alerts* as the *Integration Type*. +Continue with the connector creation in {kib} after you have finished these steps. . Enter an *Integration Name* in the format Elastic-service-name (for example, Elastic-Alerting or Kibana-APM-Alerting) and select *Elastic Alerts* from the *Integration Type* menu. @@ -108,33 +134,4 @@ You will be redirected to the *Integrations* tab for your service. An Integratio [role="screenshot"] image::images/pagerduty-integration.png[PagerDuty Integrations tab] -. Save this key, as you will use it when you configure the integration with Elastic in the next section. - -[[pagerduty-in-elastic]] -*In Elastic* - -. Create a PagerDuty connector in Kibana. You can: -+ -* Create a connector as part of creating an rule by selecting PagerDuty in the *Actions* -section of the rule configuration and selecting *Add new*. -* Alternatively, create a connector. To create a connector, go to *{stack-manage-app} > {connectors-ui}*, click *Create connector*, then select the PagerDuty option. - -. Configure the connector by giving it a name and entering the Integration Key, optionally entering a custom API URL. -+ -See <> for how to obtain the endpoint and key information from PagerDuty and -<> for more details. - -. Save the connector. - -. To create a rule, go to *{stack-manage-app} > {rules-ui}* or the application of your choice. - -. Set up an action using your PagerDuty connector, by determining: -+ -* The action's type: Trigger, Resolve, or Acknowledge. -* The event's severity: Info, warning, error, or critical. -* An array of different fields, including the timestamp, group, class, component, and your dedup key. By default, the dedup is configured to create a new PagerDuty incident for each alert and reuse the incident when a recovered alert reactivates. -Depending on your custom needs, assign them variables from the rule context. -To see the available context variables, click on the *Add variable* icon next -to each corresponding field. For more details on these parameters, see the -<> and the PagerDuty -https://v2.developer.pagerduty.com/v2/docs/send-an-event-events-api-v2[API v2 documentation]. +. Save this key for use when you configure the connector in {kib}. diff --git a/docs/management/connectors/action-types/resilient.asciidoc b/docs/management/connectors/action-types/resilient.asciidoc index a317adf3bfe3e..04531a71dee62 100644 --- a/docs/management/connectors/action-types/resilient.asciidoc +++ b/docs/management/connectors/action-types/resilient.asciidoc @@ -1,8 +1,12 @@ [[resilient-action-type]] -== IBM Resilient connector and action +== {ibm-r} connector and action ++++ -IBM Resilient +{ibm-r} ++++ +:frontmatter-description: Add a connector that can create {ibm-r} incidents. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The IBM Resilient connector uses the https://developer.ibm.com/security/resilient/rest/[RESILIENT REST v2] to create IBM Resilient incidents. @@ -28,38 +32,6 @@ Organization ID:: IBM Resilient organization ID. API key ID:: The authentication key ID for HTTP Basic authentication. API key secret:: The authentication key secret for HTTP Basic authentication. -[float] -[[preconfigured-resilient-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -[source,text] --- -xpack.actions.preconfigured: - my-resilient: - name: preconfigured-resilient-connector-type - actionTypeId: .resilient - config: - apiUrl: https://elastic.resilient.net - orgId: ES - secrets: - apiKeyId: testuser - apiKeySecret: tokenkeystorevalue --- - -Config defines information for the connector type. - -`apiUrl`:: An address that corresponds to *URL*. -`orgId`:: An ID that corresponds to *Organization ID*. - -Secrets defines sensitive information for the connector type. - -`apiKeyId`:: A string that corresponds to *API key ID*. -`apiKeySecret`:: A string that corresponds to *API Key secret*. Should be stored in the <>. - [float] [[resilient-action-configuration]] === Test connectors diff --git a/docs/management/connectors/action-types/slack.asciidoc b/docs/management/connectors/action-types/slack.asciidoc index c5db456fc56a6..c4f1ea6799fb8 100644 --- a/docs/management/connectors/action-types/slack.asciidoc +++ b/docs/management/connectors/action-types/slack.asciidoc @@ -3,6 +3,10 @@ ++++ Slack ++++ +:frontmatter-description: Add a connector that can send Slack messages. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The Slack connector uses incoming webhooks or an API method to send Slack messages. @@ -28,37 +32,6 @@ Thus a connector can be used in multiple rules and actions to communicate with d For Slack setup details, go to <>. -[float] -[[preconfigured-slack-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. - -.Example Slack connector with webhook -[source,text] --- -xpack.actions.preconfigured: - my-slack: - name: preconfigured-slack-webhook-connector-type - actionTypeId: .slack - secrets: - webhookUrl: 'https://hooks.slack.com/services/xxxx/xxxx/xxxx' <1> --- -<1> To obtain this value, go to <>. - -.Example Slack connector with web API -[source,text] --- -xpack.actions.preconfigured: - my-slack: - name: preconfigured-slack-api-connector-type - actionTypeId: .slack_api - secrets: - token: 'xoxb-xxxx-xxxx-xxxx' <1> --- -<1> To obtain this value, go to <>. - [float] [[slack-action-configuration]] === Test connectors diff --git a/docs/management/connectors/action-types/teams.asciidoc b/docs/management/connectors/action-types/teams.asciidoc index fd4798be97e56..174b0173cb08a 100644 --- a/docs/management/connectors/action-types/teams.asciidoc +++ b/docs/management/connectors/action-types/teams.asciidoc @@ -3,6 +3,10 @@ ++++ Microsoft Teams ++++ +:frontmatter-description: Add a connector that can send messages to a Microsoft Teams channel. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The Microsoft Teams connector uses https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook[Incoming Webhooks]. @@ -25,28 +29,6 @@ Microsoft Teams connectors have the following configuration properties: Name:: The name of the connector. Webhook URL:: The URL of the incoming webhook. See https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook#add-an-incoming-webhook-to-a-teams-channel[Add Incoming Webhooks] for instructions on generating this URL. If you are using the <> setting, make sure the hostname is added to the allowed hosts. -[float] -[[preconfigured-teams-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -[source,text] --- -xpack.actions.preconfigured: - my-teams: - name: preconfigured-teams-connector-type - actionTypeId: .teams - secrets: - webhookUrl: 'https://outlook.office.com/webhook/abcd@0123456/IncomingWebhook/abcdefgh/ijklmnopqrstuvwxyz' --- - -Secrets defines sensitive information for the connector type. - -`webhookUrl`:: A string that corresponds to *Webhook URL*. - [float] [[teams-action-configuration]] === Test connectors diff --git a/docs/management/connectors/action-types/xmatters.asciidoc b/docs/management/connectors/action-types/xmatters.asciidoc index 333b4a8b666be..ebc230bf0b39b 100644 --- a/docs/management/connectors/action-types/xmatters.asciidoc +++ b/docs/management/connectors/action-types/xmatters.asciidoc @@ -33,59 +33,12 @@ xMatters connectors have the following configuration properties: Name:: The name of the connector. Authentication Type:: The type of authentication used in the request made to xMatters. -URL:: The request URL for the Elastic Alerts trigger in xMatters. If you are using the <> setting, make sure the hostname is added to the allowed hosts. -Username:: Username for HTTP Basic Authentication. -Password:: Password for HTTP Basic Authentication. - -[float] -[[preconfigured-xmatters-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -Connector using Basic Authentication -[source,text] --- -xpack.actions.preconfigured: - my-xmatters: - name: preconfigured-xmatters-connector-type - actionTypeId: .xmatters - config: - configUrl: https://test.host - usesBasic: true - secrets: - user: testuser - password: passwordkeystorevalue --- - -Connector using URL Authentication -[source,text] --- -xpack.actions.preconfigured: - my-xmatters: - name: preconfigured-xmatters-connector-type - actionTypeId: .xmatters - config: - usesBasic: false - secrets: - secretsUrl: https://test.host?apiKey=1234-abcd --- - -Config defines information for the connector type: - -`configUrl`:: A URL string that corresponds to *URL*. Only used if `usesBasic` is true. - -`usesBasic`:: A boolean that corresponds to *Authentication Type*. If `true`, this connector will require values for `user` and `password` inside the secrets configuration. Defaults to `true`. - -Secrets defines sensitive information for the connector type: - -`user`:: A string that corresponds to *User*. Required if `usesBasic` is set to `true`. - -`password`:: A string that corresponds to *Password*. Should be stored in the <>. Required if `usesBasic` is set to `true`. - -`secretsUrl`:: A URL string that corresponds to *URL*. Only used if `usesBasic` is false, indicating the API key is included in the URL. +URL:: +The request URL for the Elastic Alerts trigger in xMatters. +If you are using URL authentication, include the API key in the URL. For example, `https://example.com?apiKey=1234-abcd`. +If you are using the <> setting, make sure the hostname is added to the allowed hosts. +Username:: Username for HTTP basic authentication. +Password:: Password for HTTP basic authentication. [float] [[xmatters-action-configuration]] @@ -100,7 +53,7 @@ image::management/connectors/images/xmatters-params-test.png[xMatters params tes xMatters rules have the following properties: -Severity:: Severity of the rule. +Severity:: Severity of the rule. Tags:: Comma-separated list of tags for the rule as provided by the user in Elastic. [float] diff --git a/docs/management/connectors/images/opsgenie-close-alert-test.png b/docs/management/connectors/images/opsgenie-close-alert-test.png new file mode 100644 index 0000000000000..2892674978234 Binary files /dev/null and b/docs/management/connectors/images/opsgenie-close-alert-test.png differ diff --git a/docs/management/connectors/images/opsgenie-params-test.png b/docs/management/connectors/images/opsgenie-create-alert-test.png similarity index 100% rename from docs/management/connectors/images/opsgenie-params-test.png rename to docs/management/connectors/images/opsgenie-create-alert-test.png diff --git a/docs/management/connectors/images/pagerduty-acknowledge-test.png b/docs/management/connectors/images/pagerduty-acknowledge-test.png new file mode 100644 index 0000000000000..e47901f2a90f4 Binary files /dev/null and b/docs/management/connectors/images/pagerduty-acknowledge-test.png differ diff --git a/docs/management/connectors/images/pagerduty-resolve-test.png b/docs/management/connectors/images/pagerduty-resolve-test.png new file mode 100644 index 0000000000000..37a3c2b2ea895 Binary files /dev/null and b/docs/management/connectors/images/pagerduty-resolve-test.png differ diff --git a/docs/management/connectors/images/pagerduty-params-test.png b/docs/management/connectors/images/pagerduty-trigger-test.png similarity index 100% rename from docs/management/connectors/images/pagerduty-params-test.png rename to docs/management/connectors/images/pagerduty-trigger-test.png diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index de7297d851a01..60e35eb510597 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -106,13 +106,61 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre [float] === Examples +* <> +* <> * <> * <> * <> * <> * <> +* <> * <> * <> +* <> + +[float] +[[preconfigured-d3security-configuration]] +==== D3 Security connectors + +The following example creates a <>: + +[source,text] +-- +xpack.actions.preconfigured: + my-d3security: + name: preconfigured-d3security-connector-type + actionTypeId: .d3security + config: + url: https://testurl.com/elasticsearch/VSOC/api/Data/Kibana/Security%20Operations/CreateEvents <1> + secrets: + token: superlongtoken <2> +-- +<1> The D3 Security API request URL. +<2> The D3 Security token. + +[float] +[[preconfigured-resilient-configuration]] +==== {ibm-r} connectors + +The following example creates a <>: + +[source,text] +-- +xpack.actions.preconfigured: + my-resilient: + name: preconfigured-resilient-connector-type + actionTypeId: .resilient + config: + apiUrl: https://elastic.resilient.net <1> + orgId: ES <2> + secrets: + apiKeyId: testuser <3> + apiKeySecret: tokenkeystorevalue <4> +-- +<1> The {ibm-r} instance URL. +<2> The {ibm-r} organization identifier. +<3> The authentication key ID for HTTP basic authentication. +<4> The authentication key secret for HTTP basic authentication. NOTE: This value should be stored in the <>. [float] [[preconfigured-index-configuration]] @@ -157,6 +205,23 @@ xpack.actions.preconfigured: <3> The account email for HTTP basic authentication. <4> The API authentication token for HTTP basic authentication. NOTE: This value should be stored in the <>. +[float] +[[preconfigured-teams-configuration]] +==== Microsoft Teams connectors + +The following example creates a <>: + +[source,text] +-- +xpack.actions.preconfigured: + my-teams: + name: preconfigured-teams-connector-type + actionTypeId: .teams + secrets: + webhookUrl: 'https://outlook.office.com/webhook/abcd@0123456/IncomingWebhook/abcdefgh/ijklmnopqrstuvwxyz' <1> +-- +<1> The URL of the incoming webhook. + [float] [[preconfigured-opsgenie-configuration]] ==== {opsgenie} connectors @@ -211,6 +276,37 @@ xpack.actions.preconfigured: actionTypeId: .server-log -- + +[float] +[[preconfigured-slack-configuration]] +==== Slack connectors + +The following example creates a <> with webhook: + +[source,text] +-- +xpack.actions.preconfigured: + my-slack: + name: preconfigured-slack-webhook-connector-type + actionTypeId: .slack + secrets: + webhookUrl: 'https://hooks.slack.com/services/xxxx/xxxx/xxxx' <1> +-- +<1> The Slack webhook URL. + +The following example creates a Slack connector with web API: + +[source,text] +-- +xpack.actions.preconfigured: + my-slack: + name: preconfigured-slack-api-connector-type + actionTypeId: .slack_api + secrets: + token: 'xoxb-xxxx-xxxx-xxxx' <1> +-- +<1> The Slack bot user OAuth token. + [float] [[preconfigured-webhook-configuration]] ==== Webhook connectors @@ -292,3 +388,43 @@ xpack.actions.preconfigured: <14> A stringified JSON payload with Mustache variables that is sent to the create comment URL to create a case comment. <15> A user name, which is required when `hasAuth` is `true`. <16> A password, which is required when `hasAuth` is `true`. + +[float] +[[preconfigured-xmatters-configuration]] +==== xMatters connectors + +The following example creates an <> with basic authentication: + +[source,text] +-- +xpack.actions.preconfigured: +my-xmatters: + name: preconfigured-xmatters-connector-type + actionTypeId: .xmatters + config: + configUrl: https://test.host <1> + usesBasic: true <2> + secrets: + user: testuser <3> + password: passwordkeystorevalue <4> +-- +<1> The request URL for the Elastic Alerts trigger in xMatters. +<2> Indicates whether the connector uses HTTP basic authentication. If `true`, you must provide `user` and `password` values. Defaults to `true`. +<3> A user name for authentication, which is required when `usesBasic` is `true`. +<4> A password for authentication, which is required when `usesBasic` is `true`. NOTE: This value should be stored in the <>. + +The following example creates an xMatters connector with URL authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-xmatters: + name: preconfigured-xmatters-connector-type + actionTypeId: .xmatters + config: + usesBasic: false <1> + secrets: + secretsUrl: https://test.host?apiKey=1234-abcd <2> +-- +<1> Indicates whether the connector uses HTTP basic authentication. Set to `false` to use URL authentication. Defaults to `true`. +<2> The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index 606373ffd7be5..c86678ee3a775 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -262,6 +262,7 @@ The configuration details, which are specific to the type of preconfigured conne A configuration URL that varies by connector: + -- +* For a <>, specifies the {ibm-r} instance URL. * For a <>, specifies the Jira instance URL. * For an <>, specifies the {opsgenie} URL. For example, `https://api.opsgenie.com` or `https://api.eu.opsgenie.com`. * For a <>, specifies the PagerDuty event URL. Defaults to `https://events.pagerduty.com/v2/enqueue`. @@ -269,6 +270,9 @@ A configuration URL that varies by connector: NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. -- +`xpack.actions.preconfigured..config.configUrl`:: +For an <> with basic authentication, specifies the request URL for the Elastic Alerts trigger in xMatters. + `xpack.actions.preconfigured..config.createCommentJson`:: For a <>, specifies a stringified JSON payload with Mustache variables that is sent to the create comment URL to create a case comment. The required variable is `case.description`. + @@ -319,6 +323,9 @@ For a <>, specifies a set of k `xpack.actions.preconfigured..config.index`:: For an <>, specifies the {es} index. +`xpack.actions.preconfigured..config.orgId`:: +For an <>, specifies the {ibm-r} organization identifier. + `xpack.actions.preconfigured..config.projectKey`:: For a <>, specifies the Jira project key. @@ -336,6 +343,18 @@ For a <>, specifies the REST A + NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. +`xpack.actions.preconfigured..config.url`:: +A configuration URL that varies by connector: ++ +-- +* For a <>, specifies the D3 Security API request URL. + +NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure this hostname is added to the allowed hosts. +-- + +`xpack.actions.preconfigured..config.usesBasic`:: +For an <>, specifies whether it uses HTTP basic authentication. Defaults to `true`. + `xpack.actions.preconfigured..config.viewIncidentUrl`:: For a <>, specifies a URL string with either the external service ID or external service title Mustache variable to view a case in the external system. @@ -354,6 +373,12 @@ An API key secret that varies by connector: * For an <>, specifies the {opsgenie} API authentication key for HTTP basic authentication. -- +`xpack.actions.preconfigured..secrets.apiKeyId`:: +For an <>, specifies the authentication key ID for HTTP basic authentication. + +`xpack.actions.preconfigured..secrets.apiKeySecret`:: +For an <>, specifies the authentication key secret for HTTP basic authentication. + `xpack.actions.preconfigured..secrets.apiToken`:: For a <>, specifies the API authentication token for HTTP basic authentication. @@ -365,16 +390,42 @@ A password secret that varies by connector: + -- * For a <>, specifies a password that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <>, specifies a password that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- `xpack.actions.preconfigured..secrets.routingKey`:: For a <>, specifies the 32 character PagerDuty Integration Key for an integration on a service, also referred to as the routing key. +`xpack.actions.preconfigured..secrets.secretsUrl`:: +For an <> with URL authentication, specifies the request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. +It is used only when `xpack.actions.preconfigured..config.usesBasic` is `false`. ++ +NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure this hostname is added to the allowed hosts. + +`xpack.actions.preconfigured..secrets.token`:: +A token secret that varies by connector: ++ +-- +* For a <>, specifies the D3 Security token. +* For a <>, specifies the Slack bot user OAuth token. +-- + `xpack.actions.preconfigured..secrets.user`:: A user name secret that varies by connector: + -- * For a <>, specifies a user name that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <>, specifies a user name that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. +-- + +`xpack.actions.preconfigured..secrets.webhookUrl`:: +A URL that varies by connector: ++ +-- +* For a <>, specifies the URL of the incoming webhook. +For a <>, specifies the Slack webhook URL. + +NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname is added to the allowed hosts. -- [float] diff --git a/docs/user/alerting/create-and-manage-rules.asciidoc b/docs/user/alerting/create-and-manage-rules.asciidoc index aa72b65944462..670e531350d5b 100644 --- a/docs/user/alerting/create-and-manage-rules.asciidoc +++ b/docs/user/alerting/create-and-manage-rules.asciidoc @@ -94,7 +94,8 @@ For example, you can set *Run when* to `Query matched` or `Recovered` for the {e image::images/es-query-rule-recovery-action.png[UI for defining a recovery action,500] // NOTE: This is an autogenerated screenshot. Do not edit it directly. -Each connector enables different action properties. For example, an email connector enables you to set the recipients, the subject, and a message body in markdown format. For more information about connectors, refer to <>. +Each connector supports a specific set of actions for each action group and enables different action properties. +For example, you can have actions that create an {opsgenie} alert when rule conditions are met and recovery actions that close the {opsgenie} alert. For more information about connectors, refer to <>. [[alerting-concepts-suppressing-duplicate-notifications]] [TIP] diff --git a/docs/user/alerting/rule-types/es-query.asciidoc b/docs/user/alerting/rule-types/es-query.asciidoc index f1a391a9e87be..029ec2e1eaa46 100644 --- a/docs/user/alerting/rule-types/es-query.asciidoc +++ b/docs/user/alerting/rule-types/es-query.asciidoc @@ -72,6 +72,9 @@ For example: image::images/es-query-rule-action-query-matched.png[UI for defining a recovery action] // NOTE: This is an autogenerated screenshot. Do not edit it directly. +Each connector supports a specific set of actions for each action group. +For more details, refer to <>. + [float] === Add action variables diff --git a/docs/user/alerting/rule-types/index-threshold.asciidoc b/docs/user/alerting/rule-types/index-threshold.asciidoc index d6a3217f3276d..69cdd2c3bbbcc 100644 --- a/docs/user/alerting/rule-types/index-threshold.asciidoc +++ b/docs/user/alerting/rule-types/index-threshold.asciidoc @@ -9,7 +9,7 @@ The index threshold rule type runs an {es} query. It aggregates field values from documents, compares them to threshold values, and schedules actions to run when the thresholds are met. [float] -=== Rule conditions +=== Define the conditions [role="screenshot"] image::user/alerting/images/rule-types-index-threshold-conditions.png[Defining index threshold rule conditions in {kib}] @@ -27,11 +27,24 @@ It also defines a time window, which determines how far back to search for docum If data is available and all clauses have been defined, a preview chart will render the threshold value and display a line chart showing the value for the last 30 intervals. This can provide an indication of recent values and their proximity to the threshold, and help you tune the clauses. +[float] +[[actions-index-threshold]] +=== Add actions + +You can <> to your rule to generate notifications. + +Each action uses a connector, which provides connection information for a {kib} service or third party integration, depending on where you want to send the notifications. + +After you choose a connector, you must choose an action group, which affects when the action runs. +The valid action groups for an index threshold rule are: `Threshold met` and `Recovered`. +Each connector supports a specific set of actions for each action group. For more details, refer to <>. + [float] [[action-variables-index-threshold]] -=== Action variables +=== Add action variables -The following action variables are specific to the index threshold rule. You can also specify <>. +The following action variables are specific to the index threshold rule. +You can also specify <>. `context.conditions`:: A description of the threshold condition. Example: `count greater than 4` `context.date`:: The date, in ISO format, that the rule met the threshold condition. Example: `2020-01-01T00:00:00.000Z`. diff --git a/examples/unified_field_list_examples/public/field_list_sidebar.tsx b/examples/unified_field_list_examples/public/field_list_sidebar.tsx index 121132e89b810..9e71071d327ce 100644 --- a/examples/unified_field_list_examples/public/field_list_sidebar.tsx +++ b/examples/unified_field_list_examples/public/field_list_sidebar.tsx @@ -33,6 +33,8 @@ const getCreationOptions: UnifiedFieldListSidebarContainerProps['getCreationOpti originatingApp: PLUGIN_ID, localStorageKeyPrefix: 'examples', timeRangeUpdatesType: 'timefilter', + compressed: true, + showSidebarToggleButton: true, disablePopularFields: true, }; }; diff --git a/package.json b/package.json index 14cd4677b26b6..6be8542c598b7 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@elastic/datemath": "5.0.3", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.9.1-canary.1", "@elastic/ems-client": "8.4.0", - "@elastic/eui": "88.1.0", + "@elastic/eui": "88.2.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", @@ -347,6 +347,7 @@ "@kbn/crypto": "link:packages/kbn-crypto", "@kbn/crypto-browser": "link:packages/kbn-crypto-browser", "@kbn/custom-branding-plugin": "link:x-pack/plugins/custom_branding", + "@kbn/custom-integrations": "link:packages/kbn-custom-integrations", "@kbn/custom-integrations-plugin": "link:src/plugins/custom_integrations", "@kbn/dashboard-enhanced-plugin": "link:x-pack/plugins/dashboard_enhanced", "@kbn/dashboard-plugin": "link:src/plugins/dashboard", @@ -500,7 +501,13 @@ "@kbn/logstash-plugin": "link:x-pack/plugins/logstash", "@kbn/management-cards-navigation": "link:packages/kbn-management/cards_navigation", "@kbn/management-plugin": "link:src/plugins/management", + "@kbn/management-settings-components-field-input": "link:packages/kbn-management/settings/components/field_input", + "@kbn/management-settings-components-field-row": "link:packages/kbn-management/settings/components/field_row", + "@kbn/management-settings-field-definition": "link:packages/kbn-management/settings/field_definition", + "@kbn/management-settings-ids": "link:packages/kbn-management/settings/setting_ids", "@kbn/management-settings-section-registry": "link:packages/kbn-management/settings/section_registry", + "@kbn/management-settings-types": "link:packages/kbn-management/settings/types", + "@kbn/management-settings-utilities": "link:packages/kbn-management/settings/utilities", "@kbn/management-test-plugin": "link:test/plugin_functional/plugins/management_test_plugin", "@kbn/mapbox-gl": "link:packages/kbn-mapbox-gl", "@kbn/maps-custom-raster-source-plugin": "link:x-pack/examples/third_party_maps_source_example", @@ -558,6 +565,7 @@ "@kbn/presentation-util-plugin": "link:src/plugins/presentation_util", "@kbn/profiling-data-access-plugin": "link:x-pack/plugins/profiling_data_access", "@kbn/profiling-plugin": "link:x-pack/plugins/profiling", + "@kbn/profiling-utils": "link:packages/kbn-profiling-utils", "@kbn/random-sampling": "link:x-pack/packages/kbn-random-sampling", "@kbn/react-field": "link:packages/kbn-react-field", "@kbn/react-kibana-context-common": "link:packages/react/kibana_context/common", @@ -638,9 +646,13 @@ "@kbn/server-http-tools": "link:packages/kbn-server-http-tools", "@kbn/server-route-repository": "link:packages/kbn-server-route-repository", "@kbn/serverless": "link:x-pack/plugins/serverless", + "@kbn/serverless-common-settings": "link:packages/serverless/settings/common", "@kbn/serverless-observability": "link:x-pack/plugins/serverless_observability", + "@kbn/serverless-observability-settings": "link:packages/serverless/settings/observability_project", "@kbn/serverless-project-switcher": "link:packages/serverless/project_switcher", "@kbn/serverless-search": "link:x-pack/plugins/serverless_search", + "@kbn/serverless-search-settings": "link:packages/serverless/settings/search_project", + "@kbn/serverless-security-settings": "link:packages/serverless/settings/security_project", "@kbn/serverless-types": "link:packages/serverless/types", "@kbn/session-notifications-plugin": "link:test/plugin_functional/plugins/session_notifications", "@kbn/session-view-plugin": "link:x-pack/plugins/session_view", @@ -784,6 +796,7 @@ "@kbn/visualization-ui-components": "link:packages/kbn-visualization-ui-components", "@kbn/visualizations-plugin": "link:src/plugins/visualizations", "@kbn/watcher-plugin": "link:x-pack/plugins/watcher", + "@kbn/xstate-utils": "link:packages/kbn-xstate-utils", "@loaders.gl/core": "^3.4.7", "@loaders.gl/json": "^3.4.7", "@loaders.gl/shapefile": "^3.4.7", diff --git a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.test.tsx b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.test.tsx index ad7c6d8fc52a5..6109a1bd0688c 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.test.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.test.tsx @@ -147,16 +147,15 @@ describe('start', () => { const promise = chrome.getBodyClasses$().pipe(toArray()).toPromise(); service.stop(); await expect(promise).resolves.toMatchInlineSnapshot(` - Array [ - Array [ - "kbnBody", - "kbnBody--classicLayout", - "kbnBody--noHeaderBanner", - "kbnBody--chromeHidden", - "kbnVersion-1-2-3", - ], - ] - `); + Array [ + Array [ + "kbnBody", + "kbnBody--noHeaderBanner", + "kbnBody--chromeHidden", + "kbnVersion-1-2-3", + ], + ] + `); }); it('strips off "snapshot" from the kibana version if present', async () => { @@ -166,16 +165,15 @@ describe('start', () => { const promise = chrome.getBodyClasses$().pipe(toArray()).toPromise(); service.stop(); await expect(promise).resolves.toMatchInlineSnapshot(` - Array [ - Array [ - "kbnBody", - "kbnBody--classicLayout", - "kbnBody--noHeaderBanner", - "kbnBody--chromeHidden", - "kbnVersion-8-0-0", - ], - ] - `); + Array [ + Array [ + "kbnBody", + "kbnBody--noHeaderBanner", + "kbnBody--chromeHidden", + "kbnVersion-8-0-0", + ], + ] + `); }); it('does not add legacy browser warning if browser supports CSP', async () => { diff --git a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx index 76fef465d823c..02ba5a912cd40 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx @@ -207,7 +207,6 @@ export class ChromeService { map(([headerBanner, isVisible, chromeStyle]) => { return [ 'kbnBody', - chromeStyle === 'project' ? 'kbnBody--projectLayout' : 'kbnBody--classicLayout', headerBanner ? 'kbnBody--hasHeaderBanner' : 'kbnBody--noHeaderBanner', isVisible ? 'kbnBody--chromeVisible' : 'kbnBody--chromeHidden', getKbnVersionClass(), diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap index 476776a40a155..0ae5e0504839b 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap @@ -105,7 +105,7 @@ Array [
    { /* fixates the elements position in the viewport, removes the element from the flow of the page */ position: sticky; /* position below the primary fixed EuiHeader in the viewport */ - top: 48px; + top: var(--euiFixedHeadersOffset, 0); `} > diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts b/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts index 5397bc154f862..0436e677a7e64 100644 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts +++ b/packages/core/lifecycle/core-lifecycle-server-mocks/src/core_setup.mock.ts @@ -48,6 +48,7 @@ export function createCoreSetupMock({ const uiSettingsMock = { register: uiSettingsServiceMock.createSetupContract().register, registerGlobal: uiSettingsServiceMock.createSetupContract().registerGlobal, + setAllowlist: uiSettingsServiceMock.createSetupContract().setAllowlist, }; const mock: CoreSetupMockType = { diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts index 5ca77254e5b50..b97eea8f827ed 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts @@ -258,6 +258,7 @@ export function createPluginSetupContext( uiSettings: { register: deps.uiSettings.register, registerGlobal: deps.uiSettings.registerGlobal, + setAllowlist: deps.uiSettings.setAllowlist, }, userSettings: { setUserProfileSettings: deps.userSettings.setUserProfileSettings, diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts index e20657b904278..5802002edb71c 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts @@ -86,6 +86,8 @@ function createServerlessES() { clean: true, kill: true, waitForReady: true, + // security is enabled by default, if needed kibana requires serviceAccountToken + esArgs: ['xpack.security.enabled=false'], }); const client = getServerlessESClient({ port: esPort }); diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts b/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts index ac74201e0f307..65a3c44861ed5 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_client_common.ts @@ -116,6 +116,10 @@ You can use \`IUiSettingsClient.get("${key}", defaultValue)\`, which will just r return this.isDeclared(key) && Boolean(this.cache[key].isOverridden); } + isStrictReadonly(key: string) { + return this.isDeclared(key) && Boolean(this.cache[key].readonlyMode === 'strict'); + } + getUpdate$() { return this.update$.asObservable(); } @@ -130,6 +134,9 @@ You can use \`IUiSettingsClient.get("${key}", defaultValue)\`, which will just r `Unable to update "${key}" because its value is overridden by the Kibana server` ); } + if (this.isStrictReadonly(key)) { + throw new Error(`Unable to update "${key}" because this setting is not in the allowlist.`); + } } protected abstract update(key: string, newVal: any): Promise; diff --git a/packages/core/ui-settings/core-ui-settings-common/index.ts b/packages/core/ui-settings/core-ui-settings-common/index.ts index f04a41613f76f..02604e122a2ae 100644 --- a/packages/core/ui-settings/core-ui-settings-common/index.ts +++ b/packages/core/ui-settings/core-ui-settings-common/index.ts @@ -8,6 +8,7 @@ export type { UiSettingsType, + ReadonlyModeType, DeprecationSettings, UiSettingsParams, UserProvidedValues, diff --git a/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts b/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts index 9a4cf094433d4..2655eda8b94b9 100644 --- a/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts +++ b/packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts @@ -25,6 +25,14 @@ export type UiSettingsType = | 'image' | 'color'; +/** + * Type for the readonly mode of the readonly settings. + * 'strict' indicates that the value cannot be changed through API and is not displayed in the UI + * 'ui' indicates that the value is just not displayed in the UI + * @public + * */ +export type ReadonlyModeType = 'strict' | 'ui'; + /** * UiSettings deprecation field options. * @public @@ -57,6 +65,8 @@ export interface UiSettingsParams { requiresPageReload?: boolean; /** a flag indicating that value cannot be changed */ readonly?: boolean; + /** a flag indicating the level of restriction of the readonly settings {@link ReadonlyModeType} */ + readonlyMode?: ReadonlyModeType; /** * a flag indicating that value might contain user sensitive data. * used by telemetry to mask the value of the setting when sent. diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts index 23438e2ab74af..72450e86eadb1 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.test.ts @@ -112,6 +112,18 @@ describe('uiSettings', () => { expect(() => setup.registerGlobal(defaults)).not.toThrow(); }); }); + + describe('#setAllowlist', () => { + // Skipped because we disabled this multi-call check temporarily + it.skip('throws if setAllowlist is called twice', async () => { + const { setAllowlist } = await service.setup(setupDeps); + setAllowlist(['mySetting']); + + expect(() => setAllowlist(['newSetting'])).toThrowErrorMatchingInlineSnapshot( + `"The uiSettings allowlist has already been set up. Instead of calling setAllowlist(), add your settings to packages/serverless/settings"` + ); + }); + }); }); describe('#start', () => { @@ -213,6 +225,59 @@ describe('uiSettings', () => { await customizedService.start(); }); + + it('throws when the allowlist contains unregistered settings', async () => { + const { setAllowlist } = await service.setup(setupDeps); + setAllowlist(['mySetting']); + + await expect(service.start()).rejects.toMatchInlineSnapshot( + `[Error: The uiSetting with key [mySetting] is in the allowlist but is not registered. Make sure to remove it from the allowlist in /packages/serverless/settings]` + ); + }); + }); + + describe('#applyAllowlist', () => { + const settingId = 'mySetting'; + const testSetting = { + name: 'My setting', + value: 10, + readonly: true, + schema: schema.number(), + }; + + it('allowlisted readonly settings have "ui" readonly mode', async () => { + const { register, setAllowlist } = await service.setup(setupDeps); + register({ [settingId]: testSetting }); + setAllowlist([settingId]); + + const expectedSetting = { + ...testSetting, + readonlyMode: 'ui', + }; + + const start = await service.start(); + start.asScopedToClient(savedObjectsClient); + expect(MockUiSettingsClientConstructor.mock.calls[0][0].defaults).toEqual({ + [settingId]: expectedSetting, + }); + }); + + it('non-allowlisted settings have "strict" readonly mode', async () => { + const { register, setAllowlist } = await service.setup(setupDeps); + register({ [settingId]: testSetting }); + setAllowlist([]); + + const expectedSetting = { + ...testSetting, + readonlyMode: 'strict', + }; + + const start = await service.start(); + start.asScopedToClient(savedObjectsClient); + expect(MockUiSettingsClientConstructor.mock.calls[0][0].defaults).toEqual({ + [settingId]: expectedSetting, + }); + }); }); describe('#asScopedToClient', () => { diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts index 3352ab0ab63b0..63b3ef7f66262 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts @@ -15,7 +15,11 @@ import type { CoreContext, CoreService } from '@kbn/core-base-server-internal'; import type { InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; import type { InternalSavedObjectsServiceSetup } from '@kbn/core-saved-objects-server-internal'; -import type { UiSettingsParams, UiSettingsScope } from '@kbn/core-ui-settings-common'; +import type { + ReadonlyModeType, + UiSettingsParams, + UiSettingsScope, +} from '@kbn/core-ui-settings-common'; import { UiSettingsConfigType, uiSettingsConfig as uiConfigDefinition } from './ui_settings_config'; import { UiSettingsClient, UiSettingsClientFactory, UiSettingsGlobalClient } from './clients'; import type { @@ -47,14 +51,17 @@ export class UiSettingsService private readonly log: Logger; private readonly config$: Observable; private readonly isDist: boolean; + private readonly isDev: boolean; private readonly uiSettingsDefaults = new Map(); private readonly uiSettingsGlobalDefaults = new Map(); private overrides: Record = {}; + private allowlist: Set | null = null; constructor(private readonly coreContext: CoreContext) { this.log = coreContext.logger.get('ui-settings-service'); this.isDist = coreContext.env.packageInfo.dist; this.config$ = coreContext.configService.atPath(uiConfigDefinition.path); + this.isDev = coreContext.env.mode.dev; } public async preboot(): Promise { @@ -94,10 +101,19 @@ export class UiSettingsService return { register: this.register, registerGlobal: this.registerGlobal, + setAllowlist: this.setAllowlist, }; } public async start(): Promise { + if (this.allowlist) { + // If we are in development mode, check if all settings in the allowlist are registered + if (this.isDev) { + this.validateAllowlist(); + } + this.applyAllowlist(this.uiSettingsDefaults, false); + this.applyAllowlist(this.uiSettingsGlobalDefaults, true); + } this.validatesDefinitions(); this.validatesOverrides(); @@ -148,6 +164,55 @@ export class UiSettingsService }); }; + private setAllowlist = (keys: string[]) => { + // Disabling this check for now since it causes some test failures + // if (this.allowlist) { + // throw new Error( + // `The uiSettings allowlist has already been set up. Instead of calling setAllowlist(), add your settings to packages/serverless/settings` + // ); + // } + this.allowlist = new Set(keys); + }; + + private validateAllowlist() { + this.allowlist?.forEach((key) => { + if (!this.uiSettingsDefaults.has(key) && !this.uiSettingsGlobalDefaults.has(key)) { + throw new Error( + `The uiSetting with key [${key}] is in the allowlist but is not registered. Make sure to remove it from the allowlist in /packages/serverless/settings` + ); + } + }); + } + + private setReadonlyMode(key: string, mode: ReadonlyModeType, isGlobal: boolean) { + if (isGlobal) { + const definition = this.uiSettingsGlobalDefaults.get(key); + if (definition) { + this.uiSettingsGlobalDefaults.set(key, { ...definition, readonlyMode: mode }); + } + } else { + const definition = this.uiSettingsDefaults.get(key); + if (definition) { + this.uiSettingsDefaults.set(key, { ...definition, readonlyMode: mode }); + } + } + } + + private applyAllowlist(settingsDefaults: Map, isGlobal: boolean) { + for (const [key, definition] of settingsDefaults) { + // Settings in the allowlist that are already read-only should have 'ui' readonly mode + if (this.allowlist?.has(key) && definition.readonly === true) { + this.setReadonlyMode(key, 'ui', isGlobal); + } + + // Setting that are not in the allowlist should have 'strict' readonly mode + if (!this.allowlist?.has(key)) { + definition.readonly = true; + this.setReadonlyMode(key, 'strict', isGlobal); + } + } + } + private validatesDefinitions() { for (const [key, definition] of this.uiSettingsDefaults) { if (!definition.schema) { diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts b/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts index 5d4b4c62ebb1e..280d75319a8bf 100644 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts +++ b/packages/core/ui-settings/core-ui-settings-server-mocks/src/ui_settings_service.mock.ts @@ -49,6 +49,7 @@ const createSetupMock = () => { const mocked: jest.Mocked = { register: jest.fn(), registerGlobal: jest.fn(), + setAllowlist: jest.fn(), }; return mocked; diff --git a/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts b/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts index 18d25a9031b24..65bae4100e4ad 100644 --- a/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts +++ b/packages/core/ui-settings/core-ui-settings-server/src/contracts.ts @@ -48,6 +48,19 @@ export interface UiSettingsServiceSetup { * ``` */ registerGlobal(settings: Record): void; + + /** + * Sets an allowlist of setting keys. + * @param keys + * + * @example + * ```ts + * setup(core: CoreSetup){ + * core.uiSettings.setAllowlist(['csv:quoteValues', 'dateFormat:dow']); + * } + * ``` + */ + setAllowlist(keys: string[]): void; } /** @public */ diff --git a/packages/kbn-custom-integrations/README.md b/packages/kbn-custom-integrations/README.md new file mode 100644 index 0000000000000..229437411a62b --- /dev/null +++ b/packages/kbn-custom-integrations/README.md @@ -0,0 +1,90 @@ +# Custom integrations package + +This package provides UI components and state machines to assist with the creation (and in the future other operations) of custom integrations. For consumers the process *should* be as simple as dropping in the provider and connected components. + +## Basic / quickstart usage + +1. Add provider + +```ts + + + +``` + +2. Include Connected form and button components + +```ts + + ``` + + The form will internally interact with the backing state machines. + +```ts + +``` + +Most props are optional, here for example you may conditionally add an extra set of `isDisabled` conditions. They will be applied on top of the internal state machine conditions that ensure the button is disabled when necessary. TypeScript types can be checked for available options. + +## Initial state + +Initial state is just that, initial state, and isn't "reactive". + +## Provider callbacks + +The provider accepts some callbacks, for example `onIntegrationCreation`. Changes to these references are tracked internally, so feel free to have a callback handler that changes it's identity if needed. + +An example handler: + +```ts +const onIntegrationCreation: OnIntegrationCreationCallback = ( + integrationOptions + ) => { + const { + integrationName: createdIntegrationName, + datasets: createdDatasets, + } = integrationOptions; + + setState((state) => ({ + ...state, + integrationName: createdIntegrationName, + datasetName: createdDatasets[0].name, + lastCreatedIntegrationOptions: integrationOptions, + })); + goToStep('installElasticAgent'); + }; +``` + +## Manual dispatching of events + +Sometimes you may have a flow where it is necessary to manually update the internal state machines and bypass the connected components. This is discouraged, but it is possible for some operations. These events are exposed as `DispatchableEvents`, and these are exposed by the `useConsumerCustomIntegrations()` hook. + +For example `updateCreateFields` will update the fields of the creation form in the same manner as the UI components would. + +These functions will either exist, or be `undefined`, the presence of these functions means that the corresponding state checks against the machine have already passed. For instance, `saveCreateFields()` will only exist (and not be `undefined`) when the creation form is valid. These functions therefore also fulfill the role of condition checking if needed. + +Example usage: + +```ts +const { + dispatchableEvents: { updateCreateFields }, +} = useConsumerCustomIntegrations(); +``` + +## Cleanup + +- For the create flow the machine will try to cleanup a previously created integration if needed (if `options.deletePrevious` is `true`). For example, imagine a wizard flow where someone has navigated forward, then navigates back, makes a change, and saves again, the machine will attempt to delete the previously created integration so that lots of rogue custom integrations aren't left behind. The provider accepts an optional `previouslyCreatedIntegration` prop that can serve as initial state. diff --git a/packages/kbn-custom-integrations/index.ts b/packages/kbn-custom-integrations/index.ts new file mode 100644 index 0000000000000..f25ec944c93a2 --- /dev/null +++ b/packages/kbn-custom-integrations/index.ts @@ -0,0 +1,19 @@ +/* + * 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 { + ConnectedCustomIntegrationsForm, + ConnectedCustomIntegrationsButton, +} from './src/components'; +export { useConsumerCustomIntegrations, useCustomIntegrations } from './src/hooks'; +export { CustomIntegrationsProvider } from './src/state_machines'; + +// Types +export type { DispatchableEvents } from './src/hooks'; +export type { Callbacks, InitialState } from './src/state_machines'; +export type { CustomIntegrationOptions } from './src/types'; diff --git a/packages/kbn-custom-integrations/jest.config.js b/packages/kbn-custom-integrations/jest.config.js new file mode 100644 index 0000000000000..ce85d5922ef71 --- /dev/null +++ b/packages/kbn-custom-integrations/jest.config.js @@ -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 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. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-custom-integrations'], +}; diff --git a/packages/kbn-custom-integrations/kibana.jsonc b/packages/kbn-custom-integrations/kibana.jsonc new file mode 100644 index 0000000000000..61c9067c7e659 --- /dev/null +++ b/packages/kbn-custom-integrations/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/custom-integrations", + "owner": "@elastic/infra-monitoring-ui" +} diff --git a/packages/kbn-custom-integrations/package.json b/packages/kbn-custom-integrations/package.json new file mode 100644 index 0000000000000..80b3bc267e5a6 --- /dev/null +++ b/packages/kbn-custom-integrations/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/custom-integrations", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-custom-integrations/src/components/create/button.tsx b/packages/kbn-custom-integrations/src/components/create/button.tsx new file mode 100644 index 0000000000000..a7bd339d19cc4 --- /dev/null +++ b/packages/kbn-custom-integrations/src/components/create/button.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 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 { EuiButton } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { useActor, useSelector } from '@xstate/react'; +import React, { useCallback } from 'react'; +import { isSubmittingSelector, isValidSelector } from '../../state_machines/create/selectors'; +import { CreateCustomIntegrationActorRef } from '../../state_machines/create/state_machine'; + +const SUBMITTING_TEXT = i18n.translate('customIntegrationsPackage.create.button.submitting', { + defaultMessage: 'Creating integration...', +}); + +const CONTINUE_TEXT = i18n.translate('customIntegrationsPackage.create.button.continue', { + defaultMessage: 'Continue', +}); + +interface ConnectedCreateCustomIntegrationButtonProps { + machine: CreateCustomIntegrationActorRef; + isDisabled?: boolean; + onClick?: () => void; + submittingText?: string; + continueText?: string; + testSubj: string; +} +export const ConnectedCreateCustomIntegrationButton = ({ + machine, + isDisabled = false, + onClick: consumerOnClick, + submittingText = SUBMITTING_TEXT, + continueText = CONTINUE_TEXT, + testSubj, +}: ConnectedCreateCustomIntegrationButtonProps) => { + const [, send] = useActor(machine); + + const onClick = useCallback(() => { + if (consumerOnClick) { + consumerOnClick(); + } + send({ type: 'SAVE' }); + }, [consumerOnClick, send]); + + const isValid = useSelector(machine, isValidSelector); + const isSubmitting = useSelector(machine, isSubmittingSelector); + + return ( + + ); +}; + +type CreateCustomIntegrationButtonProps = { + isValid: boolean; + isSubmitting: boolean; +} & Omit; + +const CreateCustomIntegrationButton = ({ + onClick, + isValid, + isSubmitting, + isDisabled, + submittingText, + continueText, + testSubj, +}: CreateCustomIntegrationButtonProps) => { + return ( + + {isSubmitting ? submittingText : continueText} + + ); +}; diff --git a/packages/kbn-custom-integrations/src/components/create/error_callout.tsx b/packages/kbn-custom-integrations/src/components/create/error_callout.tsx new file mode 100644 index 0000000000000..032be76aef41c --- /dev/null +++ b/packages/kbn-custom-integrations/src/components/create/error_callout.tsx @@ -0,0 +1,94 @@ +/* + * 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 { i18n } from '@kbn/i18n'; +import { EuiButton, EuiCallOut } from '@elastic/eui'; +import { + AuthorizationError, + IntegrationError, + IntegrationNotInstalledError, + UnknownError, +} from '../../types'; +import { CreateTestSubjects } from './form'; + +const TITLE = i18n.translate('customIntegrationsPackage.create.errorCallout.title', { + defaultMessage: 'Sorry, there was an error', +}); + +const RETRY_TEXT = i18n.translate('customIntegrationsPackage.create.errorCallout.retryText', { + defaultMessage: 'Retry', +}); + +export const ErrorCallout = ({ + error, + onRetry, + testSubjects, +}: { + error: IntegrationError; + onRetry?: () => void; + testSubjects?: CreateTestSubjects['errorCallout']; +}) => { + if (error instanceof AuthorizationError) { + const authorizationDescription = i18n.translate( + 'customIntegrationsPackage.create.errorCallout.authorization.description', + { + defaultMessage: 'This user does not have permissions to create an integration.', + } + ); + return ( + + ); + } else if (error instanceof UnknownError || error instanceof IntegrationNotInstalledError) { + return ( + + ); + } else { + return null; + } +}; + +const BaseErrorCallout = ({ + message, + onRetry, + testSubjects, +}: { + message: string; + onRetry?: () => void; + testSubjects?: CreateTestSubjects['errorCallout']; +}) => { + return ( + + <> +

    {message}

    + {onRetry ? ( + + {RETRY_TEXT} + + ) : null} + +
    + ); +}; diff --git a/packages/kbn-custom-integrations/src/components/create/form.tsx b/packages/kbn-custom-integrations/src/components/create/form.tsx new file mode 100644 index 0000000000000..2273db68a479a --- /dev/null +++ b/packages/kbn-custom-integrations/src/components/create/form.tsx @@ -0,0 +1,236 @@ +/* + * 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, { useCallback } from 'react'; +import { + EuiFieldText, + EuiFlexGroup, + EuiFlexItem, + EuiForm, + EuiFormRow, + EuiIconTip, + EuiSpacer, + EuiText, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { useActor, useSelector } from '@xstate/react'; +import { ErrorCallout } from './error_callout'; +import { CreateCustomIntegrationActorRef } from '../../state_machines/create/state_machine'; +import { + CreateCustomIntegrationOptions, + WithOptionalErrors, + WithTouchedFields, +} from '../../state_machines/create/types'; +import { Dataset, IntegrationError } from '../../types'; +import { hasFailedSelector } from '../../state_machines/create/selectors'; + +// NOTE: Hardcoded for now. We will likely extend the functionality here to allow the selection of the type. +// And also to allow adding multiple datasets. +const DATASET_TYPE = 'logs' as const; + +export interface CreateTestSubjects { + integrationName?: string; + datasetName?: string; + errorCallout?: { + callout?: string; + retryButton?: string; + }; +} + +export const ConnectedCreateCustomIntegrationForm = ({ + machineRef, + testSubjects, +}: { + machineRef: CreateCustomIntegrationActorRef; + testSubjects?: CreateTestSubjects; +}) => { + const [state, send] = useActor(machineRef); + const updateIntegrationName = useCallback( + (integrationName: string) => { + send({ type: 'UPDATE_FIELDS', fields: { integrationName } }); + }, + [send] + ); + + const updateDatasetName = useCallback( + (datasetName: string) => { + send({ + type: 'UPDATE_FIELDS', + fields: { + datasets: [{ type: DATASET_TYPE, name: datasetName }], + }, + }); + }, + [send] + ); + + const retry = useCallback(() => { + send({ type: 'RETRY' }); + }, [send]); + + const hasFailed = useSelector(machineRef, hasFailedSelector); + + return ( + + ); +}; + +interface FormProps { + integrationName: CreateCustomIntegrationOptions['integrationName']; + datasetName: Dataset['name']; + errors: WithOptionalErrors['errors']; + touchedFields: WithTouchedFields['touchedFields']; + updateIntegrationName: (integrationName: string) => void; + updateDatasetName: (integrationName: string) => void; + hasFailed: boolean; + onRetry?: () => void; + testSubjects?: CreateTestSubjects; +} + +export const CreateCustomIntegrationForm = ({ + integrationName, + datasetName, + errors, + touchedFields, + updateIntegrationName, + updateDatasetName, + onRetry, + testSubjects, +}: FormProps) => { + return ( + <> + +

    + {i18n.translate('customIntegrationsPackage.create.configureIntegrationDescription', { + defaultMessage: 'Configure integration', + })} +

    +
    + + + + + {i18n.translate('customIntegrationsPackage.create.integration.name', { + defaultMessage: 'Integration name', + })} + + + + + + } + helpText={i18n.translate('customIntegrationsPackage.create.integration.helper', { + defaultMessage: + "All lowercase, max 100 chars, special characters will be replaced with '_'.", + })} + isInvalid={hasErrors(errors?.fields?.integrationName) && touchedFields.integrationName} + error={errorsList(errors?.fields?.integrationName)} + > + updateIntegrationName(event.target.value)} + isInvalid={hasErrors(errors?.fields?.integrationName) && touchedFields.integrationName} + max={100} + data-test-subj={ + testSubjects?.integrationName ?? + 'customIntegrationsPackageCreateFormIntegrationNameInput' + } + /> + + + + {i18n.translate('customIntegrationsPackage.create.dataset.name', { + defaultMessage: 'Dataset name', + })} + + + + + + } + helpText={i18n.translate('customIntegrationsPackage.create.dataset.helper', { + defaultMessage: + "All lowercase, max 100 chars, special characters will be replaced with '_'.", + })} + isInvalid={hasErrors(errors?.fields?.datasets?.[0]?.name) && touchedFields.datasets} + error={errorsList(errors?.fields?.datasets?.[0]?.name)} + > + updateDatasetName(event.target.value)} + isInvalid={hasErrors(errors?.fields?.datasets?.[0].name) && touchedFields.datasets} + max={100} + data-test-subj={ + testSubjects?.datasetName ?? 'customIntegrationsPackageCreateFormDatasetNameInput' + } + /> + + + {errors?.general && ( + <> + + + + )} + + ); +}; + +const hasErrors = (errors?: IntegrationError[]) => errors && errors.length > 0; + +const errorsList = (errors?: IntegrationError[]) => { + return hasErrors(errors) ? ( +
      + {errors!.map((error, index) => ( +
    • {error.message}
    • + ))} +
    + ) : null; +}; diff --git a/packages/kbn-custom-integrations/src/components/create/utils.ts b/packages/kbn-custom-integrations/src/components/create/utils.ts new file mode 100644 index 0000000000000..3af857be37236 --- /dev/null +++ b/packages/kbn-custom-integrations/src/components/create/utils.ts @@ -0,0 +1,15 @@ +/* + * 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 const replaceSpecialChars = (filename: string) => { + // Replace special characters with _ + const replacedSpecialCharacters = filename.replaceAll(/[^a-zA-Z0-9_]/g, '_'); + // Allow only one _ in a row + const noRepetitions = replacedSpecialCharacters.replaceAll(/[\_]{2,}/g, '_'); + return noRepetitions; +}; diff --git a/packages/kbn-custom-integrations/src/components/custom_integrations_button.tsx b/packages/kbn-custom-integrations/src/components/custom_integrations_button.tsx new file mode 100644 index 0000000000000..7304eefdffa1b --- /dev/null +++ b/packages/kbn-custom-integrations/src/components/custom_integrations_button.tsx @@ -0,0 +1,45 @@ +/* + * 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 { useSelector } from '@xstate/react'; +import { useCustomIntegrations } from '../hooks/use_custom_integrations'; +import { createIsInitializedSelector } from '../state_machines/custom_integrations/selectors'; +import { ConnectedCreateCustomIntegrationButton } from './create/button'; + +interface ConnectedCustomIntegrationsButtonProps { + isDisabled?: boolean; + onClick?: () => void; + testSubj?: string; +} + +export const ConnectedCustomIntegrationsButton = ({ + isDisabled, + onClick, + testSubj = 'customIntegrationsPackageConnectedButton', +}: ConnectedCustomIntegrationsButtonProps) => { + const { customIntegrationsStateService, customIntegrationsState } = useCustomIntegrations(); + + const createIsInitialized = useSelector( + customIntegrationsStateService, + createIsInitializedSelector + ); + + if (createIsInitialized) { + return ( + + ); + } else { + return null; + } +}; diff --git a/packages/kbn-custom-integrations/src/components/custom_integrations_form.tsx b/packages/kbn-custom-integrations/src/components/custom_integrations_form.tsx new file mode 100644 index 0000000000000..a6a3fa30d8593 --- /dev/null +++ b/packages/kbn-custom-integrations/src/components/custom_integrations_form.tsx @@ -0,0 +1,39 @@ +/* + * 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 { useSelector } from '@xstate/react'; +import { useCustomIntegrations } from '../hooks/use_custom_integrations'; +import { createIsInitializedSelector } from '../state_machines/custom_integrations/selectors'; +import { ConnectedCreateCustomIntegrationForm, CreateTestSubjects } from './create/form'; + +interface Props { + testSubjects?: { + create?: CreateTestSubjects; + }; +} + +export const ConnectedCustomIntegrationsForm = ({ testSubjects }: Props) => { + const { customIntegrationsState, customIntegrationsStateService } = useCustomIntegrations(); + + const createIsInitialized = useSelector( + customIntegrationsStateService, + createIsInitializedSelector + ); + + if (createIsInitialized) { + return ( + + ); + } else { + return null; + } +}; diff --git a/packages/kbn-custom-integrations/src/components/index.ts b/packages/kbn-custom-integrations/src/components/index.ts new file mode 100644 index 0000000000000..165dfb3e202b0 --- /dev/null +++ b/packages/kbn-custom-integrations/src/components/index.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 { ConnectedCreateCustomIntegrationForm } from './create/form'; +export * from './create/error_callout'; +export * from './custom_integrations_button'; +export * from './custom_integrations_form'; diff --git a/packages/kbn-custom-integrations/src/hooks/create/use_create_dispatchable_events.ts b/packages/kbn-custom-integrations/src/hooks/create/use_create_dispatchable_events.ts new file mode 100644 index 0000000000000..b17329b7a61b5 --- /dev/null +++ b/packages/kbn-custom-integrations/src/hooks/create/use_create_dispatchable_events.ts @@ -0,0 +1,36 @@ +/* + * 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 { useActor, useSelector } from '@xstate/react'; +import { useMemo } from 'react'; +import { isUninitializedSelector, isValidSelector } from '../../state_machines/create/selectors'; +import { CreateCustomIntegrationActorRef } from '../../state_machines/create/state_machine'; +import { CreateCustomIntegrationOptions } from '../../state_machines/create/types'; + +export const useCreateDispatchableEvents = ({ + machineRef, +}: { + machineRef: CreateCustomIntegrationActorRef; +}) => { + const [, send] = useActor(machineRef); + const isValid = useSelector(machineRef, isValidSelector); + const isUninitialized = useSelector(machineRef, isUninitializedSelector); + const dispatchableEvents = useMemo(() => { + return { + saveCreateFields: isValid ? () => send({ type: 'SAVE' }) : undefined, + updateCreateFields: !isUninitialized + ? (fields: Partial) => + send({ type: 'UPDATE_FIELDS', fields }) + : undefined, + }; + }, [isUninitialized, isValid, send]); + + return dispatchableEvents; +}; + +export type CreateDispatchableEvents = ReturnType; diff --git a/packages/kbn-custom-integrations/src/hooks/index.ts b/packages/kbn-custom-integrations/src/hooks/index.ts new file mode 100644 index 0000000000000..064d55f63a786 --- /dev/null +++ b/packages/kbn-custom-integrations/src/hooks/index.ts @@ -0,0 +1,11 @@ +/* + * 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 { useConsumerCustomIntegrations } from './use_consumer_custom_integrations'; +export { useCustomIntegrations } from './use_custom_integrations'; +export type { DispatchableEvents } from './use_consumer_custom_integrations'; diff --git a/packages/kbn-custom-integrations/src/hooks/use_consumer_custom_integrations.ts b/packages/kbn-custom-integrations/src/hooks/use_consumer_custom_integrations.ts new file mode 100644 index 0000000000000..3d5bb729350c6 --- /dev/null +++ b/packages/kbn-custom-integrations/src/hooks/use_consumer_custom_integrations.ts @@ -0,0 +1,27 @@ +/* + * 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 { + CreateDispatchableEvents, + useCreateDispatchableEvents, +} from './create/use_create_dispatchable_events'; +import { useCustomIntegrations } from './use_custom_integrations'; + +export const useConsumerCustomIntegrations = () => { + const { customIntegrationsState } = useCustomIntegrations(); + const dispatchableEvents = useCreateDispatchableEvents({ + machineRef: customIntegrationsState.children.createCustomIntegration, + }); + + return { + mode: customIntegrationsState.context.mode, + dispatchableEvents, + }; +}; + +export type DispatchableEvents = CreateDispatchableEvents; diff --git a/packages/kbn-custom-integrations/src/hooks/use_custom_integrations.ts b/packages/kbn-custom-integrations/src/hooks/use_custom_integrations.ts new file mode 100644 index 0000000000000..9ca7a96c72fda --- /dev/null +++ b/packages/kbn-custom-integrations/src/hooks/use_custom_integrations.ts @@ -0,0 +1,23 @@ +/* + * 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 { useActor } from '@xstate/react'; +import { useCustomIntegrationsContext } from '../state_machines/custom_integrations/provider'; + +export const useCustomIntegrations = () => { + const customIntegrationsStateService = useCustomIntegrationsContext(); + const [customIntegrationsState, customIntegrationsPageSend] = useActor( + customIntegrationsStateService + ); + + return { + customIntegrationsState, + customIntegrationsPageSend, + customIntegrationsStateService, + }; +}; diff --git a/packages/kbn-custom-integrations/src/state_machines/create/defaults.ts b/packages/kbn-custom-integrations/src/state_machines/create/defaults.ts new file mode 100644 index 0000000000000..579f34c6e23f5 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/create/defaults.ts @@ -0,0 +1,29 @@ +/* + * 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 const DEFAULT_CONTEXT = { + options: { + deletePrevious: false, + resetOnCreation: true, + errorOnFailedCleanup: false, + }, + fields: { + integrationName: '', + datasets: [ + { + type: 'logs' as const, // NOTE: Hardcoded to logs until we support multiple types via the UI. + name: '', + }, + ], + }, + touchedFields: { + integrationName: false, + datasets: false, + }, + errors: null, +}; diff --git a/packages/kbn-custom-integrations/src/state_machines/create/notifications.ts b/packages/kbn-custom-integrations/src/state_machines/create/notifications.ts new file mode 100644 index 0000000000000..38ef7fb993906 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/create/notifications.ts @@ -0,0 +1,61 @@ +/* + * 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 { CustomIntegrationOptions, IntegrationError } from '../../types'; +import { CreateCustomIntegrationContext, CreateCustomIntegrationEvent } from './types'; + +export type CreateCustomIntegrationNotificationEvent = + | { + type: 'INTEGRATION_CREATED'; + fields: CustomIntegrationOptions; + } + | { + type: 'INTEGRATION_CLEANUP'; + integrationName: CustomIntegrationOptions['integrationName']; + } + | { + type: 'INTEGRATION_CLEANUP_FAILED'; + error: IntegrationError; + } + | { + type: 'CREATE_INITIALIZED'; + }; + +export const CreateIntegrationNotificationEventSelectors = { + integrationCreated: (context: CreateCustomIntegrationContext) => + ({ + type: 'INTEGRATION_CREATED', + fields: context.fields, + } as CreateCustomIntegrationNotificationEvent), + integrationCleanup: ( + context: CreateCustomIntegrationContext, + event: CreateCustomIntegrationEvent + ) => { + return 'data' in event && 'integrationName' in event.data + ? ({ + type: 'INTEGRATION_CLEANUP', + integrationName: event.data.integrationName, + } as CreateCustomIntegrationNotificationEvent) + : null; + }, + integrationCleanupFailed: ( + context: CreateCustomIntegrationContext, + event: CreateCustomIntegrationEvent + ) => { + return 'data' in event && event.data instanceof IntegrationError + ? ({ + type: 'INTEGRATION_CLEANUP_FAILED', + error: event.data, + } as CreateCustomIntegrationNotificationEvent) + : null; + }, + initialized: () => + ({ + type: 'CREATE_INITIALIZED', + } as CreateCustomIntegrationNotificationEvent), +}; diff --git a/packages/kbn-custom-integrations/src/state_machines/create/selectors.ts b/packages/kbn-custom-integrations/src/state_machines/create/selectors.ts new file mode 100644 index 0000000000000..cc5c26f1ca39f --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/create/selectors.ts @@ -0,0 +1,21 @@ +/* + * 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 { CreateCustomIntegrationState } from './state_machine'; + +export const isValidSelector = (state: CreateCustomIntegrationState) => + state && state.matches('valid'); + +export const isSubmittingSelector = (state: CreateCustomIntegrationState) => + state && state.matches('submitting'); + +export const isUninitializedSelector = (state: CreateCustomIntegrationState) => + !state || state.matches('uninitialized'); + +export const hasFailedSelector = (state: CreateCustomIntegrationState) => + state && state.matches('failure'); diff --git a/packages/kbn-custom-integrations/src/state_machines/create/state_machine.ts b/packages/kbn-custom-integrations/src/state_machines/create/state_machine.ts new file mode 100644 index 0000000000000..ad93d3eb8cb05 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/create/state_machine.ts @@ -0,0 +1,350 @@ +/* + * 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 { i18n } from '@kbn/i18n'; +import { actions, ActorRefFrom, createMachine, EmittedFrom, SpecialTargets } from 'xstate'; +import deepEqual from 'react-fast-compare'; +import { sendIfDefined, OmitDeprecatedState } from '@kbn/xstate-utils'; +import { IntegrationError, NamingCollisionError } from '../../types'; +import { IIntegrationsClient } from '../services/integrations_client'; +import { + createArrayValidator, + createCharacterLimitValidation, + createIsEmptyValidation, + createIsLowerCaseValidation, + initializeValidateFields, +} from '../services/validation'; +import { DEFAULT_CONTEXT } from './defaults'; +import { CreateIntegrationNotificationEventSelectors } from './notifications'; +import { + CreateCustomIntegrationContext, + CreateCustomIntegrationEvent, + CreateCustomIntegrationTypestate, + DefaultCreateCustomIntegrationContext, + WithErrors, + WithPreviouslyCreatedIntegration, + WithTouchedFields, + WithFields, +} from './types'; +import { replaceSpecialChars } from '../../components/create/utils'; + +export const createPureCreateCustomIntegrationStateMachine = ( + initialContext: DefaultCreateCustomIntegrationContext = DEFAULT_CONTEXT +) => + createMachine< + CreateCustomIntegrationContext, + CreateCustomIntegrationEvent, + CreateCustomIntegrationTypestate + >( + { + /** @xstate-layout N4IgpgJg5mDOIC5QGEBOYCGAXMyCusWA9gLYCSAdjlKtgJZEUDEAqgAoAiAggCoCiAfQBiZPgBkOAZQDaABgC6iUAAcisOlgYUlIAB6IALACYANCACeh2UYB0ATgBsD6w4DsAVgCMngMyvPAL4BZmiYOPiEpJTUtJqMNngUdEmaGAA2dABekExyikggqupx2gX6CEYGABw2PkZVnk6yjVXVBg5mlgju7TYGxu4eBo1O1UEh6Ni4BMTkVGA09PGJyRp06Vk50p75KmprjDrllTV1DU0tbR0WiK5GPjauHnaydz4G763jIKFTEbPRBaxLQ2ABuGwg9AoUCYEEYYBsyVBRAA1gjfuEZlF5osSmCIVCoAgkUQAMZLCh5PI6IoHUqgcquHyeewOKquOyeKp2Iyedx2HydRA9Aw2Kr8oyybk+HyDdxGb4Y6aROYxCn4jKQzTQphgVCoIioGzKNLYABmhpINiV-2xarx4M1hOJFGR5JKVIUNP2JSOt2ZrPZnO5vP5gpuCH6shsviMDiMdgMnM8zXcismmJVgNxIMddAgTEkXAAanxqQVab6yohvJ47DZeeyOVK+T5ZNcumGxfy65Lk1UHOmwsqATjgfE8wWi6XtrtCj6tH6ELX642ni8Gu42x3EG3o347O4jwLPEZ5YPgj8MyO7UD1ZPCyWy0Y55XF9Xl95V1z1y2t+2hW6D5aglA8j1kAwtyHP4sVVO88QgMA0jAbUoDYdBQQYAhYXhRFXVRdFr1tOCc3iRDkNQ9CwEwogCBdN0KU9V8F0OD9Gl6M46zDDlBgMQD6lFVxrDsET+QcFMmQvCZh2I7NxwoGxyJQ5I0IwrDYF1fVDWNU0sAtVArRtWC5PVJTKLU2jYHoslGIUcs9mKd8GRrBwOPqLiBR41w+IjBo+hExwHHceM+XaVxoMzUd7RBMyVKomjsL1A0jRNc1LWtIjjLHUykOU6F4vU6z3S0Kkdm9RzWOc5dXIcWp3MPTzD28-i-AbYT2WGIS4w8CKbxI+SbFgPAACMSA0VCcIoBESTRDKZKy6L4iG0bxpUorbPkez5wq+k9EQRt6waM8DCZZlIP6QCfCqaM+XE1420cbw00vIys2yvFlrGrAJqS7TUr09LXqi+CQU+1boXWj07K9CsWN244uUO08elOzxzp8rp6lcNq2xOs8grscVnukmC3sWhShtJUk4A0ra30qvaKiedwbC3U8uQTQnxUA9w-OsXnzyMfxgvCl7MrJkH4jNDA6DSPB0CYAAlPgeEVgBNOm4aXIxeVFMMGlkHxXLqDxAJOh4Ux5eM2SN9sB162T3pBaXZflsAlZV9XZ3KultcqWwejZZtxXaOwWtqoSHuZSVIKqB2FslhT0FgFCJs1nal2j+sDHbIWeU5V4eeuhsPAHfw-G5TxRcvCgiEQ+ACiB29SN2+n4cQABaHcEC7mxZH7gfB4H+p44lluEiSFJ1gybIIB9qsquMQC2VFIXecTbzeQk0fgfHydCXnpzGa8FnPK3PxvE+bv3HbGNZB5Pwt0gqU7B35uBsSYg8FJAALSBD4ZuUOolRWb9w5j4Dc1RXCAX8IJZ41hrpOHuKLEmkV373ghAA9uCAeSnyDomKocYBTvB5pKECwZjDtEaImN+-UMFOhKEIGWyE56wwzh+XBgYOTVCITKDGhhxLdgfs0FMCDX5i3mmPAasV8oWQIFgpcaMvC1A+NwpMDhEzuH4k8WoPE7BDBlPyV4tCTIfRGl9VCCiPyShAUyfoR5eZxmaN3eoth86BxvuJdeJinZLW-tTWADcHK+2sUmGorxCGyBvoTdo18jyPFLpQm+1ReY+PJjYF2ct0BWKqpUQmfdXCROia0JwZtnB9wlGA8U+iqhxwkaTXeA1k6pxUjkxmCYAz3A+I9L8HwebxOZq0SoyTxR1KCEAA */ + context: initialContext, + preserveActionOrder: true, + predictableActionArguments: true, + id: 'CreateCustomIntegration', + initial: 'uninitialized', + on: { + UPDATE_FIELDS: { + target: '#validating', + actions: 'storeFields', + }, + }, + states: { + uninitialized: { + always: [ + { + target: 'validating', + cond: 'shouldValidateInitialContext', + }, + { + target: 'untouched', + }, + ], + exit: ['notifyInitialized'], + }, + validating: { + id: 'validating', + invoke: { + src: 'validateFields', + onDone: { + target: 'valid', + }, + onError: { + target: 'validationFailed', + actions: ['storeClientErrors'], + }, + }, + }, + untouched: {}, + valid: { + id: 'valid', + entry: ['clearErrors'], + on: { + SAVE: [ + { + target: 'success', + cond: 'fieldsMatchPreviouslyCreated', + }, + { + target: 'deletingPrevious', + cond: 'shouldCleanup', + }, + { + target: '#submitting', + }, + ], + }, + }, + validationFailed: { + id: 'validationFailed', + }, + deletingPrevious: { + invoke: { + src: 'cleanup', + onDone: { + target: '#submitting', + actions: ['clearPreviouslyCreatedIntegration', 'notifyIntegrationCleanup'], + }, + onError: [ + { + target: '#failure', + cond: 'shouldErrorOnFailedCleanup', + actions: ['storeServerErrors', 'notifyIntegrationCleanupFailed'], + }, + { + target: '#submitting', + }, + ], + }, + }, + submitting: { + id: 'submitting', + invoke: { + src: 'save', + onDone: { + target: 'success', + actions: ['storePreviouslyCreatedIntegration'], + }, + onError: { + target: 'failure', + actions: ['storeServerErrors'], + }, + }, + }, + success: { + entry: ['notifyIntegrationCreated'], + always: [ + { + target: 'resetting', + cond: 'shouldReset', + }, + ], + }, + failure: { + id: 'failure', + on: { + RETRY: [ + { + target: 'deletingPrevious', + cond: 'shouldCleanup', + }, + { + target: 'submitting', + }, + ], + }, + }, + resetting: { + entry: ['resetValues'], + always: { + target: 'untouched', + }, + }, + }, + }, + { + actions: { + storeClientErrors: actions.assign((context, event) => { + return 'data' in event && 'errors' in event.data + ? ({ + errors: { + fields: event.data.errors, + general: null, + }, + } as WithErrors) + : {}; + }), + storeServerErrors: actions.assign((context, event) => { + return 'data' in event && event.data instanceof IntegrationError + ? ({ + errors: { + ...(event.data instanceof NamingCollisionError + ? { fields: { integrationName: [event.data] } } + : { fields: {} }), + ...(!(event.data instanceof NamingCollisionError) + ? { general: event.data } + : { general: null }), + }, + } as WithErrors) + : {}; + }), + clearErrors: actions.assign((context, event) => { + return { errors: null }; + }), + storePreviouslyCreatedIntegration: actions.assign((context, event) => { + return 'data' in event && !(event.data instanceof IntegrationError) + ? ({ + previouslyCreatedIntegration: context.fields, + } as WithPreviouslyCreatedIntegration) + : {}; + }), + clearPreviouslyCreatedIntegration: actions.assign((context, event) => { + return 'data' in event && 'previouslyCreatedIntegration' in context + ? ({ + previouslyCreatedIntegration: undefined, + } as WithPreviouslyCreatedIntegration) + : {}; + }), + storeFields: actions.assign((context, event) => { + return event.type === 'UPDATE_FIELDS' + ? ({ + fields: { + ...context.fields, + ...event.fields, + integrationName: + event.fields.integrationName !== undefined + ? replaceSpecialChars(event.fields.integrationName) + : context.fields.integrationName, + datasets: + event.fields.datasets !== undefined + ? event.fields.datasets.map((dataset) => ({ + ...dataset, + name: replaceSpecialChars(dataset.name), + })) + : context.fields.datasets, + }, + touchedFields: { + ...context.touchedFields, + ...Object.keys(event.fields).reduce( + (acc, field) => ({ ...acc, [field]: true }), + {} as WithTouchedFields['touchedFields'] + ), + }, + } as WithFields & WithTouchedFields) + : {}; + }), + resetValues: actions.assign((context, event) => { + return { + fields: DEFAULT_CONTEXT.fields, + touchedFields: DEFAULT_CONTEXT.touchedFields, + errors: null, + }; + }), + }, + guards: { + shouldValidateInitialContext: (context) => + !deepEqual(DEFAULT_CONTEXT.fields, context.fields), + fieldsMatchPreviouslyCreated: (context) => + deepEqual(context.fields, context.previouslyCreatedIntegration), + shouldCleanup: (context) => + context.options.deletePrevious === true && + context.previouslyCreatedIntegration !== undefined, + shouldErrorOnFailedCleanup: (context) => context.options.errorOnFailedCleanup === true, + shouldReset: (context) => context.options.resetOnCreation === true, + }, + } + ); + +export interface CreateCustomIntegrationStateMachineDependencies { + initialContext?: DefaultCreateCustomIntegrationContext; + integrationsClient: IIntegrationsClient; +} + +export const createCreateCustomIntegrationStateMachine = ({ + initialContext, + integrationsClient, +}: CreateCustomIntegrationStateMachineDependencies) => { + return createPureCreateCustomIntegrationStateMachine(initialContext).withConfig({ + services: { + validateFields: initializeValidateFields({ + integrationName: [ + createIsEmptyValidation( + i18n.translate('customIntegrationsPackage.validations.integrationName.requiredError', { + defaultMessage: 'An integration name is required.', + }) + ), + createIsLowerCaseValidation( + i18n.translate('customIntegrationsPackage.validations.integrationName.lowerCaseError', { + defaultMessage: 'An integration name should be lowercase.', + }) + ), + createCharacterLimitValidation( + i18n.translate( + 'customIntegrationsPackage.validations.integrationName.characterLimitError', + { + defaultMessage: 'An integration name should be less than 100 characters.', + } + ), + 100 + ), + ], + datasets: createArrayValidator({ + name: [ + createIsEmptyValidation( + i18n.translate('customIntegrationsPackage.validations.datasets.requiredError', { + defaultMessage: 'A dataset name is required.', + }) + ), + createIsLowerCaseValidation( + i18n.translate('customIntegrationsPackage.validations.datasets.lowerCaseError', { + defaultMessage: 'A dataset name should be lowercase.', + }) + ), + createCharacterLimitValidation( + i18n.translate('customIntegrationsPackage.validations.datasets.characterLimitError', { + defaultMessage: 'A dataset name should be less than 100 characters.', + }), + 100 + ), + ], + }), + }), + save: (context) => { + return integrationsClient.createCustomIntegration(context.fields); + }, + cleanup: (context) => { + return integrationsClient.deleteCustomIntegration({ + integrationName: context.previouslyCreatedIntegration!.integrationName, // Value will be set due to the guard. + version: '1.0.0', + }); + }, + }, + actions: { + notifyIntegrationCreated: sendIfDefined(SpecialTargets.Parent)( + CreateIntegrationNotificationEventSelectors.integrationCreated + ), + notifyIntegrationCleanup: sendIfDefined(SpecialTargets.Parent)( + CreateIntegrationNotificationEventSelectors.integrationCleanup + ), + notifyIntegrationCleanupFailed: sendIfDefined(SpecialTargets.Parent)( + CreateIntegrationNotificationEventSelectors.integrationCleanupFailed + ), + notifyInitialized: sendIfDefined(SpecialTargets.Parent)( + CreateIntegrationNotificationEventSelectors.initialized + ), + }, + }); +}; + +export type CreateCustomIntegrationStateMachine = ReturnType< + typeof createPureCreateCustomIntegrationStateMachine +>; +export type CreateCustomIntegrationActorRef = OmitDeprecatedState< + ActorRefFrom +>; +export type CreateCustomIntegrationState = EmittedFrom; diff --git a/packages/kbn-custom-integrations/src/state_machines/create/types.ts b/packages/kbn-custom-integrations/src/state_machines/create/types.ts new file mode 100644 index 0000000000000..e7cfad728d78e --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/create/types.ts @@ -0,0 +1,128 @@ +/* + * 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 { CustomIntegrationOptions, IntegrationError } from '../../types'; +import { + CreateCustomIntegrationValue, + DeleteCustomIntegrationResponse, +} from '../services/integrations_client'; +import { IndexedValidationErrors, ValidationErrors } from '../services/validation'; + +export type CreateCustomIntegrationOptions = CustomIntegrationOptions; + +export interface WithTouchedFields { + touchedFields: Record; +} + +export type CreateInitialState = WithOptions & WithFields & WithPreviouslyCreatedIntegration; + +export interface WithOptions { + options: { + deletePrevious?: boolean; + resetOnCreation?: boolean; + errorOnFailedCleanup?: boolean; + }; +} + +export interface WithIntegrationName { + integrationName: CreateCustomIntegrationOptions['integrationName']; +} + +export interface WithPreviouslyCreatedIntegration { + previouslyCreatedIntegration?: CreateCustomIntegrationOptions; +} + +export interface WithDatasets { + datasets: CreateCustomIntegrationOptions['datasets']; +} + +export interface WithFields { + fields: WithIntegrationName & WithDatasets; +} + +export interface WithErrors { + errors: { + fields: Partial<{ + integrationName: IntegrationError[]; + datasets: IndexedValidationErrors; + }> | null; + general: IntegrationError | null; + }; +} + +export interface WithNullishErrors { + errors: null; +} + +export type WithOptionalErrors = WithErrors | WithNullishErrors; + +export type DefaultCreateCustomIntegrationContext = WithOptions & + WithFields & + WithTouchedFields & + WithPreviouslyCreatedIntegration & + WithNullishErrors; + +export type CreateCustomIntegrationTypestate = + | { + value: 'uninitialized'; + context: DefaultCreateCustomIntegrationContext; + } + | { + value: 'validating'; + context: DefaultCreateCustomIntegrationContext & WithOptionalErrors; + } + | { value: 'valid'; context: DefaultCreateCustomIntegrationContext & WithNullishErrors } + | { + value: 'validationFailed'; + context: DefaultCreateCustomIntegrationContext & WithErrors; + } + | { value: 'submitting'; context: DefaultCreateCustomIntegrationContext & WithNullishErrors } + | { value: 'success'; context: DefaultCreateCustomIntegrationContext & WithNullishErrors } + | { value: 'failure'; context: DefaultCreateCustomIntegrationContext & WithErrors } + | { + value: 'deletingPrevious'; + context: DefaultCreateCustomIntegrationContext & WithNullishErrors; + }; + +export type CreateCustomIntegrationContext = CreateCustomIntegrationTypestate['context']; + +export type CreateCustomIntegrationEvent = + | { + type: 'UPDATE_FIELDS'; + fields: Partial; + } + | { + type: 'INITIALIZE'; + } + | { + type: 'SAVE'; + } + | { + type: 'RETRY'; + } + // NOTE: These aren't ideal but they're more helpful than the DoneInvokeEvent<> and ErrorPlatformEvent types + | { + type: 'error.platform.validating:invocation[0]'; + data: { errors: ValidationErrors }; + } + | { + type: 'error.platform.submitting:invocation[0]'; + data: IntegrationError; + } + | { + type: 'done.invoke.submitting:invocation[0]'; + data: CreateCustomIntegrationValue; + } + | { + type: 'done.invoke.CreateCustomIntegration.deletingPrevious:invocation[0]'; + data: DeleteCustomIntegrationResponse; + } + | { + type: 'error.platform.CreateCustomIntegration.deletingPrevious:invocation[0]'; + data: IntegrationError; + }; diff --git a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/defaults.ts b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/defaults.ts new file mode 100644 index 0000000000000..0c1d58a9ba055 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/defaults.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 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 { DefaultCustomIntegrationsContext } from './types'; + +export const DEFAULT_CONTEXT: DefaultCustomIntegrationsContext = { + mode: 'create' as const, +}; diff --git a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/notifications.ts b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/notifications.ts new file mode 100644 index 0000000000000..96385b9bc4ce5 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/notifications.ts @@ -0,0 +1,25 @@ +/* + * 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 { createNotificationChannel, NotificationChannel } from '@kbn/xstate-utils'; +import { CreateCustomIntegrationNotificationEvent } from '../create/notifications'; +import { CustomIntegrationsContext, CustomIntegrationsEvent } from './types'; + +export type CustomIntegrationsNotificationChannel = NotificationChannel< + CustomIntegrationsContext, + CustomIntegrationsEvent | CreateCustomIntegrationNotificationEvent, + CustomIntegrationsEvent | CreateCustomIntegrationNotificationEvent +>; + +export const createCustomIntegrationsNotificationChannel = () => { + return createNotificationChannel< + CustomIntegrationsContext, + CustomIntegrationsEvent | CreateCustomIntegrationNotificationEvent, + CustomIntegrationsEvent | CreateCustomIntegrationNotificationEvent + >(false); +}; diff --git a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx new file mode 100644 index 0000000000000..0f46f7e064b5d --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/provider.tsx @@ -0,0 +1,92 @@ +/* + * 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 { useInterpret } from '@xstate/react'; +import createContainer from 'constate'; +import type { HttpSetup } from '@kbn/core-http-browser'; +import { useEffect, useState } from 'react'; +import { isDevMode } from '@kbn/xstate-utils'; +import { createCustomIntegrationsStateMachine } from './state_machine'; +import { IntegrationsClient } from '../services/integrations_client'; +import { CustomIntegrationOptions, IntegrationError } from '../../types'; +import { InitialState } from './types'; +import { createCustomIntegrationsNotificationChannel } from './notifications'; + +interface Services { + http: HttpSetup | undefined; +} + +export interface Callbacks { + onIntegrationCreation?: (integrationOptions: CustomIntegrationOptions) => void; + onIntegrationCleanup?: (integrationName: CustomIntegrationOptions['integrationName']) => void; + onIntegrationCleanupFailed?: (error: IntegrationError) => void; +} + +type ProviderProps = { + services: Services; + useDevTools?: boolean; + initialState: InitialState; +} & Callbacks; + +export const useCustomIntegrationsState = ({ + services, + useDevTools = isDevMode(), + onIntegrationCreation, + onIntegrationCleanup, + onIntegrationCleanupFailed, + initialState, +}: ProviderProps) => { + const { http } = services; + + if (!http) + throw new Error( + 'Please ensure the HTTP service from Core is provided to the useCustomIntegrations Provider' + ); + + const [integrationsClient] = useState(() => new IntegrationsClient(http)); + const [customIntegrationsNotificationsChannel] = useState(() => + createCustomIntegrationsNotificationChannel() + ); + const [notificationsService] = useState(() => + customIntegrationsNotificationsChannel.createService() + ); + + // Provide notifications outside of the state machine context + useEffect(() => { + const sub = notificationsService.subscribe((event) => { + if (event.type === 'INTEGRATION_CREATED' && onIntegrationCreation) { + onIntegrationCreation(event.fields); + } else if (event.type === 'INTEGRATION_CLEANUP' && onIntegrationCleanup) { + onIntegrationCleanup(event.integrationName); + } else if (event.type === 'INTEGRATION_CLEANUP_FAILED' && onIntegrationCleanupFailed) { + onIntegrationCleanupFailed(event.error); + } + }); + return () => sub.unsubscribe(); + }, [ + notificationsService, + onIntegrationCleanup, + onIntegrationCleanupFailed, + onIntegrationCreation, + ]); + + const customIntegrationsStateService = useInterpret( + () => + createCustomIntegrationsStateMachine({ + integrationsClient, + customIntegrationsNotificationsChannel, + initialState, + }), + { devTools: useDevTools } + ); + return customIntegrationsStateService; +}; + +export const [CustomIntegrationsProvider, useCustomIntegrationsContext] = createContainer( + useCustomIntegrationsState +); diff --git a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/selectors.ts b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/selectors.ts new file mode 100644 index 0000000000000..bbe65a650fc29 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/selectors.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. + */ + +import { CustomIntegrationsState } from './state_machine'; + +export const createIsInitializedSelector = (state: CustomIntegrationsState) => + state && state.matches({ create: 'initialized' }); diff --git a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/state_machine.ts b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/state_machine.ts new file mode 100644 index 0000000000000..4bd71313bf43a --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/state_machine.ts @@ -0,0 +1,140 @@ +/* + * 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 { ActorRefFrom, createMachine, EmittedFrom } from 'xstate'; +import { OmitDeprecatedState } from '@kbn/xstate-utils'; +import { DEFAULT_CONTEXT } from './defaults'; +import { DEFAULT_CONTEXT as DEFAULT_CREATE_CONTEXT } from '../create/defaults'; +import { + CustomIntegrationsContext, + CustomIntegrationsEvent, + CustomIntegrationsTypestate, + DefaultCustomIntegrationsContext, + InitialState, +} from './types'; +import { createCreateCustomIntegrationStateMachine } from '../create/state_machine'; +import { IIntegrationsClient } from '../services/integrations_client'; +import { CustomIntegrationsNotificationChannel } from './notifications'; + +export const createPureCustomIntegrationsStateMachine = ( + initialContext: DefaultCustomIntegrationsContext = DEFAULT_CONTEXT +) => + createMachine( + { + /** @xstate-layout N4IgpgJg5mDOIC5QEkB2AXMUBOBDdAlgPaqwB0ArqgdYbgDYEBekAxANoAMAuoqAA5FYBQiT4gAHogC0ATgBs8sgEYAHAHYALMs7rV85ctkAmADQgAnonWcysgKwHZmgMwPlN1aoC+382kwcfGJSMnoiXAgaKFYIEjAyGgA3IgBrBICsPFFQ8MjohGSiAGNgki5uCvFBYRzxKQRpdQ8yY3tlRTVOF05OTXMrBGUXJXtZVU1J1UMXTWNffwwsstyIqNQYsGxsImwyfnp8ADNdgFsyTKCc8jz1qELUFNKciqqkEBqREPqZHWNjMj2GzGTiqWQuYyuYyqAaIaFKVScZzydT2EY6FwuBYgS7ZEI3NaQRIQehgVgAGQA8gBBAAiAH0ALKUgBKAFF6cgAHIAFTZAHEWdSechKVyAMpvARCL5id4NaTGHqApyyDzKYxaDywhA9VRkMGycGcZSuPSg7G4lYEyJEggksnitnUlkAYQAEpzeQKhSKxZKeNUZXV5TIXOpZGRNA5-prUUigTq2uoyLNOGjFJoI7N5n4cUsrviwoSIMTSaxxayeV6+YLhaKJVKPsHvqHGs1bBrFJj7JN7I4zJZEJolOpjApZoZ5FD9JaC3iSDaIHaHRXnW7Pdza76G+L6eKeezqYyA7x3p8Q6AFSCEUZe2jVD1ZEidUZNGQI2iO7IbA5ZHPAgXVZbVLe1y0rFlqy3H1639fdD2dE8mwvVsrzDMYozRVx7FUTUxiRdQdWkQwAUMbQRkhZ8XCBTQAOWa5ixAxi7kZXYyTiVAEiKdILnna1mKJW5olY7AwAeJ4VleQNzxbOU0IQLN3wotxphsFFDCI2YDXsOM0Q1I1NVovMrQY25BLWYS2NYLYdj2A5jjOXjAP4szSyEjYRLEopnhCKSz2lWpUMkX4TXfdN-lw0E+kUQihwQHD9W6XRsOmEdXDowtFwE0tlwAIyIKhijAcUwFwbBigAC2iEz8TXF0PRrGC-UbaSAtlVAfkaexbAhdRUQmU1+yBLQdTmWx0xwmxPFmeRc0WZzTJLMg8oK1AipKsrKuqvjrlYCRYHQfAElwI5MGwAAKHpOAASlYGqstc5awHywritK8qqo2e7SGQ2SOrbaRpxTVR2jGXDUXBPRRuMZRAX7EH1HkBR1BcU0jPm+ii0elbXo2j7toW-FxXQUTcFOWA6o3Rq62avcDyPJDWubQK5OC+Leg-VHDA8MdXDUeQdQhSNUY7cdmkxTg5vzQmHqWnG1rezbPqgb7YGJ0nyb2g6jrIE6zsu3pbtV7KnpehW8a2r6dqJknSvJ36Wf++Sug-BR2mMeRerBadRv1f4FDVT3wV69Hpcx2X8g2AAxXACFJCBWHZKk6Wpnd-Qd9rOuIzVYemadOBREHoxRpMQdTJEzRBTUwXUXw81QIhl3gd5VaDR2s+GIwDQ6TQC70XsfxcIjoRTMiOg1XCDAjUPjaoGgvgYZhIDbzOAYMsh0xHboNF7Nwh7i4j7FTMYPcfftZhRtEMqApdohXy82eI7pR2jExEb1D3YsGDpbD6xFnH7DoUE4Zr4uRLPfIKCo5gpmjDpf4fVuoOC-r8I0ZADDaFmvoHQyh2hYmMtbCOy5QIOggaza8XhATTFwtMGMIM2g6iRphWayU+4I3sKAxaTF3JQE8qQp2bMXYozcECHsU5lClyPm4I0mh8LdC0FLY22NnqrXWu9S2KsCGkD4VncMsNwxImfkiDQfVBYKDhglac05wQKA4VjOWyjcZqOVqrdWdtm5tQfg0DUAI5jB17moOY44BZxXVK0Bw1EcH6D5v+fBMtgJ3BjnHZeMl24A2wZGHQ4If5omrsg3UiNWh9RjPpaM4467eCAA */ + context: initialContext, + preserveActionOrder: true, + predictableActionArguments: true, + id: 'CustomIntegrations', + initial: 'uninitialized', + states: { + uninitialized: { + always: 'create', + }, + create: { + invoke: [ + { + id: 'createCustomIntegration', + src: 'createCustomIntegration', + }, + ], + on: { + CREATE_INITIALIZED: { + target: '.initialized', + }, + }, + states: { + initialized: { + meta: { + _DX_warning_: + "These inner initialized states on the top level machine exist primarily so that 'connected' components can block the reading of the state of child machines whilst undefined on the first render cycle", + }, + on: { + INTEGRATION_CREATED: { + actions: ['notifyIntegrationCreated'], + }, + INTEGRATION_CLEANUP: { + actions: ['notifyIntegrationCleanup'], + }, + INTEGRATION_CLEANUP_FAILED: { + actions: ['notifyIntegrationCleanupFailed'], + }, + }, + }, + }, + }, + update: { + // NOTE: Placeholder for the future addition of "Add dataset to existing custom integration" + }, + }, + }, + { + actions: {}, + guards: {}, + } + ); + +export interface CustomIntegrationsStateMachineDependencies { + initialContext?: DefaultCustomIntegrationsContext; + integrationsClient: IIntegrationsClient; + customIntegrationsNotificationsChannel: CustomIntegrationsNotificationChannel; + initialState: InitialState; +} + +export const createCustomIntegrationsStateMachine = ({ + initialContext, + integrationsClient, + customIntegrationsNotificationsChannel, + initialState, +}: CustomIntegrationsStateMachineDependencies) => { + return createPureCustomIntegrationsStateMachine(initialContext).withConfig({ + services: { + createCustomIntegration: (context) => { + return createCreateCustomIntegrationStateMachine({ + integrationsClient, + initialContext: + initialState.mode === 'create' + ? { + ...DEFAULT_CREATE_CONTEXT, + ...(initialState?.context ? initialState?.context : {}), + options: { + ...DEFAULT_CREATE_CONTEXT.options, + ...(initialState?.context?.options ? initialState.context.options : {}), + }, + fields: { + ...DEFAULT_CREATE_CONTEXT.fields, + ...(initialState?.context?.fields ? initialState.context.fields : {}), + }, + } + : DEFAULT_CREATE_CONTEXT, + }); + }, + }, + actions: { + notifyIntegrationCreated: customIntegrationsNotificationsChannel.notify((context, event) => { + return event; + }), + notifyIntegrationCleanup: customIntegrationsNotificationsChannel.notify((context, event) => { + return event; + }), + notifyIntegrationCleanupFailed: customIntegrationsNotificationsChannel.notify( + (context, event) => { + return event; + } + ), + }, + }); +}; + +export type CustomIntegrationsStateMachine = ReturnType< + typeof createPureCustomIntegrationsStateMachine +>; +export type CustomIntegrationsActorRef = OmitDeprecatedState< + ActorRefFrom +>; +export type CustomIntegrationsState = EmittedFrom; diff --git a/packages/kbn-custom-integrations/src/state_machines/custom_integrations/types.ts b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/types.ts new file mode 100644 index 0000000000000..6154aa8a14399 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/custom_integrations/types.ts @@ -0,0 +1,35 @@ +/* + * 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 { CreateCustomIntegrationNotificationEvent } from '../create/notifications'; +import { CreateInitialState } from '../create/types'; + +type ChildInitialStates = Partial; +export type InitialState = { context?: ChildInitialStates } & WithSelectedMode; + +export interface WithSelectedMode { + mode: Mode; +} + +export type Mode = 'create' | 'update'; + +export type DefaultCustomIntegrationsContext = WithSelectedMode; + +export type CustomIntegrationsTypestate = + | { + value: 'uninitialized'; + context: DefaultCustomIntegrationsContext; + } + | { + value: 'create' | { create: 'initialized' }; + context: DefaultCustomIntegrationsContext; + }; + +export type CustomIntegrationsContext = CustomIntegrationsTypestate['context']; + +export type CustomIntegrationsEvent = CreateCustomIntegrationNotificationEvent; diff --git a/packages/kbn-custom-integrations/src/state_machines/index.ts b/packages/kbn-custom-integrations/src/state_machines/index.ts new file mode 100644 index 0000000000000..4f1de9bb58455 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/index.ts @@ -0,0 +1,11 @@ +/* + * 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 { CustomIntegrationsProvider } from './custom_integrations/provider'; +export type { Callbacks } from './custom_integrations/provider'; +export type { InitialState } from './custom_integrations/types'; diff --git a/packages/kbn-custom-integrations/src/state_machines/services/integrations_client.ts b/packages/kbn-custom-integrations/src/state_machines/services/integrations_client.ts new file mode 100644 index 0000000000000..c5606a7e2e154 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/services/integrations_client.ts @@ -0,0 +1,150 @@ +/* + * 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 { HttpSetup } from '@kbn/core/public'; +import { EPM_API_ROUTES } from '@kbn/fleet-plugin/common'; +import * as rt from 'io-ts'; +import { i18n } from '@kbn/i18n'; +import { decodeOrThrow } from '@kbn/io-ts-utils'; +import { + AuthorizationError, + customIntegrationOptionsRT, + DecodeError, + integrationNameRT, + IntegrationNotInstalledError, + NamingCollisionError, + UnknownError, +} from '../../types'; + +const GENERIC_CREATE_ERROR_MESSAGE = i18n.translate( + 'customIntegrationsPackage.genericCreateError', + { + defaultMessage: 'Unable to create an integration', + } +); + +const GENERIC_DELETE_ERROR_MESSAGE = i18n.translate( + 'customIntegrationsPackage.genericDeleteError', + { + defaultMessage: 'Unable to delete integration', + } +); + +/** + * Constants + */ +const CUSTOM_INTEGRATIONS_URL = EPM_API_ROUTES.CUSTOM_INTEGRATIONS_PATTERN; +const DELETE_PACKAGE_URL = EPM_API_ROUTES.DELETE_PATTERN; + +export interface IIntegrationsClient { + createCustomIntegration( + params?: CreateCustomIntegrationRequestQuery + ): Promise; + deleteCustomIntegration( + params?: DeleteCustomIntegrationRequestQuery + ): Promise; +} + +export class IntegrationsClient implements IIntegrationsClient { + constructor(private readonly http: HttpSetup) {} + + public async createCustomIntegration( + params: CreateCustomIntegrationRequestQuery + ): Promise { + try { + const response = await this.http.post(CUSTOM_INTEGRATIONS_URL, { + version: '2023-10-31', + body: JSON.stringify(params), + }); + + const data = decodeOrThrow( + createCustomIntegrationResponseRT, + (message: string) => + new DecodeError(`Failed to decode create custom integration response: ${message}"`) + )(response); + + return { + integrationName: params.integrationName, + installedAssets: data.items, + }; + } catch (error) { + if (error?.body?.statusCode === 409) { + throw new NamingCollisionError(error.body?.message ?? GENERIC_CREATE_ERROR_MESSAGE); + } else if (error?.body?.statusCode === 403) { + throw new AuthorizationError(error?.body?.message ?? GENERIC_CREATE_ERROR_MESSAGE); + } else if (error instanceof DecodeError) { + throw error; + } else { + throw new UnknownError(error?.body?.message ?? GENERIC_CREATE_ERROR_MESSAGE); + } + } + } + + public async deleteCustomIntegration( + params: DeleteCustomIntegrationRequestQuery + ): Promise { + const { integrationName, version } = params; + try { + await this.http.delete( + DELETE_PACKAGE_URL.replace('{pkgName}', integrationName).replace('{pkgVersion}', version), + { version: '2023-10-31' } + ); + return { + integrationName: params.integrationName, + }; + } catch (error) { + if (error?.body?.message && error.body.message.includes('is not installed')) { + throw new IntegrationNotInstalledError(error.body.message); + } else { + throw new UnknownError(error?.body?.message ?? GENERIC_DELETE_ERROR_MESSAGE); + } + } + } +} + +const assetListRT = rt.array( + rt.type({ + id: rt.string, + type: rt.string, + }) +); + +type AssetList = rt.TypeOf; + +export const createCustomIntegrationRequestQueryRT = customIntegrationOptionsRT; +export type CreateCustomIntegrationRequestQuery = rt.TypeOf< + typeof createCustomIntegrationRequestQueryRT +>; + +export const createCustomIntegrationResponseRT = rt.exact( + rt.type({ + items: assetListRT, + }) +); + +export interface CreateCustomIntegrationValue { + integrationName: string; + installedAssets: AssetList; +} + +export const deleteCustomIntegrationRequestQueryRT = rt.type({ + integrationName: rt.string, + version: rt.string, +}); + +export type DeleteCustomIntegrationRequestQuery = rt.TypeOf< + typeof deleteCustomIntegrationRequestQueryRT +>; + +export const deleteCustomIntegrationResponseRT = rt.exact( + rt.type({ + integrationName: integrationNameRT, + }) +); + +export type DeleteCustomIntegrationResponse = rt.TypeOf; diff --git a/packages/kbn-custom-integrations/src/state_machines/services/validation.ts b/packages/kbn-custom-integrations/src/state_machines/services/validation.ts new file mode 100644 index 0000000000000..3ac325ce3d3a1 --- /dev/null +++ b/packages/kbn-custom-integrations/src/state_machines/services/validation.ts @@ -0,0 +1,99 @@ +/* + * 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 { isEmpty } from 'lodash'; +import { InvokeCreator } from 'xstate'; +import { IntegrationError } from '../../types'; + +export class FormattingError extends IntegrationError { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} + +type Validator = (field: string) => IntegrationError | null; + +interface ValidatorsConfig { + [key: string]: Validator[] | ((arrayField: unknown[]) => IndexedValidationErrors | null); +} + +export interface ValidationErrors { + [key: string]: ValidationResult; +} + +export interface IndexedValidationErrors { + [key: number]: { + [key: string]: IntegrationError[]; + }; +} + +type ValidationResult = IntegrationError[] | IndexedValidationErrors; + +export const initializeValidateFields = + (validatorsConfig: ValidatorsConfig): InvokeCreator => + (context) => { + const errors = validateConfigsAgainstContext(validatorsConfig, context.fields); + if (Object.keys(errors).length > 0) { + return Promise.reject({ errors }); + } else { + return Promise.resolve(); + } + }; + +export const createIsEmptyValidation = (message: string) => (field: unknown) => + isEmpty(field) ? new FormattingError(message) : null; + +export const createIsLowerCaseValidation = (message: string) => (field: string) => + field.toLowerCase() !== field ? new FormattingError(message) : null; + +export const createCharacterLimitValidation = (message: string, limit: number) => (field: string) => + field.length > limit ? new FormattingError(message) : null; + +export const createArrayValidator = (validatorsConfig: ValidatorsConfig) => { + return (arrayField: any[]) => { + const arrayErrors = arrayField.reduce( + (indexedErrors, item, currentIndex) => { + const errorsForField = validateConfigsAgainstContext(validatorsConfig, item); + return { + ...indexedErrors, + ...(Object.keys(errorsForField).length > 0 ? { [currentIndex]: errorsForField } : {}), + } as IndexedValidationErrors; + }, + {} + ); + + return Object.keys(arrayErrors).length > 0 ? arrayErrors : null; + }; +}; + +const validateConfigsAgainstContext = (validatorsConfig: ValidatorsConfig, context: any) => { + const errors = Object.entries(validatorsConfig).reduce( + (validationErrors, validationConfig) => { + const [field, validatorsOrIndexedValidator] = validationConfig; + let errorsForField; + if (Array.isArray(validatorsOrIndexedValidator)) { + errorsForField = validatorsOrIndexedValidator + .map((validator) => validator(context[field])) + .filter((result): result is IntegrationError => result !== null); + } else { + errorsForField = validatorsOrIndexedValidator(context[field]); + } + + return { + ...validationErrors, + ...((Array.isArray(errorsForField) && errorsForField.length > 0) || + (!Array.isArray(errorsForField) && errorsForField !== null) + ? { [field]: errorsForField } + : {}), + }; + }, + {} + ); + return errors; +}; diff --git a/packages/kbn-custom-integrations/src/types.ts b/packages/kbn-custom-integrations/src/types.ts new file mode 100644 index 0000000000000..062601239137a --- /dev/null +++ b/packages/kbn-custom-integrations/src/types.ts @@ -0,0 +1,76 @@ +/* + * 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. + */ +/* eslint-disable max-classes-per-file */ +import * as rt from 'io-ts'; + +export const integrationNameRT = rt.string; + +const datasetTypes = rt.keyof({ + logs: null, + metrics: null, +}); + +const dataset = rt.exact( + rt.type({ + name: rt.string, + type: datasetTypes, + }) +); + +export type Dataset = rt.TypeOf; + +export const customIntegrationOptionsRT = rt.exact( + rt.type({ + integrationName: integrationNameRT, + datasets: rt.array(dataset), + }) +); + +export type CustomIntegrationOptions = rt.TypeOf; + +export class IntegrationError extends Error { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} + +export class NamingCollisionError extends IntegrationError { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} + +export class AuthorizationError extends IntegrationError { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} + +export class UnknownError extends IntegrationError { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} + +export class DecodeError extends IntegrationError { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} + +export class IntegrationNotInstalledError extends IntegrationError { + constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} diff --git a/packages/kbn-custom-integrations/tsconfig.json b/packages/kbn-custom-integrations/tsconfig.json new file mode 100644 index 0000000000000..cb57aee9dbeaa --- /dev/null +++ b/packages/kbn-custom-integrations/tsconfig.json @@ -0,0 +1,25 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/core-http-browser", + "@kbn/i18n", + "@kbn/core", + "@kbn/fleet-plugin", + "@kbn/io-ts-utils", + "@kbn/xstate-utils" + ] +} diff --git a/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx b/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx index 54965548aa264..09de21fbe3dc9 100644 --- a/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx +++ b/packages/kbn-dom-drag-drop/src/drag_drop.test.tsx @@ -119,6 +119,28 @@ describe('DragDrop', () => { }); }); + test('dragstart sets dragClassName as expected', async () => { + const dndDispatch = jest.fn(); + const component = mount( + + + + + + ); + const dragDrop = component.find('[data-test-subj="testDragDrop"]').at(0); + + expect(dragDrop.getDOMNode().querySelector('.dragTest')).toBeNull(); + dragDrop.simulate('dragstart', { dataTransfer }); + expect(dragDrop.getDOMNode().querySelector('.dragTest')).toBeDefined(); + + act(() => { + jest.runAllTimers(); + }); + + expect(dragDrop.getDOMNode().querySelector('.dragTest')).toBeNull(); + }); + test('drop resets all the things', async () => { const preventDefault = jest.fn(); const stopPropagation = jest.fn(); diff --git a/packages/kbn-dom-drag-drop/src/drag_drop.tsx b/packages/kbn-dom-drag-drop/src/drag_drop.tsx index ab4158ad31543..b20570ee6969c 100644 --- a/packages/kbn-dom-drag-drop/src/drag_drop.tsx +++ b/packages/kbn-dom-drag-drop/src/drag_drop.tsx @@ -42,6 +42,10 @@ interface BaseProps { * The CSS class(es) for the root element. */ className?: string; + /** + * CSS class to apply when the item is being dragged + */ + dragClassName?: string; /** * The event handler that fires when an item @@ -212,6 +216,7 @@ const removeSelection = () => { const DragInner = memo(function DragInner({ dataTestSubj, className, + dragClassName, value, children, dndDispatch, @@ -305,6 +310,18 @@ const DragInner = memo(function DragInner({ // so we know we have DraggableProps if we reach this code. if (e && 'dataTransfer' in e) { e.dataTransfer.setData('text', value.humanData.label); + + // Apply an optional class to the element being dragged so the ghost + // can be styled. We must add it to the actual element for a single + // frame before removing it so the ghost picks up the styling. + const current = e.currentTarget; + + if (dragClassName && !current.classList.contains(dragClassName)) { + current.classList.add(dragClassName); + requestAnimationFrame(() => { + current.classList.remove(dragClassName); + }); + } } // Chrome causes issues if you try to render from within a diff --git a/packages/kbn-es/index.ts b/packages/kbn-es/index.ts index 3ccb220be6b52..f64664577695f 100644 --- a/packages/kbn-es/index.ts +++ b/packages/kbn-es/index.ts @@ -14,3 +14,4 @@ export { ELASTIC_SERVERLESS_SUPERUSER_PASSWORD, getDockerFileMountPath, } from './src/utils'; +export type { ArtifactLicense } from './src/artifact'; diff --git a/packages/kbn-es/src/cli_commands/archive.ts b/packages/kbn-es/src/cli_commands/archive.ts index af697975c59ed..075e47356b3dd 100644 --- a/packages/kbn-es/src/cli_commands/archive.ts +++ b/packages/kbn-es/src/cli_commands/archive.ts @@ -59,7 +59,11 @@ export const archive = { throw createCliError('you must provide a path to an ES tar file'); } - const { installPath } = await cluster.installArchive(path, options); + const { installPath } = await cluster.installArchive(path, { + basePath: options.basePath, + installPath: options.installPath, + esArgs: options.esArgs, + }); await cluster.run(installPath, { ...options, readyTimeout: parseTimeoutToMs(options.readyTimeout), diff --git a/packages/kbn-es/src/cli_commands/docker.ts b/packages/kbn-es/src/cli_commands/docker.ts index aad68bf0a1dae..3bbabe0e3f10c 100644 --- a/packages/kbn-es/src/cli_commands/docker.ts +++ b/packages/kbn-es/src/cli_commands/docker.ts @@ -28,7 +28,7 @@ export const docker: Command = { --image Full path to image of ES to run, has precedence over tag. [default: ${DOCKER_IMG}] --password Sets password for elastic user [default: ${password}] --port The port to bind to on 127.0.0.1 [default: ${DEFAULT_PORT}] - --ssl Sets up SSL and enables security plugin on Elasticsearch + --ssl Sets up HTTP and Transport SSL and enables security plugin on Elasticsearch --kill Kill running ES nodes if detected -E Additional key=value settings to pass to Elasticsearch -D Override Docker command diff --git a/packages/kbn-es/src/cli_commands/serverless.ts b/packages/kbn-es/src/cli_commands/serverless.ts index 51cc1b619017a..53f1e1b35ae74 100644 --- a/packages/kbn-es/src/cli_commands/serverless.ts +++ b/packages/kbn-es/src/cli_commands/serverless.ts @@ -11,8 +11,14 @@ import getopts from 'getopts'; import { ToolingLog } from '@kbn/tooling-log'; import { getTimeReporter } from '@kbn/ci-stats-reporter'; -import { Cluster, type ServerlessOptions } from '../cluster'; -import { SERVERLESS_REPO, SERVERLESS_TAG, SERVERLESS_IMG, DEFAULT_PORT } from '../utils'; +import { Cluster } from '../cluster'; +import { + SERVERLESS_REPO, + SERVERLESS_TAG, + SERVERLESS_IMG, + DEFAULT_PORT, + ServerlessOptions, +} from '../utils'; import { Command } from './types'; export const serverless: Command = { @@ -26,7 +32,7 @@ export const serverless: Command = { --image Full path of ESS image to run, has precedence over tag. [default: ${SERVERLESS_IMG}] --clean Remove existing file system object store before running --port The port to bind to on 127.0.0.1 [default: ${DEFAULT_PORT}] - --ssl Sets up SSL and enables security plugin on Elasticsearch + --ssl Enable HTTP SSL on Elasticsearch --kill Kill running ESS nodes if detected --background Start ESS without attaching to the first node's logs -E Additional key=value settings to pass to Elasticsearch diff --git a/packages/kbn-es/src/cli_commands/snapshot.ts b/packages/kbn-es/src/cli_commands/snapshot.ts index 837acc3395e6b..cf8a5149bc892 100644 --- a/packages/kbn-es/src/cli_commands/snapshot.ts +++ b/packages/kbn-es/src/cli_commands/snapshot.ts @@ -73,16 +73,30 @@ export const snapshot: Command = { const cluster = new Cluster({ ssl: options.ssl }); if (options['download-only']) { - await cluster.downloadSnapshot(options); + await cluster.downloadSnapshot({ + version: options.version, + license: options.license, + basePath: options.basePath, + log, + useCached: options.useCached, + }); } else { const installStartTime = Date.now(); - const { installPath } = await cluster.installSnapshot(options); + const { installPath } = await cluster.installSnapshot({ + version: options.version, + license: options.license, + basePath: options.basePath, + log, + useCached: options.useCached, + password: options.password, + esArgs: options.esArgs, + }); if (options.dataArchive) { await cluster.extractDataDirectory(installPath, options.dataArchive); } if (options.plugins) { - await cluster.installPlugins(installPath, options.plugins, options); + await cluster.installPlugins(installPath, options.plugins, options.esJavaOpts); } if (typeof options.secureFiles === 'string' && options.secureFiles) { const pairs = options.secureFiles diff --git a/packages/kbn-es/src/cli_commands/source.ts b/packages/kbn-es/src/cli_commands/source.ts index 19bb59c057ac9..6916c082676c0 100644 --- a/packages/kbn-es/src/cli_commands/source.ts +++ b/packages/kbn-es/src/cli_commands/source.ts @@ -60,13 +60,20 @@ export const source: Command = { }); const cluster = new Cluster({ ssl: options.ssl }); - const { installPath } = await cluster.installSource(options); + const { installPath } = await cluster.installSource({ + sourcePath: options.sourcePath, + license: options.license, + password: options.password, + basePath: options.basePath, + installPath: options.installPath, + esArgs: options.esArgs, + }); if (options.dataArchive) { await cluster.extractDataDirectory(installPath, options.dataArchive); } if (options.plugins) { - await cluster.installPlugins(installPath, options.plugins, options); + await cluster.installPlugins(installPath, options.plugins, options.esJavaOpts); } if (typeof options.secureFiles === 'string' && options.secureFiles) { const pairs = options.secureFiles.split(',').map((kv) => kv.split('=').map((v) => v.trim())); diff --git a/packages/kbn-es/src/cluster.js b/packages/kbn-es/src/cluster.ts similarity index 52% rename from packages/kbn-es/src/cluster.js rename to packages/kbn-es/src/cluster.ts index 084cb9c601578..00cd40875208b 100644 --- a/packages/kbn-es/src/cluster.js +++ b/packages/kbn-es/src/cluster.ts @@ -6,42 +6,49 @@ * Side Public License, v 1. */ -const fs = require('fs'); -const fsp = require('fs/promises'); -const execa = require('execa'); -const chalk = require('chalk'); -const path = require('path'); -const Rx = require('rxjs'); -const { Client } = require('@elastic/elasticsearch'); -const { downloadSnapshot, installSnapshot, installSource, installArchive } = require('./install'); -const { ES_BIN, ES_PLUGIN_BIN, ES_KEYSTORE_BIN } = require('./paths'); -const { +import fs from 'fs'; +import fsp from 'fs/promises'; +import chalk from 'chalk'; +import * as path from 'path'; +import execa from 'execa'; +import { Readable } from 'stream'; +import Rx from 'rxjs'; +import { Client } from '@elastic/elasticsearch'; +import { promisify } from 'util'; +import { CA_CERT_PATH, ES_NOPASSWORD_P12_PATH, extract } from '@kbn/dev-utils'; +import { ToolingLog } from '@kbn/tooling-log'; +import treeKill from 'tree-kill'; +import { downloadSnapshot, installSnapshot, installSource, installArchive } from './install'; +import { ES_BIN, ES_PLUGIN_BIN, ES_KEYSTORE_BIN } from './paths'; +import { + DockerOptions, extractConfigFiles, - log: defaultLog, + log as defaultLog, NativeRealm, parseEsLog, - parseTimeoutToMs, runDockerContainer, runServerlessCluster, + ServerlessOptions, stopServerlessCluster, teardownServerlessClusterSync, -} = require('./utils'); -const { createCliError } = require('./errors'); -const { promisify } = require('util'); -const treeKillAsync = promisify(require('tree-kill')); -const { parseSettings, SettingsFilter } = require('./settings'); -const { CA_CERT_PATH, ES_NOPASSWORD_P12_PATH, extract } = require('@kbn/dev-utils'); - -const DEFAULT_READY_TIMEOUT = parseTimeoutToMs('1m'); - -/** @typedef {import('./cluster_exec_options').EsClusterExecOptions} ExecOptions */ -/** @typedef {import('./utils').DockerOptions} DockerOptions */ -/** @typedef {import('./utils').ServerlessOptions}ServerlessOptions */ +} from './utils'; +import { createCliError } from './errors'; +const treeKillAsync = promisify(treeKill); +import { parseSettings, SettingsFilter } from './settings'; +import { EsClusterExecOptions } from './cluster_exec_options'; +import { + DownloadSnapshotOptions, + InstallArchiveOptions, + InstallSnapshotOptions, + InstallSourceOptions, +} from './install/types'; + +const DEFAULT_READY_TIMEOUT = 60 * 1000; // listen to data on stream until map returns anything but undefined -const first = (stream, map) => +const first = (stream: Readable, map: (data: Buffer) => string | true | undefined) => new Promise((resolve) => { - const onData = (data) => { + const onData = (data: any) => { const result = map(data); if (result !== undefined) { resolve(result); @@ -51,61 +58,66 @@ const first = (stream, map) => stream.on('data', onData); }); -exports.Cluster = class Cluster { +interface StopOptions { + gracefully: boolean; +} +export class Cluster { + private log: ToolingLog; + private ssl: boolean; + private stopCalled: boolean; + private process: execa.ExecaChildProcess | null; + private outcome: Promise | null; + private serverlessNodes: string[]; + private setupPromise: Promise | null; + private stdioTarget: NodeJS.WritableStream | null; + constructor({ log = defaultLog, ssl = false } = {}) { - this._log = log.withType('@kbn/es Cluster'); - this._ssl = ssl; + this.log = log.withType('@kbn/es Cluster'); + this.ssl = ssl; + this.stopCalled = false; + // Serverless Elasticsearch node names, started via Docker + this.serverlessNodes = []; + // properties used exclusively for the locally started Elasticsearch cluster + this.process = null; + this.outcome = null; + this.setupPromise = null; + this.stdioTarget = null; } /** * Builds and installs ES from source - * - * @param {Object} options - * @property {Array} options.installPath - * @property {Array} options.sourcePath - * @returns {Promise<{installPath}>} */ - async installSource(options = {}) { - this._log.info(chalk.bold('Installing from source')); - return await this._log.indent(4, async () => { - const { installPath } = await installSource({ log: this._log, ...options }); + async installSource(options: InstallSourceOptions) { + this.log.info(chalk.bold('Installing from source')); + return await this.log.indent(4, async () => { + const { installPath } = await installSource({ log: this.log, ...options }); return { installPath }; }); } /** * Download ES from a snapshot - * - * @param {Object} options - * @property {Array} options.installPath - * @property {Array} options.sourcePath - * @returns {Promise<{installPath}>} */ - async downloadSnapshot(options = {}) { - this._log.info(chalk.bold('Downloading snapshot')); - return await this._log.indent(4, async () => { - const { installPath } = await downloadSnapshot({ - log: this._log, + async downloadSnapshot(options: DownloadSnapshotOptions) { + this.log.info(chalk.bold('Downloading snapshot')); + return await this.log.indent(4, async () => { + const { downloadPath } = await downloadSnapshot({ + log: this.log, ...options, }); - return { installPath }; + return { downloadPath }; }); } /** * Download and installs ES from a snapshot - * - * @param {Object} options - * @property {Array} options.installPath - * @property {Array} options.sourcePath - * @returns {Promise<{installPath}>} */ - async installSnapshot(options = {}) { - this._log.info(chalk.bold('Installing from snapshot')); - return await this._log.indent(4, async () => { + async installSnapshot(options: InstallSnapshotOptions) { + this.log.info(chalk.bold('Installing from snapshot')); + return await this.log.indent(4, async () => { const { installPath } = await installSnapshot({ - log: this._log, + log: this.log, ...options, }); @@ -115,18 +127,13 @@ exports.Cluster = class Cluster { /** * Installs ES from a local tar - * - * @param {String} path - * @param {Object} options - * @property {Array} options.installPath - * @returns {Promise<{installPath}>} */ - async installArchive(path, options = {}) { - this._log.info(chalk.bold('Installing from an archive')); - return await this._log.indent(4, async () => { - const { installPath } = await installArchive(path, { - log: this._log, - ...options, + async installArchive(archivePath: string, options?: InstallArchiveOptions) { + this.log.info(chalk.bold('Installing from an archive')); + return await this.log.indent(4, async () => { + const { installPath } = await installArchive(archivePath, { + log: this.log, + ...(options || {}), }); return { installPath }; @@ -134,21 +141,16 @@ exports.Cluster = class Cluster { } /** - * Unpacks a tar or zip file containing the data directory for an - * ES cluster. - * - * @param {String} installPath - * @param {String} archivePath - * @param {String} [extractDirName] + * Unpacks a tar or zip file containing the data directory for an ES cluster. */ - async extractDataDirectory(installPath, archivePath, extractDirName = 'data') { - this._log.info(chalk.bold(`Extracting data directory`)); - await this._log.indent(4, async () => { + async extractDataDirectory(installPath: string, archivePath: string, extractDirName = 'data') { + this.log.info(chalk.bold(`Extracting data directory`)); + await this.log.indent(4, async () => { // stripComponents=1 excludes the root directory as that is how our archives are // structured. This works in our favor as we can explicitly extract into the data dir const extractPath = path.resolve(installPath, extractDirName); - this._log.info(`Data archive: ${archivePath}`); - this._log.info(`Extract path: ${extractPath}`); + this.log.info(`Data archive: ${archivePath}`); + this.log.info(`Extract path: ${extractPath}`); await extract({ archivePath, @@ -159,30 +161,28 @@ exports.Cluster = class Cluster { } /** - * Starts ES and returns resolved promise once started - * - * @param {String} installPath - * @param {String} plugins - comma separated list of plugins to install - * @param {Object} options - * @returns {Promise} + * Installs comma separated list of ES plugins to the specified path */ - async installPlugins(installPath, plugins, options) { - const esJavaOpts = this.javaOptions(options); + async installPlugins(installPath: string, plugins: string, esJavaOpts?: string) { + const javaOpts = this.getJavaOptions(esJavaOpts); for (const plugin of plugins.split(',')) { await execa(ES_PLUGIN_BIN, ['install', plugin.trim()], { cwd: installPath, env: { JAVA_HOME: '', // By default, we want to always unset JAVA_HOME so that the bundled JDK will be used - ES_JAVA_OPTS: esJavaOpts.trim(), + ES_JAVA_OPTS: javaOpts, }, }); } } - async configureKeystoreWithSecureSettingsFiles(installPath, secureSettingsFiles) { + async configureKeystoreWithSecureSettingsFiles( + installPath: string, + secureSettingsFiles: string[][] + ) { const env = { JAVA_HOME: '' }; for (const [secureSettingName, secureSettingFile] of secureSettingsFiles) { - this._log.info( + this.log.info( `setting secure setting %s to %s`, chalk.bold(secureSettingName), chalk.bold(secureSettingFile) @@ -196,49 +196,45 @@ exports.Cluster = class Cluster { /** * Starts ES and returns resolved promise once started - * - * @param {String} installPath - * @param {ExecOptions} options - * @returns {Promise} */ - async start(installPath, options = {}) { - // _exec indents and we wait for our own end condition, so reset the indent level to it's current state after we're done waiting - await this._log.indent(0, async () => { - this._exec(installPath, options); + async start(installPath: string, options: EsClusterExecOptions) { + // `exec` indents and we wait for our own end condition, so reset the indent level to it's current state after we're done waiting + await this.log.indent(0, async () => { + this.exec(installPath, options); await Promise.race([ // wait for native realm to be setup and es to be started Promise.all([ - first(this._process.stdout, (data) => { - if (/started/.test(data)) { + first(this.process?.stdout!, (data: Buffer) => { + if (/started/.test(data.toString('utf-8'))) { return true; } }), - this._setupPromise, + this.setupPromise, ]), // await the outcome of the process in case it exits before starting - this._outcome.then(() => { + this.outcome?.then(() => { throw createCliError('ES exited without starting'); }), ]); }); if (options.onEarlyExit) { - this._outcome - .then( + this.outcome + ?.then( () => { - if (!this._stopCalled) { + if (!this.stopCalled && options.onEarlyExit) { options.onEarlyExit(`ES exitted unexpectedly`); } }, - (error) => { - if (!this._stopCalled) { + (error: Error) => { + if (!this.stopCalled && options.onEarlyExit) { options.onEarlyExit(`ES exitted unexpectedly: ${error.stack}`); } } ) - .catch((error) => { + .catch((error: Error) => { throw new Error(`failure handling early exit: ${error.stack}`); }); } @@ -246,85 +242,75 @@ exports.Cluster = class Cluster { /** * Starts Elasticsearch and waits for Elasticsearch to exit - * - * @param {String} installPath - * @param {ExecOptions} options - * @returns {Promise} */ - async run(installPath, options = {}) { - // _exec indents and we wait for our own end condition, so reset the indent level to it's current state after we're done waiting - await this._log.indent(0, async () => { - this._exec(installPath, options); + async run(installPath: string, options: EsClusterExecOptions) { + // `exec` indents and we wait for our own end condition, so reset the indent level to it's current state after we're done waiting + await this.log.indent(0, async () => { + this.exec(installPath, options); // log native realm setup errors so they aren't uncaught - this._setupPromise.catch((error) => { - this._log.error(error); + this.setupPromise?.catch((error: Error) => { + this.log.error(error); this.stop(); }); // await the final outcome of the process - await this._outcome; + await this.outcome; }); } /** - * Stops ES process, if it's running - * - * @returns {Promise} + * Stops cluster */ - async stop() { - if (this._stopCalled) { + private async stopCluster(options: StopOptions) { + if (this.stopCalled) { return; } - this._stopCalled = true; + this.stopCalled = true; - if (this._serverlessNodes?.length) { - return await stopServerlessCluster(this._log, this._serverlessNodes); + // Stop ES docker containers + if (this.serverlessNodes.length) { + return await stopServerlessCluster(this.log, this.serverlessNodes); } - if (!this._process || !this._outcome) { + // Stop local ES process + if (!this.process || !this.outcome) { throw new Error('ES has not been started'); } - await treeKillAsync(this._process.pid); + const pid = this.process.pid; - await this._outcome; + if (pid) { + await treeKillAsync(pid, options.gracefully ? 'SIGTERM' : 'SIGKILL'); + } else { + throw Error(`ES process pid is not defined, can't stop it`); + } + + await this.outcome; } /** - * Stops ES process, it it's running, without waiting for it to shutdown gracefully + * Stops ES process, if it's running */ - async kill() { - if (this._stopCalled) { - return; - } - - this._stopCalled; - - if (this._serverlessNodes?.length) { - return await stopServerlessCluster(this._log, this._serverlessNodes); - } - - if (!this._process || !this._outcome) { - throw new Error('ES has not been started'); - } + async stop() { + await this.stopCluster({ gracefully: true }); + } - await treeKillAsync(this._process.pid, 'SIGKILL'); - await this._outcome; + /** + * Stops ES process without waiting for it to shutdown gracefully + */ + async kill() { + await this.stopCluster({ gracefully: false }); } /** * Common logic from this.start() and this.run() * - * Start the elasticsearch process (stored at `this._process`) - * and "pipe" its stdio to `this._log`. Also create `this._outcome` + * Start the Elasticsearch process (stored at `this.process`) + * and "pipe" its stdio to `this.log`. Also create `this.outcome` * which will be resolved/rejected when the process exits. - * - * @private - * @param {String} installPath - * @param {ExecOptions} opts */ - _exec(installPath, opts = {}) { + private exec(installPath: string, opts: EsClusterExecOptions) { const { skipNativeRealmSetup = false, reportTime = () => {}, @@ -335,24 +321,21 @@ exports.Cluster = class Cluster { ...options } = opts; - if (this._process || this._outcome) { + if (this.process || this.outcome) { throw new Error('ES has already been started'); } - /** @type {NodeJS.WritableStream | undefined} */ - let stdioTarget; - if (writeLogsToPath) { - stdioTarget = fs.createWriteStream(writeLogsToPath, 'utf8'); - this._log.info( + this.stdioTarget = fs.createWriteStream(writeLogsToPath, 'utf8'); + this.log.info( chalk.bold('Starting'), - `and writing logs to ${path.relative(process.cwd(), writeLogsToPath)}` + `and writing logs to ${path.resolve(process.cwd(), writeLogsToPath)}` ); } else { - this._log.info(chalk.bold('Starting')); + this.log.info(chalk.bold('Starting')); } - this._log.indent(4); + this.log.indent(4); const esArgs = new Map([ ['action.destructive_requires_name', 'true'], @@ -362,13 +345,18 @@ exports.Cluster = class Cluster { ]); // options.esArgs overrides the default esArg values - for (const arg of [].concat(options.esArgs || [])) { + const _esArgs = options.esArgs + ? Array.isArray(options.esArgs) + ? options.esArgs + : [options.esArgs] + : []; + for (const arg of _esArgs) { const [key, ...value] = arg.split('='); esArgs.set(key.trim(), value.join('=').trim()); } // Add to esArgs if ssl is enabled - if (this._ssl) { + if (this.ssl) { esArgs.set('xpack.security.http.ssl.enabled', 'true'); // Include default keystore settings only if ssl isn't disabled by esArgs and keystore isn't configured. if (!esArgs.get('xpack.security.http.ssl.keystore.path')) { @@ -383,22 +371,23 @@ exports.Cluster = class Cluster { extractConfigFiles( Array.from(esArgs).map((e) => e.join('=')), installPath, - { log: this._log } + { log: this.log } ), { filter: SettingsFilter.NonSecureOnly, } ).reduce( - (acc, [settingName, settingValue]) => acc.concat(['-E', `${settingName}=${settingValue}`]), + (acc: string[], [settingName, settingValue]) => + acc.concat(['-E', `${settingName}=${settingValue}`]), [] ); - this._log.info('%s %s', ES_BIN, args.join(' ')); - const esJavaOpts = this.javaOptions(options); + this.log.info('%s %s', ES_BIN, args.join(' ')); + const esJavaOpts = this.getJavaOptions(options.esJavaOpts); - this._log.info('ES_JAVA_OPTS: %s', esJavaOpts); + this.log.info('ES_JAVA_OPTS: %s', esJavaOpts); - this._process = execa(ES_BIN, args, { + this.process = execa(ES_BIN, args, { cwd: installPath, env: { ...(installPath ? { ES_TMPDIR: path.resolve(installPath, 'ES_TMPDIR') } : {}), @@ -409,9 +398,9 @@ exports.Cluster = class Cluster { stdio: ['ignore', 'pipe', 'pipe'], }); - this._setupPromise = Promise.all([ + this.setupPromise = Promise.all([ // parse log output to find http port - first(this._process.stdout, (data) => { + first(this.process.stdout!, (data: Buffer) => { const match = data.toString('utf8').match(/HttpServer.+publish_address {[0-9.]+:([0-9]+)/); if (match) { @@ -420,13 +409,13 @@ exports.Cluster = class Cluster { }), // load the CA cert from disk if necessary - this._ssl ? fsp.readFile(CA_CERT_PATH) : null, + this.ssl ? fsp.readFile(CA_CERT_PATH) : null, ]).then(async ([port, caCert]) => { const client = new Client({ node: `${caCert ? 'https:' : 'http:'}//localhost:${port}`, auth: { username: 'elastic', - password: options.password, + password: options.password!, }, tls: caCert ? { @@ -437,13 +426,13 @@ exports.Cluster = class Cluster { }); if (!skipReadyCheck) { - await this._waitForClusterReady(client, readyTimeout); + await this.waitForClusterReady(client, readyTimeout); } // once the cluster is ready setup the native realm if (!skipNativeRealmSetup) { const nativeRealm = new NativeRealm({ - log: this._log, + log: this.log, elasticPassword: options.password, client, }); @@ -451,12 +440,12 @@ exports.Cluster = class Cluster { await nativeRealm.setPasswords(options); } - this._log.success('kbn/es setup complete'); + this.log.success('kbn/es setup complete'); }); let reportSent = false; // parse and forward es stdout to the log - this._process.stdout.on('data', (data) => { + this.process.stdout!.on('data', (data) => { const chunk = data.toString(); const lines = parseEsLog(chunk); lines.forEach((line) => { @@ -467,40 +456,40 @@ exports.Cluster = class Cluster { }); } - if (stdioTarget) { - stdioTarget.write(chunk); + if (this.stdioTarget) { + this.stdioTarget.write(chunk); } else { - this._log.info(line.formattedMessage); + this.log.info(line.formattedMessage); } }); }); // forward es stderr to the log - this._process.stderr.on('data', (data) => { + this.process.stderr!.on('data', (data) => { const chunk = data.toString(); - if (stdioTarget) { - stdioTarget.write(chunk); + if (this.stdioTarget) { + this.stdioTarget.write(chunk); } else { - this._log.error(chalk.red(chunk.trim())); + this.log.error(chalk.red(chunk.trim())); } }); // close the stdio target if we have one defined - if (stdioTarget) { + if (this.stdioTarget) { Rx.combineLatest([ - Rx.fromEvent(this._process.stderr, 'end'), - Rx.fromEvent(this._process.stdout, 'end'), + Rx.fromEvent(this.process.stderr!, 'end'), + Rx.fromEvent(this.process.stdout!, 'end'), ]) .pipe(Rx.first()) .subscribe(() => { - stdioTarget.end(); + this.stdioTarget?.end(); }); } - // observe the exit code of the process and reflect in _outcome promises - const exitCode = new Promise((resolve) => this._process.once('exit', resolve)); - this._outcome = exitCode.then((code) => { - if (this._stopCalled) { + // observe the exit code of the process and reflect in `this.outcome` promises + const exitCode: Promise = new Promise((resolve) => this.process?.once('exit', resolve)); + this.outcome = exitCode.then((code) => { + if (this.stopCalled) { return; } @@ -520,11 +509,11 @@ exports.Cluster = class Cluster { }); } - async _waitForClusterReady(client, readyTimeout = DEFAULT_READY_TIMEOUT) { + async waitForClusterReady(client: Client, readyTimeout = DEFAULT_READY_TIMEOUT) { let attempt = 0; const start = Date.now(); - this._log.info('waiting for ES cluster to report a yellow or green status'); + this.log.info('waiting for ES cluster to report a yellow or green status'); while (true) { attempt += 1; @@ -545,10 +534,10 @@ exports.Cluster = class Cluster { if (error.message.startsWith('not ready,')) { if (timeSinceStart > 10_000) { - this._log.warning(error.message); + this.log.warning(error.message); } } else { - this._log.warning( + this.log.warning( `waiting for ES cluster to come online, attempt ${attempt} failed with: ${error.message}` ); } @@ -559,9 +548,8 @@ exports.Cluster = class Cluster { } } - javaOptions(options) { - let esJavaOpts = `${options.esJavaOpts || ''} ${process.env.ES_JAVA_OPTS || ''}`; - + private getJavaOptions(opts: string | undefined) { + let esJavaOpts = `${opts || ''} ${process.env.ES_JAVA_OPTS || ''}`; // ES now automatically sets heap size to 50% of the machine's available memory // so we need to set it to a smaller size for local dev and CI // especially because we currently run many instances of ES on the same machine during CI @@ -574,36 +562,38 @@ exports.Cluster = class Cluster { } /** - * Run an Elasticsearch Serverless Docker cluster - * - * @param {ServerlessOptions} options + * Runs an Elasticsearch Serverless Docker cluster and returns node names */ - async runServerless(options = {}) { - if (this._process || this._outcome) { - throw new Error('ES has already been started'); + async runServerless(options: ServerlessOptions) { + if (this.process || this.outcome) { + throw new Error('ES stateful cluster has already been started'); } - this._serverlessNodes = await runServerlessCluster(this._log, options); + if (this.serverlessNodes.length > 0) { + throw new Error('ES serverless docker cluster has already been started'); + } + + this.serverlessNodes = await runServerlessCluster(this.log, options); if (options.teardown) { /** * Ideally would be async and an event like beforeExit or SIGINT, * but those events are not being triggered in FTR child process. */ - process.on('exit', () => teardownServerlessClusterSync(this._log, options)); + process.on('exit', () => teardownServerlessClusterSync(this.log, options)); } + + return this.serverlessNodes; } /** * Run an Elasticsearch Docker container - * - * @param {DockerOptions} options */ - async runDocker(options = {}) { - if (this._process || this._outcome) { - throw new Error('ES has already been started'); + async runDocker(options: DockerOptions) { + if (this.process || this.outcome) { + throw new Error('ES stateful cluster has already been started'); } - this._process = await runDockerContainer(this._log, options); + await runDockerContainer(this.log, options); } -}; +} diff --git a/packages/kbn-es/src/ess_resources/secrets.json b/packages/kbn-es/src/ess_resources/secrets.json index ceb7366ee5321..a70e5cf711c19 100644 --- a/packages/kbn-es/src/ess_resources/secrets.json +++ b/packages/kbn-es/src/ess_resources/secrets.json @@ -4,7 +4,6 @@ "compatibility": "8.11.0" }, "string_secrets": { - "xpack.security.http.ssl.keystore.secure_password": "storepass", "xpack.security.transport.ssl.keystore.secure_password": "storepass", "xpack.security.authc.realms.jwt.jwt1.client_authentication.shared_secret": "my_super_secret" } diff --git a/packages/kbn-es/src/ess_resources/secrets_ssl.json b/packages/kbn-es/src/ess_resources/secrets_ssl.json new file mode 100644 index 0000000000000..ceb7366ee5321 --- /dev/null +++ b/packages/kbn-es/src/ess_resources/secrets_ssl.json @@ -0,0 +1,11 @@ +{ + "metadata": { + "version": "1", + "compatibility": "8.11.0" + }, + "string_secrets": { + "xpack.security.http.ssl.keystore.secure_password": "storepass", + "xpack.security.transport.ssl.keystore.secure_password": "storepass", + "xpack.security.authc.realms.jwt.jwt1.client_authentication.shared_secret": "my_super_secret" + } +} \ No newline at end of file diff --git a/packages/kbn-es/src/install/install_archive.ts b/packages/kbn-es/src/install/install_archive.ts index 9ccf00e09cf85..352b0fe6007db 100644 --- a/packages/kbn-es/src/install/install_archive.ts +++ b/packages/kbn-es/src/install/install_archive.ts @@ -19,15 +19,7 @@ import { BASE_PATH, ES_CONFIG, ES_KEYSTORE_BIN } from '../paths'; import { Artifact } from '../artifact'; import { parseSettings, SettingsFilter } from '../settings'; import { log as defaultLog } from '../utils/log'; - -interface InstallArchiveOptions { - license?: string; - password?: string; - basePath?: string; - installPath?: string; - log?: ToolingLog; - esArgs?: string[]; -} +import { InstallArchiveOptions } from './types'; const isHttpUrl = (str: string) => { try { @@ -40,7 +32,7 @@ const isHttpUrl = (str: string) => { /** * Extracts an ES archive and optionally installs plugins */ -export async function installArchive(archive: string, options: InstallArchiveOptions = {}) { +export async function installArchive(archive: string, options?: InstallArchiveOptions) { const { license = 'basic', password = 'changeme', @@ -48,7 +40,7 @@ export async function installArchive(archive: string, options: InstallArchiveOpt installPath = path.resolve(basePath, path.basename(archive, '.tar.gz')), log = defaultLog, esArgs = [], - } = options; + } = options || {}; let dest = archive; if (isHttpUrl(archive)) { diff --git a/packages/kbn-es/src/install/install_snapshot.ts b/packages/kbn-es/src/install/install_snapshot.ts index 1ab0facfd2601..e4a7fbd678f78 100644 --- a/packages/kbn-es/src/install/install_snapshot.ts +++ b/packages/kbn-es/src/install/install_snapshot.ts @@ -7,23 +7,13 @@ */ import path from 'path'; - import chalk from 'chalk'; -import { ToolingLog } from '@kbn/tooling-log'; import { BASE_PATH } from '../paths'; import { installArchive } from './install_archive'; import { log as defaultLog } from '../utils/log'; -import { Artifact, ArtifactLicense } from '../artifact'; - -interface DownloadSnapshotOptions { - version: string; - license?: ArtifactLicense; - basePath?: string; - installPath?: string; - log?: ToolingLog; - useCached?: boolean; -} +import { Artifact } from '../artifact'; +import { DownloadSnapshotOptions, InstallSnapshotOptions } from './types'; /** * Download an ES snapshot @@ -49,11 +39,6 @@ export async function downloadSnapshot({ }; } -interface InstallSnapshotOptions extends DownloadSnapshotOptions { - password?: string; - esArgs?: string[]; -} - /** * Installs ES from snapshot */ diff --git a/packages/kbn-es/src/install/install_source.ts b/packages/kbn-es/src/install/install_source.ts index 27b2fba7cf635..b3fca2b2ac046 100644 --- a/packages/kbn-es/src/install/install_source.ts +++ b/packages/kbn-es/src/install/install_source.ts @@ -20,16 +20,7 @@ import { log as defaultLog } from '../utils/log'; import { cache } from '../utils/cache'; import { buildSnapshot, archiveForPlatform } from '../utils/build_snapshot'; import { BASE_PATH } from '../paths'; - -interface InstallSourceOptions { - sourcePath: string; - license?: string; - password?: string; - basePath?: string; - installPath?: string; - log?: ToolingLog; - esArgs?: string[]; -} +import { InstallSourceOptions } from './types'; /** * Installs ES from source diff --git a/packages/kbn-es/src/install/types.ts b/packages/kbn-es/src/install/types.ts new file mode 100644 index 0000000000000..e4b750c0ec472 --- /dev/null +++ b/packages/kbn-es/src/install/types.ts @@ -0,0 +1,43 @@ +/* + * 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 { ToolingLog } from '@kbn/tooling-log'; +import type { ArtifactLicense } from '../artifact'; + +export interface InstallSourceOptions { + sourcePath: string; + license?: ArtifactLicense; + password?: string; + basePath?: string; + installPath?: string; + log?: ToolingLog; + esArgs?: string[]; +} + +export interface DownloadSnapshotOptions { + version: string; + license?: ArtifactLicense; + basePath?: string; + installPath?: string; + log?: ToolingLog; + useCached?: boolean; +} + +export interface InstallSnapshotOptions extends DownloadSnapshotOptions { + password?: string; + esArgs?: string[]; +} + +export interface InstallArchiveOptions { + license?: ArtifactLicense; + password?: string; + basePath?: string; + installPath?: string; + log?: ToolingLog; + esArgs?: string[]; +} diff --git a/packages/kbn-es/src/integration_tests/cluster.test.js b/packages/kbn-es/src/integration_tests/cluster.test.js deleted file mode 100644 index 9f62e0c46a018..0000000000000 --- a/packages/kbn-es/src/integration_tests/cluster.test.js +++ /dev/null @@ -1,490 +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 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. - */ - -const { ES_NOPASSWORD_P12_PATH } = require('@kbn/dev-utils'); -const { ToolingLog, ToolingLogCollectingWriter } = require('@kbn/tooling-log'); -const { createAnyInstanceSerializer, createStripAnsiSerializer } = require('@kbn/jest-serializers'); -const execa = require('execa'); -const { Cluster } = require('../cluster'); -const { installSource, installSnapshot, installArchive } = require('../install'); -const { extractConfigFiles } = require('../utils/extract_config_files'); - -expect.addSnapshotSerializer(createAnyInstanceSerializer(ToolingLog)); -expect.addSnapshotSerializer(createStripAnsiSerializer()); - -jest.mock('../install', () => ({ - installSource: jest.fn(), - installSnapshot: jest.fn(), - installArchive: jest.fn(), -})); - -jest.mock('execa', () => jest.fn()); -jest.mock('../utils/extract_config_files', () => ({ - extractConfigFiles: jest.fn(), -})); - -const log = new ToolingLog(); -const logWriter = new ToolingLogCollectingWriter(); -log.setWriters([logWriter]); - -function sleep(ms) { - return new Promise((resolve) => setTimeout(resolve, ms)); -} - -async function ensureNoResolve(promise) { - await Promise.race([ - sleep(100), - promise.then(() => { - throw new Error('promise was not supposed to resolve'); - }), - ]); -} - -async function ensureResolve(promise) { - return await Promise.race([ - promise, - sleep(100).then(() => { - throw new Error('promise was supposed to resolve with installSource() resolution'); - }), - ]); -} - -function mockEsBin({ exitCode, start }) { - execa.mockImplementationOnce((cmd, args, options) => - jest.requireActual('execa')( - process.execPath, - [ - '--require=@kbn/babel-register/install', - require.resolve('./__fixtures__/es_bin.js'), - JSON.stringify({ - exitCode, - start, - ssl: args.includes('xpack.security.http.ssl.enabled=true'), - }), - ], - options - ) - ); -} - -const initialEnv = { ...process.env }; - -beforeEach(() => { - jest.resetAllMocks(); - extractConfigFiles.mockImplementation((config) => config); - log.indent(-log.getIndent()); - logWriter.messages.length = 0; -}); - -afterEach(() => { - process.env = { ...initialEnv }; -}); - -describe('#installSource()', () => { - it('awaits installSource() promise and returns { installPath }', async () => { - let resolveInstallSource; - installSource.mockImplementationOnce( - () => - new Promise((resolve) => { - resolveInstallSource = () => { - resolve({ installPath: 'foo' }); - }; - }) - ); - - const cluster = new Cluster({ log }); - const promise = cluster.installSource(); - await ensureNoResolve(promise); - resolveInstallSource(); - await expect(ensureResolve(promise)).resolves.toEqual({ - installPath: 'foo', - }); - }); - - it('passes through all options+log to installSource()', async () => { - installSource.mockResolvedValue({}); - const cluster = new Cluster({ log }); - await cluster.installSource({ foo: 'bar' }); - expect(installSource.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - Object { - "foo": "bar", - "log": , - }, - ], - ] - `); - expect(logWriter.messages).toMatchInlineSnapshot(` - Array [ - " info source[@kbn/es Cluster] Installing from source", - ] - `); - }); - - it('rejects if installSource() rejects', async () => { - installSource.mockRejectedValue(new Error('foo')); - const cluster = new Cluster({ log }); - await expect(cluster.installSource()).rejects.toThrowError('foo'); - }); -}); - -describe('#installSnapshot()', () => { - it('awaits installSnapshot() promise and returns { installPath }', async () => { - let resolveInstallSnapshot; - installSnapshot.mockImplementationOnce( - () => - new Promise((resolve) => { - resolveInstallSnapshot = () => { - resolve({ installPath: 'foo' }); - }; - }) - ); - - const cluster = new Cluster({ log }); - const promise = cluster.installSnapshot(); - await ensureNoResolve(promise); - resolveInstallSnapshot(); - await expect(ensureResolve(promise)).resolves.toEqual({ - installPath: 'foo', - }); - }); - - it('passes through all options+log to installSnapshot()', async () => { - installSnapshot.mockResolvedValue({}); - const cluster = new Cluster({ log }); - await cluster.installSnapshot({ foo: 'bar' }); - expect(installSnapshot.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - Object { - "foo": "bar", - "log": , - }, - ], - ] - `); - expect(logWriter.messages).toMatchInlineSnapshot(` - Array [ - " info source[@kbn/es Cluster] Installing from snapshot", - ] - `); - }); - - it('rejects if installSnapshot() rejects', async () => { - installSnapshot.mockRejectedValue(new Error('foo')); - const cluster = new Cluster({ log }); - await expect(cluster.installSnapshot()).rejects.toThrowError('foo'); - }); -}); - -describe('#installArchive(path)', () => { - it('awaits installArchive() promise and returns { installPath }', async () => { - let resolveInstallArchive; - installArchive.mockImplementationOnce( - () => - new Promise((resolve) => { - resolveInstallArchive = () => { - resolve({ installPath: 'foo' }); - }; - }) - ); - - const cluster = new Cluster({ log }); - const promise = cluster.installArchive(); - await ensureNoResolve(promise); - resolveInstallArchive(); - await expect(ensureResolve(promise)).resolves.toEqual({ - installPath: 'foo', - }); - }); - - it('passes through path and all options+log to installArchive()', async () => { - installArchive.mockResolvedValue({}); - const cluster = new Cluster({ log }); - await cluster.installArchive('path', { foo: 'bar' }); - expect(installArchive.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - "path", - Object { - "foo": "bar", - "log": , - }, - ], - ] - `); - expect(logWriter.messages).toMatchInlineSnapshot(` - Array [ - " info source[@kbn/es Cluster] Installing from an archive", - ] - `); - }); - - it('rejects if installArchive() rejects', async () => { - installArchive.mockRejectedValue(new Error('foo')); - const cluster = new Cluster({ log }); - await expect(cluster.installArchive()).rejects.toThrowError('foo'); - }); -}); - -describe('#start(installPath)', () => { - it('rejects when bin/elasticsearch exists with 0 before starting', async () => { - mockEsBin({ exitCode: 0, start: false }); - - await expect(new Cluster({ log }).start()).rejects.toThrowError('ES exited without starting'); - }); - - it('rejects when bin/elasticsearch exists with 143 before starting', async () => { - mockEsBin({ exitCode: 143, start: false }); - - await expect(new Cluster({ log }).start()).rejects.toThrowError('ES exited without starting'); - }); - - it('rejects when bin/elasticsearch exists with 130 before starting', async () => { - mockEsBin({ exitCode: 130, start: false }); - - await expect(new Cluster({ log }).start()).rejects.toThrowError('ES exited without starting'); - }); - - it('rejects when bin/elasticsearch exists with 1 before starting', async () => { - mockEsBin({ exitCode: 1, start: false }); - - await expect(new Cluster({ log }).start()).rejects.toThrowError('ES exited with code 1'); - }); - - it('resolves when bin/elasticsearch logs "started"', async () => { - mockEsBin({ start: true }); - - await new Cluster({ log }).start(); - }); - - it('rejects if #start() was called previously', async () => { - mockEsBin({ start: true }); - - const cluster = new Cluster({ log }); - await cluster.start(); - await expect(cluster.start()).rejects.toThrowError('ES has already been started'); - }); - - it('rejects if #run() was called previously', async () => { - mockEsBin({ start: true }); - - const cluster = new Cluster({ log }); - await cluster.run(); - await expect(cluster.start()).rejects.toThrowError('ES has already been started'); - }); - - it('sets up SSL when enabled', async () => { - mockEsBin({ start: true, ssl: true }); - - const cluster = new Cluster({ log, ssl: true }); - await cluster.start(); - - const config = extractConfigFiles.mock.calls[0][0]; - expect(config).toContain('xpack.security.http.ssl.enabled=true'); - expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_NOPASSWORD_P12_PATH}`); - expect(config).toContain(`xpack.security.http.ssl.keystore.type=PKCS12`); - }); - - it(`doesn't setup SSL when disabled`, async () => { - mockEsBin({ start: true }); - - extractConfigFiles.mockReturnValueOnce([]); - - const cluster = new Cluster({ log, ssl: false }); - await cluster.start(); - - expect(extractConfigFiles.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - Array [ - "action.destructive_requires_name=true", - "cluster.routing.allocation.disk.threshold_enabled=false", - "ingest.geoip.downloader.enabled=false", - "search.check_ccs_compatibility=true", - ], - undefined, - Object { - "log": , - }, - ], - ] - `); - }); - - it(`allows overriding search.check_ccs_compatibility`, async () => { - mockEsBin({ start: true }); - - extractConfigFiles.mockReturnValueOnce([]); - - const cluster = new Cluster({ - log, - ssl: false, - }); - - await cluster.start(undefined, { - esArgs: ['search.check_ccs_compatibility=false'], - }); - - expect(extractConfigFiles.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - Array [ - "action.destructive_requires_name=true", - "cluster.routing.allocation.disk.threshold_enabled=false", - "ingest.geoip.downloader.enabled=false", - "search.check_ccs_compatibility=false", - ], - undefined, - Object { - "log": , - }, - ], - ] - `); - }); -}); - -describe('#run()', () => { - it('resolves when bin/elasticsearch exists with 0', async () => { - mockEsBin({ exitCode: 0 }); - - await new Cluster({ log }).run(); - }); - - it('resolves when bin/elasticsearch exists with 143', async () => { - mockEsBin({ exitCode: 143 }); - - await new Cluster({ log }).run(); - }); - - it('resolves when bin/elasticsearch exists with 130', async () => { - mockEsBin({ exitCode: 130 }); - - await new Cluster({ log }).run(); - }); - - it('rejects when bin/elasticsearch exists with 1', async () => { - mockEsBin({ exitCode: 1 }); - - await expect(new Cluster({ log }).run()).rejects.toThrowError('ES exited with code 1'); - }); - - it('rejects if #start() was called previously', async () => { - mockEsBin({ exitCode: 0, start: true }); - - const cluster = new Cluster({ log }); - await cluster.start(); - await expect(cluster.run()).rejects.toThrowError('ES has already been started'); - }); - - it('rejects if #run() was called previously', async () => { - mockEsBin({ exitCode: 0 }); - - const cluster = new Cluster({ log }); - await cluster.run(); - await expect(cluster.run()).rejects.toThrowError('ES has already been started'); - }); - - it('sets up SSL when enabled', async () => { - mockEsBin({ start: true, ssl: true }); - - const cluster = new Cluster({ log, ssl: true }); - await cluster.run(); - - const config = extractConfigFiles.mock.calls[0][0]; - expect(config).toContain('xpack.security.http.ssl.enabled=true'); - expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_NOPASSWORD_P12_PATH}`); - expect(config).toContain(`xpack.security.http.ssl.keystore.type=PKCS12`); - }); - - it(`doesn't setup SSL when disabled`, async () => { - mockEsBin({ start: true }); - - extractConfigFiles.mockReturnValueOnce([]); - - const cluster = new Cluster({ log, ssl: false }); - await cluster.run(); - - expect(extractConfigFiles.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - Array [ - "action.destructive_requires_name=true", - "cluster.routing.allocation.disk.threshold_enabled=false", - "ingest.geoip.downloader.enabled=false", - "search.check_ccs_compatibility=true", - ], - undefined, - Object { - "log": , - }, - ], - ] - `); - }); - - it('sets default Java heap', async () => { - mockEsBin({ start: true }); - - const cluster = new Cluster({ log }); - await cluster.run(); - - expect(execa.mock.calls[0][2].env.ES_JAVA_OPTS).toMatchInlineSnapshot(`"-Xms1536m -Xmx1536m"`); - }); - - it('allows Java heap to be overwritten', async () => { - mockEsBin({ start: true }); - process.env.ES_JAVA_OPTS = '-Xms5g -Xmx5g'; - - const cluster = new Cluster({ log }); - await cluster.run(); - - expect(execa.mock.calls[0][2].env.ES_JAVA_OPTS).toMatchInlineSnapshot(`"-Xms5g -Xmx5g"`); - }); -}); - -describe('#stop()', () => { - it('rejects if #run() or #start() was not called', async () => { - const cluster = new Cluster({ log }); - await expect(cluster.stop()).rejects.toThrowError('ES has not been started'); - }); - - it('resolves when ES exits with 0', async () => { - mockEsBin({ exitCode: 0, start: true }); - - const cluster = new Cluster({ log }); - await cluster.start(); - await cluster.stop(); - }); - - it('resolves when ES exits with 143', async () => { - mockEsBin({ exitCode: 143, start: true }); - - const cluster = new Cluster({ log }); - await cluster.start(); - await cluster.stop(); - }); - - it('resolves when ES exits with 130', async () => { - mockEsBin({ exitCode: 130, start: true }); - - const cluster = new Cluster({ log }); - await cluster.start(); - await cluster.stop(); - }); - - it('rejects when ES exits with 1', async () => { - mockEsBin({ exitCode: 1, start: true }); - - const cluster = new Cluster({ log }); - await expect(cluster.run()).rejects.toThrowError('ES exited with code 1'); - await expect(cluster.stop()).rejects.toThrowError('ES exited with code 1'); - }); -}); diff --git a/packages/kbn-es/src/integration_tests/cluster.test.ts b/packages/kbn-es/src/integration_tests/cluster.test.ts new file mode 100644 index 0000000000000..3d33e2f299a0a --- /dev/null +++ b/packages/kbn-es/src/integration_tests/cluster.test.ts @@ -0,0 +1,815 @@ +/* + * 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 { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; +import * as extractConfig from '../utils/extract_config_files'; +import * as dockerUtils from '../utils/docker'; +import { createAnyInstanceSerializer, createStripAnsiSerializer } from '@kbn/jest-serializers'; +import * as installUtils from '../install'; +import { Cluster } from '../cluster'; +import { ES_NOPASSWORD_P12_PATH } from '@kbn/dev-utils/src/certs'; +import { + DownloadSnapshotOptions, + InstallArchiveOptions, + InstallSnapshotOptions, + InstallSourceOptions, +} from '../install/types'; + +expect.addSnapshotSerializer(createAnyInstanceSerializer(ToolingLog)); +expect.addSnapshotSerializer(createStripAnsiSerializer()); + +const log = new ToolingLog(); +const logWriter = new ToolingLogCollectingWriter(); +log.setWriters([logWriter]); +const KIBANA_ROOT = process.cwd(); +const installPath = `${KIBANA_ROOT}/.es`; +const esClusterExecOptions = {}; +const initialEnv = { ...process.env }; + +const sleep = (ms: number) => { + return new Promise((resolve) => setTimeout(resolve, ms)); +}; + +const ensureResolve = async (promise: Promise, name: string) => { + return await Promise.race([ + promise, + sleep(100).then(() => { + throw new Error(`promise was supposed to resolve with ${name} resolution`); + }), + ]); +}; + +const ensureNoResolve = async (promise: Promise) => { + await Promise.race([ + sleep(100), + promise.then(() => { + throw new Error('promise was not supposed to resolve'); + }), + ]); +}; + +jest.mock('execa'); +const execaMock = jest.requireMock('execa'); + +const mockEsBin = ( + { + exitCode, + start, + ssl, + }: { + exitCode?: number; + start?: boolean; + ssl?: boolean; + } = { start: false, ssl: false } +) => { + execaMock.mockImplementationOnce((args: string[], options: {}) => + jest.requireActual('execa')( + process.execPath, + [ + '--require=@kbn/babel-register/install', + require.resolve('./__fixtures__/es_bin.js'), + JSON.stringify({ + exitCode, + start, + ssl: ssl || args.includes('xpack.security.http.ssl.enabled=true'), + }), + ], + options + ) + ); +}; + +jest.mock('../install', () => ({ + downloadSnapshot: jest.fn(), + installSource: jest.fn(), + installSnapshot: jest.fn(), + installArchive: jest.fn(), +})); + +jest.mock('../utils/extract_config_files', () => ({ + extractConfigFiles: jest.fn(), +})); + +jest.mock('../utils/docker', () => ({ + runServerlessCluster: jest.fn(), + runDockerContainer: jest.fn(), +})); + +const downloadSnapshotMock = jest.spyOn(installUtils, 'downloadSnapshot'); +const installSourceMock = jest.spyOn(installUtils, 'installSource'); +const installSnapshotMock = jest.spyOn(installUtils, 'installSnapshot'); +const installArchiveMock = jest.spyOn(installUtils, 'installArchive'); +const extractConfigFilesMock = jest.spyOn(extractConfig, 'extractConfigFiles'); +const runServerlessClusterMock = jest.spyOn(dockerUtils, 'runServerlessCluster'); +const runDockerContainerMock = jest.spyOn(dockerUtils, 'runDockerContainer'); + +beforeEach(() => { + jest.resetAllMocks(); + extractConfigFilesMock.mockImplementation((config) => + Array.isArray(config) ? config : [config] + ); + log.indent(-log.getIndent()); + logWriter.messages.length = 0; +}); + +afterEach(() => { + process.env = { ...initialEnv }; +}); + +describe('#downloadSnapshot()', () => { + test('awaits downloadSnapshot() promise and returns { downloadPath }', async () => { + let resolveDownloadSnapshot: Function; + downloadSnapshotMock.mockImplementationOnce( + () => + new Promise((resolve) => { + resolveDownloadSnapshot = () => { + resolve({ downloadPath: 'foo' }); + }; + }) + ); + + const cluster = new Cluster({ log }); + const promise = cluster.downloadSnapshot({ version: '8.10.0' }); + await ensureNoResolve(promise); + resolveDownloadSnapshot!(); + await expect(ensureResolve(promise, 'downloadSnapshot()')).resolves.toEqual({ + downloadPath: 'foo', + }); + }); + + test('passes through all options+log to downloadSnapshot()', async () => { + downloadSnapshotMock.mockResolvedValue({ downloadPath: 'foo' }); + const options: DownloadSnapshotOptions = { + version: '8.10.0', + license: 'trial', + basePath: 'someBasePath', + installPath: 'someInstallPath', + log, + useCached: true, + }; + const cluster = new Cluster({ log }); + await cluster.downloadSnapshot(options); + expect(downloadSnapshotMock.mock.calls[0][0]).toMatchObject(options); + expect(logWriter.messages).toMatchInlineSnapshot(` + Array [ + " info source[@kbn/es Cluster] Downloading snapshot", + ] + `); + }); + + test('rejects if downloadSnapshot() rejects', async () => { + downloadSnapshotMock.mockRejectedValue(new Error('foo')); + const cluster = new Cluster({ log }); + await expect(cluster.downloadSnapshot({ version: '8.10.0' })).rejects.toThrowError('foo'); + }); +}); + +describe('#installSource()', () => { + test('awaits installSource() promise and returns { installPath }', async () => { + let resolveInstallSource: Function; + installSourceMock.mockImplementationOnce( + () => + new Promise((resolve) => { + resolveInstallSource = () => { + resolve({ installPath: 'foo' }); + }; + }) + ); + + const cluster = new Cluster({ log }); + const promise = cluster.installSource({ sourcePath: 'bar' }); + await ensureNoResolve(promise); + resolveInstallSource!(); + await expect(ensureResolve(promise, 'installSource()')).resolves.toEqual({ + installPath: 'foo', + }); + }); + + test('passes through all options+log to installSource()', async () => { + installSourceMock.mockResolvedValue({ installPath: 'foo' }); + const options: InstallSourceOptions = { + sourcePath: 'bar', + license: 'trial', + password: 'changeme', + basePath: 'someBasePath', + installPath: 'someInstallPath', + esArgs: ['foo=true'], + log, + }; + const cluster = new Cluster({ log }); + await cluster.installSource(options); + expect(installSourceMock.mock.calls[0][0]).toMatchObject(options); + expect(logWriter.messages).toMatchInlineSnapshot(` + Array [ + " info source[@kbn/es Cluster] Installing from source", + ] + `); + }); + + test('rejects if installSource() rejects', async () => { + installSourceMock.mockRejectedValue(new Error('foo')); + const cluster = new Cluster({ log }); + await expect(cluster.installSource({ sourcePath: 'bar' })).rejects.toThrowError('foo'); + }); +}); + +describe('#installSnapshot()', () => { + test('awaits installSnapshot() promise and returns { installPath }', async () => { + let resolveInstallSnapshot: Function; + installSnapshotMock.mockImplementationOnce( + () => + new Promise((resolve) => { + resolveInstallSnapshot = () => { + resolve({ installPath: 'foo' }); + }; + }) + ); + + const cluster = new Cluster({ log }); + const promise = cluster.installSnapshot({ version: '8.10.0' }); + await ensureNoResolve(promise); + resolveInstallSnapshot!(); + await expect(ensureResolve(promise, 'installSnapshot()')).resolves.toEqual({ + installPath: 'foo', + }); + }); + + test('passes through all options+log to installSnapshot()', async () => { + installSnapshotMock.mockResolvedValue({ installPath: 'foo' }); + const options: InstallSnapshotOptions = { + version: '8.10.0', + license: 'trial', + password: 'changeme', + basePath: 'someBasePath', + installPath: 'someInstallPath', + esArgs: ['foo=true'], + useCached: true, + log, + }; + const cluster = new Cluster({ log }); + await cluster.installSnapshot(options); + expect(installSnapshotMock.mock.calls[0][0]).toMatchObject(options); + expect(logWriter.messages).toMatchInlineSnapshot(` + Array [ + " info source[@kbn/es Cluster] Installing from snapshot", + ] + `); + }); + + test('rejects if installSnapshot() rejects', async () => { + installSnapshotMock.mockRejectedValue(new Error('foo')); + const cluster = new Cluster({ log }); + await expect(cluster.installSnapshot({ version: '8.10.0' })).rejects.toThrowError('foo'); + }); +}); + +describe('#installArchive()', () => { + test('awaits installArchive() promise and returns { installPath }', async () => { + let resolveInstallArchive: Function; + installArchiveMock.mockImplementationOnce( + () => + new Promise((resolve) => { + resolveInstallArchive = () => { + resolve({ installPath: 'foo' }); + }; + }) + ); + + const cluster = new Cluster({ log }); + const promise = cluster.installArchive('bar'); + await ensureNoResolve(promise); + resolveInstallArchive!(); + await expect(ensureResolve(promise, 'installArchive()')).resolves.toEqual({ + installPath: 'foo', + }); + }); + + test('passes through all options+log to installArchive()', async () => { + installArchiveMock.mockResolvedValue({ installPath: 'foo' }); + const options: InstallArchiveOptions = { + license: 'trial', + password: 'changeme', + basePath: 'someBasePath', + installPath: 'someInstallPath', + esArgs: ['foo=true'], + log, + }; + const cluster = new Cluster({ log }); + await cluster.installArchive('bar', options); + expect(installArchiveMock.mock.calls[0]).toMatchObject(['bar', options]); + expect(logWriter.messages).toMatchInlineSnapshot(` + Array [ + " info source[@kbn/es Cluster] Installing from an archive", + ] + `); + }); + + test('rejects if installArchive() rejects', async () => { + installArchiveMock.mockRejectedValue(new Error('foo')); + const cluster = new Cluster({ log }); + await expect(cluster.installArchive('bar')).rejects.toThrowError('foo'); + }); +}); + +describe('#start(installPath)', () => { + test('rejects when bin/elasticsearch exists with 0 before starting', async () => { + mockEsBin({ exitCode: 0, start: false }); + + await expect( + new Cluster({ log }).start(installPath, esClusterExecOptions) + ).rejects.toThrowError('ES exited without starting'); + }); + + test('rejects when bin/elasticsearch exists with 143 before starting', async () => { + mockEsBin({ exitCode: 143, start: false }); + + await expect( + new Cluster({ log }).start(installPath, esClusterExecOptions) + ).rejects.toThrowError('ES exited without starting'); + }); + + test('rejects when bin/elasticsearch exists with 130 before starting', async () => { + mockEsBin({ exitCode: 130, start: false }); + + await expect( + new Cluster({ log }).start(installPath, esClusterExecOptions) + ).rejects.toThrowError('ES exited without starting'); + }); + + test('rejects when bin/elasticsearch exists with 1 before starting', async () => { + mockEsBin({ exitCode: 1, start: false }); + + await expect( + new Cluster({ log }).start(installPath, esClusterExecOptions) + ).rejects.toThrowError('ES exited with code 1'); + }); + + test('resolves when bin/elasticsearch logs "started"', async () => { + mockEsBin({ start: true }); + + await new Cluster({ log }).start(installPath, esClusterExecOptions); + }); + + test('rejects if #start() was called previously', async () => { + mockEsBin({ start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await expect(cluster.start(installPath, esClusterExecOptions)).rejects.toThrowError( + 'ES has already been started' + ); + }); + + test('rejects if #run() was called previously', async () => { + mockEsBin({ start: true }); + + const cluster = new Cluster({ log }); + await cluster.run(installPath, esClusterExecOptions); + await expect(cluster.start(installPath, esClusterExecOptions)).rejects.toThrowError( + 'ES has already been started' + ); + }); + + test('sets up SSL when enabled', async () => { + mockEsBin({ start: true, ssl: true }); + + const cluster = new Cluster({ log, ssl: true }); + await cluster.start(installPath, esClusterExecOptions); + + const config = extractConfigFilesMock.mock.calls[0][0]; + expect(config).toContain('xpack.security.http.ssl.enabled=true'); + expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_NOPASSWORD_P12_PATH}`); + expect(config).toContain(`xpack.security.http.ssl.keystore.type=PKCS12`); + }); + + test(`doesn't setup SSL when disabled`, async () => { + mockEsBin({ start: true }); + extractConfigFilesMock.mockReturnValueOnce([]); + + const cluster = new Cluster({ log, ssl: false }); + await cluster.start(installPath, esClusterExecOptions); + + expect(extractConfigFilesMock.mock.calls[0][0]).toMatchObject([ + 'action.destructive_requires_name=true', + 'cluster.routing.allocation.disk.threshold_enabled=false', + 'ingest.geoip.downloader.enabled=false', + 'search.check_ccs_compatibility=true', + ]); + }); + + test('allows overriding search.check_ccs_compatibility', async () => { + mockEsBin({ start: true }); + extractConfigFilesMock.mockReturnValueOnce([]); + + const cluster = new Cluster({ + log, + ssl: false, + }); + await cluster.start('undefined', { + esArgs: ['search.check_ccs_compatibility=false'], + }); + + expect(extractConfigFilesMock.mock.calls[0][0]).toMatchObject([ + 'action.destructive_requires_name=true', + 'cluster.routing.allocation.disk.threshold_enabled=false', + 'ingest.geoip.downloader.enabled=false', + 'search.check_ccs_compatibility=false', + ]); + }); +}); + +describe('#run()', () => { + test('resolves when bin/elasticsearch exists with 0', async () => { + mockEsBin({ exitCode: 0 }); + + await new Cluster({ log }).run(installPath, esClusterExecOptions); + }); + + test('resolves when bin/elasticsearch exists with 143', async () => { + mockEsBin({ exitCode: 143 }); + + await new Cluster({ log }).run(installPath, esClusterExecOptions); + }); + + test('resolves when bin/elasticsearch exists with 130', async () => { + mockEsBin({ exitCode: 130 }); + + await new Cluster({ log }).run(installPath, esClusterExecOptions); + }); + + test('rejects when bin/elasticsearch exists with 1', async () => { + mockEsBin({ exitCode: 1 }); + + await expect(new Cluster({ log }).run(installPath, esClusterExecOptions)).rejects.toThrowError( + 'ES exited with code 1' + ); + }); + + test('rejects if #start() was called previously', async () => { + mockEsBin({ exitCode: 0, start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await expect(cluster.run(installPath, esClusterExecOptions)).rejects.toThrowError( + 'ES has already been started' + ); + }); + + test('rejects if #run() was called previously', async () => { + mockEsBin({ exitCode: 0 }); + + const cluster = new Cluster({ log }); + await cluster.run(installPath, esClusterExecOptions); + await expect(cluster.run(installPath, esClusterExecOptions)).rejects.toThrowError( + 'ES has already been started' + ); + }); + + test('sets up SSL when enabled', async () => { + mockEsBin({ start: true, ssl: true }); + + const cluster = new Cluster({ log, ssl: true }); + await cluster.run(installPath, esClusterExecOptions); + + const config = extractConfigFilesMock.mock.calls[0][0]; + expect(config).toContain('xpack.security.http.ssl.enabled=true'); + expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_NOPASSWORD_P12_PATH}`); + expect(config).toContain(`xpack.security.http.ssl.keystore.type=PKCS12`); + }); + + test(`doesn't setup SSL when disabled`, async () => { + mockEsBin({ start: true }); + extractConfigFilesMock.mockReturnValueOnce([]); + + const cluster = new Cluster({ log, ssl: false }); + await cluster.run(installPath, esClusterExecOptions); + + expect(extractConfigFilesMock.mock.calls[0][0]).toMatchObject([ + 'action.destructive_requires_name=true', + 'cluster.routing.allocation.disk.threshold_enabled=false', + 'ingest.geoip.downloader.enabled=false', + 'search.check_ccs_compatibility=true', + ]); + }); + + test('sets default Java heap', async () => { + mockEsBin({ start: true }); + + const cluster = new Cluster({ log }); + await cluster.run(installPath, esClusterExecOptions); + + expect(execaMock.mock.calls[0][2].env.ES_JAVA_OPTS).toMatchInlineSnapshot( + `"-Xms1536m -Xmx1536m"` + ); + }); + + test('allows Java heap to be overwritten', async () => { + mockEsBin({ start: true }); + process.env.ES_JAVA_OPTS = '-Xms5g -Xmx5g'; + + const cluster = new Cluster({ log }); + await cluster.run(installPath, esClusterExecOptions); + + expect(execaMock.mock.calls[0][2].env.ES_JAVA_OPTS).toMatchInlineSnapshot(`"-Xms5g -Xmx5g"`); + }); +}); + +describe('#installPlugins()', () => { + test('passes through installPath and runs execa for each plugin', async () => { + const cluster = new Cluster({ log }); + await cluster.installPlugins('foo', 'esPlugin1,esPlugin2', ''); + expect(execaMock.mock.calls.length).toBe(2); + expect(execaMock.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + "bin/elasticsearch-plugin", + Array [ + "install", + "esPlugin1", + ], + Object { + "cwd": "foo", + "env": Object { + "ES_JAVA_OPTS": "-Xms1536m -Xmx1536m", + "JAVA_HOME": "", + }, + }, + ] + `); + + expect(execaMock.mock.calls[1]).toMatchInlineSnapshot(` + Array [ + "bin/elasticsearch-plugin", + Array [ + "install", + "esPlugin2", + ], + Object { + "cwd": "foo", + "env": Object { + "ES_JAVA_OPTS": "-Xms1536m -Xmx1536m", + "JAVA_HOME": "", + }, + }, + ] + `); + }); + + test(`allows 'esJavaOpts' to be overwritten`, async () => { + mockEsBin({ start: true }); + + const cluster = new Cluster({ log }); + await cluster.installPlugins('foo', 'esPlugin1', '-Xms2g -Xmx2g'); + + expect(execaMock.mock.calls[0][2].env.ES_JAVA_OPTS).toMatchInlineSnapshot(`"-Xms2g -Xmx2g"`); + }); +}); + +describe('#configureKeystoreWithSecureSettingsFiles()', () => { + test('passes through installPath and runs execa for each pair of settings', async () => { + const cluster = new Cluster({ log }); + await cluster.configureKeystoreWithSecureSettingsFiles('foo', [ + ['name1', 'file1'], + ['name2', 'file2'], + ]); + expect(execaMock.mock.calls.length).toBe(2); + expect(execaMock.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + "./bin/elasticsearch-keystore", + Array [ + "add-file", + "name1", + "file1", + ], + Object { + "cwd": "foo", + "env": Object { + "JAVA_HOME": "", + }, + }, + ] + `); + + expect(execaMock.mock.calls[1]).toMatchInlineSnapshot(` + Array [ + "./bin/elasticsearch-keystore", + Array [ + "add-file", + "name2", + "file2", + ], + Object { + "cwd": "foo", + "env": Object { + "JAVA_HOME": "", + }, + }, + ] + `); + }); +}); + +describe('#stop()', () => { + test('rejects if #run() or #start() was not called', async () => { + const cluster = new Cluster({ log }); + await expect(cluster.stop()).rejects.toThrowError('ES has not been started'); + }); + + test('resolves when ES exits with 0', async () => { + mockEsBin({ exitCode: 0, start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await cluster.stop(); + }); + + test('resolves when ES exits with 143', async () => { + mockEsBin({ exitCode: 143, start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await cluster.stop(); + }); + + test('resolves when ES exits with 130', async () => { + mockEsBin({ exitCode: 130, start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await cluster.stop(); + }); + + test('rejects when ES exits with 1', async () => { + mockEsBin({ exitCode: 1, start: true }); + + const cluster = new Cluster({ log }); + await expect(cluster.run(installPath, esClusterExecOptions)).rejects.toThrowError( + 'ES exited with code 1' + ); + await expect(cluster.stop()).rejects.toThrowError('ES exited with code 1'); + }); +}); + +describe('#kill()', () => { + test('rejects if #run() or #start() was not called', async () => { + const cluster = new Cluster({ log }); + await expect(cluster.kill()).rejects.toThrowError('ES has not been started'); + }); + + test('resolves when ES exits with 0', async () => { + mockEsBin({ exitCode: 0, start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await cluster.kill(); + }); +}); + +describe('#runServerless()', () => { + test(`rejects if #start() was called before`, async () => { + mockEsBin({ start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await expect(cluster.runServerless({ basePath: installPath })).rejects.toThrowError( + 'ES stateful cluster has already been started' + ); + }); + + test(`rejects if #run() was called before`, async () => { + mockEsBin({ start: true }); + + const cluster = new Cluster({ log }); + await cluster.run(installPath, esClusterExecOptions); + await expect(cluster.runServerless({ basePath: installPath })).rejects.toThrowError( + 'ES stateful cluster has already been started' + ); + }); + + test('awaits runServerlessCluster() promise and returns node names as string[]', async () => { + const nodeNames = ['es1', 'es2', 'es3']; + let resolveRunServerlessCluster: Function; + runServerlessClusterMock.mockImplementationOnce( + () => + new Promise((resolve) => { + resolveRunServerlessCluster = () => { + resolve(nodeNames); + }; + }) + ); + + const cluster = new Cluster({ log }); + const promise = cluster.runServerless({ basePath: installPath }); + await ensureNoResolve(promise); + resolveRunServerlessCluster!(); + await expect(ensureResolve(promise, 'runServerless()')).resolves.toEqual(nodeNames); + }); + + test('rejects if #runServerless() was called before', async () => { + const nodeNames = ['es1', 'es2', 'es3']; + runServerlessClusterMock.mockResolvedValueOnce(nodeNames); + + const cluster = new Cluster({ log }); + await cluster.runServerless({ basePath: installPath }); + await expect(cluster.runServerless({ basePath: installPath })).rejects.toThrowError( + 'ES serverless docker cluster has already been started' + ); + }); + + test('rejects if #runServerlessCluster() rejects', async () => { + runServerlessClusterMock.mockRejectedValueOnce(new Error('foo')); + const cluster = new Cluster({ log }); + await expect(cluster.runServerless({ basePath: installPath })).rejects.toThrowError('foo'); + }); + + test('passes through all options+log to #runServerlessCluster()', async () => { + const nodeNames = ['es1', 'es2', 'es3']; + runServerlessClusterMock.mockResolvedValueOnce(nodeNames); + + const cluster = new Cluster({ log }); + const serverlessOptions = { + clean: true, + basePath: installPath, + teardown: true, + background: true, + waitForReady: true, + }; + await cluster.runServerless(serverlessOptions); + expect(runServerlessClusterMock.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + , + Object { + "background": true, + "basePath": "${installPath}", + "clean": true, + "teardown": true, + "waitForReady": true, + }, + ] + `); + }); +}); + +describe('#runDocker()', () => { + const dockerOptions = {}; + test(`rejects if #start() was called before`, async () => { + mockEsBin({ start: true }); + + const cluster = new Cluster({ log }); + await cluster.start(installPath, esClusterExecOptions); + await expect(cluster.runDocker(dockerOptions)).rejects.toThrowError( + 'ES stateful cluster has already been started' + ); + }); + + test('rejects if #run() was called before', async () => { + mockEsBin({ start: true }); + const cluster = new Cluster({ log }); + await cluster.run(installPath, esClusterExecOptions); + await expect(cluster.runDocker(dockerOptions)).rejects.toThrowError( + 'ES stateful cluster has already been started' + ); + }); + + test('await #runDockerContainer() promise', async () => { + let resolveRunDockerContainer: Function; + runDockerContainerMock.mockImplementationOnce( + () => + new Promise((resolve) => { + resolveRunDockerContainer = () => { + resolve(); + }; + }) + ); + const cluster = new Cluster({ log }); + const promise = cluster.runDocker(dockerOptions); + await ensureNoResolve(promise); + resolveRunDockerContainer!(); + await expect(ensureResolve(promise, 'runDocker()')).resolves.toBeUndefined(); + }); + + test('rejects if #runDockerContainer() rejects', async () => { + runDockerContainerMock.mockRejectedValueOnce(new Error('foo')); + const cluster = new Cluster({ log }); + await expect(cluster.runDocker(dockerOptions)).rejects.toThrowError('foo'); + }); + + test('passes through all options+log to #runDockerContainer()', async () => { + runDockerContainerMock.mockResolvedValueOnce(); + + const cluster = new Cluster({ log }); + await cluster.runDocker({ dockerCmd: 'start -a es01' }); + expect(runDockerContainerMock.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + , + Object { + "dockerCmd": "start -a es01", + }, + ] + `); + }); +}); diff --git a/packages/kbn-es/src/paths.ts b/packages/kbn-es/src/paths.ts index 76cf4271c7ce8..823b8d6b59361 100644 --- a/packages/kbn-es/src/paths.ts +++ b/packages/kbn-es/src/paths.ts @@ -35,6 +35,8 @@ export const ESS_ROLE_MAPPING_PATH = resolve(__dirname, './ess_resources/role_ma export const ESS_SECRETS_PATH = resolve(__dirname, './ess_resources/secrets.json'); +export const ESS_SECRETS_SSL_PATH = resolve(__dirname, './ess_resources/secrets_ssl.json'); + export const ESS_JWKS_PATH = resolve(__dirname, './ess_resources/jwks.json'); export const ESS_RESOURCES_PATHS = [ diff --git a/packages/kbn-es/src/utils/docker.test.ts b/packages/kbn-es/src/utils/docker.test.ts index 905f51e2d67c3..4856aa6d1b17d 100644 --- a/packages/kbn-es/src/utils/docker.test.ts +++ b/packages/kbn-es/src/utils/docker.test.ts @@ -9,6 +9,7 @@ import mockFs from 'mock-fs'; import { existsSync } from 'fs'; import { stat } from 'fs/promises'; +import { basename } from 'path'; import { DOCKER_IMG, @@ -27,10 +28,11 @@ import { stopServerlessCluster, teardownServerlessClusterSync, verifyDockerInstalled, + getESp12Volume, } from './docker'; import { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; import { ES_P12_PATH } from '@kbn/dev-utils'; -import { ESS_RESOURCES_PATHS } from '../paths'; +import { ESS_CONFIG_PATH, ESS_RESOURCES_PATHS, ESS_SECRETS_PATH, ESS_JWKS_PATH } from '../paths'; jest.mock('execa'); const execa = jest.requireMock('execa'); @@ -68,9 +70,23 @@ afterEach(() => { jest.clearAllMocks(); }); +const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { + acc.push(`${path}:${ESS_CONFIG_PATH}${basename(path)}`); + + return acc; +}, []); + const volumeCmdTest = async (volumeCmd: string[]) => { - expect(volumeCmd).toHaveLength(2); - expect(volumeCmd).toEqual(expect.arrayContaining(['--volume', `${baseEsPath}:/objectstore:z`])); + expect(volumeCmd).toHaveLength(20); + expect(volumeCmd).toEqual( + expect.arrayContaining([ + ...getESp12Volume(), + ...essResources, + `${baseEsPath}:/objectstore:z`, + `${ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, + `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z`, + ]) + ); // extract only permission from mode // eslint-disable-next-line no-bitwise @@ -341,13 +357,10 @@ describe('resolveEsArgs()', () => { `); }); - test('should add SSL args and enable security when SSL is passed', () => { - const esArgs = resolveEsArgs([...defaultEsArgs, ['xpack.security.enabled', 'false']], { - ssl: true, - }); + test('should add SSL args when SSL is passed', () => { + const esArgs = resolveEsArgs(defaultEsArgs, { ssl: true }); - expect(esArgs).toHaveLength(20); - expect(esArgs).not.toEqual(expect.arrayContaining(['xpack.security.enabled=false'])); + expect(esArgs).toHaveLength(10); expect(esArgs).toMatchInlineSnapshot(` Array [ "--env", @@ -355,21 +368,11 @@ describe('resolveEsArgs()', () => { "--env", "qux=zip", "--env", - "xpack.security.enabled=true", - "--env", "xpack.security.http.ssl.enabled=true", "--env", "xpack.security.http.ssl.keystore.path=/usr/share/elasticsearch/config/certs/elasticsearch.p12", "--env", "xpack.security.http.ssl.verification_mode=certificate", - "--env", - "xpack.security.transport.ssl.enabled=true", - "--env", - "xpack.security.transport.ssl.keystore.path=/usr/share/elasticsearch/config/certs/elasticsearch.p12", - "--env", - "xpack.security.transport.ssl.verification_mode=certificate", - "--env", - "xpack.security.operator_privileges.enabled=true", ] `); }); @@ -556,8 +559,7 @@ describe('resolveDockerCmd()', () => { describe('runDockerContainer()', () => { test('should resolve', async () => { execa.mockImplementation(() => Promise.resolve({ stdout: '' })); - - await expect(runDockerContainer(log, {})).resolves.toEqual({ stdout: '' }); + await expect(runDockerContainer(log, {})).resolves.toBeUndefined(); // setupDocker execa calls then run container expect(execa.mock.calls).toHaveLength(5); }); diff --git a/packages/kbn-es/src/utils/docker.ts b/packages/kbn-es/src/utils/docker.ts index 085854e4ecb40..563fd33c7a01e 100644 --- a/packages/kbn-es/src/utils/docker.ts +++ b/packages/kbn-es/src/utils/docker.ts @@ -29,6 +29,7 @@ import { ESS_JWKS_PATH, ESS_CONFIG_PATH, ESS_FILES_PATH, + ESS_SECRETS_SSL_PATH, } from '../paths'; import { ELASTIC_SERVERLESS_SUPERUSER, @@ -153,44 +154,49 @@ const DEFAULT_SERVERLESS_ESARGS: Array<[string, string]> = [ ['xpack.ml.enabled', 'true'], - ['xpack.security.enabled', 'false'], -]; - -const DEFAULT_SSL_ESARGS: Array<[string, string]> = [ ['xpack.security.enabled', 'true'], - ['xpack.security.http.ssl.enabled', 'true'], + // JWT realm settings are to closer emulate a real ES serverless env + ['xpack.security.authc.realms.jwt.jwt1.allowed_audiences', 'elasticsearch'], - ['xpack.security.http.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + ['xpack.security.authc.realms.jwt.jwt1.allowed_issuer', 'https://kibana.elastic.co/jwt/'], - ['xpack.security.http.ssl.verification_mode', 'certificate'], + ['xpack.security.authc.realms.jwt.jwt1.claims.principal', 'sub'], - ['xpack.security.transport.ssl.enabled', 'true'], + ['xpack.security.authc.realms.jwt.jwt1.client_authentication.type', 'shared_secret'], - ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + ['xpack.security.authc.realms.jwt.jwt1.order', '-98'], - ['xpack.security.transport.ssl.verification_mode', 'certificate'], + ['xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path', `${ESS_CONFIG_PATH}secrets/jwks.json`], ['xpack.security.operator_privileges.enabled', 'true'], -]; -const SERVERLESS_SSL_ESARGS: Array<[string, string]> = [ - ['xpack.security.authc.realms.jwt.jwt1.client_authentication.type', 'shared_secret'], + ['xpack.security.transport.ssl.enabled', 'true'], - ['xpack.security.authc.realms.jwt.jwt1.order', '-98'], + ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], - ['xpack.security.authc.realms.jwt.jwt1.allowed_issuer', 'https://kibana.elastic.co/jwt/'], + ['xpack.security.transport.ssl.verification_mode', 'certificate'], +]; - ['xpack.security.authc.realms.jwt.jwt1.allowed_audiences', 'elasticsearch'], +const DEFAULT_SSL_ESARGS: Array<[string, string]> = [ + ['xpack.security.http.ssl.enabled', 'true'], - ['xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path', `${ESS_CONFIG_PATH}secrets/jwks.json`], + ['xpack.security.http.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], - ['xpack.security.authc.realms.jwt.jwt1.claims.principal', 'sub'], + ['xpack.security.http.ssl.verification_mode', 'certificate'], ]; const DOCKER_SSL_ESARGS: Array<[string, string]> = [ + ['xpack.security.enabled', 'true'], + ['xpack.security.http.ssl.keystore.password', ES_P12_PASSWORD], + ['xpack.security.transport.ssl.enabled', 'true'], + + ['xpack.security.transport.ssl.keystore.path', `${ESS_CONFIG_PATH}certs/elasticsearch.p12`], + + ['xpack.security.transport.ssl.verification_mode', 'certificate'], + ['xpack.security.transport.ssl.keystore.password', ES_P12_PASSWORD], ]; @@ -418,13 +424,6 @@ export function resolveEsArgs( args.forEach((arg) => { const [key, ...value] = arg.split('='); - // Guide the user to use SSL flag instead of manual setup - if (key === 'xpack.security.enabled' && value?.[0] === 'true') { - throw createCliError( - 'Use the --ssl flag to automatically enable and set up the security plugin.' - ); - } - esArgs.set(key.trim(), value.join('=').trim()); }); } @@ -436,7 +435,7 @@ export function resolveEsArgs( return Array.from(esArgs).flatMap((e) => ['--env', e.join('=')]); } -function getESp12Volume() { +export function getESp12Volume() { return ['--volume', `${ES_P12_PATH}:${ESS_CONFIG_PATH}certs/elasticsearch.p12`]; } @@ -492,24 +491,22 @@ export async function setupServerlessVolumes(log: ToolingLog, options: Serverles volumeCmds.push(...fileCmds); } - if (ssl) { - const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { - acc.push('--volume', `${path}:${ESS_CONFIG_PATH}${basename(path)}`); + const essResources = ESS_RESOURCES_PATHS.reduce((acc, path) => { + acc.push('--volume', `${path}:${ESS_CONFIG_PATH}${basename(path)}`); - return acc; - }, []); + return acc; + }, []); - volumeCmds.push( - ...getESp12Volume(), - ...essResources, + volumeCmds.push( + ...getESp12Volume(), + ...essResources, - '--volume', - `${ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, + '--volume', + `${ssl ? ESS_SECRETS_SSL_PATH : ESS_SECRETS_PATH}:${ESS_CONFIG_PATH}secrets/secrets.json:z`, - '--volume', - `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z` - ); - } + '--volume', + `${ESS_JWKS_PATH}:${ESS_CONFIG_PATH}secrets/jwks.json:z` + ); return volumeCmds; } @@ -577,13 +574,7 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO ...node, image, params: node.params.concat( - resolveEsArgs( - DEFAULT_SERVERLESS_ESARGS.concat( - node.esArgs ?? [], - options.ssl ? SERVERLESS_SSL_ESARGS : [] - ), - options - ), + resolveEsArgs(DEFAULT_SERVERLESS_ESARGS.concat(node.esArgs ?? []), options), i === 0 ? portCmd : [], volumeCmd ), @@ -593,20 +584,15 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO ); log.success(`Serverless ES cluster running. - Stop the cluster: ${chalk.bold(`docker container stop ${nodeNames.join(' ')}`)} + Login with username ${chalk.bold.cyan(ELASTIC_SERVERLESS_SUPERUSER)} or ${chalk.bold.cyan( + SYSTEM_INDICES_SUPERUSER + )} and password ${chalk.bold.magenta(ELASTIC_SERVERLESS_SUPERUSER_PASSWORD)} + Stop the cluster: ${chalk.bold(`docker container stop ${nodeNames.join(' ')}`)} `); if (options.ssl) { - log.success(`SSL and Security have been enabled for ES. - Login through your browser with username ${chalk.bold.cyan( - ELASTIC_SERVERLESS_SUPERUSER - )} or ${chalk.bold.cyan(SYSTEM_INDICES_SUPERUSER)} and password ${chalk.bold.magenta( - ELASTIC_SERVERLESS_SUPERUSER_PASSWORD - )}. - `); - - log.warning(`Kibana should be started with the SSL flag so that it can authenticate with ES. - See packages/kbn-es/src/ess_resources/README.md for additional information on authentication. + log.warning(`SSL has been enabled for ES. Kibana should be started with the SSL flag so that it can authenticate with ES. + See packages/kbn-es/src/ess_resources/README.md for additional information on authentication. `); } @@ -620,9 +606,9 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO const client = getESClient({ node: esNodeUrl, + auth: { bearer: kibanaDevServiceAccount.token }, ...(options.ssl ? { - auth: { bearer: kibanaDevServiceAccount.token }, tls: { ca: [fs.readFileSync(CA_CERT_PATH)], // NOTE: Even though we've added ca into the tls options, we are using 127.0.0.1 instead of localhost @@ -714,7 +700,7 @@ export async function runDockerContainer(log: ToolingLog, options: DockerOptions const dockerCmd = resolveDockerCmd(options, image); log.info(chalk.dim(`docker ${dockerCmd.join(' ')}`)); - return await execa('docker', dockerCmd, { + await execa('docker', dockerCmd, { // inherit is required to show Docker output and Java console output for pw, enrollment token, etc stdio: ['ignore', 'inherit', 'inherit'], }); diff --git a/packages/kbn-management/settings/components/field_input/README.mdx b/packages/kbn-management/settings/components/field_input/README.mdx new file mode 100644 index 0000000000000..8deb8f1981c76 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/README.mdx @@ -0,0 +1,12 @@ +--- +id: management/settings/components/fieldInput +slug: /management/settings/components/field-input +title: Management Settings Field Input Component +description: A package containing a component for rendering and manipulating the raw value of a UiSetting in Field Row. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains a component for rendering and manipulating the raw value of a UiSetting. It's used primarily by the `FieldRow` component to drive unsaved or reset changes. \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_input/__stories__/array_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/array_input.stories.tsx new file mode 100644 index 0000000000000..cd1198343aa14 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/array_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Array Input', 'An input with an array value.'); +export const ArrayInput = getInputStory('array' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/boolean_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/boolean_input.stories.tsx new file mode 100644 index 0000000000000..ace55571e5793 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/boolean_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Boolean Input', 'An input with a boolean value.'); +export const BooleanInput = getInputStory('boolean' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/color_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/color_input.stories.tsx new file mode 100644 index 0000000000000..ba32182db8a3d --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/color_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Color Input', 'An input with a color value.'); +export const ColorInput = getInputStory('color' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/common.tsx b/packages/kbn-management/settings/components/field_input/__stories__/common.tsx new file mode 100644 index 0000000000000..c3e167323d59f --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/common.tsx @@ -0,0 +1,120 @@ +/* + * 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 type { ComponentMeta } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { EuiPanel } from '@elastic/eui'; +import { UiSettingsType } from '@kbn/core-ui-settings-common'; +import { SettingType, UiSettingMetadata } from '@kbn/management-settings-types'; +import { + useFieldDefinition, + getDefaultValue, +} from '@kbn/management-settings-field-definition/storybook'; + +import { FieldInputProvider } from '../services'; +import { FieldInput as Component, FieldInput } from '../field_input'; +import { InputProps, OnChangeFn } from '../types'; + +/** + * Props for a {@link FieldInput} Storybook story. + */ +export type StoryProps = Pick, 'value' | 'isDisabled'>; + +/** + * Interface defining available {@link https://storybook.js.org/docs/react/writing-stories/parameters parameters} + * for a {@link FieldInput} Storybook story. + */ +interface Params { + argTypes?: Record; + settingFields?: Partial>; +} + +/** + * Interface defining types for available {@link https://storybook.js.org/docs/react/writing-stories/args arguments} + * for a {@link FieldInput} Storybook story. + */ +export interface Args { + /** True if the field is disabled, false otherwise. */ + isDisabled: boolean; +} + +/** + * Default argument values for a {@link FieldInput} Storybook story. + */ +export const storyArgs = { + /** True if the field is disabled, false otherwise. */ + isDisabled: false, +}; + +/** + * Utility function for returning a {@link FieldInput} Storybook story + * definition. + * @param title The title displayed in the Storybook UI. + * @param description The description of the story. + * @returns A Storybook Story. + */ +export const getStory = (title: string, description: string) => + ({ + title: `Settings/Field Input/${title}`, + description, + argTypes: { + isDisabled: { + name: 'Is field disabled?', + }, + value: { + name: 'Current saved value', + }, + }, + decorators: [ + (Story) => ( + + + + + + ), + ], + } as ComponentMeta); + +/** + * Utility function for returning a {@link FieldInput} Storybook story. + * @param type The type of the UiSetting for this {@link FieldRow}. + * @param params Additional, optional {@link https://storybook.js.org/docs/react/writing-stories/parameters parameters}. + * @returns A Storybook Story. + */ +export const getInputStory = (type: SettingType, params: Params = {}) => { + const Story = ({ value, isDisabled = false }: StoryProps) => { + const setting: UiSettingMetadata = { + type, + value, + userValue: value, + ...params.settingFields, + }; + + const [field, unsavedChange, onChangeFn] = useFieldDefinition(setting); + + const onChange: OnChangeFn = (newChange) => { + onChangeFn(newChange); + }; + return ( + + ); + }; + + Story.args = { + value: getDefaultValue(type), + ...params.argTypes, + ...storyArgs, + }; + + return Story; +}; diff --git a/packages/kbn-management/settings/components/field_input/__stories__/image_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/image_input.stories.tsx new file mode 100644 index 0000000000000..28a87465c680a --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/image_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Image Input', 'An input with an image value.'); +export const ImageInput = getInputStory('image' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/json_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/json_input.stories.tsx new file mode 100644 index 0000000000000..f00fca4e5e9a5 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/json_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('JSON Input', 'An input with a JSON value.'); +export const JSONInput = getInputStory('json' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/markdown_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/markdown_input.stories.tsx new file mode 100644 index 0000000000000..ef0f9d358462f --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/markdown_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Markdown Input', 'An input with a markdown value.'); +export const MarkdownInput = getInputStory('markdown' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/number_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/number_input.stories.tsx new file mode 100644 index 0000000000000..1d6aaa8952a3f --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/number_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('Number Input', 'An input with a number value.'); +export const NumberInput = getInputStory('number' as const); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx new file mode 100644 index 0000000000000..c7571494e7ca8 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx @@ -0,0 +1,27 @@ +/* + * 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 { getInputStory, getStory } from './common'; + +const argTypes = { + value: { + name: 'Current saved value', + control: { + type: 'select', + options: ['option1', 'option2', 'option3'], + }, + }, +}; + +const settingFields = { + optionLabels: { option1: 'Option 1', option2: 'Option 2', option3: 'Option 3' }, + options: ['option1', 'option2', 'option3'], +}; + +export default getStory('Select Input', 'An input with multiple values.'); +export const SelectInput = getInputStory('select' as const, { argTypes, settingFields }); diff --git a/packages/kbn-management/settings/components/field_input/__stories__/text_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/text_input.stories.tsx new file mode 100644 index 0000000000000..39de404bde404 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/__stories__/text_input.stories.tsx @@ -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. + */ + +import { getInputStory, getStory } from './common'; + +export default getStory('String Input', 'An input with a string value.'); +export const StringInput = getInputStory('string' as const); diff --git a/packages/kbn-management/settings/components/field_input/code_editor.tsx b/packages/kbn-management/settings/components/field_input/code_editor.tsx new file mode 100644 index 0000000000000..3f46778917fdd --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/code_editor.tsx @@ -0,0 +1,108 @@ +/* + * 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. + */ + +// This component was ported directly from `advancedSettings`, and hasn't really +// been vetted. It has, however, been refactored to be compliant with our +// current standards. +// +// @see src/plugins/advanced_settings/public/management_app/components/field/field_code_editor.tsx +// + +import React, { useCallback } from 'react'; +import { monaco, XJsonLang } from '@kbn/monaco'; +import { + CodeEditor as KibanaReactCodeEditor, + MarkdownLang, + type CodeEditorProps as KibanaReactCodeEditorProps, +} from '@kbn/kibana-react-plugin/public'; + +type Props = Pick; +type Options = KibanaReactCodeEditorProps['options']; + +export interface CodeEditorProps extends Props { + type: 'markdown' | 'json'; + isReadOnly: boolean; + name: string; +} + +const MIN_DEFAULT_LINES_COUNT = 6; +const MAX_DEFAULT_LINES_COUNT = 30; + +export const CodeEditor = ({ onChange, type, isReadOnly, name, ...props }: CodeEditorProps) => { + // setting editor height based on lines height and count to stretch and fit its content + const setEditorCalculatedHeight = useCallback( + (editor: monaco.editor.IStandaloneCodeEditor) => { + const editorElement = editor.getDomNode(); + + if (!editorElement) { + return; + } + + const lineHeight = editor.getOption(monaco.editor.EditorOption.lineHeight); + let lineCount = editor.getModel()?.getLineCount() || MIN_DEFAULT_LINES_COUNT; + if (lineCount < MIN_DEFAULT_LINES_COUNT) { + lineCount = MIN_DEFAULT_LINES_COUNT; + } else if (lineCount > MAX_DEFAULT_LINES_COUNT) { + lineCount = MAX_DEFAULT_LINES_COUNT; + } + const height = lineHeight * lineCount; + + editorElement.id = name; + editorElement.style.height = `${height}px`; + editor.layout(); + }, + [name] + ); + + const trimEditorBlankLines = useCallback((editor: monaco.editor.IStandaloneCodeEditor) => { + const editorModel = editor.getModel(); + + if (!editorModel) { + return; + } + const trimmedValue = editorModel.getValue().trim(); + editorModel.setValue(trimmedValue); + }, []); + + const editorDidMount = useCallback( + (editor) => { + setEditorCalculatedHeight(editor); + + editor.onDidChangeModelContent(() => { + setEditorCalculatedHeight(editor); + }); + + editor.onDidBlurEditorWidget(() => { + trimEditorBlankLines(editor); + }); + }, + [setEditorCalculatedHeight, trimEditorBlankLines] + ); + + const options: Options = { + readOnly: isReadOnly, + lineNumbers: 'off', + scrollBeyondLastLine: false, + automaticLayout: true, + folding: false, + tabSize: 2, + scrollbar: { + alwaysConsumeMouseWheel: false, + }, + wordWrap: 'on', + wrappingIndent: 'indent', + }; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/field_input.test.tsx b/packages/kbn-management/settings/components/field_input/field_input.test.tsx new file mode 100644 index 0000000000000..9bbac96b7c12c --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/field_input.test.tsx @@ -0,0 +1,201 @@ +/* + * 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 { render, fireEvent } from '@testing-library/react'; +import { FieldInput, FieldInputProps } from './field_input'; +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; +import { TEST_SUBJ_PREFIX_FIELD } from './input'; +import { wrap } from './mocks'; +import { CodeEditorProps } from './code_editor'; + +const name = 'test'; + +jest.mock('./code_editor', () => ({ + CodeEditor: ({ value, onChange }: CodeEditorProps) => ( + { + if (onChange) { + onChange(e.target.value, e as any); + } + }} + /> + ), +})); + +describe('FieldInput', () => { + const getDefaultProps = (type: SettingType): FieldInputProps => { + let options; + if (type === 'select') { + options = { + labels: { + option1: 'Option 1', + option2: 'Option 2', + option3: 'Option 3', + }, + values: ['option1', 'option2', 'option3'], + }; + } + + const props: FieldInputProps = { + field: { + id: 'test', + name, + type, + ariaAttributes: { + ariaLabel: 'Test', + }, + options, + } as FieldDefinition, + onChange: jest.fn(), + }; + + return props; + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders a TextInput for a string field', () => { + const props = getDefaultProps('string'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a NumberInput for a number field', () => { + const props = getDefaultProps('number'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a BooleanInput for a boolean field', () => { + const props = getDefaultProps('boolean'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a ColorInput for a color field', () => { + const props = getDefaultProps('color'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`euiColorPickerAnchor ${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a ImageInput for a color field', () => { + const props = getDefaultProps('image'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a JsonInput for a json field', () => { + const props = getDefaultProps('json'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a MarkdownInput for a markdown field', () => { + const props = getDefaultProps('markdown'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('renders a SelectInput for an select field', () => { + const props = { + ...getDefaultProps('select'), + value: 'option2', + }; + + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeInTheDocument(); + }); + + it('calls the onChange prop when the value changes', () => { + const props = getDefaultProps('string'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + fireEvent.change(input, { target: { value: 'new value' } }); + expect(props.onChange).toHaveBeenCalledWith({ value: 'new value' }); + }); + + it('disables the input when isDisabled prop is true', () => { + const props = getDefaultProps('string'); + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); + expect(input).toBeDisabled(); + }); + + it('throws an error if the field and unsavedChange types do not match', () => { + const consoleMock = jest.spyOn(console, 'error').mockImplementation(() => {}); + + [ + 'array', + 'boolean', + 'color', + 'image', + 'json', + 'markdown', + 'string', + 'select', + 'undefined', + ].forEach((type) => { + expect(() => + render( + wrap( + } + /> + ) + ) + ).toThrowError(`Unsaved change for ${type} mismatch: number`); + }); + + expect(() => + render( + wrap( + } + /> + ) + ) + ).toThrowError(`Unsaved change for number mismatch: string`); + + consoleMock.mockRestore(); + }); + + it('throws an error if type is unknown or incompatible', () => { + const consoleMock = jest.spyOn(console, 'error').mockImplementation(() => {}); + const defaultProps = getDefaultProps('string'); + const props = { + ...defaultProps, + field: { + ...defaultProps.field, + type: 'foobar', + }, + } as unknown as FieldInputProps<'string'>; + + expect(() => render(wrap())).toThrowError( + 'Unknown or incompatible field type: foobar' + ); + + consoleMock.mockRestore(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/field_input.tsx b/packages/kbn-management/settings/components/field_input/field_input.tsx new file mode 100644 index 0000000000000..301be48ee5141 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/field_input.tsx @@ -0,0 +1,250 @@ +/* + * 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 type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +import { + isArrayFieldDefinition, + isBooleanFieldDefinition, + isColorFieldDefinition, + isImageFieldDefinition, + isJsonFieldDefinition, + isMarkdownFieldDefinition, + isNumberFieldDefinition, + isSelectFieldDefinition, + isStringFieldDefinition, + isUndefinedFieldDefinition, +} from '@kbn/management-settings-field-definition'; + +import { + isArrayFieldUnsavedChange, + isBooleanFieldUnsavedChange, + isColorFieldUnsavedChange, + isImageFieldUnsavedChange, + isJsonFieldUnsavedChange, + isMarkdownFieldUnsavedChange, + isNumberFieldUnsavedChange, + isSelectFieldUnsavedChange, + isStringFieldUnsavedChange, + isUndefinedFieldUnsavedChange, +} from '@kbn/management-settings-field-definition/is'; + +import { getInputValue } from '@kbn/management-settings-utilities'; + +import { + BooleanInput, + CodeEditorInput, + ColorPickerInput, + ImageInput, + NumberInput, + SelectInput, + TextInput, + ArrayInput, + TextInputProps, +} from './input'; + +import { OnChangeFn } from './types'; + +/** + * The props that are passed to the {@link FieldInput} component. + */ +export interface FieldInputProps { + /** The {@link FieldDefinition} for the component. */ + field: FieldDefinition; + /** An {@link UnsavedFieldChange} for the component, if any. */ + unsavedChange?: UnsavedFieldChange; + /** The `onChange` handler for the input. */ + onChange: OnChangeFn; + /** True if the input is disabled, false otherwise. */ + isDisabled?: boolean; + /** True if the value within the input is invalid, false otherwise. */ + isInvalid?: boolean; +} + +/** + * Build and return an `Error` if the type of the {@link UnsavedFieldChange} does not + * match the type of the {@link FieldDefinition}. + */ +const getMismatchError = (type: SettingType, unsavedType?: SettingType) => + new Error(`Unsaved change for ${type} mismatch: ${unsavedType}`); + +/** + * An input that allows one to change a setting in Kibana. + * + * @param props The props for the {@link FieldInput} component. + */ +export const FieldInput = (props: FieldInputProps) => { + const { + field, + unsavedChange, + isDisabled = false, + isInvalid = false, + onChange: onChangeProp, + } = props; + const { id, name, ariaAttributes } = field; + + const inputProps = { + ...ariaAttributes, + id, + isDisabled, + isInvalid, + name, + }; + + // These checks might seem excessive or redundant, but they are necessary to ensure that + // the types are honored correctly using type guards. These checks get compiled down to + // checks against the `type` property-- which we were doing in the previous code, albeit + // in an unenforceable way. + // + // Based on the success of a check, we can render the `FieldInput` in a indempotent and + // type-safe way. + // + if (isArrayFieldDefinition(field)) { + // If the composing component mistakenly provides an incompatible `UnsavedFieldChange`, + // we can throw an `Error`. We might consider switching to a `console.error` and not + // rendering the input, but that might be less helpful. + if (!isArrayFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + + // This is a safe cast because we've already checked that the type is correct in both + // the `FieldDefinition` and the `UnsavedFieldChange`... no need for a further + // type guard. + const onChange = onChangeProp as OnChangeFn<'array'>; + + return ; + } + + if (isBooleanFieldDefinition(field)) { + if (!isBooleanFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'boolean'>; + + return ; + } + + if (isColorFieldDefinition(field)) { + if (!isColorFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'color'>; + + return ; + } + + if (isImageFieldDefinition(field)) { + if (!isImageFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value, unsaved] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'image'>; + + return ( + + ); + } + + if (isJsonFieldDefinition(field)) { + if (!isJsonFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'json'>; + + return ( + + ); + } + + if (isMarkdownFieldDefinition(field)) { + if (!isMarkdownFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'markdown'>; + + return ( + + ); + } + + if (isNumberFieldDefinition(field)) { + if (!isNumberFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'number'>; + + return ; + } + + if (isSelectFieldDefinition(field)) { + if (!isSelectFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'select'>; + const { + options: { values: optionValues, labels: optionLabels }, + } = field; + + return ; + } + + if (isStringFieldDefinition(field)) { + if (!isStringFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + const onChange = onChangeProp as OnChangeFn<'string'>; + + return ; + } + + if (isUndefinedFieldDefinition(field)) { + if (!isUndefinedFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + const [value] = getInputValue(field, unsavedChange); + return ; + } + + throw new Error(`Unknown or incompatible field type: ${field.type}`); +}; diff --git a/packages/kbn-management/settings/components/field_input/index.ts b/packages/kbn-management/settings/components/field_input/index.ts new file mode 100644 index 0000000000000..8570f9af23c93 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/index.ts @@ -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. + */ + +export { FieldInput, type FieldInputProps } from './field_input'; + +export type { + FieldInputKibanaDependencies, + FieldInputServices, + OnChangeFn, + OnChangeParams, +} from './types'; diff --git a/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx new file mode 100644 index 0000000000000..2b420d39ee2a5 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx @@ -0,0 +1,74 @@ +/* + * 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 { act, fireEvent, render, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; + +import { ArrayInput } from './array_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { wrap } from '../mocks'; + +const name = 'Some array field'; +const id = 'some:array:field'; + +describe('ArrayInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: ['foo', 'bar'], + }; + + beforeEach(() => { + defaultProps.onChange.mockClear(); + }); + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders an array of strings', () => { + render(wrap()); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toHaveValue('foo, bar'); + }); + + it('formats array when blurred', () => { + render(wrap()); + const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.focus(input); + userEvent.type(input, ',baz'); + expect(input).toHaveValue('foo, bar,baz'); + input.blur(); + expect(input).toHaveValue('foo, bar, baz'); + }); + + it('only calls onChange when blurred ', () => { + render(wrap()); + const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + + fireEvent.focus(input); + userEvent.type(input, ',baz'); + + expect(input).toHaveValue('foo, bar,baz'); + expect(defaultProps.onChange).not.toHaveBeenCalled(); + + act(() => { + input.blur(); + }); + + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: ['foo', 'bar', 'baz'] }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/array_input.tsx b/packages/kbn-management/settings/components/field_input/input/array_input.tsx new file mode 100644 index 0000000000000..d5e4d8f202ec5 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/array_input.tsx @@ -0,0 +1,62 @@ +/* + * 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, useState } from 'react'; +import { EuiFieldText } from '@elastic/eui'; + +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for an {@link ArrayFieldInput} component. + */ +export type ArrayInputProps = InputProps<'array'>; + +const REGEX = /,\s+/g; + +/** + * Component for manipulating an `array` field. + */ +export const ArrayInput = ({ + id, + name, + onChange: onChangeProp, + ariaLabel, + isDisabled = false, + value: valueProp, + ariaDescribedBy, +}: ArrayInputProps) => { + const [value, setValue] = useState(valueProp?.join(', ')); + + useEffect(() => { + setValue(valueProp?.join(', ')); + }, [valueProp]); + + // In the past, each keypress would invoke the `onChange` callback. This + // is likely wasteful, so we've switched it to `onBlur` instead. + const onBlur = (event: React.ChangeEvent) => { + const blurValue = event.target.value + .replace(REGEX, ',') + .split(',') + .filter((v) => v !== ''); + onChangeProp({ value: blurValue }); + setValue(blurValue.join(', ')); + }; + + return ( + setValue(event.target.value)} + {...{ name, onBlur, value }} + /> + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx new file mode 100644 index 0000000000000..6c713261f11ca --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx @@ -0,0 +1,57 @@ +/* + * 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 { act, fireEvent, render, screen } from '@testing-library/react'; + +import { BooleanInput } from './boolean_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +import { wrap } from '../mocks'; + +const name = 'Some boolean field'; +const id = 'some:boolean:field'; + +describe('BooleanInput', () => { + const defaultProps = { + id, + name, + ariaLabel: name, + onChange: jest.fn(), + }; + + beforeEach(() => { + defaultProps.onChange.mockClear(); + }); + + it('renders true', () => { + render(wrap()); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toBeChecked(); + }); + + it('renders false', () => { + render(wrap()); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).not.toBeChecked(); + }); + + it('calls onChange when toggled', () => { + render(wrap()); + const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(defaultProps.onChange).not.toHaveBeenCalled(); + + act(() => { + fireEvent.click(input); + }); + + expect(defaultProps.onChange).toBeCalledWith({ value: false }); + + act(() => { + fireEvent.click(input); + }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx b/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx new file mode 100644 index 0000000000000..d95073c096dd6 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx @@ -0,0 +1,53 @@ +/* + * 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 { EuiSwitch, EuiSwitchProps } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import type { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link BooleanInput} component. + */ +export type BooleanInputProps = InputProps<'boolean'>; + +/** + * Component for manipulating a `boolean` field. + */ +export const BooleanInput = ({ + id, + ariaDescribedBy, + ariaLabel, + isDisabled: disabled = false, + name, + onChange: onChangeProp, + value, +}: BooleanInputProps) => { + const onChange: EuiSwitchProps['onChange'] = (event) => + onChangeProp({ value: event.target.checked }); + + return ( + + ) : ( + + ) + } + aria-label={ariaLabel} + aria-describedby={ariaDescribedBy} + checked={!!value} + data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} + {...{ disabled, name, onChange }} + /> + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx b/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx new file mode 100644 index 0000000000000..b5d0f2da8a86c --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx @@ -0,0 +1,103 @@ +/* + * 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 { i18n } from '@kbn/i18n'; +import { SettingType } from '@kbn/management-settings-types'; + +import { CodeEditor } from '../code_editor'; +import type { InputProps, OnChangeFn } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +type Type = Extract; + +/** + * Props for a {@link CodeEditorInput} component. + */ +export interface CodeEditorInputProps extends InputProps { + /** The default value of the {@link CodeEditor} component. */ + defaultValue?: string; + /** + * The `onChange` event handler, expanded to include both `markdown` + * and `json` + */ + onChange: OnChangeFn; + /** + * The {@link UiSettingType}, expanded to include both `markdown` + * and `json` + */ + type: Type; +} + +/** + * Component for manipulating a `json` or `markdown` field. + * + * TODO: clintandrewhall - `kibana_react` `CodeEditor` does not support `disabled`. + */ +export const CodeEditorInput = ({ + ariaDescribedBy, + ariaLabel, + defaultValue, + id, + isDisabled = false, + onChange: onChangeProp, + type, + value: valueProp = '', +}: CodeEditorInputProps) => { + const onChange = (newValue: string) => { + let newUnsavedValue; + let errorParams = {}; + + switch (type) { + case 'json': + const isJsonArray = Array.isArray(JSON.parse(defaultValue || '{}')); + newUnsavedValue = newValue || (isJsonArray ? '[]' : '{}'); + + try { + JSON.parse(newUnsavedValue); + } catch (e) { + errorParams = { + error: i18n.translate('management.settings.field.codeEditorSyntaxErrorMessage', { + defaultMessage: 'Invalid JSON syntax', + }), + isInvalid: true, + }; + } + break; + default: + newUnsavedValue = newValue; + } + + // TODO: clintandrewhall - should we make this onBlur instead of onChange? + onChangeProp({ + value: newUnsavedValue, + ...errorParams, + }); + }; + + // nit: we have to do this because, while the `UiSettingsService` might return + // `null`, the {@link CodeEditor} component doesn't accept `null` as a value. + // + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + // + const value = valueProp === null ? '' : valueProp; + + return ( +
    + +
    + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx new file mode 100644 index 0000000000000..d50b58481a885 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx @@ -0,0 +1,50 @@ +/* + * 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 { render, fireEvent } from '@testing-library/react'; +import { ColorPickerInput } from './color_picker_input'; +import { wrap } from '../mocks'; + +const name = 'Some color field'; +const id = 'some:color:field'; + +describe('ColorPickerInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: '#000000', + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByRole } = render(wrap()); + const input = getByRole('textbox'); + expect(input).toHaveValue('#000000'); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByRole } = render(wrap()); + const input = getByRole('textbox'); + const newValue = '#ffffff'; + fireEvent.change(input, { target: { value: newValue } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: newValue }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByRole } = render(wrap()); + const input = getByRole('textbox'); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx b/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx new file mode 100644 index 0000000000000..b5c5f7d4de616 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx @@ -0,0 +1,57 @@ +/* + * 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 { EuiColorPicker, EuiColorPickerProps } from '@elastic/eui'; + +import { i18n } from '@kbn/i18n'; +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link ColorPickerInput} component. + */ +export type ColorPickerInputProps = InputProps<'color'>; + +const invalidMessage = i18n.translate('management.settings.fieldInput.color.invalidMessage', { + defaultMessage: 'Provide a valid color value', +}); + +/** + * Component for manipulating a `color` field. + */ +export const ColorPickerInput = ({ + ariaDescribedBy, + ariaLabel, + id, + isDisabled = false, + isInvalid = false, + onChange: onChangeProp, + name, + value: color, +}: ColorPickerInputProps) => { + const onChange: EuiColorPickerProps['onChange'] = (newColor, { isValid }) => { + if (newColor !== '' && !isValid) { + onChangeProp({ value: newColor, isInvalid: true, error: invalidMessage }); + } else { + onChangeProp({ value: newColor }); + } + }; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx new file mode 100644 index 0000000000000..041d0aba44714 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx @@ -0,0 +1,55 @@ +/* + * 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 { render } from '@testing-library/react'; +import { ImageInput } from './image_input'; +import { wrap } from '../mocks'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { act } from 'react-dom/test-utils'; +import userEvent from '@testing-library/user-event'; + +const name = 'Some image field'; +const id = 'some:image:field'; + +describe('ImageInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + hasChanged: false, + isDefaultValue: false, + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('calls the onChange prop when a file is selected', async () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`) as HTMLInputElement; + const file = new File(['(⌐□_□)'], 'test.png', { type: 'image/png' }); + + act(() => { + userEvent.upload(input, [file]); + }); + + expect(input.files?.length).toBe(1); + + // This doesn't work for some reason. + // expect(defaultProps.onChange).toHaveBeenCalledWith({ value: file }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/image_input.tsx b/packages/kbn-management/settings/components/field_input/input/image_input.tsx new file mode 100644 index 0000000000000..b118c538e7b34 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/image_input.tsx @@ -0,0 +1,108 @@ +/* + * 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 { i18n } from '@kbn/i18n'; +import { EuiFilePicker, EuiImage } from '@elastic/eui'; + +import type { InputProps } from '../types'; +import { useServices } from '../services'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link ImageInput} component. + */ +export interface ImageInputProps extends InputProps<'image'> { + /** Indicate if the image has changed from the saved setting in the UI. */ + hasChanged: boolean; + /** Indicate if the image value is the default value in Kibana. */ + isDefaultValue: boolean; +} + +const getImageAsBase64 = async (file: Blob): Promise => { + const reader = new FileReader(); + reader.readAsDataURL(file); + + return new Promise((resolve, reject) => { + reader.onload = () => { + resolve(reader.result!); + }; + reader.onerror = (err) => { + reject(err); + }; + }); +}; + +const errorMessage = i18n.translate('management.settings.field.imageChangeErrorMessage', { + defaultMessage: 'Image could not be saved', +}); + +/** + * Component for manipulating an `image` field. + */ +export const ImageInput = React.forwardRef( + ( + { + ariaDescribedBy, + ariaLabel, + id, + isDisabled, + isDefaultValue, + onChange: onChangeProp, + name, + value, + hasChanged, + }, + ref + ) => { + const { showDanger } = useServices(); + + const onChange = async (files: FileList | null) => { + if (files === null || !files.length) { + onChangeProp({ value: '' }); + return null; + } + + const file = files[0]; + + try { + let base64Image = ''; + + if (file instanceof File) { + base64Image = String(await getImageAsBase64(file)); + } + + onChangeProp({ value: base64Image }); + } catch (err) { + showDanger(errorMessage); + onChangeProp({ value: '', error: errorMessage }); + } + }; + + const a11yProps = { + 'aria-label': ariaLabel, + 'aria-describedby': ariaDescribedBy, + }; + + // TODO: this check will be a bug, if a default image is ever actually + // defined in Kibana. + if (value && !isDefaultValue && !hasChanged) { + return ; + } else { + return ( + + ); + } + } +); diff --git a/packages/kbn-management/settings/components/field_input/input/index.ts b/packages/kbn-management/settings/components/field_input/input/index.ts new file mode 100644 index 0000000000000..2790604feb9e9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/index.ts @@ -0,0 +1,18 @@ +/* + * 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 { ArrayInput, type ArrayInputProps } from './array_input'; +export { CodeEditorInput, type CodeEditorInputProps } from './code_editor_input'; +export { BooleanInput, type BooleanInputProps } from './boolean_input'; +export { ColorPickerInput, type ColorPickerInputProps } from './color_picker_input'; +export { ImageInput, type ImageInputProps } from './image_input'; +export { NumberInput, type NumberInputProps } from './number_input'; +export { SelectInput, type SelectInputProps } from './select_input'; +export { TextInput, type TextInputProps } from './text_input'; + +export const TEST_SUBJ_PREFIX_FIELD = 'management-settings-editField'; diff --git a/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx new file mode 100644 index 0000000000000..04108a3259738 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx @@ -0,0 +1,118 @@ +/* + * 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 { render, fireEvent, waitFor } from '@testing-library/react'; + +import { CodeEditorInput } from './code_editor_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { CodeEditorProps } from '../code_editor'; + +const name = 'Some json field'; +const id = 'some:json:field'; +const initialValue = '{"foo":"bar"}'; + +jest.mock('../code_editor', () => ({ + CodeEditor: ({ value, onChange }: CodeEditorProps) => ( + { + if (onChange) { + onChange(e.target.value, e as any); + } + }} + /> + ), +})); + +describe('JsonEditorInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: initialValue, + type: 'json' as 'json', + }; + + beforeEach(() => { + defaultProps.onChange.mockClear(); + }); + + it('renders without errors', () => { + const { container } = render(); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(initialValue); + }); + + it('calls the onChange prop when the object value changes', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '{"bar":"foo"}' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '{"bar":"foo"}' }); + }); + + it('calls the onChange prop when the object value changes with no value', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '{}' }); + }); + + it('calls the onChange prop with an error when the object value changes to invalid JSON', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '{"bar" "foo"}' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + value: '{"bar" "foo"}', + error: 'Invalid JSON syntax', + isInvalid: true, + }); + }); + + it('calls the onChange prop when the array value changes', () => { + const props = { ...defaultProps, defaultValue: '["bar", "foo"]', value: undefined }; + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '["foo", "bar", "baz"]' } }); + waitFor(() => + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '["foo", "bar", "baz"]' }) + ); + }); + + it('calls the onChange prop when the array value changes with no value', () => { + const props = { + ...defaultProps, + defaultValue: '["bar", "foo"]', + value: '["bar", "foo"]', + }; + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '[]' }); + }); + + it('calls the onChange prop with an array when the array value changes to invalid JSON', () => { + const props = { ...defaultProps, defaultValue: '["bar", "foo"]', value: undefined }; + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '["bar", "foo" | "baz"]' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + value: '["bar", "foo" | "baz"]', + error: 'Invalid JSON syntax', + isInvalid: true, + }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx new file mode 100644 index 0000000000000..4df09c3e5df71 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx @@ -0,0 +1,62 @@ +/* + * 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 { render, fireEvent } from '@testing-library/react'; + +import { CodeEditorInput } from './code_editor_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { CodeEditorProps } from '../code_editor'; + +const name = 'Some json field'; +const id = 'some:json:field'; +const initialValue = '# A Markdown Title'; + +jest.mock('../code_editor', () => ({ + CodeEditor: ({ value, onChange }: CodeEditorProps) => ( + { + if (onChange) { + onChange(e.target.value, e as any); + } + }} + /> + ), +})); + +describe('JsonEditorInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: initialValue, + type: 'markdown' as 'markdown', + }; + + it('renders without errors', () => { + const { container } = render(); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(initialValue); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '# New Markdown Title' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '# New Markdown Title' }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx new file mode 100644 index 0000000000000..2df3bbc96254f --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx @@ -0,0 +1,56 @@ +/* + * 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 { render, fireEvent, waitFor } from '@testing-library/react'; +import { NumberInput } from './number_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { wrap } from '../mocks'; + +const name = 'Some number field'; +const id = 'some:number:field'; + +describe('NumberInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: 12345, + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(defaultProps.value); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: '54321' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 54321 }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); + + it('recovers if value is null', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + waitFor(() => expect(input).toHaveValue(undefined)); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/number_input.tsx b/packages/kbn-management/settings/components/field_input/input/number_input.tsx new file mode 100644 index 0000000000000..8d4862fa5e52e --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/number_input.tsx @@ -0,0 +1,51 @@ +/* + * 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 { EuiFieldNumber } from '@elastic/eui'; +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link NumberInput} component. + */ +export type NumberInputProps = InputProps<'number'>; + +/** + * Component for manipulating a `number` field. + */ +export const NumberInput = ({ + ariaDescribedBy, + ariaLabel, + id, + isDisabled: disabled = false, + name, + onChange: onChangeProp, + value: valueProp, +}: NumberInputProps) => { + const onChange = (event: React.ChangeEvent) => + onChangeProp({ value: Number(event.target.value) }); + + // nit: we have to do this because, while the `UiSettingsService` might return + // `null`, the {@link EuiFieldNumber} component doesn't accept `null` as a + // value. + // + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + // + const value = valueProp === null ? undefined : valueProp; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx new file mode 100644 index 0000000000000..fe6fa934ab5bb --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx @@ -0,0 +1,90 @@ +/* + * 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 { render, fireEvent } from '@testing-library/react'; +import { SelectInput, SelectInputProps } from './select_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { wrap } from '../mocks'; + +const name = 'Some select field'; +const id = 'some:select:field'; + +describe('SelectInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + optionLabels: { + option1: 'Option 1', + option2: 'Option 2', + option3: 'Option 3', + }, + optionValues: ['option1', 'option2', 'option3'], + value: 'option2', + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue('option2'); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: 'option3' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 'option3' }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(wrap()); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); + + it('throws when optionValues is not provided', () => { + const consoleMock = jest.spyOn(console, 'error').mockImplementation(() => {}); + const props = { + ...defaultProps, + optionLabels: undefined as any, + optionValues: [], + } as SelectInputProps; + + expect(() => render(wrap())).toThrowError( + 'non-empty `optionValues` are required for `SelectInput`.' + ); + consoleMock.mockRestore(); + }); + + it('recovers if optionLabel is missing', () => { + const props = { + ...defaultProps, + optionLabels: {}, + } as SelectInputProps; + const { container } = render(wrap()); + + expect(container).toBeInTheDocument(); + }); + + it('recovers if value is null', () => { + const props = { + ...defaultProps, + value: null, + } as SelectInputProps; + const { container } = render(wrap()); + + expect(container).toBeInTheDocument(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/select_input.tsx b/packages/kbn-management/settings/components/field_input/input/select_input.tsx new file mode 100644 index 0000000000000..4ca8fdf21532d --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/select_input.tsx @@ -0,0 +1,71 @@ +/* + * 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, { useMemo } from 'react'; +import { EuiSelect } from '@elastic/eui'; +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link SelectInput} component. + */ +export interface SelectInputProps extends InputProps<'select'> { + /** Specify the option labels to their values. */ + optionLabels: Record; + /** Specify the option values. */ + optionValues: Array; +} + +/** + * Component for manipulating a `select` field. + */ +export const SelectInput = ({ + ariaDescribedBy, + ariaLabel, + id, + isDisabled = false, + onChange: onChangeProp, + optionLabels = {}, + optionValues: optionsProp, + value: valueProp, +}: SelectInputProps) => { + if (optionsProp.length === 0) { + throw new Error('non-empty `optionValues` are required for `SelectInput`.'); + } + + const options = useMemo( + () => + optionsProp?.map((option) => ({ + text: optionLabels.hasOwnProperty(option) ? optionLabels[option] : option, + value: option, + })), + [optionsProp, optionLabels] + ); + + const onChange = (event: React.ChangeEvent) => { + onChangeProp({ value: event.target.value }); + }; + + // nit: we have to do this because, while the `UiSettingsService` might return + // `null`, the {@link EuiSelect} component doesn't accept `null` as a value. + // + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + // + const value = valueProp === null ? undefined : valueProp; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx new file mode 100644 index 0000000000000..d4dee9f32cdf6 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx @@ -0,0 +1,50 @@ +/* + * 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 { render, fireEvent } from '@testing-library/react'; + +import { TextInput } from './text_input'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +const name = 'Some text field'; +const id = 'some:text:field'; + +describe('TextInput', () => { + const defaultProps = { + id, + name, + ariaLabel: 'Test', + onChange: jest.fn(), + value: 'initial value', + }; + + it('renders without errors', () => { + const { container } = render(); + expect(container).toBeInTheDocument(); + }); + + it('renders the value prop', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue('initial value'); + }); + + it('calls the onChange prop when the value changes', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + fireEvent.change(input, { target: { value: 'new value' } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 'new value' }); + }); + + it('disables the input when isDisabled prop is true', () => { + const { getByTestId } = render(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toBeDisabled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_input/input/text_input.tsx b/packages/kbn-management/settings/components/field_input/input/text_input.tsx new file mode 100644 index 0000000000000..aa1dc913eeeea --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/input/text_input.tsx @@ -0,0 +1,46 @@ +/* + * 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 { EuiFieldText } from '@elastic/eui'; + +import { InputProps } from '../types'; +import { TEST_SUBJ_PREFIX_FIELD } from '.'; + +/** + * Props for a {@link TextInput} component. + */ +export type TextInputProps = InputProps<'string'>; + +/** + * Component for manipulating a `string` field. + */ +export const TextInput = ({ + name, + onChange: onChangeProp, + ariaLabel, + id, + isDisabled = false, + value: valueProp, + ariaDescribedBy, +}: TextInputProps) => { + const value = valueProp || ''; + const onChange = (event: React.ChangeEvent) => + onChangeProp({ value: event.target.value }); + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_input/kibana.jsonc b/packages/kbn-management/settings/components/field_input/kibana.jsonc new file mode 100644 index 0000000000000..625ab3cc564b9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-components-field-input", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx b/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx new file mode 100644 index 0000000000000..daf926561bc84 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx @@ -0,0 +1,55 @@ +/* + * 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, { ReactChild } from 'react'; +import { I18nProvider } from '@kbn/i18n-react'; + +import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; +import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { I18nStart } from '@kbn/core-i18n-browser'; + +import { FieldInputProvider } from '../services'; +import { FieldInputServices } from '../types'; + +const createRootMock = () => { + const i18n: I18nStart = { + Context: ({ children }) => {children}, + }; + const theme = themeServiceMock.createStartContract(); + return { + i18n, + theme, + }; +}; + +export const createFieldInputServicesMock = (): FieldInputServices => ({ + showDanger: jest.fn(), +}); + +export const TestWrapper = ({ + children, + services = createFieldInputServicesMock(), +}: { + children: ReactChild; + services?: FieldInputServices; +}) => { + return ( + + {children} + + ); +}; + +export const wrap = ( + component: JSX.Element, + services: FieldInputServices = createFieldInputServicesMock() +) => ( + + {component} + +); diff --git a/packages/kbn-management/settings/components/field_input/mocks/index.ts b/packages/kbn-management/settings/components/field_input/mocks/index.ts new file mode 100644 index 0000000000000..8eb7547c59584 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/mocks/index.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 { TestWrapper, createFieldInputServicesMock, wrap } from './context.mock'; + +export type { FieldInputProvider } from '../services'; +export type { FieldInputServices } from '../types'; diff --git a/packages/kbn-management/settings/components/field_input/package.json b/packages/kbn-management/settings/components/field_input/package.json new file mode 100644 index 0000000000000..ca9dda8f8b384 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-components-field-input", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_input/services.tsx b/packages/kbn-management/settings/components/field_input/services.tsx new file mode 100644 index 0000000000000..b76c9b7a9a6a5 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/services.tsx @@ -0,0 +1,58 @@ +/* + * 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, { FC, useContext } from 'react'; +import type { FieldInputServices, FieldInputKibanaDependencies } from './types'; + +const FieldInputContext = React.createContext(null); + +/** + * React Provider that provides services to a {@link FieldInput} component and its dependents. + */ +export const FieldInputProvider: FC = ({ children, ...services }) => { + // Typescript types are widened to accept more than what is needed. Take only what is necessary + // so the context remains clean. + const { showDanger } = services; + + return {children}; +}; + +/** + * Kibana-specific Provider that maps Kibana plugins and services to a {@link FieldInputProvider}. + */ +export const FieldInputKibanaProvider: FC = ({ + children, + toasts, +}) => { + return ( + toasts.addDanger(message), + }} + > + {children} + + ); +}; + +/** + * React hook for accessing pre-wired services. + * + * @see {@link FieldInputServices} + */ +export const useServices = () => { + const context = useContext(FieldInputContext); + + if (!context) { + throw new Error( + 'FieldInputContext is missing. Ensure your component or React root is wrapped with FieldInputProvider.' + ); + } + + return context; +}; diff --git a/packages/kbn-management/settings/components/field_input/setup_tests.ts b/packages/kbn-management/settings/components/field_input/setup_tests.ts new file mode 100644 index 0000000000000..8d1acb9232934 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/setup_tests.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. + */ + +// eslint-disable-next-line import/no-extraneous-dependencies +import '@testing-library/jest-dom'; diff --git a/packages/kbn-management/settings/components/field_input/tsconfig.json b/packages/kbn-management/settings/components/field_input/tsconfig.json new file mode 100644 index 0000000000000..a6fe848abc2a9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/tsconfig.json @@ -0,0 +1,32 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + "@kbn/management-settings-field-definition", + "@kbn/monaco", + "@kbn/kibana-react-plugin", + "@kbn/management-settings-utilities", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/core-notifications-browser", + "@kbn/core-ui-settings-common", + "@kbn/react-kibana-context-root", + "@kbn/core-theme-browser-mocks", + "@kbn/core-i18n-browser", + ] +} diff --git a/packages/kbn-management/settings/components/field_input/types.ts b/packages/kbn-management/settings/components/field_input/types.ts new file mode 100644 index 0000000000000..73e676785e6b9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_input/types.ts @@ -0,0 +1,64 @@ +/* + * 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 { SettingType } from '@kbn/management-settings-types'; +import { ToastsStart } from '@kbn/core-notifications-browser'; +import { KnownTypeToValue } from '@kbn/management-settings-types'; + +/** + * Contextual services used by a {@link FieldInput} component. + */ +export interface FieldInputServices { + /** + * Displays a danger toast message. + * @param value The message to display. + */ + showDanger: (value: string) => void; +} + +/** + * An interface containing a collection of Kibana plugins and services required to + * render this component. + */ +export interface FieldInputKibanaDependencies { + /** The portion of the {@link ToastsStart} contract used by this component. */ + toasts: Pick; +} + +/** + * Props passed to a {@link FieldInput} component. + */ +export interface InputProps | null> { + id: string; + ariaDescribedBy?: string; + ariaLabel: string; + isDisabled?: boolean; + isInvalid?: boolean; + value?: V; + name: string; + /** The `onChange` handler. */ + onChange: OnChangeFn; +} + +/** + * Parameters for the {@link OnChangeFn} handler. + */ +export interface OnChangeParams { + /** The value provided to the handler. */ + value?: KnownTypeToValue | null; + /** An error message, if one occurred. */ + error?: string; + /** True if the format of a change is not valid, false otherwise. */ + isInvalid?: boolean; +} + +/** + * A function that is called when the value of a {@link FieldInput} changes. + * @param params The {@link OnChangeParams} parameters passed to the handler. + */ +export type OnChangeFn = (params: OnChangeParams) => void; diff --git a/packages/kbn-management/settings/components/field_row/README.mdx b/packages/kbn-management/settings/components/field_row/README.mdx new file mode 100644 index 0000000000000..6fe238938407c --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/README.mdx @@ -0,0 +1,37 @@ +--- +id: management/settings/components/fieldRow +slug: /management/settings/components/field-row +title: Management Settings Field Row Component +description: A package containing a component for rendering and manipulating a UiSetting in the Advanced Settings UI. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains a component for rendering and manipulating a single UiSetting in the Advanced Settings UI. + +For reference, this is an example of the current Advanced Settings UI: + +
    Advanced Settings as a form.
    + +*Advanced Settings as a form.* + +## Implementation + +A `FormRow` represents a single UiSetting, and is responsible for rendering the UiSetting's label, description, and equivalent value input. It displays the state of any unsaved change, (e.g. error). It also handles the logic for updating the UiSetting's value in a consuming component through the `onChange` handler. + +
    Anatomy of a `FormRow`
    + +*Anatomy of a `FormRow`* + +## Notes + +- This implementation was extracted from the `advancedSettings` plugin. +- The type for a `UiSettingMetadata` is limited due to the permissive nature of the [`UiSettingsParam` type](packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts). +- The source includes notations of several bugs which will surface if the assumptions about default settings from Kibana change. + +## Testing + +- Code coverage stands at 95%. +- Storybook stories are included. Run `yarn storybook management` to view them. \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_row/__stories__/array_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/array_field.stories.tsx new file mode 100644 index 0000000000000..dfe384fdd2349 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/array_field.stories.tsx @@ -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. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Array Row', 'A setting with an array of values.'); +export const ArrayRow = getFieldRowStory('array' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/boolean_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/boolean_field.stories.tsx new file mode 100644 index 0000000000000..0d663a26cb5f8 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/boolean_field.stories.tsx @@ -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. + */ + +import { getStory, getFieldRowStory } from './common'; + +export default getStory('Boolean Row', 'A setting with a boolean value.'); +export const BooleanRow = getFieldRowStory('boolean' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/color_picker_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/color_picker_field.stories.tsx new file mode 100644 index 0000000000000..61b0033d19175 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/color_picker_field.stories.tsx @@ -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. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Color Row', 'A setting with an base64 image value.'); +export const ColorRow = getFieldRowStory('color' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/common.tsx b/packages/kbn-management/settings/components/field_row/__stories__/common.tsx new file mode 100644 index 0000000000000..a18592ca867b2 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/common.tsx @@ -0,0 +1,150 @@ +/* + * 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 type { ComponentMeta } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import { EuiPanel } from '@elastic/eui'; +import { SettingType } from '@kbn/management-settings-types'; + +import { KnownTypeToMetadata, UiSettingMetadata } from '@kbn/management-settings-types/metadata'; +import { + useFieldDefinition, + getDefaultValue, + getUserValue, +} from '@kbn/management-settings-field-definition/storybook'; +import { FieldRow as Component, FieldRow } from '../field_row'; +import { FieldRowProvider } from '../services'; +import { OnChangeFn } from '../types'; + +/** + * Props for a {@link FieldInput} Storybook story. + */ +export interface StoryProps + extends Pick, 'userValue' | 'value'> { + /** Simulate if the UiSetting is custom. */ + isCustom: boolean; + /** Simulate if the UiSetting is deprecated. */ + isDeprecated: boolean; + /** Simulate if the UiSetting is overriden. */ + isOverridden: boolean; + /** Simulate if saving settings is enabled in the UI. */ + isSavingEnabled: boolean; +} + +/** + * Utility function for returning a {@link FieldRow} Storybook story + * definition. + * @param title The title displayed in the Storybook UI. + * @param description The description of the Story. + * @returns A Storybook Story. + */ +export const getStory = ( + title: string, + description: string, + argTypes: Record = {} +) => + ({ + title: `Settings/Field Row/${title}`, + description, + argTypes: { + userValue: { + name: 'Current saved value', + }, + value: { + name: 'Default value from Kibana', + }, + isSavingEnabled: { + name: 'Saving is enabled?', + }, + isCustom: { + name: 'Setting is custom?', + }, + isDeprecated: { + name: 'Setting is deprecated?', + }, + isOverridden: { + name: 'Setting is overridden?', + }, + ...argTypes, + }, + decorators: [ + (Story) => ( + + + + + + ), + ], + } as ComponentMeta); + +/** + * Default argument values for a {@link FieldInput} Storybook story. + */ +export const storyArgs = { + /** True if the saving settings is disabled, false otherwise. */ + isSavingEnabled: true, + /** True if the UiSetting is custom, false otherwise. */ + isCustom: false, + /** True if the UiSetting is deprecated, false otherwise. */ + isDeprecated: false, + /** True if the UiSetting is overridden, false otherwise. */ + isOverridden: false, +}; + +/** + * Utility function for returning a {@link FieldRow} Storybook story. + * @param type The type of the UiSetting for this {@link FieldRow}. + * @returns A Storybook Story. + */ +export const getFieldRowStory = ( + type: SettingType, + settingFields: Partial> +) => { + const Story = ({ + isCustom, + isDeprecated, + isOverridden, + isSavingEnabled, + userValue, + value, + }: StoryProps) => { + const setting: UiSettingMetadata = { + type, + value, + userValue, + name: `Some ${type} setting`, + ...settingFields, + }; + + const [field, unsavedChange, onChangeFn] = useFieldDefinition(setting, { + isCustom, + isDeprecated, + isOverridden, + }); + + const onChange: OnChangeFn = (_key, change) => { + const { error, isInvalid, unsavedValue } = change; + onChangeFn({ error: error === null ? undefined : error, isInvalid, value: unsavedValue }); + }; + + return ; + }; + + Story.args = { + userValue: getUserValue(type), + value: getDefaultValue(type), + ...storyArgs, + }; + + return Story; +}; diff --git a/packages/kbn-management/settings/components/field_row/__stories__/image_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/image_field.stories.tsx new file mode 100644 index 0000000000000..26975a2c8e4af --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/image_field.stories.tsx @@ -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. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Image Row', 'A setting with an base64 image value.'); +export const ImageRow = getFieldRowStory('image' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/json_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/json_field.stories.tsx new file mode 100644 index 0000000000000..8a941a3abd804 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/json_field.stories.tsx @@ -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. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('JSON Row', 'A setting with a JSON value.'); +export const JSONRow = getFieldRowStory('json' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/markdown_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/markdown_field.stories.tsx new file mode 100644 index 0000000000000..0a858d5ec5ae7 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/markdown_field.stories.tsx @@ -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. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Markdown Row', 'A setting with a Markdown value.'); +export const MarkdownRow = getFieldRowStory('markdown' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/number_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/number_field.stories.tsx new file mode 100644 index 0000000000000..dc97a11386afc --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/number_field.stories.tsx @@ -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. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('Number Row', 'A setting with a numeric value.'); +export const NumberRow = getFieldRowStory('number' as const); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx new file mode 100644 index 0000000000000..299297f341282 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx @@ -0,0 +1,27 @@ +/* + * 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 { getFieldRowStory, getStory } from './common'; + +const argTypes = { + value: { + name: 'Current saved value', + control: { + type: 'select', + options: ['option1', 'option2', 'option3'], + }, + }, +}; + +const settingFields = { + optionLabels: { option1: 'Option 1', option2: 'Option 2', option3: 'Option 3' }, + options: ['option1', 'option2', 'option3'], +}; + +export default getStory('Select Row', 'A setting with a boolean value.', argTypes); +export const SelectRow = getFieldRowStory('select' as const, settingFields); diff --git a/packages/kbn-management/settings/components/field_row/__stories__/text_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/text_field.stories.tsx new file mode 100644 index 0000000000000..09ca6ada1d88d --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/__stories__/text_field.stories.tsx @@ -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. + */ + +import { getFieldRowStory, getStory } from './common'; + +export default getStory('String Row', 'A setting with a string value.'); +export const StringRow = getFieldRowStory('string' as const); diff --git a/packages/kbn-management/settings/components/field_row/assets/form_row.png b/packages/kbn-management/settings/components/field_row/assets/form_row.png new file mode 100644 index 0000000000000..e880adf032d8e Binary files /dev/null and b/packages/kbn-management/settings/components/field_row/assets/form_row.png differ diff --git a/packages/kbn-management/settings/components/field_row/assets/page.png b/packages/kbn-management/settings/components/field_row/assets/page.png new file mode 100644 index 0000000000000..9654e548193d4 Binary files /dev/null and b/packages/kbn-management/settings/components/field_row/assets/page.png differ diff --git a/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx b/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx new file mode 100644 index 0000000000000..49bb85fb3cdcd --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx @@ -0,0 +1,84 @@ +/* + * 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 { render } from '@testing-library/react'; +import { FieldDefaultValue, DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX } from './default_value'; +import { wrap } from '../mocks'; + +describe('FieldDefaultValue', () => { + it('renders without errors', () => { + const { container } = render( + wrap( + + ) + ); + + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if the default value is set', () => { + const { container } = render( + wrap( + + ) + ); + + expect(container).toBeEmptyDOMElement(); + }); + + it('does not render a code block for string fields', () => { + const { queryByTestId, getByText } = render( + wrap( + + ) + ); + const input = queryByTestId(`${DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX}-test`); + expect(input).not.toBeInTheDocument(); + const label = getByText('hello world'); + expect(label).toBeInTheDocument(); + }); + + it('renders a code block for JSON fields', () => { + const { getByTestId } = render( + wrap( + + ) + ); + const input = getByTestId(`${DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX}-test`); + expect(input).toBeInTheDocument(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/description/default_value.tsx b/packages/kbn-management/settings/components/field_row/description/default_value.tsx new file mode 100644 index 0000000000000..75fb9c4c7bdc4 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/default_value.tsx @@ -0,0 +1,65 @@ +/* + * 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 { EuiCode, EuiCodeBlock, EuiText } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { + isJsonFieldDefinition, + isMarkdownFieldDefinition, +} from '@kbn/management-settings-field-definition'; +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +export const DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX = 'default-display-block'; +/** + * Props for a {@link FieldDefaultValue} component. + */ +export interface FieldDefaultValueProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'id' | 'type' | 'isDefaultValue' | 'defaultValueDisplay'>; +} + +/** + * Component for displaying the default value of a {@link FieldDefinition} + * in the {@link FieldRow}. + */ +export const FieldDefaultValue = ({ field }: FieldDefaultValueProps) => { + if (field.isDefaultValue) { + return null; + } + + const { defaultValueDisplay: display, id } = field; + + let value = {display}; + + if (isJsonFieldDefinition(field) || isMarkdownFieldDefinition(field)) { + value = ( + = 500 ? 300 : undefined} + > + {display} + + ); + } + + return ( + + + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx b/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx new file mode 100644 index 0000000000000..73e70df48e48f --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx @@ -0,0 +1,58 @@ +/* + * 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 { render } from '@testing-library/react'; +import { FieldDeprecation } from './deprecation'; +import { wrap } from '../mocks'; + +describe('FieldDeprecation', () => { + const defaultProps = { + field: { + name: 'test', + type: 'string', + deprecation: undefined, + }, + }; + + it('renders without errors', () => { + const { container } = render( + wrap( + + ) + ); + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if there is no deprecation', () => { + const { container } = render(wrap()); + expect(container.firstChild).toBeNull(); + }); + + it('renders a warning badge if there is a deprecation', () => { + const { getByText } = render( + wrap( + + ) + ); + const badge = getByText('Deprecated'); + expect(badge).toBeInTheDocument(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/description/deprecation.tsx b/packages/kbn-management/settings/components/field_row/description/deprecation.tsx new file mode 100644 index 0000000000000..664f9e3e96047 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/deprecation.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. + */ +/* + * 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 { EuiBadge, EuiToolTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; +import { useServices } from '../services'; + +export const DATA_TEST_SUBJ_DEPRECATION_PREFIX = 'description-block-deprecation'; + +type Field = Pick, 'id' | 'deprecation' | 'name'>; + +/** + * Props for a {@link FieldDeprecation} component. + */ +export interface FieldDeprecationProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Field; +} + +/** + * + */ +export const FieldDeprecation = ({ field }: FieldDeprecationProps) => { + const { links } = useServices(); + const { deprecation, name, id } = field; + + if (!deprecation) { + return null; + } + + return ( +
    + + { + window.open(links[deprecation!.docLinksKey], '_blank'); + }} + onClickAriaLabel={i18n.translate('management.settings.field.deprecationClickAreaLabel', { + defaultMessage: 'Click to view deprecation documentation for {name}.', + values: { + name, + }, + })} + > + Deprecated + + +
    + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/description/description.test.tsx b/packages/kbn-management/settings/components/field_row/description/description.test.tsx new file mode 100644 index 0000000000000..859a530f3ccdd --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/description.test.tsx @@ -0,0 +1,43 @@ +/* + * 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 { render } from '@testing-library/react'; +import { FieldDescription } from './description'; +import { FieldDefinition } from '@kbn/management-settings-types'; +import { wrap } from '../mocks'; + +const description = 'hello world description'; + +describe('FieldDescription', () => { + const defaultProps = { + field: { + defaultValue: null, + defaultValueDisplay: 'null', + id: 'test', + isDefaultValue: false, + name: 'test', + savedValue: 'hello world', + type: 'string', + } as FieldDefinition<'string'>, + }; + + it('renders without errors', () => { + const { getByText } = render( + wrap( + + ) + ); + expect(getByText(description)).toBeInTheDocument(); + }); + + it('renders no description without one', () => { + const { queryByText } = render(wrap()); + expect(queryByText(description)).toBeNull(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/description/description.tsx b/packages/kbn-management/settings/components/field_row/description/description.tsx new file mode 100644 index 0000000000000..86529f366a321 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/description.tsx @@ -0,0 +1,81 @@ +/* + * 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, { ReactElement } from 'react'; + +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; +import { EuiText } from '@elastic/eui'; + +import { useFieldStyles } from '../field_row.styles'; +import { FieldDeprecation } from './deprecation'; +import { FieldDefaultValue } from './default_value'; + +export const DATA_TEST_SUBJ_DESCRIPTION = 'settings-description'; + +type Field = Pick< + FieldDefinition, + | 'defaultValue' + | 'defaultValueDisplay' + | 'description' + | 'id' + | 'isDefaultValue' + | 'name' + | 'savedValue' + | 'type' +>; + +/** + * Props for a {@link FieldDescription} component. + */ +export interface FieldDescriptionProps { + field: Field; + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for displaying the description of a {@link FieldDefinition}. + */ +export const FieldDescription = ({ + field, + unsavedChange, +}: FieldDescriptionProps) => { + const { cssDescription } = useFieldStyles({ field, unsavedChange }); + const { description, name } = field; + + // TODO - this does *not* match the `UiSetting` type. + // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts + let content: ReactElement | string | undefined = description; + + if (!React.isValidElement(content)) { + content = ( +
    + ); + } + + if (content) { + content = ( + + {content} + + ); + } + + return ( +
    + + {content} + +
    + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/description/index.ts b/packages/kbn-management/settings/components/field_row/description/index.ts new file mode 100644 index 0000000000000..e0b513037b6d1 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/description/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 { FieldDescription, type FieldDescriptionProps } from './description'; diff --git a/packages/kbn-management/settings/components/field_row/field_row.styles.ts b/packages/kbn-management/settings/components/field_row/field_row.styles.ts new file mode 100644 index 0000000000000..ece92a9fbd1aa --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/field_row.styles.ts @@ -0,0 +1,56 @@ +/* + * 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 { useEuiTheme } from '@elastic/eui'; +import { css } from '@emotion/react'; +import { UnsavedFieldChange, FieldDefinition, SettingType } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from '@kbn/management-settings-utilities'; + +/** + * Parameters for the {@link useFieldStyles} hook. + */ +export interface Params { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'savedValue'>; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * A React hook that provides stateful `css` classes for the {@link FieldRow} component. + */ +export const useFieldStyles = ({ field, unsavedChange }: Params) => { + const { + euiTheme: { size, colors }, + } = useEuiTheme(); + + const unsaved = hasUnsavedChange(field, unsavedChange); + const error = unsavedChange?.error; + + return { + cssFieldFormGroup: css` + + * { + margin-top: ${size.base}; + } + `, + cssFieldTitle: css` + font-weight: bold; + padding-left: ${size.s}; + margin-left: -${size.s}; + + ${unsaved ? `box-shadow: -${size.xs} 0 ${colors.warning};` : ''} + + ${error ? `box-shadow: -${size.xs} 0 ${colors.danger};` : ''} + `, + cssDescription: css` + & > div { + margin-bottom: ${size.s}; + } + `, + }; +}; diff --git a/packages/kbn-management/settings/components/field_row/field_row.test.tsx b/packages/kbn-management/settings/components/field_row/field_row.test.tsx new file mode 100644 index 0000000000000..481cb43b6fcf9 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/field_row.test.tsx @@ -0,0 +1,481 @@ +/* + * 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 { fireEvent, render, waitFor } from '@testing-library/react'; + +import { SettingType } from '@kbn/management-settings-types'; +import { getFieldDefinition } from '@kbn/management-settings-field-definition'; +import { KnownTypeToMetadata } from '@kbn/management-settings-types/metadata'; + +import { DATA_TEST_SUBJ_SCREEN_READER_MESSAGE, FieldRow } from './field_row'; +import { wrap } from './mocks'; + +import { TEST_SUBJ_PREFIX_FIELD } from '@kbn/management-settings-components-field-input/input'; +import { DATA_TEST_SUBJ_OVERRIDDEN_PREFIX } from './input_footer/overridden_message'; +import { DATA_TEST_SUBJ_RESET_PREFIX } from './input_footer/reset_link'; + +const defaults = { + requiresPageReload: false, + readonly: false, + category: ['category'], +}; + +const defaultValues: Record = { + array: ['example_value'], + boolean: true, + color: '#FF00CC', + image: '', + json: "{ foo: 'bar2' }", + markdown: 'Hello World', + number: 1, + select: 'apple', + string: 'hello world', + undefined: 'undefined', +}; + +const defaultInputValues: Record = { + array: 'example_value', + boolean: true, + color: '#FF00CC', + image: '', + json: '{"hello": "world"}', + markdown: '**bold**', + number: 1, + select: 'apple', + string: 'hello world', + undefined: 'undefined', +}; + +const userValues: Record = { + array: ['user', 'value'], + boolean: false, + image: 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', + json: '{"hello": "world"}', + markdown: '**bold**', + number: 10, + select: 'banana', + string: 'foo', + color: '#FACF0C', + undefined: 'something', +}; + +const userInputValues: Record = { + array: 'user, value', + boolean: false, + image: 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==', + json: '{"hello": "world"}', + markdown: '**bold**', + number: 10, + select: 'banana', + string: 'foo', + color: '#FACF0C', + undefined: 'something', +}; + +type Settings = { + [key in SettingType]: KnownTypeToMetadata; +}; + +const settings: Omit = { + array: { + description: 'Description for Array test setting', + name: 'array:test:setting', + type: 'array', + userValue: undefined, + value: defaultValues.array, + ...defaults, + }, + boolean: { + description: 'Description for Boolean test setting', + name: 'boolean:test:setting', + type: 'boolean', + userValue: undefined, + value: defaultValues.boolean, + ...defaults, + }, + color: { + description: 'Description for Color test setting', + name: 'color:test:setting', + type: 'color', + userValue: undefined, + value: defaultValues.color, + ...defaults, + }, + image: { + description: 'Description for Image test setting', + name: 'image:test:setting', + type: 'image', + userValue: undefined, + value: defaultValues.image, + ...defaults, + }, + // This is going to take a lot of mocks to test. + // + // json: { + // name: 'json:test:setting', + // description: 'Description for Json test setting', + // type: 'json', + // userValue: '{"foo": "bar"}', + // value: '{}', + // ...defaults, + // }, + // + // This is going to take a lot of mocks to test. + // + // markdown: { + // name: 'markdown:test:setting', + // description: 'Description for Markdown test setting', + // type: 'markdown', + // userValue: undefined, + // value: '', + // ...defaults, + // }, + number: { + description: 'Description for Number test setting', + name: 'number:test:setting', + type: 'number', + userValue: undefined, + value: defaultValues.number, + ...defaults, + }, + select: { + description: 'Description for Select test setting', + name: 'select:test:setting', + options: ['apple', 'orange', 'banana'], + optionLabels: { + apple: 'Apple', + orange: 'Orange', + banana: 'Banana', + }, + type: 'select', + userValue: undefined, + value: defaultValues.select, + ...defaults, + }, + string: { + description: 'Description for String test setting', + name: 'string:test:setting', + type: 'string', + userValue: undefined, + value: defaultValues.string, + ...defaults, + }, + undefined: { + description: 'Description for Undefined test setting', + name: 'undefined:test:setting', + type: 'undefined', + userValue: undefined, + value: defaultValues.undefined, + ...defaults, + }, +}; + +const handleChange = jest.fn(); + +describe('Field', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + (Object.keys(settings) as SettingType[]).forEach((type) => { + if (type === 'json' || type === 'markdown') { + return; + } + + const setting = settings[type]; + const id = settings[type].name || type; + const inputTestSubj = `${TEST_SUBJ_PREFIX_FIELD}-${id}`; + + describe(`for ${type} setting`, () => { + it('should render', () => { + const { container } = render( + wrap( + + ) + ); + + expect(container).toBeInTheDocument(); + }); + + it('should render default value if there is no user value set', () => { + const { getByTestId } = render( + wrap( + + ) + ); + + if (type === 'boolean') { + expect(getByTestId(inputTestSubj)).toHaveAttribute('aria-checked', 'true'); + } else if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toHaveValue( + defaultInputValues[type] + ); + } else if (type === 'number') { + expect(getByTestId(inputTestSubj)).toHaveValue(defaultInputValues[type]); + } else if (type === 'image') { + expect(getByTestId(inputTestSubj)).toBeInTheDocument(); + expect(getByTestId(inputTestSubj)).toHaveAttribute('type', 'file'); + } else { + expect(getByTestId(inputTestSubj)).toHaveValue(String(defaultInputValues[type]) as any); + } + }); + + it('should render as read only with help text if overridden', async () => { + const { getByTestId } = render( + wrap( + + ) + ); + if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toBeDisabled(); + } else { + expect(getByTestId(inputTestSubj)).toBeDisabled(); + } + + expect(getByTestId(`${DATA_TEST_SUBJ_OVERRIDDEN_PREFIX}-${id}`)).toBeInTheDocument(); + }); + + it('should render as read only if saving is disabled', () => { + const { getByTestId } = render( + wrap( + + ) + ); + if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toBeDisabled(); + } else { + expect(getByTestId(inputTestSubj)).toBeDisabled(); + } + }); + + it('should render user value if there is user value is set', async () => { + const { getByTestId, getByAltText } = render( + wrap( + + ) + ); + + if (type === 'boolean') { + expect(getByTestId(inputTestSubj)).toHaveAttribute('aria-checked', 'false'); + } else if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toHaveValue( + userValues[type] + ); + } else if (type === 'number') { + expect(getByTestId(inputTestSubj)).toHaveValue(userValues[type]); + } else if (type === 'image') { + expect(getByAltText(id)).toBeInTheDocument(); + expect(getByAltText(id)).toHaveAttribute('src', userValues[type]); + } else { + expect(getByTestId(inputTestSubj)).toHaveValue(String(userInputValues[type]) as any); + } + }); + + it('should render custom setting icon if it is custom', () => { + const { getByText } = render( + wrap( + + ) + ); + + expect(getByText('Custom setting')).toBeInTheDocument(); + }); + + it('should render unsaved value if there are unsaved changes', () => { + const { getByTestId, getByAltText } = render( + wrap( + + ) + ); + + if (type === 'boolean') { + expect(getByTestId(inputTestSubj)).toHaveAttribute('aria-checked', 'false'); + } else if (type === 'color') { + expect(getByTestId(`euiColorPickerAnchor ${inputTestSubj}`)).toHaveValue( + userInputValues[type] + ); + } else if (type === 'number') { + expect(getByTestId(inputTestSubj)).toHaveValue(userInputValues[type]); + } else if (type === 'image') { + expect(getByAltText(id)).toBeInTheDocument(); + expect(getByAltText(id)).toHaveAttribute('src', userValues[type]); + } else { + expect(getByTestId(inputTestSubj)).toHaveValue(String(userInputValues[type]) as any); + } + }); + + it('should reset when reset link is clicked', () => { + const field = getFieldDefinition({ + id, + setting: { + ...setting, + userValue: userValues[type], + }, + }); + + const { getByTestId } = render( + wrap() + ); + + const input = getByTestId(`${DATA_TEST_SUBJ_RESET_PREFIX}-${field.id}`); + fireEvent.click(input); + expect(handleChange).toHaveBeenCalledWith(field.id, { + type, + unsavedValue: field.defaultValue, + }); + }); + }); + }); + + it('should fire onChange when input changes', () => { + const setting = settings.string; + const field = getFieldDefinition({ id: setting.name || setting.type, setting }); + + const { getByTestId } = render( + wrap() + ); + + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: 'new value' } }); + expect(handleChange).toHaveBeenCalledWith(field.id, { + type: 'string', + unsavedValue: 'new value', + }); + }); + + it('should fire onChange with an error when input changes with invalid value', () => { + const setting = settings.color; + const field = getFieldDefinition({ id: setting.name || setting.type, setting }); + + const { getByTestId } = render( + wrap() + ); + + const input = getByTestId(`euiColorPickerAnchor ${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: '#1234' } }); + + expect(handleChange).toHaveBeenCalledWith(field.id, { + type: 'color', + error: 'Provide a valid color value', + isInvalid: true, + unsavedValue: '#1234', + }); + }); + + it('should show screen reader content with an unsaved change.', () => { + const setting = settings.color; + const field = getFieldDefinition({ id: setting.name || setting.type, setting }); + + const { getByText, getByTestId } = render( + wrap( + + ) + ); + + expect(getByText('Setting is currently not saved.')).toBeInTheDocument(); + const input = getByTestId(`euiColorPickerAnchor ${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: '#1235' } }); + waitFor(() => expect(input).toHaveValue('#1235')); + waitFor(() => + expect(getByTestId(`${DATA_TEST_SUBJ_SCREEN_READER_MESSAGE}-${field.id}`)).toBe( + 'Provide a valid color value' + ) + ); + }); + + it('should clear the unsaved value if the new value matches the saved value', () => { + const setting = settings.string; + const field = getFieldDefinition({ + id: setting.name || setting.type, + setting: { + ...setting, + userValue: 'saved value', + }, + }); + + const unsavedChange = { + type: 'string' as const, + unsavedValue: 'new value', + }; + + const { getByTestId } = render( + wrap( + + ) + ); + + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); + fireEvent.change(input, { target: { value: field.savedValue } }); + expect(handleChange).toHaveBeenCalledWith(field.id, { + type: 'string', + unsavedValue: undefined, + }); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/field_row.tsx b/packages/kbn-management/settings/components/field_row/field_row.tsx new file mode 100644 index 0000000000000..c7f90af8c90fd --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/field_row.tsx @@ -0,0 +1,160 @@ +/* + * 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 { + EuiScreenReaderOnly, + EuiDescribedFormGroup, + EuiFormRow, + EuiErrorBoundary, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; +import { isImageFieldDefinition } from '@kbn/management-settings-field-definition'; +import { FieldInput, type OnChangeParams } from '@kbn/management-settings-components-field-input'; +import { isUnsavedValue } from '@kbn/management-settings-utilities'; + +import { FieldDescription } from './description'; +import { FieldTitle } from './title'; +import { FieldInputFooter } from './input_footer'; +import { useFieldStyles } from './field_row.styles'; +import { OnChangeFn } from './types'; + +export const DATA_TEST_SUBJ_SCREEN_READER_MESSAGE = 'fieldRowScreenReaderMessage'; + +/** + * Props for a {@link FieldRow} component. + */ +export interface FieldRowProps { + /** True if saving settings is enabled, false otherwise. */ + isSavingEnabled: boolean; + /** The {@link OnChangeFn} handler. */ + onChange: OnChangeFn; + /** + * The onClear handler, if a value is cleared to an empty or default state. + * @param id The id relating to the field to clear. + */ + onClear?: (id: string) => void; + /** The {@link FieldDefinition} corresponding the setting. */ + field: FieldDefinition; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for displaying a {@link FieldDefinition} in a form row, using a {@link FieldInput}. + * @param props The {@link FieldRowProps} for the {@link FieldRow} component. + */ +export const FieldRow = (props: FieldRowProps) => { + const { isSavingEnabled, onChange: onChangeProp, field, unsavedChange } = props; + const { id, name, groupId, isOverridden, type, unsavedFieldId } = field; + const { cssFieldFormGroup } = useFieldStyles({ + field, + unsavedChange, + }); + + const onChange = (changes: UnsavedFieldChange) => { + onChangeProp(name, changes); + }; + + const resetField = () => { + const { defaultValue: unsavedValue } = field; + return onChange({ type, unsavedValue }); + }; + + const onFieldChange = ({ isInvalid, error, value: unsavedValue }: OnChangeParams) => { + if (error) { + isInvalid = true; + } + + const change = { + type, + isInvalid, + error, + }; + + if (!isUnsavedValue(field, unsavedValue)) { + onChange(change); + } else { + onChange({ + ...change, + unsavedValue, + }); + } + }; + + const title = ; + const description = ; + const error = unsavedChange?.error; + const isInvalid = unsavedChange?.isInvalid; + let unsavedScreenReaderMessage = null; + + const helpText = ( + + ); + + if (unsavedChange) { + unsavedScreenReaderMessage = ( + +

    + {error + ? error + : i18n.translate('management.settings.field.settingIsUnsaved', { + defaultMessage: 'Setting is currently not saved.', + })} +

    +
    + ); + } + + return ( + + + + <> + + {unsavedScreenReaderMessage} + + + + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/index.ts b/packages/kbn-management/settings/components/field_row/index.ts new file mode 100644 index 0000000000000..f54eadd4467ed --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/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 { FieldRow, type FieldRowProps as FieldProps } from './field_row'; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx new file mode 100644 index 0000000000000..3c01240a9e9ea --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx @@ -0,0 +1,81 @@ +/* + * 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 { render } from '@testing-library/react'; +import { ChangeImageLink } from './change_image_link'; +import { ImageFieldDefinition } from '@kbn/management-settings-types'; +import { wrap } from '../mocks'; +import { IMAGE } from '@kbn/management-settings-field-definition/storybook'; + +describe('ChangeImageLink', () => { + const defaultProps = { + field: { + name: 'test', + type: 'image', + ariaAttributes: { + ariaLabel: 'test', + }, + } as ImageFieldDefinition, + onChange: jest.fn(), + onCancel: jest.fn(), + onReset: jest.fn(), + unsavedChange: undefined, + }; + + it('does not render no saved value and no unsaved change', () => { + const { container } = render( + wrap() + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders with a saved value and no unsaved change', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).not.toBeNull(); + }); + + it('renders if there is a saved value and the unsaved value is undefined', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).not.toBeNull(); + }); + + it('renders nothing when there is an unsaved change', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders an aria-label', () => { + const { getByLabelText } = render( + wrap( + + ) + ); + const link = getByLabelText('Change test'); + expect(link).not.toBeNull(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx new file mode 100644 index 0000000000000..c4e6df6b4521b --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx @@ -0,0 +1,86 @@ +/* + * 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 { EuiLink } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from '@kbn/management-settings-utilities'; +import { OnChangeFn } from '@kbn/management-settings-components-field-input'; +import { + isImageFieldDefinition, + isImageFieldUnsavedChange, +} from '@kbn/management-settings-field-definition'; + +type Field = Pick< + FieldDefinition, + 'name' | 'defaultValue' | 'type' | 'savedValue' | 'savedValue' | 'ariaAttributes' +>; +/** + * Props for a {@link ChangeImageLink} component. + */ +export interface ChangeImageLinkProps { + /** The {@link ImageFieldDefinition} corresponding the setting. */ + field: Field; + /** The {@link OnChangeFn} event handler. */ + onChange: OnChangeFn; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for rendering a link to change the image in a {@link FieldRow} of + * an {@link ImageFieldDefinition}. + */ +export const ChangeImageLink = ({ + field, + onChange, + unsavedChange, +}: ChangeImageLinkProps) => { + if (hasUnsavedChange(field, unsavedChange)) { + return null; + } + + const { unsavedValue } = unsavedChange || {}; + const { + savedValue, + ariaAttributes: { ariaLabel }, + name, + defaultValue, + } = field; + + if (unsavedValue || !savedValue) { + return null; + } + + if (isImageFieldDefinition(field) && isImageFieldUnsavedChange(unsavedChange)) { + return ( + + onChange({ value: defaultValue })} + data-test-subj={`management-settings-changeImage-${name}`} + > + + + + ); + } + + return null; +}; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/index.ts b/packages/kbn-management/settings/components/field_row/input_footer/index.ts new file mode 100644 index 0000000000000..d840b892b9bd8 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/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 { FieldInputFooter, type FieldInputFooterProps } from './input_footer'; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx b/packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx new file mode 100644 index 0000000000000..5a2e12f39f6b2 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/input_footer.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 React from 'react'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +import { OnChangeFn } from '@kbn/management-settings-components-field-input'; + +import { FieldResetLink } from './reset_link'; +import { ChangeImageLink } from './change_image_link'; +import { FieldOverriddenMessage } from './overridden_message'; + +export const DATA_TEST_SUBJ_FOOTER_PREFIX = 'field-row-input-footer'; + +type Field = Pick< + FieldDefinition, + 'id' | 'name' | 'isOverridden' | 'type' | 'ariaAttributes' | 'isDefaultValue' +>; + +/** + * Props for a {@link FieldInputFooter} component. + */ +export interface FieldInputFooterProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Field; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; + /** The {@link OnChangeFn} handler. */ + onChange: OnChangeFn; + /** A handler for when a field is reset to its default or saved value. */ + onReset: () => void; + /** True if saving this setting is enabled, false otherwise. */ + isSavingEnabled: boolean; +} + +export const FieldInputFooter = ({ + isSavingEnabled, + field, + onReset, + ...props +}: FieldInputFooterProps) => { + if (field.isOverridden) { + return ; + } + + if (isSavingEnabled) { + return ( + + + + + ); + } + + return null; +}; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx new file mode 100644 index 0000000000000..ab894cf013174 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx @@ -0,0 +1,34 @@ +/* + * 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 { render } from '@testing-library/react'; +import { FieldOverriddenMessage } from './overridden_message'; +import { FieldDefinition } from '@kbn/management-settings-types'; + +describe('FieldOverriddenMessage', () => { + const defaultProps = { + field: { + name: 'test', + type: 'string', + isOverridden: false, + } as FieldDefinition<'string'>, + }; + + it('renders without errors', () => { + const { container } = render( + + ); + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if the field is not overridden', () => { + const { container } = render(); + expect(container.firstChild).toBeNull(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx new file mode 100644 index 0000000000000..bff68afb370c2 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx @@ -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 React from 'react'; +import { EuiText } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import type { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +type Field = Pick, 'id' | 'isOverridden' | 'name'>; + +export const DATA_TEST_SUBJ_OVERRIDDEN_PREFIX = 'field-row-input-overridden-message'; + +/** + * Props for a {@link FieldOverriddenMessage} component. + */ +export interface FieldOverriddenMessageProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Field; +} + +export const FieldOverriddenMessage = ({ + field, +}: FieldOverriddenMessageProps) => { + if (!field.isOverridden) { + return null; + } + + return ( + + + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx new file mode 100644 index 0000000000000..52cf165ab9b9f --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx @@ -0,0 +1,54 @@ +/* + * 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 { render, fireEvent } from '@testing-library/react'; + +import { FieldDefinition } from '@kbn/management-settings-types'; + +import { wrap } from '../mocks'; +import { FieldResetLink } from './reset_link'; + +describe('FieldResetLink', () => { + const defaultProps = { + field: { + name: 'test', + type: 'string', + isDefaultValue: false, + ariaAttributes: {}, + } as FieldDefinition<'string'>, + onReset: jest.fn(), + }; + + it('renders without errors', () => { + const { container } = render(wrap()); + expect(container).toBeInTheDocument(); + }); + + it('renders nothing if the field is already at its default value', () => { + const { container } = render( + wrap( + + ) + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders a link to reset the field if it is not at its default value', () => { + const { getByText } = render(wrap()); + const link = getByText('Reset to default'); + expect(link).toBeInTheDocument(); + }); + + it('calls the onReset prop when the link is clicked', () => { + const { getByText } = render(wrap()); + const link = getByText('Reset to default'); + fireEvent.click(link); + expect(defaultProps.onReset).toHaveBeenCalled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx new file mode 100644 index 0000000000000..2703a4121107d --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx @@ -0,0 +1,64 @@ +/* + * 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 { EuiLink } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +/** + * Props for a {@link FieldResetLink} component. + */ +export interface FieldResetLinkProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'id' | 'isDefaultValue' | 'ariaAttributes'>; + /** A handler for when a field is reset to its default or saved value. */ + onReset: () => void; +} + +export const DATA_TEST_SUBJ_RESET_PREFIX = 'management-settings-resetField'; +/** + * Component for rendering a link to reset a {@link FieldDefinition} to its default + * or saved value. + */ +export const FieldResetLink = ({ + onReset, + field, +}: FieldResetLinkProps) => { + if (field.isDefaultValue) { + return null; + } + + const { + id, + ariaAttributes: { ariaLabel }, + } = field; + + return ( + + + + +     + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/kibana.jsonc b/packages/kbn-management/settings/components/field_row/kibana.jsonc new file mode 100644 index 0000000000000..ceec221d6a2d2 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-components-field-row", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/components/field_row/mocks/context.tsx b/packages/kbn-management/settings/components/field_row/mocks/context.tsx new file mode 100644 index 0000000000000..f8109b6dd08b1 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/mocks/context.tsx @@ -0,0 +1,54 @@ +/* + * 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, { ReactChild } from 'react'; +import { I18nProvider } from '@kbn/i18n-react'; + +import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; +import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { I18nStart } from '@kbn/core-i18n-browser'; + +import { createFieldInputServicesMock } from '@kbn/management-settings-components-field-input/mocks'; +import { FieldInputServices } from '@kbn/management-settings-components-field-input/mocks'; +import { FieldRowProvider } from '../services'; +import { FieldRowServices } from '../types'; + +const createRootMock = () => { + const i18n: I18nStart = { + Context: ({ children }) => {children}, + }; + const theme = themeServiceMock.createStartContract(); + return { + i18n, + theme, + }; +}; + +export const createFieldRowServicesMock = (): FieldRowServices => ({ + ...createFieldInputServicesMock(), + links: { deprecationKey: 'link/to/deprecation/docs' }, +}); + +export const TestWrapper = ({ + children, + services = createFieldRowServicesMock(), +}: { + children: ReactChild; + services?: FieldRowServices; +}) => { + return ( + + {children} + + ); +}; + +export const wrap = ( + component: JSX.Element, + services: FieldInputServices = createFieldRowServicesMock() +) => {component}; diff --git a/packages/kbn-management/settings/components/field_row/mocks/index.ts b/packages/kbn-management/settings/components/field_row/mocks/index.ts new file mode 100644 index 0000000000000..2fbe57cd37108 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/mocks/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 { TestWrapper, createFieldRowServicesMock, wrap } from './context'; diff --git a/packages/kbn-management/settings/components/field_row/package.json b/packages/kbn-management/settings/components/field_row/package.json new file mode 100644 index 0000000000000..aa5daf8a30cd7 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-components-field-row", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_row/services.tsx b/packages/kbn-management/settings/components/field_row/services.tsx new file mode 100644 index 0000000000000..7d9fab6d87035 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/services.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 { + FieldInputKibanaProvider, + FieldInputProvider, +} from '@kbn/management-settings-components-field-input/services'; +import React, { FC, useContext } from 'react'; + +import type { FieldRowServices, FieldRowKibanaDependencies, Services } from './types'; + +const FieldRowContext = React.createContext(null); + +/** + * React Provider that provides services to a {@link FieldRow} component and its dependents. + */ +export const FieldRowProvider: FC = ({ children, ...services }) => { + // Typescript types are widened to accept more than what is needed. Take only what is necessary + // so the context remains clean. + const { links, showDanger } = services; + + return ( + + {children} + + ); +}; + +/** + * Kibana-specific Provider that maps Kibana plugins and services to a {@link FieldRowProvider}. + */ +export const FieldRowKibanaProvider: FC = ({ + children, + docLinks, + toasts, +}) => { + return ( + + {children} + + ); +}; + +/** + * React hook for accessing pre-wired services. + */ +export const useServices = () => { + const context = useContext(FieldRowContext); + + if (!context) { + throw new Error( + 'FieldRowContext is missing. Ensure your component or React root is wrapped with FieldRowProvider.' + ); + } + + return context; +}; diff --git a/packages/kbn-management/settings/components/field_row/setup_tests.ts b/packages/kbn-management/settings/components/field_row/setup_tests.ts new file mode 100644 index 0000000000000..8d1acb9232934 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/setup_tests.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. + */ + +// eslint-disable-next-line import/no-extraneous-dependencies +import '@testing-library/jest-dom'; diff --git a/packages/kbn-management/settings/components/field_row/title/icon_custom.tsx b/packages/kbn-management/settings/components/field_row/title/icon_custom.tsx new file mode 100644 index 0000000000000..d773eb136b3b0 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/icon_custom.tsx @@ -0,0 +1,48 @@ +/* + * 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 { EuiIconTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; + +/** + * Props for a {@link FieldTitle} component. + */ +export interface TitleProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'isCustom'>; +} + +/** + * + */ +export const FieldTitleCustomIcon = ({ field }: TitleProps) => { + if (!field.isCustom) { + return null; + } + + return ( + + } + /> + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/title/icon_unsaved.tsx b/packages/kbn-management/settings/components/field_row/title/icon_unsaved.tsx new file mode 100644 index 0000000000000..bf44a0686d60e --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/icon_unsaved.tsx @@ -0,0 +1,58 @@ +/* + * 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 { EuiIconTip } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import { FieldDefinition, UnsavedFieldChange, SettingType } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from '@kbn/management-settings-utilities'; + +/** + * Props for a {@link FieldTitle} component. + */ +export interface TitleProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick, 'id' | 'type' | 'isOverridden' | 'savedValue'>; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * + */ +export const FieldTitleUnsavedIcon = ({ + field, + unsavedChange, +}: TitleProps) => { + if (!unsavedChange || !hasUnsavedChange(field, unsavedChange)) { + return null; + } + + const { isInvalid } = unsavedChange; + + const invalidLabel = i18n.translate('management.settings.field.invalidIconLabel', { + defaultMessage: 'Invalid', + }); + + const unsavedLabel = i18n.translate('management.settings.field.unsavedIconLabel', { + defaultMessage: 'Unsaved', + }); + + const unsavedIconLabel = unsavedChange.isInvalid ? invalidLabel : unsavedLabel; + + return ( + + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/title/index.ts b/packages/kbn-management/settings/components/field_row/title/index.ts new file mode 100644 index 0000000000000..f2a757252e699 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/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 { FieldTitle, type TitleProps } from './title'; diff --git a/packages/kbn-management/settings/components/field_row/title/title.tsx b/packages/kbn-management/settings/components/field_row/title/title.tsx new file mode 100644 index 0000000000000..36c6042394287 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/title/title.tsx @@ -0,0 +1,61 @@ +/* + * 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 type { Interpolation, Theme } from '@emotion/react'; + +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; + +import { FieldDefinition, UnsavedFieldChange, SettingType } from '@kbn/management-settings-types'; + +import { useFieldStyles } from '../field_row.styles'; +import { FieldTitleCustomIcon } from './icon_custom'; +import { FieldTitleUnsavedIcon } from './icon_unsaved'; + +/** + * Props for a {@link FieldTitle} component. + */ +export interface TitleProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: FieldDefinition; + /** Emotion-based `css` for the root React element. */ + css?: Interpolation; + /** Classname for the root React element. */ + className?: string; + /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ + unsavedChange?: UnsavedFieldChange; +} + +/** + * Component for displaying the `displayName` and status of a {@link FieldDefinition} in + * the {@link FieldRow}. + */ +export const FieldTitle = ({ + field, + unsavedChange, + ...props +}: TitleProps) => { + const { cssFieldTitle } = useFieldStyles({ + field, + unsavedChange, + }); + + return ( + + +

    {field.displayName}

    +
    + + + + + + +
    + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/tsconfig.json b/packages/kbn-management/settings/components/field_row/tsconfig.json new file mode 100644 index 0000000000000..173fbd57d08b6 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/tsconfig.json @@ -0,0 +1,33 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react", + "@kbn/ambient-ui-types", + "@kbn/ambient-storybook-types", + "@emotion/react/types/css-prop" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + "@kbn/management-settings-field-definition", + "@kbn/i18n", + "@kbn/i18n-react", + "@kbn/management-settings-utilities", + "@kbn/management-settings-components-field-input", + "@kbn/core-doc-links-browser", + "@kbn/react-kibana-context-root", + "@kbn/core-theme-browser-mocks", + "@kbn/core-i18n-browser", + ] +} diff --git a/packages/kbn-management/settings/components/field_row/types.ts b/packages/kbn-management/settings/components/field_row/types.ts new file mode 100644 index 0000000000000..9eec1eb234f2c --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/types.ts @@ -0,0 +1,52 @@ +/* + * 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 { DocLinksStart } from '@kbn/core-doc-links-browser'; + +import type { + FieldInputServices, + FieldInputKibanaDependencies, +} from '@kbn/management-settings-components-field-input'; +import { SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; + +/** + * Contextual services used by a {@link FieldRow} component. + */ +export interface Services { + links: { [key: string]: string }; +} + +/** + * Contextual services used by a {@link FieldRow} component and its dependents. + */ +export type FieldRowServices = FieldInputServices & Services; + +/** + * An interface containing a collection of Kibana plugins and services required to + * render a {@link FieldRow} component. + */ +export interface KibanaDependencies { + docLinks: { + links: { + management: DocLinksStart['links']['management']; + }; + }; +} + +/** + * An interface containing a collection of Kibana plugins and services required to + * render a {@link FieldRow} component and its dependents. + */ +export type FieldRowKibanaDependencies = KibanaDependencies & FieldInputKibanaDependencies; + +/** + * An `onChange` handler for a {@link FieldRow} component. + * @param id A unique id corresponding to the particular setting being changed. + * @param change The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. + */ +export type OnChangeFn = (id: string, change: UnsavedFieldChange) => void; diff --git a/packages/kbn-management/settings/field_definition/README.mdx b/packages/kbn-management/settings/field_definition/README.mdx new file mode 100644 index 0000000000000..c26b5d850358c --- /dev/null +++ b/packages/kbn-management/settings/field_definition/README.mdx @@ -0,0 +1,14 @@ +--- +id: management/settings/fieldDefinition +slug: /management/settings/field-definition +title: Management Settings Field Definition +description: A package containing utilities for creating and examining Field Definitions from Advanced Settings. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains utilities for creating and examining Field Definitions from Advanced Settings. + +Since a raw `UiSetting` is not type-safe and can be difficult to work with in the UX, this `FieldDefinition` provides a type-safe abstraction over the raw `UiSetting` _and_ provides additional UI-centric information derived from the setting. diff --git a/packages/kbn-management/settings/field_definition/get_definition.ts b/packages/kbn-management/settings/field_definition/get_definition.ts new file mode 100644 index 0000000000000..e6b29e6f437ca --- /dev/null +++ b/packages/kbn-management/settings/field_definition/get_definition.ts @@ -0,0 +1,151 @@ +/* + * 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. + */ +/* + * 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 words from 'lodash/words'; +import isEqual from 'lodash/isEqual'; + +import { Query } from '@elastic/eui'; +import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; +import { UiSettingMetadata } from '@kbn/management-settings-types/metadata'; + +/** + * The portion of the setting name that defines the category of the setting. + */ +export const CATEGORY_FIELD = 'category'; + +/** + * The default category for a setting, if not supplied. + */ +export const DEFAULT_CATEGORY = 'general'; + +const mapWords = (name?: string): string => + words(name ?? '') + .map((word) => word.toLowerCase()) + .join(' '); + +/** + * Derive the aria-label for a given setting based on its name and category. + */ +const getAriaLabel = (name: string = '') => { + const query = Query.parse(name); + + if (query.hasOrFieldClause(CATEGORY_FIELD)) { + const categories = query.getOrFieldClause(CATEGORY_FIELD); + const termValue = mapWords(query.removeOrFieldClauses(CATEGORY_FIELD).text); + + if (!categories || !Array.isArray(categories.value)) { + return termValue; + } + + let categoriesQuery = Query.parse(''); + categories.value.forEach((v) => { + categoriesQuery = categoriesQuery.addOrFieldValue(CATEGORY_FIELD, v); + }); + + return `${termValue} ${categoriesQuery.text}`; + } + + return mapWords(name); +}; + +/** + * Parameters for converting a {@link UiSettingMetadata} object into a {@link FieldDefinition} + * for use in the UI. + * @internal + */ +interface GetDefinitionParams { + /** The id of the field. */ + id: string; + /** The source setting from Kibana. */ + setting: UiSettingMetadata; + /** Optional parameters */ + params?: { + /** True if the setting it custom, false otherwise */ + isCustom?: boolean; + /** True if the setting is overridden in Kibana, false otherwise. */ + isOverridden?: boolean; + }; +} + +/** + * Create a {@link FieldDefinition} from a {@link UiSettingMetadata} object for use + * in the UI. + * + * @param parameters The {@link GetDefinitionParams} for creating the {@link FieldDefinition}. + */ +export const getFieldDefinition = ( + parameters: GetDefinitionParams +): FieldDefinition => { + const { id, setting, params = { isCustom: false, isOverridden: false } } = parameters; + + const { + category, + deprecation, + description, + metric, + name, + optionLabels, + options: optionValues, + order, + readonly, + requiresPageReload, + type, + userValue: savedValue, + value: defaultValue, + } = setting; + + const { isCustom, isOverridden } = params; + const categories = category && category.length ? category : [DEFAULT_CATEGORY]; + + const options = { + values: optionValues || [], + labels: optionLabels || {}, + }; + + const defaultValueDisplay = + defaultValue === undefined || defaultValue === null || defaultValue === '' + ? 'null' + : String(defaultValue); + + const definition: FieldDefinition = { + ariaAttributes: { + ariaLabel: getAriaLabel(name), + // ariaDescribedBy: unsavedChange.value ? `${groupId} ${unsavedId}` : undefined, + }, + categories, + defaultValue, + defaultValueDisplay, + deprecation, + description, + displayName: name || id, + groupId: `${name || id}-group`, + id, + isCustom: isCustom || false, + isDefaultValue: isEqual(defaultValue, setting.userValue), + isOverridden: isOverridden || false, + isReadOnly: !!readonly, + metric, + name: name || id, + options, + order, + requiresPageReload: !!requiresPageReload, + savedValue, + type, + unsavedFieldId: `${id}-unsaved`, + }; + + // TODO: clintandrewhall - add validation (e.g. `select` contains non-empty `options`) + return definition; +}; diff --git a/packages/kbn-management/settings/field_definition/index.ts b/packages/kbn-management/settings/field_definition/index.ts new file mode 100644 index 0000000000000..2cd44db7df3b4 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/index.ts @@ -0,0 +1,32 @@ +/* + * 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 { + isArrayFieldDefinition, + isArrayFieldUnsavedChange, + isBooleanFieldDefinition, + isBooleanFieldUnsavedChange, + isColorFieldDefinition, + isColorFieldUnsavedChange, + isImageFieldDefinition, + isImageFieldUnsavedChange, + isJsonFieldDefinition, + isJsonFieldUnsavedChange, + isMarkdownFieldDefinition, + isMarkdownFieldUnsavedChange, + isNumberFieldDefinition, + isNumberFieldUnsavedChange, + isSelectFieldDefinition, + isSelectFieldUnsavedChange, + isStringFieldDefinition, + isStringFieldUnsavedChange, + isUndefinedFieldDefinition, + isUndefinedFieldUnsavedChange, +} from './is'; + +export { getFieldDefinition } from './get_definition'; diff --git a/packages/kbn-management/settings/field_definition/is/field_definition.ts b/packages/kbn-management/settings/field_definition/is/field_definition.ts new file mode 100644 index 0000000000000..52c6e83468177 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/is/field_definition.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 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. + */ + +// This file is enormous and looks a bit excessive, but it's actually a collection +// of type guards. +// +// In the past, the UI would key off of the `type` property of a UISetting to do +// its work. This was not at all type-safe, and it was easy to make mistakes. +// +// These type guards narrow a given {@link FieldDefinition} to its correct Typescript +// interface. What's interesting is that these guards compile to checking the `type` +// property of the object-- just as we did before-- but with the benefit of Typescript. + +import { + ArrayFieldDefinition, + BooleanFieldDefinition, + ColorFieldDefinition, + FieldDefinition, + ImageFieldDefinition, + JsonFieldDefinition, + MarkdownFieldDefinition, + NumberFieldDefinition, + SelectFieldDefinition, + SettingType, + StringFieldDefinition, + UndefinedFieldDefinition, +} from '@kbn/management-settings-types'; + +/** Simplifed type for a {@link FieldDefinition} */ +type Definition = Pick, 'type'>; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link ArrayFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isArrayFieldDefinition = (d: Definition): d is ArrayFieldDefinition => + d.type === 'array'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link BooleanFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isBooleanFieldDefinition = (d: Definition): d is BooleanFieldDefinition => + d.type === 'boolean'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link ColorFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isColorFieldDefinition = (d: Definition): d is ColorFieldDefinition => + d.type === 'color'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link ImageFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isImageFieldDefinition = (d: Definition): d is ImageFieldDefinition => + d.type === 'image'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link JsonFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isJsonFieldDefinition = (d: Definition): d is JsonFieldDefinition => d.type === 'json'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link MarkdownFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isMarkdownFieldDefinition = (d: Definition): d is MarkdownFieldDefinition => + d.type === 'markdown'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link NumberFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isNumberFieldDefinition = (d: Definition): d is NumberFieldDefinition => + d.type === 'number'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link SelectFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isSelectFieldDefinition = (d: Definition): d is SelectFieldDefinition => + d.type === 'select'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link StringFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isStringFieldDefinition = (d: Definition): d is StringFieldDefinition => + d.type === 'string'; + +/** + * Returns `true` if the given {@link FieldDefinition} is an {@link UndefinedFieldDefinition}, + * `false` otherwise. + * @param d The {@link FieldDefinition} to check. + */ +export const isUndefinedFieldDefinition = (d: Definition): d is UndefinedFieldDefinition => + d.type === 'undefined'; diff --git a/packages/kbn-management/settings/field_definition/is/index.ts b/packages/kbn-management/settings/field_definition/is/index.ts new file mode 100644 index 0000000000000..ad5eb46cd3f53 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/is/index.ts @@ -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 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 { + isArrayFieldUnsavedChange, + isBooleanFieldUnsavedChange, + isColorFieldUnsavedChange, + isImageFieldUnsavedChange, + isJsonFieldUnsavedChange, + isMarkdownFieldUnsavedChange, + isNumberFieldUnsavedChange, + isSelectFieldUnsavedChange, + isStringFieldUnsavedChange, + isUndefinedFieldUnsavedChange, +} from './unsaved_change'; + +export { + isArrayFieldDefinition, + isBooleanFieldDefinition, + isColorFieldDefinition, + isImageFieldDefinition, + isJsonFieldDefinition, + isMarkdownFieldDefinition, + isNumberFieldDefinition, + isSelectFieldDefinition, + isStringFieldDefinition, + isUndefinedFieldDefinition, +} from './field_definition'; diff --git a/packages/kbn-management/settings/field_definition/is/unsaved_change.ts b/packages/kbn-management/settings/field_definition/is/unsaved_change.ts new file mode 100644 index 0000000000000..6af63db17e36a --- /dev/null +++ b/packages/kbn-management/settings/field_definition/is/unsaved_change.ts @@ -0,0 +1,115 @@ +/* + * 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. + */ + +// This file is enormous and looks a bit excessive, but it's actually a collection +// of type guards. +// +// In the past, the UI would key off of the `type` property of a UISetting to do +// its work. This was not at all type-safe, and it was easy to make mistakes. +// +// These type guards narrow a given {@link UnsavedFieldChange} to its correct Typescript +// interface. What's interesting is that these guards compile to checking the `type` +// property of the object-- just as we did before-- but with the benefit of Typescript. + +import { + ArrayUnsavedFieldChange, + BooleanUnsavedFieldChange, + ColorUnsavedFieldChange, + ImageUnsavedFieldChange, + JsonUnsavedFieldChange, + MarkdownUnsavedFieldChange, + NumberUnsavedFieldChange, + SelectUnsavedFieldChange, + StringUnsavedFieldChange, + UndefinedUnsavedFieldChange, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +/** Simplifed type for a {@link UnsavedFieldChange} */ +type Change = UnsavedFieldChange; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link ArrayUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isArrayFieldUnsavedChange = (c?: Change): c is ArrayUnsavedFieldChange => + !c || c.type === undefined || c.type === 'array'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link BooleanUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isBooleanFieldUnsavedChange = (c?: Change): c is BooleanUnsavedFieldChange => + !c || c.type === undefined || c.type === 'boolean'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link ColorUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isColorFieldUnsavedChange = (c?: Change): c is ColorUnsavedFieldChange => + !c || c.type === undefined || c.type === 'color'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link ImageUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isImageFieldUnsavedChange = (c?: Change): c is ImageUnsavedFieldChange => + !c || c.type === undefined || c.type === 'image'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link JsonUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isJsonFieldUnsavedChange = (c?: Change): c is JsonUnsavedFieldChange => + !c || c.type === undefined || c.type === 'json'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link MarkdownUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isMarkdownFieldUnsavedChange = (c?: Change): c is MarkdownUnsavedFieldChange => + !c || c.type === undefined || c.type === 'markdown'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link NumberUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isNumberFieldUnsavedChange = (c?: Change): c is NumberUnsavedFieldChange => + !c || c.type === undefined || c.type === 'number'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link SelectUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isSelectFieldUnsavedChange = (c?: Change): c is SelectUnsavedFieldChange => + !c || c.type === undefined || c.type === 'select'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link StringUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isStringFieldUnsavedChange = (c?: Change): c is StringUnsavedFieldChange => + !c || c.type === undefined || c.type === 'string'; + +/** + * Returns `true` if the given {@link FieldUnsavedChange} is an {@link UndefinedUnsavedFieldChange}, + * `false` otherwise. + * @param c The {@link FieldUnsavedChange} to check. + */ +export const isUndefinedFieldUnsavedChange = (c?: Change): c is UndefinedUnsavedFieldChange => + !c || c.type === undefined || c.type === 'undefined'; diff --git a/packages/kbn-management/settings/field_definition/kibana.jsonc b/packages/kbn-management/settings/field_definition/kibana.jsonc new file mode 100644 index 0000000000000..687f04662bbe4 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-field-definition", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/field_definition/package.json b/packages/kbn-management/settings/field_definition/package.json new file mode 100644 index 0000000000000..63a4f90a3ee16 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-field-definition", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/field_definition/storybook/field_definition.ts b/packages/kbn-management/settings/field_definition/storybook/field_definition.ts new file mode 100644 index 0000000000000..022b2e3e98050 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/storybook/field_definition.ts @@ -0,0 +1,100 @@ +/* + * 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 { useState } from 'react'; +import isEqual from 'lodash/isEqual'; + +import { action } from '@storybook/addon-actions'; + +import type { + FieldDefinition, + KnownTypeToValue, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +import { UiSettingMetadata } from '@kbn/management-settings-types/metadata'; +import { getFieldDefinition } from '../get_definition'; + +/** + * Expand a typed {@link UiSettingMetadata} object with common {@link UiSettingMetadata} properties. + */ +const expandSetting = ( + setting: UiSettingMetadata +): UiSettingMetadata => { + const { type } = setting; + return { + ...setting, + category: ['categoryOne', 'categoryTwo'], + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu odio velit. Integer et mauris quis ligula elementum commodo. Morbi eu ipsum diam. Nulla auctor orci eget egestas vehicula. Aliquam gravida, dolor eu posuere vulputate, neque enim viverra odio, id viverra ipsum quam et ipsum.', + name: `Some ${type} setting`, + requiresPageReload: false, + }; +}; + +interface OnChangeParams { + value?: KnownTypeToValue | null; + isInvalid?: boolean; + error?: string; +} + +type OnChangeFn = (params: OnChangeParams | null) => void; + +/** + * Hook to build and maintain a {@link FieldDefinition} for a given {@link UiSettingMetadata} object + * for use in Storybook. It provides the {@link FieldDefinition}, a stateful + * {@link UnsavedFieldChange} object, and an {@link OnChangeFn} to update the unsaved change based + * on the action taken within a {@link FieldInput} or {@link FieldRow}. + */ +export const useFieldDefinition = ( + baseSetting: UiSettingMetadata, + params: { isCustom?: boolean; isOverridden?: boolean; isDeprecated?: boolean } = {} +): [FieldDefinition, UnsavedFieldChange, OnChangeFn] => { + const setting = { + ...expandSetting(baseSetting), + deprecation: params.isDeprecated + ? { message: 'This setting is deprecated', docLinksKey: 'storybook' } + : undefined, + }; + + const field = getFieldDefinition({ + id: setting.name?.split(' ').join(':').toLowerCase() || setting.type, + setting, + params, + }); + + const { type, savedValue } = field; + + const [unsavedChange, setUnsavedChange] = useState>({ type }); + + const onChange: OnChangeFn = (change) => { + if (!change) { + return; + } + + const { value, error, isInvalid } = change; + + if (isEqual(value, savedValue)) { + setUnsavedChange({ type }); + } else { + setUnsavedChange({ type, unsavedValue: value, error, isInvalid }); + } + + const formattedSavedValue = type === 'image' ? String(savedValue).slice(0, 25) : savedValue; + const formattedUnsavedValue = type === 'image' ? String(value).slice(0, 25) : value; + + action('onChange')({ + type, + unsavedValue: formattedUnsavedValue, + savedValue: formattedSavedValue, + }); + }; + + return [field, unsavedChange, onChange]; +}; diff --git a/packages/kbn-management/settings/field_definition/storybook/index.ts b/packages/kbn-management/settings/field_definition/storybook/index.ts new file mode 100644 index 0000000000000..b372e1db1cf1b --- /dev/null +++ b/packages/kbn-management/settings/field_definition/storybook/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 { getDefaultValue, getUserValue, IMAGE } from './values'; +export { useFieldDefinition } from './field_definition'; diff --git a/packages/kbn-management/settings/field_definition/storybook/values.ts b/packages/kbn-management/settings/field_definition/storybook/values.ts new file mode 100644 index 0000000000000..875f3eb11205a --- /dev/null +++ b/packages/kbn-management/settings/field_definition/storybook/values.ts @@ -0,0 +1,88 @@ +/* + * 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 { SettingType } from '@kbn/management-settings-types'; + +const LOREM = + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu odio velit. Integer et mauris quis ligula elementum commodo. Morbi eu ipsum diam. Nulla auctor orci eget egestas vehicula. Aliquam gravida, dolor eu posuere vulputate, neque enim viverra odio, id viverra ipsum quam et ipsum.'; + +const JSON_DEFAULT = `{ + "foo": "bar" +}`; + +const JSON_USER = `{ + "foo": "baz", + "bar": "qux" +}`; + +const MARKDOWN = `# Heading 1 + +${LOREM.split('. ') + .map((sentence) => `- ${sentence}.`) + .join('\n')} +`; + +/** + * A predefined Image as a Base64 string. + */ +export const IMAGE = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAADMElEQVR4nOzVwQnAIBQFQYXff81RUkQCOyDj1YOPnbXWPmeTRef+/3O/OyBjzh3CD95BfqICMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMO0TAAD//2Anhf4QtqobAAAAAElFTkSuQmCC +`; + +/** + * Given a {@link SettingType}, returns a compatible user-defined value. + */ +export const getUserValue = (type: SettingType) => { + switch (type) { + case 'array': + return ['foo', 'bar']; + case 'boolean': + return true; + case 'color': + return '#654321'; + case 'image': + return IMAGE; + case 'json': + return JSON_USER; + case 'markdown': + return MARKDOWN; + case 'number': + return 54321; + case 'select': + return 'option2'; + case 'string': + default: + return 'some user value'; + } +}; + +/** + * Given a {@link SettingType}, returns a compatible default value. + */ +export const getDefaultValue = (type: SettingType) => { + switch (type) { + case 'array': + return ['foo', 'bar', 'baz']; + case 'boolean': + return false; + case 'color': + return '#123456'; + case 'image': + return ''; + case 'json': + return JSON_DEFAULT; + case 'markdown': + return ''; + case 'number': + return 12345; + case 'select': + return 'option1'; + case 'string': + default: + return 'some default'; + } +}; diff --git a/packages/kbn-management/settings/field_definition/tsconfig.json b/packages/kbn-management/settings/field_definition/tsconfig.json new file mode 100644 index 0000000000000..4b85716365f5a --- /dev/null +++ b/packages/kbn-management/settings/field_definition/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + ] +} diff --git a/packages/kbn-management/settings/section_registry/jest.config.js b/packages/kbn-management/settings/jest.config.js similarity index 55% rename from packages/kbn-management/settings/section_registry/jest.config.js rename to packages/kbn-management/settings/jest.config.js index f183446f77bc6..f9df4c078fa83 100644 --- a/packages/kbn-management/settings/section_registry/jest.config.js +++ b/packages/kbn-management/settings/jest.config.js @@ -8,12 +8,10 @@ module.exports = { preset: '@kbn/test', - rootDir: '../../../..', - roots: ['/packages/kbn-management/settings/section_registry'], - coverageDirectory: - '/target/kibana-coverage/jest/packages/kbn-management/settings/section_registry', + rootDir: '../../..', + roots: ['/packages/kbn-management/settings'], + coverageDirectory: '/target/kibana-coverage/jest/packages/kbn-management/settings', coverageReporters: ['text', 'html'], - collectCoverageFrom: [ - '/packages/kbn-management/settings/section_registry/**/*.{ts,tsx}', - ], + collectCoverageFrom: ['/packages/kbn-management/settings/**/*.{ts,tsx}'], + coveragePathIgnorePatterns: ['__stories__', '.stories.tsx', 'storybook', 'mocks'], }; diff --git a/packages/kbn-management/settings/setting_ids/README.mdx b/packages/kbn-management/settings/setting_ids/README.mdx new file mode 100644 index 0000000000000..e3109e2bcf1b5 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/README.mdx @@ -0,0 +1,39 @@ +--- +id: kbn-management/settings/ids +slug: /kbn-management/settings/setting_ids/ +title: Setting ID's +description: ID's of all advanced settings. +tags: ['management', 'settings'] +date: 2023-09-04 +--- + +This package contains the id's of all advanced settings. + +When registering an advanced setting, add its id to this package and import it for use in the setting definition: + +**packages/kbn-management/settings/setting_ids/index.ts** + +```ts +export const MY_SETTING_ID = 'mySetting'; +``` + +**src/plugins/my_plugin/server/plugin.ts** + +```ts +import { MY_SETTING_ID } from '@kbn/management-settings-ids'; + +export class MyPlugin implements Plugin { + public setup(core: CoreSetup, dependencies: SetupDependencies) { + core.uiSettings.register({ + [MY_SETTING_ID]: { + name: 'My setting', + value: 10, + schema: schema.number(), + }, + ... + }); + + return {}; + } +} +``` diff --git a/packages/kbn-management/settings/setting_ids/index.ts b/packages/kbn-management/settings/setting_ids/index.ts new file mode 100644 index 0000000000000..1069050ccd304 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/index.ts @@ -0,0 +1,178 @@ +/* + * 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. + */ + +// General settings +export const DISABLE_REQUEST_BATCHING_ID = 'bfetch:disable'; +export const DISABLE_BATCH_COMPRESSION_ID = 'bfetch:disableCompression'; +export const CSV_QUOTE_VALUES_ID = 'csv:quoteValues'; +export const CSV_SEPARATOR_ID = 'csv:separator'; +export const DATE_FORMAT_ID = 'dateFormat'; +export const DATE_FORMAT_DOW_ID = 'dateFormat:dow'; +export const DATE_FORMAT_SCALED_ID = 'dateFormat:scaled'; +export const DATE_FORMAT_TZ_ID = 'dateFormat:tz'; +export const DATE_FORMAT_NANOS_ID = 'dateNanosFormat'; +export const DEFAULT_INDEX_ID = 'defaultIndex'; +export const DEFAULT_ROUTE_ID = 'defaultRoute'; +export const FIELDS_POPULAR_LIMIT_ID = 'fields:popularLimit'; +export const FILE_UPLOAD_MAX_SIZE_ID = 'fileUpload:maxFileSize'; +export const FILTER_EDITOR_SUGGEST_VALUES_ID = 'filterEditor:suggestValues'; +export const FILTERS_PINNED_BY_DEFAULT_ID = 'filters:pinnedByDefault'; +export const FORMAT_BYTES_DEFAULT_PATTERN_ID = 'format:bytes:defaultPattern'; +export const FORMAT_CURRENCY_DEFAULT_PATTERN_ID = 'format:currency:defaultPattern'; +export const FORMAT_DEFAULT_TYPE_MAP_ID = 'format:defaultTypeMap'; +export const FORMAT_NUMBER_DEFAULT_LOCALE_ID = 'format:number:defaultLocale'; +export const FORMAT_NUMBER_DEFAULT_PATTERN_ID = 'format:number:defaultPattern'; +export const FORMAT_PERCENT_DEFAULT_PATTERN_ID = 'format:percent:defaultPattern'; +export const HIDE_ANNOUNCEMENTS_ID = 'hideAnnouncements'; +export const HISTOGRAM_BAR_TARGET_ID = 'histogram:barTarget'; +export const HISTOGRAM_MAX_BARS_ID = 'histogram:maxBars'; +export const HISTORY_LIMIT_ID = 'history:limit'; +export const META_FIELDS_ID = 'metaFields'; +export const METRICS_ALLOW_CHECKING_FOR_FAILED_SHARDS_ID = 'metrics:allowCheckingForFailedShards'; +export const METRICS_ALLOW_STRING_INDICES_ID = 'metrics:allowStringIndices'; +export const METRICS_MAX_BUCKETS_ID = 'metrics:max_buckets'; +export const QUERY_ALLOW_LEADING_WILDCARDS_ID = 'query:allowLeadingWildcards'; +export const QUERY_STRING_OPTIONS_ID = 'query:queryString:options'; +export const SAVED_OBJECTS_LISTING_LIMIT_ID = 'savedObjects:listingLimit'; +export const SAVED_OBJECTS_PER_PAGE_ID = 'savedObjects:perPage'; +export const SEARCH_QUERY_LANGUAGE_ID = 'search:queryLanguage'; +export const SHORT_DOTS_ENABLE_ID = 'shortDots:enable'; +export const SORT_OPTIONS_ID = 'sort:options'; +export const STATE_STORE_IN_SESSION_STORAGE_ID = 'state:storeInSessionStorage'; +export const THEME_DARK_MODE_ID = 'theme:darkMode'; +export const TIMEPICKER_QUICK_RANGES_ID = 'timepicker:quickRanges'; +export const TIMEPICKER_REFRESH_INTERVAL_DEFAULTS_ID = 'timepicker:refreshIntervalDefaults'; +export const TIMEPICKER_TIME_DEFAULTS_ID = 'timepicker:timeDefaults'; + +// Presentation labs settings +export const LABS_CANVAS_BY_VALUE_EMBEDDABLE_ID = 'labs:canvas:byValueEmbeddable'; +export const LABS_CANVAS_ENABLE_UI_ID = 'labs:canvas:enable_ui'; +export const LABS_DASHBOARD_CONTROLS_ID = 'labs:dashboard:dashboardControls'; +export const LABS_DASHBOARD_DEFER_BELOW_FOLD_ID = 'labs:dashboard:deferBelowFold'; +export const LABS_DASHBOARDS_ENABLE_UI_ID = 'labs:dashboard:enable_ui'; + +// Accessibility settings +export const ACCESSIBILITY_DISABLE_ANIMATIONS_ID = 'accessibility:disableAnimations'; + +// Autocomplete settings +export const AUTOCOMPLETE_USE_TIME_RANGE_ID = 'autocomplete:useTimeRange'; +export const AUTOCOMPLETE_VALUE_SUGGESTION_METHOD_ID = 'autocomplete:valueSuggestionMethod'; + +// Banner settings +export const BANNERS_PLACEMENT_ID = 'banners:placement'; +export const BANNERS_TEXT_CONTENT_ID = 'banners:textContent'; +export const BANNERS_TEXT_COLOR_ID = 'banners:textColor'; +export const BANNERS_BACKGROUND_COLOR_ID = 'banners:backgroundColor'; + +// Discover settings +export const CONTEXT_DEFAULT_SIZE_ID = 'context:defaultSize'; +export const CONTEXT_STEP_ID = 'context:step'; +export const CONTEXT_TIE_BREAKER_FIELDS_ID = 'context:tieBreakerFields'; +export const DEFAULT_COLUMNS_ID = 'defaultColumns'; +export const DISCOVER_ENABLE_SQL_ID = 'discover:enableSql'; +export const DISCOVER_MAX_DOC_FIELDS_DISPLAYED_ID = 'discover:maxDocFieldsDisplayed'; +export const DISCOVER_MODIFY_COLUMNS_ON_SWITCH_ID = 'discover:modifyColumnsOnSwitch'; +export const DISCOVER_ROW_HEIGHT_OPTION_ID = 'discover:rowHeightOption'; +export const DISCOVER_SAMPLE_ROWS_PER_PAGE_ID = 'discover:sampleRowsPerPage'; +export const DISCOVER_SAMPLE_SIZE_ID = 'discover:sampleSize'; +export const DISCOVER_SEARCH_FIELDS_FROM_SOURCE_ID = 'discover:searchFieldsFromSource'; +export const DISCOVER_SEARCH_ON_PAGE_LOAD_ID = 'discover:searchOnPageLoad'; +export const DISCOVER_SHOW_FIELD_STATISTICS_ID = 'discover:showFieldStatistics'; +export const DISCOVER_SHOW_LEGACY_FIELD_TOP_VALUES_ID = 'discover:showLegacyFieldTopValues'; +export const DISCOVER_SHOW_MULTI_FIELDS_ID = 'discover:showMultiFields'; +export const DISCOVER_SORT_DEFAULT_ORDER_ID = 'discover:sort:defaultOrder'; +export const DOC_TABLE_HIDE_TIME_COLUMNS_ID = 'doc_table:hideTimeColumn'; +export const DOC_TABLE_HIGHLIGHT_ID = 'doc_table:highlight'; +export const DOC_TABLE_LEGACY_ID = 'doc_table:legacy'; +export const TRUNCATE_MAX_HEIGHT_ID = 'truncate:maxHeight'; + +// Machine learning settings +export const ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID = + 'ml:anomalyDetection:results:enableTimeDefaults'; +export const ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID = + 'ml:anomalyDetection:results:timeDefaults'; + +// Notifications settings +export const NOTIFICATIONS_BANNER_ID = 'notifications:banner'; +export const NOTIFICATIONS_LIFETIME_BANNER_ID = 'notifications:lifetime:banner'; +export const NOTIFICATIONS_LIFETIME_ERROR_ID = 'notifications:lifetime:error'; +export const NOTIFICATIONS_LIFETIME_INFO_ID = 'notifications:lifetime:info'; +export const NOTIFICATIONS_LIFETIME_WARNING_ID = 'notifications:lifetime:warning'; + +// Observability settings +export const OBSERVABILITY_APM_AWS_LAMBDA_PRICE_FACTOR_ID = 'observability:apmAWSLambdaPriceFactor'; +export const OBSERVABILITY_APM_AWS_LAMBDA_REQUEST_COST_PER_MILLION_ID = + 'observability:apmAWSLambdaRequestCostPerMillion'; +export const OBSERVABILITY_APM_AGENT_EXPLORER_VIEW_ID = 'observability:apmAgentExplorerView'; +export const OBSERVABILITY_APM_DEFAULT_SERVICE_ENVIRONMENT_ID = + 'observability:apmDefaultServiceEnvironment'; +export const OBSERVABILITY_APM_ENABLE_CRITICAL_PATH_ID = 'observability:apmEnableCriticalPath'; +export const OBSERVABILITY_APM_LABS_BUTTON_ID = 'observability:apmLabsButton'; +export const OBSERVABILITY_APM_PROGRESSIVE_LOADING_ID = 'observability:apmProgressiveLoading'; +export const OBSERVABILITY_APM_SERVICE_GROUP_MAX_NUMBER_OF_SERVCIE_ID = + 'observability:apmServiceGroupMaxNumberOfServices'; +export const OBSERVABILITY_APM_SERVICE_INVENTORY_OPTIMIZED_SORTING_ID = + 'observability:apmServiceInventoryOptimizedSorting'; +export const OBSERVABILITY_APM_TRACE_EXPLORER_TAB_ID = 'observability:apmTraceExplorerTab'; +export const OBSERVABILITY_ENABLE_AWS_LAMBDA_METRICS_ID = 'observability:enableAwsLambdaMetrics'; +export const OBSERVABILITY_ENABLE_COMPARISON_BY_DEFAULT_ID = + 'observability:enableComparisonByDefault'; +export const OBSERVABILITY_ENABLE_INFRASTRUCTURE_HOSTS_VIEW_ID = + 'observability:enableInfrastructureHostsView'; +export const OBSERVABILITY_ENABLE_INSPECT_ES_QUERIES_ID = 'observability:enableInspectEsQueries'; +export const OBSERVABILITY_MAX_SUGGESTIONS_ID = 'observability:maxSuggestions'; +export const OBSERVABILITY_PROFILING_ELASTICSEARCH_PLUGIN_ID = + 'observability:profilingElasticsearchPlugin'; + +// Reporting settings +export const XPACK_REPORTING_CUSTOM_PDF_LOGO_ID = 'xpackReporting:customPdfLogo'; + +// Rollups settings +export const ROLLUPS_ENABLE_INDEX_PATTERNS_ID = 'rollups.enableIndexPatterns'; + +// Search settings +export const COURIER_CUSTOM_REQUEST_PREFERENCE_ID = 'courier:customRequestPreference'; +export const COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID = + 'courier:ignoreFilterIfFieldNotInIndex'; +export const COURIER_MAX_CONCURRENT_SHARD_REQUEST_ID = 'courier:maxConcurrentShardRequests'; +export const COURIER_SET_REQUEST_PREFERENCE_ID = 'courier:setRequestPreference'; +export const SEARCH_INCLUDE_FROZEN_ID = 'search:includeFrozen'; +export const SEARCH_TIMEOUT_ID = 'search:timeout'; + +// Security solution settings +export const SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID = + 'securitySolution:refreshIntervalDefaults'; +export const SECURITY_SOLUTION_TIME_DEFAULTS_ID = 'securitySolution:timeDefaults'; +export const SECURITY_SOLUTION_DEFAULT_INDEX_ID = 'securitySolution:defaultIndex'; +export const SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID = 'securitySolution:defaultThreatIndex'; +export const SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID = 'securitySolution:defaultAnomalyScore'; +export const SECURITY_SOLUTION_ENABLE_GROUPED_NAV_ID = 'securitySolution:enableGroupedNav'; +export const SECURITY_SOLUTION_ENABLE_NEWS_FEED_ID = 'securitySolution:enableNewsFeed'; +export const SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID = 'securitySolution:rulesTableRefresh'; +export const SECURITY_SOLUTION_NEWS_FEED_URL_ID = 'securitySolution:newsFeedUrl'; +export const SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID = 'securitySolution:ipReputationLinks'; +export const SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID = 'securitySolution:enableCcsWarning'; +export const SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID = + 'securitySolution:showRelatedIntegrations'; + +// Timelion settings +export const TIMELION_ES_DEFAULT_INDEX_ID = 'timelion:es.default_index'; +export const TIMELION_ES_TIME_FIELD_ID = 'timelion:es.timefield'; +export const TIMELION_MAX_BUCKETS_ID = 'timelion:max_buckets'; +export const TIMELION_MIN_INTERVAL_ID = 'timelion:min_interval'; +export const TIMELION_TARGET_BUCKETS_ID = 'timelion:target_buckets'; + +// Visualization settings +export const VISUALIZATION_COLOR_MAPPING_ID = 'visualization:colorMapping'; +export const VISUALIZATION_HEATMAP_MAX_BUCKETS_ID = 'visualization:heatmap:maxBuckets'; +export const VISUALIZATION_USE_LEGACY_TIME_AXIS_ID = 'visualization:useLegacyTimeAxis'; +export const VISUALIZATION_LEGACY_GAUGE_CHARTS_LIBRARY_ID = + 'visualization:visualize:legacyGaugeChartsLibrary'; +export const VISUALIZATION_LEGACY_HEATMAP_CHARTS_LIBRARY_ID = + 'visualization:visualize:legacyHeatmapChartsLibrary'; +export const VISUALIZATION_ENABLE_LABS_ID = 'visualize:enableLabs'; diff --git a/packages/kbn-management/settings/setting_ids/kibana.jsonc b/packages/kbn-management/settings/setting_ids/kibana.jsonc new file mode 100644 index 0000000000000..934b0dd5baaac --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-ids", + "owner": "@elastic/appex-sharedux @elastic/platform-deployment-management" +} diff --git a/packages/kbn-management/settings/setting_ids/package.json b/packages/kbn-management/settings/setting_ids/package.json new file mode 100644 index 0000000000000..59c9769cd1bf7 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-ids", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/setting_ids/tsconfig.json b/packages/kbn-management/settings/setting_ids/tsconfig.json new file mode 100644 index 0000000000000..53e5c76cbab87 --- /dev/null +++ b/packages/kbn-management/settings/setting_ids/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], +} diff --git a/packages/kbn-management/settings/types/README.mdx b/packages/kbn-management/settings/types/README.mdx new file mode 100644 index 0000000000000..be258389beefe --- /dev/null +++ b/packages/kbn-management/settings/types/README.mdx @@ -0,0 +1,12 @@ +--- +id: management/settings/types +slug: /management/settings/types +title: Management Settings Typescript Types +description: Common types for objects and functions for Advanced Settings in Stack Management. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains common types used throughout the `@kbn/management-settings-*` packages. diff --git a/packages/kbn-management/settings/types/field_definition.ts b/packages/kbn-management/settings/types/field_definition.ts new file mode 100644 index 0000000000000..eb34df3b67868 --- /dev/null +++ b/packages/kbn-management/settings/types/field_definition.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 { ReactElement } from 'react'; + +import { UiCounterMetricType } from '@kbn/analytics'; +import { DeprecationSettings } from '@kbn/core-ui-settings-common'; + +import { KnownTypeToValue, SettingType } from './setting_type'; + +/** + * A {@link FieldDefinition} adapts a {@link UiSettingMetadata} object to be more + * easily consumed by the UI. It contains additional information about the field + * that is determined from a given UiSettingMetadata object, (which is a type + * representing a UiSetting). + * @public + */ +export interface FieldDefinition | null> { + /** UX ARIA attributes derived from the setting. */ + ariaAttributes: { + /** The `aria-label` attribute for the field input. */ + ariaLabel: string; + /** The `aria-describedby` attribute for the field input. */ + ariaDescribedBy?: string; + }; + /** A list of categories related to the field. */ + categories: string[]; + /** The default value of the field from Kibana. */ + defaultValue?: V; + /** The text-based display of the default value, for use in the UI. */ + defaultValueDisplay: string; + /** + * Deprecation information for the field + * @see {@link DeprecationSettings} + */ + deprecation?: DeprecationSettings; + /** A description of the field. */ + description?: string | ReactElement; + /** The name of the field suitable for display in the UX. */ + displayName: string; + /** The grouping identifier for the field. */ + groupId: string; + /** The unique identifier of the field, typically separated by `:` */ + id: string; + /** True if the field is a custom setting, false otherwise. */ + isCustom: boolean; + /** True if the current saved setting matches the default setting. */ + isDefaultValue: boolean; + /** True if the setting is overridden in Kibana, false otherwise. */ + isOverridden: boolean; + /** True if the setting is read-only, false otherwise. */ + isReadOnly: boolean; + /** Metric information when one interacts with the field. */ + metric?: { + /** The metric name. */ + name?: string; + /** The metric type. */ + type?: UiCounterMetricType; + }; + /** The name of the field suitable for use in the UX. */ + name: string; + /** Option information if the field represents a `select` setting. */ + options?: { + /** Option values for the field. */ + values: string[] | number[]; + /** Option labels organized by value. */ + labels: Record; + }; + /** A rank order for the field relative to other fields. */ + order: number | undefined; + /** True if the browser must be reloaded for the setting to take effect, false otherwise. */ + requiresPageReload: boolean; + /** The current saved value of the setting. */ + savedValue?: V; + /** + * The type of setting the field represents. + * @see {@link SettingType} + */ + type: T; + /** An identifier of the field when it has an unsaved change. */ + unsavedFieldId: string; +} + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `array` type + * for use in the UI. + */ +export type ArrayFieldDefinition = FieldDefinition<'array'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `boolean` type + * for use in the UI. + */ +export type BooleanFieldDefinition = FieldDefinition<'boolean'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `color` type + * for use in the UI. + */ +export type ColorFieldDefinition = FieldDefinition<'color'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `image` type + * for use in the UI. + */ +export type ImageFieldDefinition = FieldDefinition<'image'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `json` type + * for use in the UI. + */ +export type JsonFieldDefinition = FieldDefinition<'json'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `markdown` type + * for use in the UI. + */ +export type MarkdownFieldDefinition = FieldDefinition<'markdown'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `number` type + * for use in the UI. + */ +export type NumberFieldDefinition = FieldDefinition<'number'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `select` type + * for use in the UI. + */ +export interface SelectFieldDefinition extends FieldDefinition<'select'> { + /** Options are required when this definition is used. */ + options: { + /** Option values for the field. */ + values: string[] | number[]; + /** Option labels organized by value. */ + labels: Record; + }; +} + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `string` type + * for use in the UI. + */ +export type StringFieldDefinition = FieldDefinition<'string'>; + +/** + * This is a {@link FieldDefinition} representing {@link UiSetting} `undefined` type + * for use in the UI. + */ +export type UndefinedFieldDefinition = FieldDefinition<'undefined'>; diff --git a/packages/kbn-management/settings/types/index.ts b/packages/kbn-management/settings/types/index.ts new file mode 100644 index 0000000000000..cc4d1738997a6 --- /dev/null +++ b/packages/kbn-management/settings/types/index.ts @@ -0,0 +1,61 @@ +/* + * 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 type { + ArrayFieldDefinition, + BooleanFieldDefinition, + ColorFieldDefinition, + ImageFieldDefinition, + JsonFieldDefinition, + FieldDefinition, + MarkdownFieldDefinition, + NumberFieldDefinition, + SelectFieldDefinition, + StringFieldDefinition, + UndefinedFieldDefinition, +} from './field_definition'; + +export type { + ArrayUiSettingMetadata, + BooleanUiSettingMetadata, + ColorUiSettingMetadata, + ImageUiSettingMetadata, + JsonUiSettingMetadata, + MarkdownUiSettingMetadata, + NumberUiSettingMetadata, + SelectUiSettingMetadata, + StringUiSettingMetadata, + UndefinedUiSettingMetadata, + UiSettingMetadata, + KnownTypeToMetadata, +} from './metadata'; + +export type { + ArrayUnsavedFieldChange, + BooleanUnsavedFieldChange, + ColorUnsavedFieldChange, + ImageUnsavedFieldChange, + JsonUnsavedFieldChange, + MarkdownUnsavedFieldChange, + NumberUnsavedFieldChange, + SelectUnsavedFieldChange, + StringUnsavedFieldChange, + UndefinedUnsavedFieldChange, + UnsavedFieldChange, +} from './unsaved_change'; + +export type { + ArraySettingType, + BooleanSettingType, + KnownTypeToValue, + NumberSettingType, + SettingType, + StringSettingType, + UndefinedSettingType, + Value, +} from './setting_type'; diff --git a/packages/kbn-management/settings/types/kibana.jsonc b/packages/kbn-management/settings/types/kibana.jsonc new file mode 100644 index 0000000000000..9482b2bb0f15f --- /dev/null +++ b/packages/kbn-management/settings/types/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-types", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/types/metadata.ts b/packages/kbn-management/settings/types/metadata.ts new file mode 100644 index 0000000000000..8e191310b943d --- /dev/null +++ b/packages/kbn-management/settings/types/metadata.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 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 { PublicUiSettingsParams, UserProvidedValues } from '@kbn/core/public'; +import { KnownTypeToValue, SettingType } from './setting_type'; + +/** + * Creating this type based on {@link UiSettingsClientCommon} and exporting for ease. + */ +type UiSetting = PublicUiSettingsParams & UserProvidedValues; + +/** + * This is an type-safe abstraction over the {@link UiSetting} type, whose fields + * are not only optional, but also not strongly typed to + * {@link @kbn/core-ui-settings-common#UiSettingsType}. + * + * @public + */ +export interface UiSettingMetadata | null> + extends UiSetting { + /** + * The type of setting being represented. + * @see{@link SettingType} + */ + type: T; + /** The default value in Kibana for the setting. */ + value?: V; + /** The value saved by the user. */ + userValue?: V; +} + +/** + * This is an type-safe abstraction over the {@link UiSetting} `array` type. + * @public + */ +export type ArrayUiSettingMetadata = UiSettingMetadata<'array'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `boolean` type. + * @public + */ +export type BooleanUiSettingMetadata = UiSettingMetadata<'boolean'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `color` type. + * @public + */ +export type ColorUiSettingMetadata = UiSettingMetadata<'color'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `image` type. + * @public + */ +export type ImageUiSettingMetadata = UiSettingMetadata<'image'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `json` type. + * @public + */ +export type JsonUiSettingMetadata = UiSettingMetadata<'json'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `markdown` type. + * @public + */ +export type MarkdownUiSettingMetadata = UiSettingMetadata<'markdown'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `number` type. + * @public + */ +export type NumberUiSettingMetadata = UiSettingMetadata<'number'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `select` type. + * @public + */ +export type SelectUiSettingMetadata = UiSettingMetadata<'select'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `string` type. + * @public + */ +export type StringUiSettingMetadata = UiSettingMetadata<'string'>; + +/** + * This is an type-safe abstraction over the {@link UiSetting} `undefined` type. + * @public + */ +export type UndefinedUiSettingMetadata = UiSettingMetadata<'undefined'>; + +// prettier-ignore +/** + * This is a narrowing type, which finds the correct {@link UiSettingMetadata} + * type based on a given {@link SettingType}. + * @public + */ +export type KnownTypeToMetadata = + T extends 'array' ? ArrayUiSettingMetadata + : T extends 'boolean' ? BooleanUiSettingMetadata + : T extends 'color' ? ColorUiSettingMetadata + : T extends 'image' ? ImageUiSettingMetadata + : T extends 'json' ? JsonUiSettingMetadata + : T extends 'markdown' ? MarkdownUiSettingMetadata + : T extends 'number' ? NumberUiSettingMetadata + : T extends 'select' ? SelectUiSettingMetadata + : T extends 'string' ? StringUiSettingMetadata + : T extends 'undefined' ? UndefinedUiSettingMetadata + : never; diff --git a/packages/kbn-management/settings/types/package.json b/packages/kbn-management/settings/types/package.json new file mode 100644 index 0000000000000..43ed71ecaca83 --- /dev/null +++ b/packages/kbn-management/settings/types/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-types", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/types/setting_type.ts b/packages/kbn-management/settings/types/setting_type.ts new file mode 100644 index 0000000000000..da297c6d94171 --- /dev/null +++ b/packages/kbn-management/settings/types/setting_type.ts @@ -0,0 +1,72 @@ +/* + * 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 { UiSettingsType } from '@kbn/core-ui-settings-common'; + +/** + * This is a local type equivalent to {@link UiSettingsType} for flexibility. + * @public + */ +export type SettingType = UiSettingsType; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `array` primitive type value. + * @public + */ +export type ArraySettingType = Extract; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `boolean` primitive type value. + * @public + */ +export type BooleanSettingType = Extract; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `number` primitive type value. + * @public + */ +export type NumberSettingType = Extract; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `string` primitive type value. + * @public + */ +export type StringSettingType = Extract< + SettingType, + 'color' | 'image' | 'json' | 'markdown' | 'select' | 'string' +>; + +/** + * A narrowing type representing all {@link SettingType} values that correspond + * to an `undefined` type value. + * @public + */ +export type UndefinedSettingType = Extract; + +/** + * A type representing all possible values corresponding to a given {@link SettingType}. + */ +export type Value = string | boolean | number | Array | undefined | null; + +// prettier-ignore +/** + * This is a narrowing type, which finds the correct primitive type based on a + * given {@link SettingType}. + * @public + */ +export type KnownTypeToValue = + T extends 'color' | 'image' | 'json' | 'markdown' | 'select' | 'string' ? string : + T extends 'boolean' ? boolean : + T extends 'number' | 'bigint' ? number : + T extends 'array' ? Array : + T extends 'undefined' ? undefined: + never; diff --git a/packages/kbn-management/settings/types/tsconfig.json b/packages/kbn-management/settings/types/tsconfig.json new file mode 100644 index 0000000000000..345fbe3125a79 --- /dev/null +++ b/packages/kbn-management/settings/types/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/analytics", + "@kbn/core", + "@kbn/core-ui-settings-common", + ] +} diff --git a/packages/kbn-management/settings/types/unsaved_change.ts b/packages/kbn-management/settings/types/unsaved_change.ts new file mode 100644 index 0000000000000..3bd815187f70a --- /dev/null +++ b/packages/kbn-management/settings/types/unsaved_change.ts @@ -0,0 +1,127 @@ +/* + * 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 { KnownTypeToValue, SettingType } from './setting_type'; + +/** + * A {@link UnsavedFieldChange} represents local changes to a field that have not + * yet been saved. + * @public + */ +export interface UnsavedFieldChange { + /** + * The type of setting. + * @see {@link SettingType} + */ + type: T; + /** An error message, if any, from the change. */ + error?: string | null; + /** True if the change is invalid for the field, false otherwise. */ + isInvalid?: boolean; + /** The current unsaved value stored in the field. */ + unsavedValue?: KnownTypeToValue | null; +} + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `number` value + * for use in the UI. + * @public + */ +export type ArrayUnsavedFieldChange = UnsavedFieldChange<'array'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `boolean` value + * for use in the UI. + * @public + */ +export type BooleanUnsavedFieldChange = UnsavedFieldChange<'boolean'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `color` value + * for use in the UI. + * @public + */ +export type ColorUnsavedFieldChange = UnsavedFieldChange<'color'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `image` value + * for use in the UI. + * @public + */ +export type ImageUnsavedFieldChange = UnsavedFieldChange<'image'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `json` value + * for use in the UI. + * @public + */ +export type JsonUnsavedFieldChange = UnsavedFieldChange<'json'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `markdown` value + * for use in the UI. + * @public + */ +export type MarkdownUnsavedFieldChange = UnsavedFieldChange<'markdown'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `number` value + * for use in the UI. + * @public + */ +export type NumberUnsavedFieldChange = UnsavedFieldChange<'number'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `select` value + * for use in the UI. + * @public + */ +export type SelectUnsavedFieldChange = UnsavedFieldChange<'select'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `string` value + * for use in the UI. + * @public + */ +export type StringUnsavedFieldChange = UnsavedFieldChange<'string'>; + +/** + * This is a {@link UnsavedFieldChange} representing an unsaved change to a + * {@link FieldDefinition} which has a {@link UiSetting} `undefined` value + * for use in the UI. + * @public + */ +export type UndefinedUnsavedFieldChange = UnsavedFieldChange<'undefined'>; + +// prettier-ignore +/** + * This is a narrowing type, which finds the correct primitive type based on a + * given {@link SettingType}. + * @public + */ +export type KnownTypeToUnsavedChange = + T extends 'array' ? ArrayUnsavedFieldChange : + T extends 'boolean' ? BooleanUnsavedFieldChange : + T extends 'color' ? ColorUnsavedFieldChange : + T extends 'image' ? ImageUnsavedFieldChange : + T extends 'json' ? JsonUnsavedFieldChange : + T extends 'markdown' ? MarkdownUnsavedFieldChange : + T extends 'number' | 'bigint' ? NumberUnsavedFieldChange : + T extends 'select' ? SelectUnsavedFieldChange : + T extends 'string' ? StringUnsavedFieldChange: + T extends 'undefined' ? UndefinedUnsavedFieldChange : + never; diff --git a/packages/kbn-management/settings/utilities/README.mdx b/packages/kbn-management/settings/utilities/README.mdx new file mode 100644 index 0000000000000..ef147d2fac252 --- /dev/null +++ b/packages/kbn-management/settings/utilities/README.mdx @@ -0,0 +1,12 @@ +--- +id: management/settings/utilities +slug: /management/settings/utilities +title: Management Settings Utilities +description: Utilities for working with Advanced Settings in Stack Management. +tags: ['management', 'settings'] +date: 2023-08-31 +--- + +## Description + +This package contains common utility functions for working with Advanced Settings in Stack Management. diff --git a/packages/kbn-management/settings/utilities/get_input_value.ts b/packages/kbn-management/settings/utilities/get_input_value.ts new file mode 100644 index 0000000000000..17ae6833fdb81 --- /dev/null +++ b/packages/kbn-management/settings/utilities/get_input_value.ts @@ -0,0 +1,46 @@ +/* + * 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 { SettingType, UnsavedFieldChange, FieldDefinition } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from './has_unsaved_change'; + +type F = Pick, 'savedValue' | 'defaultValue'>; +type C = UnsavedFieldChange; + +/** + * Convenience function that, given a {@link FieldDefinition} and an {@link UnsavedFieldChange}, + * returns the value to be displayed in the input field, and a boolean indicating whether the + * value is an unsaved value. + * + * @param field The field to compare. + * @param change The unsaved change to compare. + */ +export function getInputValue(field: F<'array'>, change: C<'array'>): [string[], boolean]; +export function getInputValue(field: F<'color'>, change: C<'color'>): [string, boolean]; +export function getInputValue(field: F<'boolean'>, change: C<'boolean'>): [boolean, boolean]; +export function getInputValue(field: F<'image'>, change: C<'image'>): [string, boolean]; +export function getInputValue(field: F<'json'>, change: C<'json'>): [string, boolean]; +export function getInputValue(field: F<'markdown'>, change: C<'markdown'>): [string, boolean]; +export function getInputValue(field: F<'number'>, change: C<'number'>): [number, boolean]; +export function getInputValue(field: F<'select'>, change: C<'select'>): [string, boolean]; +export function getInputValue(field: F<'string'>, change: C<'string'>): [string, boolean]; +export function getInputValue( + field: F<'undefined'>, + change: C<'undefined'> +): [string | null | undefined, boolean]; +export function getInputValue(field: F, change: C) { + const isUnsavedValue = hasUnsavedChange(field, change); + + const value = isUnsavedValue + ? change.unsavedValue + : field.savedValue !== undefined && field.savedValue !== null + ? field.savedValue + : field.defaultValue; + + return [value, isUnsavedValue]; +} diff --git a/packages/kbn-management/settings/utilities/has_unsaved_change.ts b/packages/kbn-management/settings/utilities/has_unsaved_change.ts new file mode 100644 index 0000000000000..0ac783b439e4a --- /dev/null +++ b/packages/kbn-management/settings/utilities/has_unsaved_change.ts @@ -0,0 +1,35 @@ +/* + * 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 isEqual from 'lodash/isEqual'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; + +/** + * Compares a given {@link FieldDefinition} to an {@link UnsavedFieldChange} to determine + * if the field has an unsaved change in the UI. + * + * @param field The field to compare. + * @param unsavedChange The unsaved change to compare. + */ +export const hasUnsavedChange = ( + field: Pick, 'savedValue'>, + unsavedChange?: Pick, 'unsavedValue'> +) => { + if (!unsavedChange) { + return false; + } + + const { unsavedValue } = unsavedChange; + const { savedValue } = field; + return unsavedValue !== undefined && !isEqual(unsavedValue, savedValue); +}; diff --git a/packages/kbn-management/settings/utilities/index.ts b/packages/kbn-management/settings/utilities/index.ts new file mode 100644 index 0000000000000..1c35af180866d --- /dev/null +++ b/packages/kbn-management/settings/utilities/index.ts @@ -0,0 +1,11 @@ +/* + * 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 { hasUnsavedChange } from './has_unsaved_change'; +export { isUnsavedValue } from './is_unsaved_value'; +export { getInputValue } from './get_input_value'; diff --git a/packages/kbn-management/settings/utilities/is_unsaved_value.ts b/packages/kbn-management/settings/utilities/is_unsaved_value.ts new file mode 100644 index 0000000000000..863d6c8b59ba0 --- /dev/null +++ b/packages/kbn-management/settings/utilities/is_unsaved_value.ts @@ -0,0 +1,27 @@ +/* + * 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 isEqual from 'lodash/isEqual'; + +import { FieldDefinition, KnownTypeToValue, SettingType } from '@kbn/management-settings-types'; + +/** + * Convenience function to compare a given {@link FieldDefinition} to an {@link UnsavedFieldChange} + * to determine if the value in the unsaved change is a different value from what is saved. + * + * @param field The field to compare. + * @param unsavedValue The unsaved value to compare. + */ +export const isUnsavedValue = ( + field: FieldDefinition, + unsavedValue?: KnownTypeToValue | null +) => { + const { savedValue } = field; + + return unsavedValue !== undefined && !isEqual(unsavedValue, savedValue); +}; diff --git a/packages/kbn-management/settings/utilities/kibana.jsonc b/packages/kbn-management/settings/utilities/kibana.jsonc new file mode 100644 index 0000000000000..391d209e9f192 --- /dev/null +++ b/packages/kbn-management/settings/utilities/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/management-settings-utilities", + "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" +} diff --git a/packages/kbn-management/settings/utilities/package.json b/packages/kbn-management/settings/utilities/package.json new file mode 100644 index 0000000000000..b82429aa30707 --- /dev/null +++ b/packages/kbn-management/settings/utilities/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/management-settings-utilities", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/utilities/tsconfig.json b/packages/kbn-management/settings/utilities/tsconfig.json new file mode 100644 index 0000000000000..1247d2cd18707 --- /dev/null +++ b/packages/kbn-management/settings/utilities/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-types", + ] +} diff --git a/packages/kbn-management/storybook/config/tsconfig.json b/packages/kbn-management/storybook/config/tsconfig.json index 52ae9f82c90f6..d383f3b0ba61e 100644 --- a/packages/kbn-management/storybook/config/tsconfig.json +++ b/packages/kbn-management/storybook/config/tsconfig.json @@ -4,7 +4,10 @@ "outDir": "target/types", "types": [ "jest", - "node" + "node", + "@kbn/ambient-ui-types", + "@kbn/ambient-storybook-types", + "@emotion/react/types/css-prop" ] }, "include": [ diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/README.md b/packages/kbn-profiling-utils/common/__fixtures__/README.md similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/README.md rename to packages/kbn-profiling-utils/common/__fixtures__/README.md diff --git a/packages/kbn-profiling-utils/common/__fixtures__/stacktraces.ts b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces.ts new file mode 100644 index 0000000000000..105132ec15941 --- /dev/null +++ b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces.ts @@ -0,0 +1,25 @@ +/* + * 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 { StackTraceResponse } from '../stack_traces'; + +import stackTraces1x from './stacktraces_60s_1x.json'; +import stackTraces5x from './stacktraces_3600s_5x.json'; +import stackTraces125x from './stacktraces_86400s_125x.json'; +import stackTraces625x from './stacktraces_604800s_625x.json'; + +export const stackTraceFixtures: Array<{ + response: StackTraceResponse; + seconds: number; + upsampledBy: number; +}> = [ + { response: stackTraces1x, seconds: 60, upsampledBy: 1 }, + { response: stackTraces5x, seconds: 3600, upsampledBy: 5 }, + { response: stackTraces125x, seconds: 86400, upsampledBy: 125 }, + { response: stackTraces625x, seconds: 604800, upsampledBy: 625 }, +]; diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_3600s_5x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_3600s_5x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_3600s_5x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_3600s_5x.json diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_604800s_625x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_604800s_625x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_604800s_625x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_604800s_625x.json diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_60s_1x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_60s_1x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_60s_1x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_60s_1x.json diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_86400s_125x.json b/packages/kbn-profiling-utils/common/__fixtures__/stacktraces_86400s_125x.json similarity index 100% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces_86400s_125x.json rename to packages/kbn-profiling-utils/common/__fixtures__/stacktraces_86400s_125x.json diff --git a/x-pack/plugins/profiling_data_access/common/callee.test.ts b/packages/kbn-profiling-utils/common/callee.test.ts similarity index 90% rename from x-pack/plugins/profiling_data_access/common/callee.test.ts rename to packages/kbn-profiling-utils/common/callee.test.ts index a796062948b33..431f914bd6a10 100644 --- a/x-pack/plugins/profiling_data_access/common/callee.test.ts +++ b/packages/kbn-profiling-utils/common/callee.test.ts @@ -1,15 +1,15 @@ /* * 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. + * 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 { sum } from 'lodash'; import { createCalleeTree } from './callee'; import { decodeStackTraceResponse } from './stack_traces'; - import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('Callee operations', () => { diff --git a/x-pack/plugins/profiling_data_access/common/callee.ts b/packages/kbn-profiling-utils/common/callee.ts similarity index 86% rename from x-pack/plugins/profiling_data_access/common/callee.ts rename to packages/kbn-profiling-utils/common/callee.ts index 68fa9170f44ec..9315548b81ef3 100644 --- a/x-pack/plugins/profiling_data_access/common/callee.ts +++ b/packages/kbn-profiling-utils/common/callee.ts @@ -1,8 +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. + * 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 { createFrameGroupID, FrameGroupID } from './frame_group'; @@ -20,24 +21,48 @@ import { type NodeID = number; +/** + * Callee tree + */ export interface CalleeTree { + /** size */ Size: number; + /** edges */ Edges: Array>; - + /** file ids */ FileID: string[]; + /** frame types */ FrameType: number[]; + /** inlines */ Inline: boolean[]; + /** executable file names */ ExeFilename: string[]; + /** address or lines */ AddressOrLine: number[]; + /** function names */ FunctionName: string[]; + /** function offsets */ FunctionOffset: number[]; + /** source file names */ SourceFilename: string[]; + /** source lines */ SourceLine: number[]; - + /** total cpu */ CountInclusive: number[]; + /** self cpu */ CountExclusive: number[]; } +/** + * Create a callee tree + * @param events Map + * @param stackTraces Map + * @param stackFrames Map + * @param executables Map + * @param totalFrames number + * @param samplingRate number + * @returns + */ export function createCalleeTree( events: Map, stackTraces: Map, diff --git a/x-pack/plugins/profiling_data_access/common/elasticsearch.ts b/packages/kbn-profiling-utils/common/elasticsearch.ts similarity index 92% rename from x-pack/plugins/profiling_data_access/common/elasticsearch.ts rename to packages/kbn-profiling-utils/common/elasticsearch.ts index a47e4c018d581..c3d18c16545e1 100644 --- a/x-pack/plugins/profiling_data_access/common/elasticsearch.ts +++ b/packages/kbn-profiling-utils/common/elasticsearch.ts @@ -1,12 +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; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 { UnionToIntersection, ValuesType } from 'utility-types'; +/** + * Profiling Elasticsearch fields + */ export enum ProfilingESField { Timestamp = '@timestamp', ContainerName = 'container.name', diff --git a/x-pack/plugins/profiling_data_access/common/flamegraph.test.ts b/packages/kbn-profiling-utils/common/flamegraph.test.ts similarity index 90% rename from x-pack/plugins/profiling_data_access/common/flamegraph.test.ts rename to packages/kbn-profiling-utils/common/flamegraph.test.ts index 8014264667239..cc6b3cca69926 100644 --- a/x-pack/plugins/profiling_data_access/common/flamegraph.test.ts +++ b/packages/kbn-profiling-utils/common/flamegraph.test.ts @@ -1,14 +1,14 @@ /* * 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. + * 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 { createCalleeTree } from './callee'; import { createBaseFlameGraph, createFlameGraph } from './flamegraph'; import { decodeStackTraceResponse } from './stack_traces'; - import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('Flamegraph operations', () => { diff --git a/x-pack/plugins/profiling_data_access/common/flamegraph.ts b/packages/kbn-profiling-utils/common/flamegraph.ts similarity index 80% rename from x-pack/plugins/profiling_data_access/common/flamegraph.ts rename to packages/kbn-profiling-utils/common/flamegraph.ts index 16fb8c1a396c5..20dc5419d6230 100644 --- a/x-pack/plugins/profiling_data_access/common/flamegraph.ts +++ b/packages/kbn-profiling-utils/common/flamegraph.ts @@ -1,8 +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. + * 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 { CalleeTree } from './callee'; @@ -10,28 +11,49 @@ import { createFrameGroupID } from './frame_group'; import { fnv1a64 } from './hash'; import { createStackFrameMetadata, getCalleeLabel } from './profiling'; +/** + * Base Flamegraph + */ export interface BaseFlameGraph { + /** size */ Size: number; + /** edges */ Edges: number[][]; - + /** file ids */ FileID: string[]; + /** frame types */ FrameType: number[]; + /** inlines */ Inline: boolean[]; + /** executable file names */ ExeFilename: string[]; + /** address or line */ AddressOrLine: number[]; + /** function names */ FunctionName: string[]; + /** function offsets */ FunctionOffset: number[]; + /** source file names */ SourceFilename: string[]; + /** source lines */ SourceLine: number[]; - + /** total cpu */ CountInclusive: number[]; + /** self cpu */ CountExclusive: number[]; - + /** total seconds */ TotalSeconds: number; + /** sampling rate */ SamplingRate: number; } -// createBaseFlameGraph encapsulates the tree representation into a serialized form. +/** + * createBaseFlameGraph encapsulates the tree representation into a serialized form. + * @param tree CalleeTree + * @param samplingRate number + * @param totalSeconds number + * @returns BaseFlameGraph + */ export function createBaseFlameGraph( tree: CalleeTree, samplingRate: number, @@ -71,14 +93,22 @@ export function createBaseFlameGraph( return graph; } +/** Elasticsearch flamegraph */ export interface ElasticFlameGraph extends BaseFlameGraph { + /** ID */ ID: string[]; + /** Label */ Label: string[]; } -// createFlameGraph combines the base flamegraph with CPU-intensive values. -// This allows us to create a flamegraph in two steps (e.g. first on the server -// and finally in the browser). +/** + * + * createFlameGraph combines the base flamegraph with CPU-intensive values. + * This allows us to create a flamegraph in two steps (e.g. first on the server + * and finally in the browser). + * @param base BaseFlameGraph + * @returns ElasticFlameGraph + */ export function createFlameGraph(base: BaseFlameGraph): ElasticFlameGraph { const graph: ElasticFlameGraph = { Size: base.Size, diff --git a/x-pack/plugins/profiling_data_access/common/frame_group.test.ts b/packages/kbn-profiling-utils/common/frame_group.test.ts similarity index 94% rename from x-pack/plugins/profiling_data_access/common/frame_group.test.ts rename to packages/kbn-profiling-utils/common/frame_group.test.ts index b5f0fddd7b903..b6bfa6161a175 100644 --- a/x-pack/plugins/profiling_data_access/common/frame_group.test.ts +++ b/packages/kbn-profiling-utils/common/frame_group.test.ts @@ -1,8 +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. + * 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 { createFrameGroupID } from './frame_group'; diff --git a/x-pack/plugins/profiling_data_access/common/frame_group.ts b/packages/kbn-profiling-utils/common/frame_group.ts similarity index 58% rename from x-pack/plugins/profiling_data_access/common/frame_group.ts rename to packages/kbn-profiling-utils/common/frame_group.ts index 6881b14ed98fe..56a190ee58062 100644 --- a/x-pack/plugins/profiling_data_access/common/frame_group.ts +++ b/packages/kbn-profiling-utils/common/frame_group.ts @@ -1,24 +1,34 @@ /* * 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. + * 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 { takeRight } from 'lodash'; import { StackFrameMetadata } from './profiling'; +/** Frame group ID */ export type FrameGroupID = string; function stripLeadingSubdirs(sourceFileName: string) { return takeRight(sourceFileName.split('/'), 2).join('/'); } -// createFrameGroupID is the "standard" way of grouping frames, by commonly -// shared group identifiers. -// -// For ELF-symbolized frames, group by FunctionName, ExeFileName and FileID. -// For non-symbolized frames, group by FileID and AddressOrLine. -// otherwise group by ExeFileName, SourceFilename and FunctionName. +/** + * + * createFrameGroupID is the "standard" way of grouping frames, by commonly shared group identifiers. + * For ELF-symbolized frames, group by FunctionName, ExeFileName and FileID. + * For non-symbolized frames, group by FileID and AddressOrLine. + * otherwise group by ExeFileName, SourceFilename and FunctionName. + * @param fileID string + * @param addressOrLine string + * @param exeFilename string + * @param sourceFilename string + * @param functionName string + * @returns FrameGroupID + */ export function createFrameGroupID( fileID: StackFrameMetadata['FileID'], addressOrLine: StackFrameMetadata['AddressOrLine'], diff --git a/x-pack/plugins/profiling_data_access/common/hash.test.ts b/packages/kbn-profiling-utils/common/hash.test.ts similarity index 87% rename from x-pack/plugins/profiling_data_access/common/hash.test.ts rename to packages/kbn-profiling-utils/common/hash.test.ts index eaec348caa0ea..14a167d2c5998 100644 --- a/x-pack/plugins/profiling_data_access/common/hash.test.ts +++ b/packages/kbn-profiling-utils/common/hash.test.ts @@ -1,8 +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. + * 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 { fnv1a64 } from './hash'; diff --git a/x-pack/plugins/profiling_data_access/common/hash.ts b/packages/kbn-profiling-utils/common/hash.ts similarity index 74% rename from x-pack/plugins/profiling_data_access/common/hash.ts rename to packages/kbn-profiling-utils/common/hash.ts index 3eab4bde871e0..2c19b2f19b723 100644 --- a/x-pack/plugins/profiling_data_access/common/hash.ts +++ b/packages/kbn-profiling-utils/common/hash.ts @@ -1,8 +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. + * 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. */ // prettier-ignore @@ -25,23 +26,24 @@ const lowerHex = [ 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff', ]; -// fnv1a64 computes a 64-bit hash of a byte array using the FNV-1a hash function [1]. -// -// Due to the lack of a native uint64 in JavaScript, we operate on 64-bit values using an array -// of 4 uint16s instead. This method follows Knuth's Algorithm M in section 4.3.1 [2] using a -// modified multiword multiplication implementation described in [3]. The modifications include: -// -// * rewrite default algorithm for the special case m = n = 4 -// * unroll loops -// * simplify expressions -// * create pre-computed lookup table for serialization to hexadecimal -// -// 1. https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function -// 2. Knuth, Donald E. The Art of Computer Programming, Volume 2, Third Edition: Seminumerical -// Algorithms. Addison-Wesley, 1998. -// 3. Warren, Henry S. Hacker's Delight. Upper Saddle River, NJ: Addison-Wesley, 2013. - /* eslint no-bitwise: ["error", { "allow": ["^=", ">>", "&"] }] */ + +/** + * - fnv1a64 computes a 64-bit hash of a byte array using the FNV-1a hash function [1]. + * Due to the lack of a native uint64 in JavaScript, we operate on 64-bit values using an array + * of 4 uint16s instead. This method follows Knuth's Algorithm M in section 4.3.1 [2] using a + * modified multiword multiplication implementation described in [3]. The modifications include: + * - rewrite default algorithm for the special case m = n = 4 + * - unroll loops + * - simplify expressions + * - create pre-computed lookup table for serialization to hexadecimal + * 1. https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function + * 2. Knuth, Donald E. The Art of Computer Programming, Volume 2, Third Edition: Seminumerical + * Algorithms. Addison-Wesley, 1998. + * 3. Warren, Henry S. Hacker's Delight. Upper Saddle River, NJ: Addison-Wesley, 2013. + * @param bytes Uint8Array + * @returns string + */ export function fnv1a64(bytes: Uint8Array): string { const n = bytes.length; let [h0, h1, h2, h3] = [0x2325, 0x8422, 0x9ce4, 0xcbf2]; diff --git a/x-pack/plugins/profiling_data_access/common/profiling.test.ts b/packages/kbn-profiling-utils/common/profiling.test.ts similarity index 95% rename from x-pack/plugins/profiling_data_access/common/profiling.test.ts rename to packages/kbn-profiling-utils/common/profiling.test.ts index 24c898bf1cfbe..e235633890069 100644 --- a/x-pack/plugins/profiling_data_access/common/profiling.test.ts +++ b/packages/kbn-profiling-utils/common/profiling.test.ts @@ -1,8 +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. + * 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 { diff --git a/x-pack/plugins/profiling_data_access/common/profiling.ts b/packages/kbn-profiling-utils/common/profiling.ts similarity index 70% rename from x-pack/plugins/profiling_data_access/common/profiling.ts rename to packages/kbn-profiling-utils/common/profiling.ts index c6f72f20629d3..955be2e1485e6 100644 --- a/x-pack/plugins/profiling_data_access/common/profiling.ts +++ b/packages/kbn-profiling-utils/common/profiling.ts @@ -1,14 +1,27 @@ /* * 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. + * 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. */ +/** + * Stacktrace ID + */ export type StackTraceID = string; +/** + * StackFrame ID + */ export type StackFrameID = string; +/** + * File ID + */ export type FileID = string; +/** + * Frame type + */ export enum FrameType { Unsymbolized = 0, Python, @@ -35,94 +48,134 @@ const frameTypeDescriptions = { [FrameType.PHPJIT]: 'PHP JIT', }; +/** + * get frame type name + * @param ft FrameType + * @returns string + */ export function describeFrameType(ft: FrameType): string { return frameTypeDescriptions[ft]; } export interface StackTraceEvent { + /** stacktrace ID */ StackTraceID: StackTraceID; + /** count */ Count: number; } +/** Stack trace */ export interface StackTrace { + /** frame ids */ FrameIDs: string[]; + /** file ids */ FileIDs: string[]; + /** address or lines */ AddressOrLines: number[]; + /** types */ Types: number[]; } - +/** + * Empty stack trace + */ export const emptyStackTrace: StackTrace = { + /** Frame IDs */ FrameIDs: [], + /** File IDs */ FileIDs: [], + /** Address or lines */ AddressOrLines: [], + /** Types */ Types: [], }; +/** Stack frame */ export interface StackFrame { + /** file name */ FileName: string; + /** function name */ FunctionName: string; + /** function offset */ FunctionOffset: number; + /** line number */ LineNumber: number; + /** inline */ Inline: boolean; } +/** + * Empty stack frame + */ export const emptyStackFrame: StackFrame = { + /** File name */ FileName: '', + /** Function name */ FunctionName: '', + /** Function offset */ FunctionOffset: 0, + /** Line number */ LineNumber: 0, + /** Inline */ Inline: false, }; +/** Executable */ export interface Executable { + /** file name */ FileName: string; } +/** + * Empty exectutable + */ export const emptyExecutable: Executable = { + /** file name */ FileName: '', }; +/** Stack frame metadata */ export interface StackFrameMetadata { - // StackTrace.FrameID + /** StackTrace.FrameID */ FrameID: string; - // StackTrace.FileID + /** StackTrace.FileID */ FileID: FileID; - // StackTrace.Type + /** StackTrace.Type */ FrameType: FrameType; - // StackFrame.Inline + /** StackFrame.Inline */ Inline: boolean; - - // StackTrace.AddressOrLine + /** StackTrace.AddressOrLine */ AddressOrLine: number; - // StackFrame.FunctionName + /** StackFrame.FunctionName */ FunctionName: string; - // StackFrame.FunctionOffset + /** StackFrame.FunctionOffset */ FunctionOffset: number; - // should this be StackFrame.SourceID? + /** should this be StackFrame.SourceID? */ SourceID: FileID; - // StackFrame.Filename + /** StackFrame.Filename */ SourceFilename: string; - // StackFrame.LineNumber + /** StackFrame.LineNumber */ SourceLine: number; - // auto-generated - see createStackFrameMetadata + /** auto-generated - see createStackFrameMetadata */ FunctionSourceLine: number; - - // Executable.FileName + /** Executable.FileName */ ExeFileName: string; - - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ CommitHash: string; - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ SourceCodeURL: string; - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ SourcePackageHash: string; - // unused atm due to lack of symbolization metadata + /** unused atm due to lack of symbolization metadata */ SourcePackageURL: string; - // unused atm due to lack of symbolization metadata - + /** unused atm due to lack of symbolization metadata */ SamplingRate: number; } +/** + * create stackframe metadata + * @param options Partial + * @returns StackFrameMetadata + */ export function createStackFrameMetadata( options: Partial = {} ): StackFrameMetadata { @@ -182,6 +235,11 @@ function getExeFileName(metadata: StackFrameMetadata) { return describeFrameType(metadata.FrameType); } +/** + * Get callee label + * @param metadata StackFrameMetadata + * @returns string + */ export function getCalleeLabel(metadata: StackFrameMetadata) { if (metadata.FunctionName !== '') { const sourceFilename = metadata.SourceFilename; @@ -192,7 +250,11 @@ export function getCalleeLabel(metadata: StackFrameMetadata) { } return getExeFileName(metadata); } - +/** + * Get callee function name + * @param frame StackFrameMetadata + * @returns string + */ export function getCalleeFunction(frame: StackFrameMetadata): string { // In the best case scenario, we have the file names, source lines, // and function names. However we need to deal with missing function or @@ -202,20 +264,32 @@ export function getCalleeFunction(frame: StackFrameMetadata): string { // When there is no function name, only use the executable name return frame.FunctionName ? exeDisplayName + ': ' + frame.FunctionName : exeDisplayName; } +/** + * Frame symbol status + */ export enum FrameSymbolStatus { PARTIALLY_SYMBOLYZED = 'PARTIALLY_SYMBOLYZED', NOT_SYMBOLIZED = 'NOT_SYMBOLIZED', SYMBOLIZED = 'SYMBOLIZED', } -export function getFrameSymbolStatus({ - sourceFilename, - sourceLine, - exeFileName, -}: { + +/** Frame symbols status params */ +interface FrameSymbolStatusParams { + /** source file name */ sourceFilename: string; + /** source file line */ sourceLine: number; + /** executable file name */ exeFileName?: string; -}) { +} + +/** + * Get frame symbol status + * @param param FrameSymbolStatusParams + * @returns FrameSymbolStatus + */ +export function getFrameSymbolStatus(param: FrameSymbolStatusParams) { + const { sourceFilename, sourceLine, exeFileName } = param; if (sourceFilename === '' && sourceLine === 0) { if (exeFileName) { return FrameSymbolStatus.PARTIALLY_SYMBOLYZED; @@ -228,10 +302,28 @@ export function getFrameSymbolStatus({ } const nativeLanguages = [FrameType.Native, FrameType.Kernel]; -export function getLanguageType({ frameType }: { frameType: FrameType }) { - return nativeLanguages.includes(frameType) ? 'NATIVE' : 'INTERPRETED'; + +interface LanguageTypeParams { + /** frame type */ + frameType: FrameType; } +/** + * Get language type + * @param param LanguageTypeParams + * @returns string + */ +export function getLanguageType(param: LanguageTypeParams) { + return nativeLanguages.includes(param.frameType) ? 'NATIVE' : 'INTERPRETED'; +} + +/** + * Get callee source information. + * If we don't have the executable filename, display + * If no source line or filename available, display the executable offset + * @param frame StackFrameMetadata + * @returns string + */ export function getCalleeSource(frame: StackFrameMetadata): string { const frameSymbolStatus = getFrameSymbolStatus({ sourceFilename: frame.SourceFilename, @@ -254,6 +346,13 @@ export function getCalleeSource(frame: StackFrameMetadata): string { } } +/** + * Group stackframe by stack trace + * @param stackTraces Map + * @param stackFrames Map + * @param executables Map + * @returns Record + */ export function groupStackFrameMetadataByStackTrace( stackTraces: Map, stackFrames: Map, diff --git a/x-pack/plugins/profiling_data_access/common/stack_traces.test.ts b/packages/kbn-profiling-utils/common/stack_traces.test.ts similarity index 97% rename from x-pack/plugins/profiling_data_access/common/stack_traces.test.ts rename to packages/kbn-profiling-utils/common/stack_traces.test.ts index 9486ba1e4b920..832ebe7bb66b4 100644 --- a/x-pack/plugins/profiling_data_access/common/stack_traces.test.ts +++ b/packages/kbn-profiling-utils/common/stack_traces.test.ts @@ -1,8 +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. + * 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 { diff --git a/x-pack/plugins/profiling_data_access/common/stack_traces.ts b/packages/kbn-profiling-utils/common/stack_traces.ts similarity index 81% rename from x-pack/plugins/profiling_data_access/common/stack_traces.ts rename to packages/kbn-profiling-utils/common/stack_traces.ts index 97a18d09ed389..f7893c66c5e29 100644 --- a/x-pack/plugins/profiling_data_access/common/stack_traces.ts +++ b/packages/kbn-profiling-utils/common/stack_traces.ts @@ -1,8 +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. + * 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 { ProfilingESField } from './elasticsearch'; @@ -15,13 +16,17 @@ import { StackTraceID, } from './profiling'; +/** Profiling status response */ export interface ProfilingStatusResponse { + /** profiling enabled */ profiling: { enabled: boolean; }; + /** resource management status*/ resource_management: { enabled: boolean; }; + /** Indices creates / pre 8.9.1 data still available */ resources: { created: boolean; pre_8_9_1_data: boolean; @@ -58,24 +63,43 @@ interface ProfilingExecutables { [key: string]: string; } +/** Profiling stacktrace */ export interface StackTraceResponse { + /** stack trace events */ ['stack_trace_events']?: ProfilingEvents; + /** stack traces */ ['stack_traces']?: ProfilingStackTraces; + /** stack frames */ ['stack_frames']?: ProfilingStackFrames; + /** executables */ ['executables']?: ProfilingExecutables; + /** total frames */ ['total_frames']: number; + /** sampling rate */ ['sampling_rate']: number; } +/** Decoded stack trace response */ export interface DecodedStackTraceResponse { + /** Map of Stacktrace ID and event */ events: Map; + /** Map of stacktrace ID and stacktrace */ stackTraces: Map; + /** Map of stackframe ID and stackframe */ stackFrames: Map; + /** Map of file ID and Executables */ executables: Map; + /** Total number of frames */ totalFrames: number; + /** sampling rate */ samplingRate: number; } - +/** + * Generate Frame ID + * @param frameID string + * @param n number + * @returns string + */ export const makeFrameID = (frameID: string, n: number): string => { return n === 0 ? frameID : frameID + ';' + n.toString(); }; @@ -119,6 +143,11 @@ const createInlineTrace = ( } as StackTrace; }; +/** + * Decodes stack trace response + * @param response StackTraceResponse + * @returns DecodedStackTraceResponse + */ export function decodeStackTraceResponse(response: StackTraceResponse): DecodedStackTraceResponse { const stackTraceEvents: Map = new Map(); for (const [key, value] of Object.entries(response.stack_trace_events ?? {})) { @@ -165,11 +194,17 @@ export function decodeStackTraceResponse(response: StackTraceResponse): DecodedS }; } +/** + * Stacktraces options + */ export enum StackTracesDisplayOption { StackTraces = 'stackTraces', Percentage = 'percentage', } +/** + * Functions TopN types definition + */ export enum TopNType { Containers = 'containers', Deployments = 'deployments', @@ -178,6 +213,11 @@ export enum TopNType { Traces = 'traces', } +/** + * Get Profiling ES field based on TopN Type + * @param type TopNType + * @returns string + */ export function getFieldNameForTopNType(type: TopNType): string { return { [TopNType.Containers]: ProfilingESField.ContainerName, diff --git a/packages/kbn-profiling-utils/index.ts b/packages/kbn-profiling-utils/index.ts new file mode 100644 index 0000000000000..9bb0de92f3733 --- /dev/null +++ b/packages/kbn-profiling-utils/index.ts @@ -0,0 +1,46 @@ +/* + * 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 { decodeStackTraceResponse } from './common/stack_traces'; +export { createBaseFlameGraph, createFlameGraph } from './common/flamegraph'; +export { createCalleeTree } from './common/callee'; +export { ProfilingESField } from './common/elasticsearch'; +export { + groupStackFrameMetadataByStackTrace, + describeFrameType, + FrameType, + getCalleeFunction, + getCalleeSource, + getLanguageType, + FrameSymbolStatus, + getFrameSymbolStatus, + createStackFrameMetadata, + emptyExecutable, + emptyStackFrame, + emptyStackTrace, +} from './common/profiling'; +export { getFieldNameForTopNType, TopNType, StackTracesDisplayOption } from './common/stack_traces'; +export { createFrameGroupID } from './common/frame_group'; + +export type { CalleeTree } from './common/callee'; +export type { + ProfilingStatusResponse, + StackTraceResponse, + DecodedStackTraceResponse, +} from './common/stack_traces'; +export type { ElasticFlameGraph, BaseFlameGraph } from './common/flamegraph'; +export type { FrameGroupID } from './common/frame_group'; +export type { + Executable, + FileID, + StackFrame, + StackFrameID, + StackFrameMetadata, + StackTrace, + StackTraceID, +} from './common/profiling'; diff --git a/packages/kbn-profiling-utils/jest.config.js b/packages/kbn-profiling-utils/jest.config.js new file mode 100644 index 0000000000000..a853bb5666fc6 --- /dev/null +++ b/packages/kbn-profiling-utils/jest.config.js @@ -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 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-profiling-utils'], +}; diff --git a/packages/kbn-profiling-utils/kibana.jsonc b/packages/kbn-profiling-utils/kibana.jsonc new file mode 100644 index 0000000000000..dc45e822e620b --- /dev/null +++ b/packages/kbn-profiling-utils/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/profiling-utils", + "owner": "@elastic/profiling-ui" +} diff --git a/packages/kbn-profiling-utils/package.json b/packages/kbn-profiling-utils/package.json new file mode 100644 index 0000000000000..984883e078975 --- /dev/null +++ b/packages/kbn-profiling-utils/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/profiling-utils", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-profiling-utils/tsconfig.json b/packages/kbn-profiling-utils/tsconfig.json new file mode 100644 index 0000000000000..0bf626e25d9f9 --- /dev/null +++ b/packages/kbn-profiling-utils/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + "**/*.json", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] +} diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap index f194c0af3908a..770a862dd4ce5 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap @@ -71,7 +71,7 @@ Object { data-test-subj="ExceptionItemCardCommentsContainer" >
    - +

    {title}

    diff --git a/packages/kbn-storybook/templates/index.ejs b/packages/kbn-storybook/templates/index.ejs index 21e1035627aeb..bf40dfb9fd3ca 100644 --- a/packages/kbn-storybook/templates/index.ejs +++ b/packages/kbn-storybook/templates/index.ejs @@ -74,4 +74,4 @@ <% }); %> - + \ No newline at end of file diff --git a/packages/kbn-test/src/es/test_es_cluster.ts b/packages/kbn-test/src/es/test_es_cluster.ts index 31efd5ef709e8..e6763822cd54e 100644 --- a/packages/kbn-test/src/es/test_es_cluster.ts +++ b/packages/kbn-test/src/es/test_es_cluster.ts @@ -18,7 +18,7 @@ import { Cluster } from '@kbn/es'; import { Client, HttpConnection } from '@elastic/elasticsearch'; import type { ToolingLog } from '@kbn/tooling-log'; import { REPO_ROOT } from '@kbn/repo-info'; - +import type { ArtifactLicense } from '@kbn/es'; import { CI_PARALLEL_PROCESS_PREFIX } from '../ci_parallel_process_prefix'; import { esTestConfig } from './es_test_config'; @@ -77,7 +77,7 @@ export interface CreateTestEsClusterOptions { * you'll likely need to use `basic` or `gold` to prevent the test from failing * when the license expires. */ - license?: 'basic' | 'gold' | 'trial'; // | 'oss' + license?: ArtifactLicense; log: ToolingLog; writeLogsToPath?: string; /** @@ -224,7 +224,15 @@ export function createTestEsCluster< // multiple nodes, they'll all share the same ESinstallation. const firstNode = this.nodes[0]; if (esFrom === 'source') { - installPath = (await firstNode.installSource(config)).installPath; + installPath = ( + await firstNode.installSource({ + sourcePath: config.sourcePath, + license: config.license, + password: config.password, + basePath: config.basePath, + esArgs: config.esArgs, + }) + ).installPath; } else if (esFrom === 'snapshot') { installPath = (await firstNode.installSnapshot(config)).installPath; } else if (esFrom === 'serverless') { @@ -234,9 +242,9 @@ export function createTestEsCluster< port, clean: true, teardown: true, - ssl: true, background: true, files, + ssl, kill: true, // likely don't need this but avoids any issues where the ESS cluster wasn't cleaned up waitForReady: true, }); diff --git a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts index 09e251d70a25b..f9c83161b521b 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts +++ b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts @@ -10,6 +10,7 @@ import { resolve } from 'path'; import type { ToolingLog } from '@kbn/tooling-log'; import getPort from 'get-port'; import { REPO_ROOT } from '@kbn/repo-info'; +import type { ArtifactLicense } from '@kbn/es'; import type { Config } from '../../functional_test_runner'; import { createTestEsCluster } from '../../es'; @@ -33,7 +34,7 @@ function getEsConfig({ esFrom = config.get('esTestCluster.from'), }: RunElasticsearchOptions) { const ssl = !!config.get('esTestCluster.ssl'); - const license: 'basic' | 'trial' | 'gold' = config.get('esTestCluster.license'); + const license: ArtifactLicense = config.get('esTestCluster.license'); const esArgs: string[] = config.get('esTestCluster.serverArgs'); const esJavaOpts: string | undefined = config.get('esTestCluster.esJavaOpts'); const isSecurityEnabled = esArgs.includes('xpack.security.enabled=true'); diff --git a/packages/kbn-unified-data-table/index.ts b/packages/kbn-unified-data-table/index.ts index 2c5e995619436..cc692420cd209 100644 --- a/packages/kbn-unified-data-table/index.ts +++ b/packages/kbn-unified-data-table/index.ts @@ -9,6 +9,7 @@ export { UnifiedDataTable, DataLoadingState } from './src/components/data_table'; export type { UnifiedDataTableProps } from './src/components/data_table'; export { getDisplayedColumns } from './src/utils/columns'; +export { ROWS_HEIGHT_OPTIONS } from './src/constants'; export { JSONCodeEditorCommonMemoized } from './src/components/json_code_editor/json_code_editor_common'; diff --git a/packages/kbn-unified-data-table/src/components/data_table.scss b/packages/kbn-unified-data-table/src/components/data_table.scss index 8b0f8719a450f..048a641cf7562 100644 --- a/packages/kbn-unified-data-table/src/components/data_table.scss +++ b/packages/kbn-unified-data-table/src/components/data_table.scss @@ -3,32 +3,6 @@ max-width: 100%; height: 100%; overflow: hidden; - border-radius: $euiBorderRadius; - - .euiDataGrid__controls { - border: none; - border-bottom: $euiBorderThin; - } - - .euiDataGridRowCell.euiDataGridRowCell--firstColumn { - border-left: none; - padding: 0; - } - - .euiDataGridRowCell.euiDataGridRowCell--lastColumn { - border-right: none; - } - - .unifiedDataTable__table .euiDataGridRowCell:first-of-type, - .unifiedDataTable__table .euiDataGrid--headerShade.euiDataGrid--bordersAll .euiDataGridHeaderCell:first-of-type { - border-left: none; - border-right: none; - } - - .euiDataGridRowCell:last-of-type, - .euiDataGridHeaderCell:last-of-type { - border-right: none; - } } .unifiedDataTable__cellValue { @@ -57,6 +31,29 @@ flex-direction: column; flex-wrap: nowrap; height: 100%; + + .euiDataGrid__content { + background: transparent; + } + + .euiDataGrid__controls { + border-top: $euiBorderThin; + } + + .euiDataGrid--headerUnderline .euiDataGridHeaderCell { + border-bottom: $euiBorderThin; + } + + .euiDataGridRowCell.euiDataGridRowCell--controlColumn[data-gridcell-column-id='openDetails'], + .euiDataGridRowCell.euiDataGridRowCell--controlColumn[data-gridcell-column-id='select'] { + padding-left: 0; + padding-right: 0; + } + + .euiDataGrid--rowHoverHighlight .euiDataGridRow:hover, + .euiDataGrid--rowHoverHighlight .euiDataGridRow:hover .euiDataGridRowCell__contentByHeight + .euiDataGridRowCell__expandActions { + background-color: tintOrShade($euiColorLightShade, 50%, 0); + } } .unifiedDataTable__table { @@ -65,14 +62,6 @@ min-height: 0; } -.unifiedDataTable__footer { - flex-shrink: 0; - background-color: $euiColorLightShade; - padding: $euiSize / 2 $euiSize; - margin-top: $euiSize / 4; - text-align: center; -} - .unifiedDataTable__flyoutHeader { white-space: nowrap; } @@ -118,7 +107,35 @@ @include euiTextTruncate; } +.unifiedDataTable__rowControl { + // fine-tuning the vertical alignment with the text for any row height setting + margin-top: -3px; + .euiDataGridRowCell__truncate & { // "Single line" row height setting + margin-top: 0; + } +} + +.unifiedDataTable__descriptionList { + // force the content truncation when "Single line" row height setting is active + .euiDataGridRowCell__truncate & { + -webkit-line-clamp: 1; + display: -webkit-box; + -webkit-box-orient: vertical; + height: 100%; + overflow: hidden; + } +} + +.unifiedDataTable__descriptionListTitle { + margin-inline: 0 0; + padding-inline: 0; + background: transparent; + font-weight: $euiFontWeightBold; +} + .unifiedDataTable__descriptionListDescription { + margin-inline: $euiSizeS $euiSizeS; + padding-inline: 0; word-break: break-all; white-space: normal; diff --git a/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx b/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx index 01246603643fd..7eceeda173809 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_columns.test.tsx @@ -218,7 +218,7 @@ describe('Data table columns', function () {
    , "displayAsText": "timestamp", "id": "timestamp", - "initialWidth": 210, + "initialWidth": 212, "isSortable": true, "schema": "datetime", "visibleCellActions": undefined, @@ -406,7 +406,7 @@ describe('Data table columns', function () {
    , "displayAsText": "timestamp", "id": "timestamp", - "initialWidth": 210, + "initialWidth": 212, "isSortable": true, "schema": "datetime", "visibleCellActions": undefined, diff --git a/packages/kbn-unified-data-table/src/components/data_table_columns.tsx b/packages/kbn-unified-data-table/src/components/data_table_columns.tsx index 4b66f2a2bd6cf..4b4ac622e78f6 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_columns.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_columns.tsx @@ -30,7 +30,7 @@ import { buildEditFieldButton } from './build_edit_field_button'; const openDetails = { id: 'openDetails', - width: 24, + width: 26, headerCellRender: () => ( diff --git a/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx b/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx index 213e24790e840..bb0a0dc2b775a 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_document_selection.tsx @@ -15,14 +15,19 @@ import { EuiCopy, EuiDataGridCellValueElementProps, EuiPopover, + EuiFlexGroup, + EuiFlexItem, + useEuiTheme, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { euiDarkVars as themeDark, euiLightVars as themeLight } from '@kbn/ui-theme'; import { i18n } from '@kbn/i18n'; +import { css } from '@emotion/react'; import type { DataTableRecord } from '@kbn/discover-utils/types'; import { UnifiedDataTableContext } from '../table_context'; export const SelectButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueElementProps) => { + const { euiTheme } = useEuiTheme(); const { selectedDocs, expanded, rows, isDarkMode, setSelectedDocs } = useContext(UnifiedDataTableContext); const doc = useMemo(() => rows[rowIndex], [rows, rowIndex]); @@ -46,20 +51,33 @@ export const SelectButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueEle }, [expanded, doc, setCellProps, isDarkMode]); return ( - { - if (checked) { - const newSelection = selectedDocs.filter((docId) => docId !== doc.id); - setSelectedDocs(newSelection); - } else { - setSelectedDocs([...selectedDocs, doc.id]); - } - }} - /> + + + { + if (checked) { + const newSelection = selectedDocs.filter((docId) => docId !== doc.id); + setSelectedDocs(newSelection); + } else { + setSelectedDocs([...selectedDocs, doc.id]); + } + }} + /> + + ); }; diff --git a/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx b/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx index 108ffaa4ec5fe..c44ea74791b33 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_expand_button.tsx @@ -62,23 +62,25 @@ export const ExpandButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueEle } return ( - - { - const nextHit = isCurrentRowExpanded ? undefined : current; - toolTipRef.current?.hideToolTip(); - setPressed(Boolean(nextHit)); - setExpanded?.(nextHit); - }} - color={isCurrentRowExpanded ? 'primary' : 'text'} - iconType={isCurrentRowExpanded ? 'minimize' : 'expand'} - isSelected={isCurrentRowExpanded} - /> - +
    + + { + const nextHit = isCurrentRowExpanded ? undefined : current; + toolTipRef.current?.hideToolTip(); + setPressed(Boolean(nextHit)); + setExpanded?.(nextHit); + }} + color={isCurrentRowExpanded ? 'primary' : 'text'} + iconType={isCurrentRowExpanded ? 'minimize' : 'expand'} + isSelected={isCurrentRowExpanded} + /> + +
    ); }; diff --git a/packages/kbn-unified-data-table/src/constants.ts b/packages/kbn-unified-data-table/src/constants.ts index 1fb391ddc7f70..6b5dda5ca54b8 100644 --- a/packages/kbn-unified-data-table/src/constants.ts +++ b/packages/kbn-unified-data-table/src/constants.ts @@ -11,17 +11,30 @@ export const DEFAULT_ROWS_PER_PAGE = 100; export const MAX_LOADED_GRID_ROWS = 10000; export const ROWS_PER_PAGE_OPTIONS = [10, 25, 50, DEFAULT_ROWS_PER_PAGE, 250, 500]; +/** + * Row height might be a value from -1 to 20 + * A value of -1 automatically adjusts the row height to fit the contents. + * A value of 0 displays the content in a single line. + * A value from 1 to 20 represents number of lines of Document explorer row to display. + */ +export const ROWS_HEIGHT_OPTIONS = { + auto: -1, + single: 0, + default: -1, +}; export const defaultMonacoEditorWidth = 370; -export const defaultTimeColumnWidth = 210; +export const defaultTimeColumnWidth = 212; export const kibanaJSON = 'kibana-json'; -export const GRID_STYLE = { - border: 'all', +export const GRID_STYLE: EuiDataGridStyle = { + border: 'horizontal', fontSize: 's', - cellPadding: 's', - rowHover: 'none', -} as EuiDataGridStyle; + cellPadding: 'l', + rowHover: 'highlight', + header: 'underline', + stripes: true, +}; export const toolbarVisibility = { showColumnSelector: { diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx index 2da08c178720a..1ef0d9c70d139 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx @@ -11,8 +11,6 @@ import { Storage } from '@kbn/kibana-utils-plugin/public'; import { LocalStorageMock } from '../../__mocks__/local_storage_mock'; import { useRowHeightsOptions } from './use_row_heights_options'; -const CONFIG_ROW_HEIGHT = 3; - describe('useRowHeightsOptions', () => { test('should apply rowHeight from savedSearch', () => { const { result } = renderHook(() => { @@ -32,7 +30,7 @@ describe('useRowHeightsOptions', () => { storage: new LocalStorageMock({ ['discover:dataGridRowHeight']: { previousRowHeight: 5, - previousConfigRowHeight: 3, + previousConfigRowHeight: -1, }, }) as unknown as Storage, consumer: 'discover', @@ -52,7 +50,7 @@ describe('useRowHeightsOptions', () => { }); expect(result.current.defaultHeight).toEqual({ - lineCount: CONFIG_ROW_HEIGHT, + lineCount: 3, }); }); @@ -61,8 +59,8 @@ describe('useRowHeightsOptions', () => { return useRowHeightsOptions({ storage: new LocalStorageMock({ ['discover:dataGridRowHeight']: { - previousRowHeight: 4, - // different from uiSettings (config), now user changed it to 3, but prev was 4 + previousRowHeight: 5, + // different from uiSettings (config), now user changed it to -1, but prev was 4 previousConfigRowHeight: 4, }, }) as unknown as Storage, @@ -70,8 +68,6 @@ describe('useRowHeightsOptions', () => { }); }); - expect(result.current.defaultHeight).toEqual({ - lineCount: CONFIG_ROW_HEIGHT, - }); + expect(result.current.defaultHeight).toEqual('auto'); }); }); diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts index 9d460c8ea2ba9..727677a42e7df 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts @@ -15,6 +15,7 @@ import { getStoredRowHeight, updateStoredRowHeight, } from '../utils/row_heights'; +import { ROWS_HEIGHT_OPTIONS } from '../constants'; interface UseRowHeightProps { rowHeightState?: number; @@ -24,36 +25,26 @@ interface UseRowHeightProps { consumer: string; } -/** - * Row height might be a value from -1 to 20 - * A value of -1 automatically adjusts the row height to fit the contents. - * A value of 0 displays the content in a single line. - * A value from 1 to 20 represents number of lines of Document explorer row to display. - */ -const SINGLE_ROW_HEIGHT_OPTION = 0; -const AUTO_ROW_HEIGHT_OPTION = -1; -const DEFAULT_ROW_HEIGHT_OPTION = 3; - /** * Converts rowHeight of EuiDataGrid to rowHeight number (-1 to 20) */ const serializeRowHeight = (rowHeight?: EuiDataGridRowHeightOption): number => { - if (rowHeight === 'auto') { - return AUTO_ROW_HEIGHT_OPTION; + if (rowHeight === 'auto' || rowHeight === ROWS_HEIGHT_OPTIONS.auto) { + return ROWS_HEIGHT_OPTIONS.auto; } else if (typeof rowHeight === 'object' && rowHeight.lineCount) { return rowHeight.lineCount; // custom } - return SINGLE_ROW_HEIGHT_OPTION; + return ROWS_HEIGHT_OPTIONS.single; }; /** * Converts rowHeight number (-1 to 20) of EuiDataGrid rowHeight */ const deserializeRowHeight = (number: number): EuiDataGridRowHeightOption | undefined => { - if (number === AUTO_ROW_HEIGHT_OPTION) { + if (number === ROWS_HEIGHT_OPTIONS.auto) { return 'auto'; - } else if (number === SINGLE_ROW_HEIGHT_OPTION) { + } else if (number === ROWS_HEIGHT_OPTIONS.single) { return undefined; } @@ -64,7 +55,7 @@ export const useRowHeightsOptions = ({ rowHeightState, onUpdateRowHeight, storage, - configRowHeight = DEFAULT_ROW_HEIGHT_OPTION, + configRowHeight = ROWS_HEIGHT_OPTIONS.default, consumer, }: UseRowHeightProps) => { return useMemo((): EuiDataGridRowHeightsOptions => { @@ -84,11 +75,16 @@ export const useRowHeightsOptions = ({ rowHeight = configRowHeight; } + const defaultHeight = deserializeRowHeight(rowHeight); + return { - defaultHeight: deserializeRowHeight(rowHeight), + defaultHeight, lineHeight: '1.6em', onChange: ({ defaultHeight: newRowHeight }: EuiDataGridRowHeightsOptions) => { - const newSerializedRowHeight = serializeRowHeight(newRowHeight); + const newSerializedRowHeight = serializeRowHeight( + // pressing "Reset to default" triggers onChange with the same value + newRowHeight === defaultHeight ? configRowHeight : newRowHeight + ); updateStoredRowHeight(newSerializedRowHeight, configRowHeight, storage, consumer); onUpdateRowHeight?.(newSerializedRowHeight); }, diff --git a/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx b/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx index 941dccabf2474..0f6624a120b9c 100644 --- a/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx +++ b/packages/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx @@ -212,7 +212,9 @@ describe('Unified data table cell rendering', function () { compressed={true} type="inline" > - + extension - + bytesDisplayName - + _index - + _score - + extension - + bytesDisplayName - + _index - + _score - + extension - + bytesDisplayName - + _index - + _score - + object.value - + object.value {pairs.map(([key, value]) => ( - {key} + + {key} + renders properly with a drag handl "aria-label": "Preview bytes: number", } } - className="unifiedFieldListItemButton unifiedFieldListItemButton--number unifiedFieldListItemButton--exists custom" + className="unifiedFieldListItemButton unifiedFieldListItemButton--number unifiedFieldListItemButton--exists unifiedFieldListItemButton--withDragHandle custom" dataTestSubj="test-subj" dragHandle={ diff --git a/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx b/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx index 13860a0e4f155..c9be7af08638c 100644 --- a/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx +++ b/packages/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx @@ -105,6 +105,7 @@ export function FieldItemButton({ [`unifiedFieldListItemButton--${type}`]: type, [`unifiedFieldListItemButton--exists`]: !isEmpty, [`unifiedFieldListItemButton--missing`]: isEmpty, + [`unifiedFieldListItemButton--withDragHandle`]: Boolean(otherProps.dragHandle), }, className ); diff --git a/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx b/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx index e1834dd8fd5f0..4410bc82eeef8 100644 --- a/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx +++ b/packages/kbn-unified-field-list/src/components/field_list_filters/field_list_filters.tsx @@ -23,6 +23,7 @@ export interface FieldListFiltersProps { getCustomFieldType?: FieldTypeFilterProps['getCustomFieldType']; onSupportedFieldFilter?: FieldTypeFilterProps['onSupportedFieldFilter']; onChangeFieldTypes: FieldTypeFilterProps['onChange']; + compressed?: FieldNameSearchProps['compressed']; nameFilter: FieldNameSearchProps['nameFilter']; screenReaderDescriptionId?: FieldNameSearchProps['screenReaderDescriptionId']; onChangeNameFilter: FieldNameSearchProps['onChange']; @@ -38,6 +39,7 @@ export interface FieldListFiltersProps { * @param getCustomFieldType * @param onSupportedFieldFilter * @param onChangeFieldTypes + * @param compressed * @param nameFilter * @param screenReaderDescriptionId * @param onChangeNameFilter @@ -52,6 +54,7 @@ function InnerFieldListFilters({ getCustomFieldType, onSupportedFieldFilter, onChangeFieldTypes, + compressed, nameFilter, screenReaderDescriptionId, onChangeNameFilter, @@ -72,6 +75,7 @@ function InnerFieldListFilters({ /> ) : undefined } + compressed={compressed} nameFilter={nameFilter} screenReaderDescriptionId={screenReaderDescriptionId} onChange={onChangeNameFilter} diff --git a/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx b/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx index 91d78850e4453..faf146adfd831 100644 --- a/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx +++ b/packages/kbn-unified-field-list/src/components/field_list_filters/field_name_search.tsx @@ -16,6 +16,7 @@ import { EuiFieldSearch, type EuiFieldSearchProps } from '@elastic/eui'; export interface FieldNameSearchProps { 'data-test-subj': string; append?: EuiFieldSearchProps['append']; + compressed?: EuiFieldSearchProps['compressed']; nameFilter: string; screenReaderDescriptionId?: string; onChange: (nameFilter: string) => unknown; @@ -25,6 +26,7 @@ export interface FieldNameSearchProps { * Search input for fields list * @param dataTestSubject * @param append + * @param compressed * @param nameFilter * @param screenReaderDescriptionId * @param onChange @@ -33,6 +35,7 @@ export interface FieldNameSearchProps { export const FieldNameSearch: React.FC = ({ 'data-test-subj': dataTestSubject, append, + compressed, nameFilter, screenReaderDescriptionId, onChange, @@ -52,6 +55,7 @@ export const FieldNameSearch: React.FC = ({ placeholder={searchPlaceholder} value={nameFilter} append={append} + compressed={compressed} /> ); }; diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx index 6ccbf54516995..4feeb9b1be23e 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.test.tsx @@ -82,6 +82,7 @@ async function getComponent({ isEmpty: false, groupIndex: 1, itemIndex: 0, + size: 'xs', workspaceSelectedFieldNames: [], }; const comp = await mountWithIntl(); diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx index 837818399eccf..745d463b28386 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_item/field_list_item.tsx @@ -33,6 +33,7 @@ import type { interface GetCommonFieldItemButtonPropsParams { stateService: UnifiedFieldListSidebarContainerStateService; field: DataViewField; + size: FieldItemButtonProps['size']; isSelected: boolean; toggleDisplay: (field: DataViewField, isSelected?: boolean) => void; } @@ -40,10 +41,12 @@ interface GetCommonFieldItemButtonPropsParams { function getCommonFieldItemButtonProps({ stateService, field, + size, isSelected, toggleDisplay, }: GetCommonFieldItemButtonPropsParams): { field: FieldItemButtonProps['field']; + size: FieldItemButtonProps['size']; isSelected: FieldItemButtonProps['isSelected']; buttonAddFieldToWorkspaceProps?: FieldItemButtonProps['buttonAddFieldToWorkspaceProps']; buttonRemoveFieldFromWorkspaceProps?: FieldItemButtonProps['buttonRemoveFieldFromWorkspaceProps']; @@ -54,6 +57,7 @@ function getCommonFieldItemButtonProps({ field.name === '_source' ? undefined : (f: DataViewField) => toggleDisplay(f, isSelected); return { field, + size, isSelected, buttonAddFieldToWorkspaceProps: stateService.creationOptions.buttonAddFieldToWorkspaceProps, buttonRemoveFieldFromWorkspaceProps: @@ -68,10 +72,11 @@ interface MultiFieldsProps { multiFields: NonNullable; toggleDisplay: (field: DataViewField) => void; alwaysShowActionButton: boolean; + size: FieldItemButtonProps['size']; } const MultiFields: React.FC = memo( - ({ stateService, multiFields, toggleDisplay, alwaysShowActionButton }) => ( + ({ stateService, multiFields, toggleDisplay, alwaysShowActionButton, size }) => (
    @@ -84,7 +89,6 @@ const MultiFields: React.FC = memo( {multiFields.map((entry) => ( = memo( field: entry.field, isSelected: entry.isSelected, toggleDisplay, + size, })} /> ))} @@ -187,6 +192,10 @@ export interface UnifiedFieldListItemProps { * Item index in the field list */ itemIndex: number; + /** + * Item size + */ + size: FieldItemButtonProps['size']; } function UnifiedFieldListItemComponent({ @@ -209,6 +218,7 @@ function UnifiedFieldListItemComponent({ workspaceSelectedFieldNames, groupIndex, itemIndex, + size, }: UnifiedFieldListItemProps) { const [infoIsOpen, setOpen] = useState(false); @@ -284,6 +294,7 @@ function UnifiedFieldListItemComponent({ multiFields={multiFields} alwaysShowActionButton={alwaysShowActionButton} toggleDisplay={toggleDisplay} + size={size} /> )} @@ -315,6 +326,8 @@ function UnifiedFieldListItemComponent({ [field, itemIndex] ); const order = useMemo(() => [0, groupIndex, itemIndex], [groupIndex, itemIndex]); + const isDragDisabled = + alwaysShowActionButton || stateService.creationOptions.disableFieldListItemDragAndDrop; return ( } diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss index d01d93c345ef9..b646d60ec3b0f 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.scss @@ -6,6 +6,11 @@ width: $euiSize * 19; height: 100%; + &--collapsed { + width: auto; + padding: $euiSizeS $euiSizeS 0; + } + @include euiBreakpoint('xs', 's') { width: 100%; padding: $euiSize; @@ -14,7 +19,7 @@ } .unifiedFieldListSidebar__list { - padding: $euiSizeS 0 $euiSizeS $euiSizeS; + padding: $euiSizeS $euiSizeS 0; @include euiBreakpoint('xs', 's') { padding: $euiSizeS 0 0 0; @@ -38,3 +43,18 @@ .unifiedFieldListSidebar__flyoutHeader { align-items: center; } + +.unifiedFieldListSidebar .unifiedFieldListItemButton { + &.kbnFieldButton { + margin-bottom: $euiSizeXS / 2; + } + + &.domDragDrop-isDraggable { + box-shadow: none; + } + + &:not(.unifiedFieldListItemButton__dragging) { + padding: 0; + background: none; + } +} diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx index 12eb7209cd05a..fb90e2b36d39e 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar.tsx @@ -9,16 +9,29 @@ import './field_list_sidebar.scss'; import React, { memo, useCallback, useEffect, useMemo, useState } from 'react'; import { i18n } from '@kbn/i18n'; -import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiPageSidebar } from '@elastic/eui'; +import { css } from '@emotion/react'; +import classnames from 'classnames'; +import { + EuiButton, + EuiButtonProps, + EuiFlexGroup, + EuiFlexItem, + EuiHideFor, + EuiPageSidebar, + EuiPageSidebarProps, + useEuiTheme, +} from '@elastic/eui'; +import { ToolbarButton } from '@kbn/shared-ux-button-toolbar'; import { type DataViewField } from '@kbn/data-views-plugin/public'; import { getDataViewFieldSubtypeMulti } from '@kbn/es-query/src/utils'; import { FIELDS_LIMIT_SETTING, SEARCH_FIELDS_FROM_SOURCE } from '@kbn/discover-utils'; import { FieldList } from '../../components/field_list'; import { FieldListFilters } from '../../components/field_list_filters'; import { FieldListGrouped, type FieldListGroupedProps } from '../../components/field_list_grouped'; -import { FieldsGroupNames } from '../../types'; +import { FieldsGroupNames, type ButtonAddFieldVariant } from '../../types'; import { GroupedFieldsParams, useGroupedFields } from '../../hooks/use_grouped_fields'; import { UnifiedFieldListItem, type UnifiedFieldListItemProps } from '../unified_field_list_item'; +import { SidebarToggleButton, type SidebarToggleButtonProps } from './sidebar_toggle_button'; import { getSelectedFields, shouldShowField, @@ -46,6 +59,11 @@ export type UnifiedFieldListSidebarCustomizableProps = Pick< */ showFieldList?: boolean; + /** + * Compressed view + */ + compressed?: boolean; + /** * Custom logic for determining which field is selected */ @@ -83,6 +101,22 @@ interface UnifiedFieldListSidebarInternalProps { */ alwaysShowActionButton?: UnifiedFieldListItemProps['alwaysShowActionButton']; + /** + * What button style type to use + */ + buttonAddFieldVariant: ButtonAddFieldVariant; + + /** + * In case if sidebar is collapsible by default + * Pass `undefined` to hide the collapse/expand buttons from the sidebar + */ + isSidebarCollapsed?: boolean; + + /** + * A handler to toggle the sidebar + */ + onToggleSidebar?: SidebarToggleButtonProps['onChange']; + /** * Trigger a field editing */ @@ -104,10 +138,13 @@ export const UnifiedFieldListSidebarComponent: React.FC { const { dataViews, core } = services; const useNewFieldsApi = useMemo( @@ -210,6 +248,7 @@ export const UnifiedFieldListSidebarComponent: React.FC + ) : null; + + const pageSidebarProps: Partial = { + className: classnames('unifiedFieldListSidebar', { + 'unifiedFieldListSidebar--collapsed': isSidebarCollapsed, + }), + 'aria-label': i18n.translate( + 'unifiedFieldList.fieldListSidebar.indexAndFieldsSectionAriaLabel', + { + defaultMessage: 'Index and fields', } - > + ), + id: + stateService.creationOptions.dataTestSubj?.fieldListSidebarDataTestSubj ?? + 'unifiedFieldListSidebarId', + 'data-test-subj': + stateService.creationOptions.dataTestSubj?.fieldListSidebarDataTestSubj ?? + 'unifiedFieldListSidebarId', + }; + + if (isSidebarCollapsed && sidebarToggleButton) { + return ( + +
    {sidebarToggleButton}
    +
    + ); + } + + const hasButtonAddFieldToolbarStyle = buttonAddFieldVariant === 'toolbar'; + const buttonAddFieldCommonProps: Partial = { + size: 's', + iconType: 'indexOpen', + 'data-test-subj': + stateService.creationOptions.dataTestSubj?.fieldListAddFieldButtonTestSubj ?? + 'unifiedFieldListAddField', + }; + const buttonAddFieldLabel = i18n.translate( + 'unifiedFieldList.fieldListSidebar.addFieldButtonLabel', + { + defaultMessage: 'Add a field', + } + ); + + return ( + - {Boolean(prepend) && {prepend}} + {Boolean(prepend) && ( + + {prepend} + + )} } + prepend={ + + {sidebarToggleButton && ( + {sidebarToggleButton} + )} + + + + + } className="unifiedFieldListSidebar__list" > {showFieldList ? ( @@ -293,25 +387,33 @@ export const UnifiedFieldListSidebarComponent: React.FC )} - {!!onEditField && ( - - onEditField()} - size="s" - > - {i18n.translate('unifiedFieldList.fieldListSidebar.addFieldButtonLabel', { - defaultMessage: 'Add a field', - })} - - - )} + {!!onEditField && ( + + {hasButtonAddFieldToolbarStyle ? ( + onEditField()} + /> + ) : ( + onEditField()}> + {buttonAddFieldLabel} + + )} + + )} ); diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx index 4765280b4ef68..520a64f8d69b0 100644 --- a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/field_list_sidebar_container.tsx @@ -35,6 +35,7 @@ import { type ExistingFieldsFetcher, } from '../../hooks/use_existing_fields'; import { useQuerySubscriber } from '../../hooks/use_query_subscriber'; +import { useSidebarToggle } from '../../hooks/use_sidebar_toggle'; import { UnifiedFieldListSidebar, type UnifiedFieldListSidebarCustomizableProps, @@ -72,11 +73,6 @@ export type UnifiedFieldListSidebarContainerProps = Omit< */ getCreationOptions: () => UnifiedFieldListSidebarContainerCreationOptions; - /** - * In case if you have a sidebar toggle button - */ - isSidebarCollapsed?: boolean; - /** * Custom content to render at the top of field list in the flyout (for example a data view picker) */ @@ -115,7 +111,6 @@ const UnifiedFieldListSidebarContainer = forwardRef< services, dataView, workspaceSelectedFieldNames, - isSidebarCollapsed, // TODO later: pull the logic of collapsing the sidebar to this component prependInFlyout, variant = 'responsive', onFieldEdited, @@ -125,6 +120,7 @@ const UnifiedFieldListSidebarContainer = forwardRef< ); const { data, dataViewFieldEditor } = services; const [isFieldListFlyoutVisible, setIsFieldListFlyoutVisible] = useState(false); + const { isSidebarCollapsed, onToggleSidebar } = useSidebarToggle({ stateService }); const canEditDataView = Boolean(dataViewFieldEditor?.userPermissions.editIndexPattern()) || @@ -250,8 +246,15 @@ const UnifiedFieldListSidebarContainer = forwardRef< isAffectedByGlobalFilter, onEditField: editField, onDeleteField: deleteField, + compressed: stateService.creationOptions.compressed ?? false, + buttonAddFieldVariant: stateService.creationOptions.buttonAddFieldVariant ?? 'primary', }; + if (stateService.creationOptions.showSidebarToggleButton) { + commonSidebarProps.isSidebarCollapsed = isSidebarCollapsed; + commonSidebarProps.onToggleSidebar = onToggleSidebar; + } + const buttonPropsToTriggerFlyout = stateService.creationOptions.buttonPropsToTriggerFlyout; const renderListVariant = () => { @@ -319,6 +322,8 @@ const UnifiedFieldListSidebarContainer = forwardRef< @@ -333,12 +338,12 @@ const UnifiedFieldListSidebarContainer = forwardRef< } if (variant === 'list-always') { - return (!isSidebarCollapsed && renderListVariant()) || null; + return renderListVariant(); } return ( <> - {!isSidebarCollapsed && {renderListVariant()}} + {renderListVariant()} {renderButtonVariant()} ); diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/index.ts b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/index.ts new file mode 100644 index 0000000000000..f3dd50b48c968 --- /dev/null +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/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 { SidebarToggleButton, type SidebarToggleButtonProps } from './sidebar_toggle_button'; diff --git a/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/sidebar_toggle_button.tsx b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/sidebar_toggle_button.tsx new file mode 100644 index 0000000000000..1bf8f62b2cced --- /dev/null +++ b/packages/kbn-unified-field-list/src/containers/unified_field_list_sidebar/sidebar_toggle_button/sidebar_toggle_button.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 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 { i18n } from '@kbn/i18n'; +import { IconButtonGroup, type IconButtonGroupProps } from '@kbn/shared-ux-button-toolbar'; + +/** + * Toggle button props + */ +export interface SidebarToggleButtonProps { + 'data-test-subj'?: string; + isSidebarCollapsed: boolean; + buttonSize: IconButtonGroupProps['buttonSize']; + onChange: (isSidebarCollapsed: boolean) => void; +} + +/** + * A toggle button for the fields sidebar + * @param data-test-subj + * @param isSidebarCollapsed + * @param onChange + * @constructor + */ +export const SidebarToggleButton: React.FC = ({ + 'data-test-subj': dataTestSubj = 'unifiedFieldListSidebar__toggle', + isSidebarCollapsed, + buttonSize, + onChange, +}) => { + // TODO: replace with new Eui icons once available + return ( +
    + onChange(false), + }, + ] + : [ + { + label: i18n.translate('unifiedFieldList.fieldListSidebar.collapseSidebarButton', { + defaultMessage: 'Hide sidebar', + }), + iconType: 'menuLeft', + 'data-test-subj': `${dataTestSubj}-collapse`, + onClick: () => onChange(true), + }, + ]), + ]} + /> +
    + ); +}; diff --git a/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.test.tsx b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.test.tsx new file mode 100644 index 0000000000000..16ee451400c6c --- /dev/null +++ b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.test.tsx @@ -0,0 +1,104 @@ +/* + * 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 { renderHook, act } from '@testing-library/react-hooks'; +import { useSidebarToggle } from './use_sidebar_toggle'; +import * as localStorageModule from 'react-use/lib/useLocalStorage'; + +jest.spyOn(localStorageModule, 'default'); + +describe('UnifiedFieldList useSidebarToggle', () => { + const stateService = { + creationOptions: { + originatingApp: 'test', + localStorageKeyPrefix: 'this', + }, + }; + + beforeEach(() => { + (localStorageModule.default as jest.Mock).mockClear(); + }); + + it('should toggle correctly', async () => { + const storeMock = jest.fn(); + (localStorageModule.default as jest.Mock).mockImplementation(() => { + return [false, storeMock]; + }); + + const { result } = renderHook(useSidebarToggle, { + initialProps: { + stateService, + }, + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + + act(() => { + result.current.onToggleSidebar(true); + }); + + expect(result.current.isSidebarCollapsed).toBe(true); + expect(storeMock).toHaveBeenCalledWith(true); + + act(() => { + result.current.onToggleSidebar(false); + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + expect(storeMock).toHaveBeenLastCalledWith(false); + }); + + it('should restore collapsed state and expand from it', async () => { + const storeMock = jest.fn(); + (localStorageModule.default as jest.Mock).mockImplementation(() => { + return [true, storeMock]; + }); + + const { result } = renderHook(useSidebarToggle, { + initialProps: { + stateService, + }, + }); + + expect(result.current.isSidebarCollapsed).toBe(true); + + act(() => { + result.current.onToggleSidebar(false); + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + expect(storeMock).toHaveBeenCalledWith(false); + }); + + it('should not persist if local storage key is not defined', async () => { + const storeMock = jest.fn(); + (localStorageModule.default as jest.Mock).mockImplementation(() => { + return [false, storeMock]; + }); + + const { result } = renderHook(useSidebarToggle, { + initialProps: { + stateService: { + creationOptions: { + originatingApp: 'test', + localStorageKeyPrefix: undefined, + }, + }, + }, + }); + + expect(result.current.isSidebarCollapsed).toBe(false); + + act(() => { + result.current.onToggleSidebar(true); + }); + + expect(result.current.isSidebarCollapsed).toBe(true); + expect(storeMock).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.ts b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.ts new file mode 100644 index 0000000000000..b12c7dc7dae95 --- /dev/null +++ b/packages/kbn-unified-field-list/src/hooks/use_sidebar_toggle.ts @@ -0,0 +1,64 @@ +/* + * 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 { useCallback, useState, useMemo } from 'react'; +import useLocalStorage from 'react-use/lib/useLocalStorage'; +import type { UnifiedFieldListSidebarContainerStateService } from '../types'; + +/** + * Hook params + */ +export interface UseSidebarToggleParams { + /** + * Service for managing the state + */ + stateService: UnifiedFieldListSidebarContainerStateService; +} + +/** + * Hook result type + */ +export interface UseSidebarToggleResult { + isSidebarCollapsed: boolean; + onToggleSidebar: (isSidebarCollapsed: boolean) => void; +} + +/** + * Hook for managing sidebar toggle state + * @param stateService + */ +export const useSidebarToggle = ({ + stateService, +}: UseSidebarToggleParams): UseSidebarToggleResult => { + const [initialIsSidebarCollapsed, storeIsSidebarCollapsed] = useLocalStorage( + `${stateService.creationOptions.localStorageKeyPrefix ?? 'unifiedFieldList'}:sidebarClosed`, // as legacy `discover:sidebarClosed` key + false + ); + const [isSidebarCollapsed, setIsSidebarCollapsed] = useState( + initialIsSidebarCollapsed ?? false + ); + + const onToggleSidebar = useCallback( + (isCollapsed) => { + setIsSidebarCollapsed(isCollapsed); + if (stateService.creationOptions.localStorageKeyPrefix) { + storeIsSidebarCollapsed(isCollapsed); + } + }, + [ + storeIsSidebarCollapsed, + setIsSidebarCollapsed, + stateService.creationOptions.localStorageKeyPrefix, + ] + ); + + return useMemo( + () => ({ isSidebarCollapsed, onToggleSidebar }), + [isSidebarCollapsed, onToggleSidebar] + ); +}; diff --git a/packages/kbn-unified-field-list/src/types.ts b/packages/kbn-unified-field-list/src/types.ts index 76997c73176b3..dad321dbe56b3 100755 --- a/packages/kbn-unified-field-list/src/types.ts +++ b/packages/kbn-unified-field-list/src/types.ts @@ -107,6 +107,8 @@ export type OverrideFieldGroupDetails = ( export type TimeRangeUpdatesType = 'search-session' | 'timefilter'; +export type ButtonAddFieldVariant = 'primary' | 'toolbar'; + export type SearchMode = 'documents' | 'text-based'; export interface UnifiedFieldListSidebarContainerCreationOptions { @@ -116,7 +118,12 @@ export interface UnifiedFieldListSidebarContainerCreationOptions { originatingApp: string; /** - * Your app name: "discover", "lens", etc. If not provided, sections state would not be persisted. + * Pass `true` to enable the compressed view + */ + compressed?: boolean; + + /** + * Your app name: "discover", "lens", etc. If not provided, sections and sidebar toggle states would not be persisted. */ localStorageKeyPrefix?: string; @@ -125,6 +132,16 @@ export interface UnifiedFieldListSidebarContainerCreationOptions { */ timeRangeUpdatesType?: TimeRangeUpdatesType; + /** + * Choose how the bottom "Add a field" button should look like. Default `primary`. + */ + buttonAddFieldVariant?: ButtonAddFieldVariant; + + /** + * Pass `true` to make the sidebar collapsible. Additionally, define `localStorageKeyPrefix` to persist toggle state. + */ + showSidebarToggleButton?: boolean; + /** * Pass `true` to skip auto fetching of fields existence info */ diff --git a/packages/kbn-unified-field-list/tsconfig.json b/packages/kbn-unified-field-list/tsconfig.json index 78ea71ca44344..f60d203786439 100644 --- a/packages/kbn-unified-field-list/tsconfig.json +++ b/packages/kbn-unified-field-list/tsconfig.json @@ -29,6 +29,7 @@ "@kbn/shared-ux-utility", "@kbn/discover-utils", "@kbn/ebt-tools", + "@kbn/shared-ux-button-toolbar", ], "exclude": ["target/**/*"] } diff --git a/packages/kbn-xstate-utils/README.md b/packages/kbn-xstate-utils/README.md new file mode 100644 index 0000000000000..ba185e1b466a3 --- /dev/null +++ b/packages/kbn-xstate-utils/README.md @@ -0,0 +1,3 @@ +# @kbn/xstate-utils + +Utilities to assist with development using the xstate library. diff --git a/packages/kbn-xstate-utils/index.ts b/packages/kbn-xstate-utils/index.ts new file mode 100644 index 0000000000000..de0577ee3ed83 --- /dev/null +++ b/packages/kbn-xstate-utils/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 * from './src'; diff --git a/packages/kbn-xstate-utils/jest.config.js b/packages/kbn-xstate-utils/jest.config.js new file mode 100644 index 0000000000000..9c747a6a128c3 --- /dev/null +++ b/packages/kbn-xstate-utils/jest.config.js @@ -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 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. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-xstate-utils'], +}; diff --git a/packages/kbn-xstate-utils/kibana.jsonc b/packages/kbn-xstate-utils/kibana.jsonc new file mode 100644 index 0000000000000..086bce23401aa --- /dev/null +++ b/packages/kbn-xstate-utils/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/xstate-utils", + "owner": "@elastic/infra-monitoring-ui" +} diff --git a/packages/kbn-xstate-utils/package.json b/packages/kbn-xstate-utils/package.json new file mode 100644 index 0000000000000..373931bd41c22 --- /dev/null +++ b/packages/kbn-xstate-utils/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/xstate-utils", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-xstate-utils/src/actions.ts b/packages/kbn-xstate-utils/src/actions.ts new file mode 100644 index 0000000000000..178f6499102ad --- /dev/null +++ b/packages/kbn-xstate-utils/src/actions.ts @@ -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 { + actions, + ActorRef, + AnyEventObject, + EventObject, + Expr, + PureAction, + SendActionOptions, +} from 'xstate'; + +export const sendIfDefined = + (target: string | ActorRef) => + ( + eventExpr: Expr, + options?: SendActionOptions + ): PureAction => { + return actions.pure((context, event) => { + const targetEvent = eventExpr(context, event); + return targetEvent != null && targetEvent !== undefined + ? [actions.sendTo(target, targetEvent, options)] + : undefined; + }); + }; diff --git a/packages/kbn-xstate-utils/src/dev_tools.ts b/packages/kbn-xstate-utils/src/dev_tools.ts new file mode 100644 index 0000000000000..fa16b808b3aec --- /dev/null +++ b/packages/kbn-xstate-utils/src/dev_tools.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 const isDevMode = () => process.env.NODE_ENV !== 'production'; diff --git a/packages/kbn-xstate-utils/src/index.ts b/packages/kbn-xstate-utils/src/index.ts new file mode 100644 index 0000000000000..2cf5853db6e08 --- /dev/null +++ b/packages/kbn-xstate-utils/src/index.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 * from './actions'; +export * from './notification_channel'; +export * from './types'; +export * from './dev_tools'; diff --git a/packages/kbn-xstate-utils/src/notification_channel.ts b/packages/kbn-xstate-utils/src/notification_channel.ts new file mode 100644 index 0000000000000..86f9c7f64f518 --- /dev/null +++ b/packages/kbn-xstate-utils/src/notification_channel.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 { ReplaySubject, Subject } from 'rxjs'; +import { ActionFunction, EventObject, Expr, Subscribable } from 'xstate'; + +export interface NotificationChannel { + createService: () => Subscribable; + notify: ( + eventExpr: Expr + ) => ActionFunction; +} + +export const createNotificationChannel = ( + shouldReplayLastEvent = true +): NotificationChannel => { + const eventsSubject = shouldReplayLastEvent + ? new ReplaySubject(1) + : new Subject(); + + const createService = () => eventsSubject.asObservable(); + + const notify = + (eventExpr: Expr) => + (context: TContext, event: TEvent) => { + const eventToSend = eventExpr(context, event); + + if (eventToSend != null) { + eventsSubject.next(eventToSend); + } + }; + + return { + createService, + notify, + }; +}; diff --git a/packages/kbn-xstate-utils/src/types.ts b/packages/kbn-xstate-utils/src/types.ts new file mode 100644 index 0000000000000..10d21697cdd28 --- /dev/null +++ b/packages/kbn-xstate-utils/src/types.ts @@ -0,0 +1,44 @@ +/* + * 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 type { ActorRef, ActorRefWithDeprecatedState, EmittedFrom, State, StateValue } from 'xstate'; + +export type OmitDeprecatedState> = Omit< + T, + 'state' +>; + +export type MatchedState< + TState extends State, + TStateValue extends StateValue +> = TState extends State< + any, + infer TEvent, + infer TStateSchema, + infer TTypestate, + infer TResolvedTypesMeta +> + ? State< + (TTypestate extends any + ? { value: TStateValue; context: any } extends TTypestate + ? TTypestate + : never + : never)['context'], + TEvent, + TStateSchema, + TTypestate, + TResolvedTypesMeta + > & { + value: TStateValue; + } + : never; + +export type MatchedStateFromActor< + TActorRef extends ActorRef, + TStateValue extends StateValue +> = MatchedState, TStateValue>; diff --git a/packages/kbn-xstate-utils/tsconfig.json b/packages/kbn-xstate-utils/tsconfig.json new file mode 100644 index 0000000000000..2f9ddddbeea23 --- /dev/null +++ b/packages/kbn-xstate-utils/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] +} diff --git a/packages/serverless/settings/common/README.mdx b/packages/serverless/settings/common/README.mdx new file mode 100644 index 0000000000000..ece99219fbc3b --- /dev/null +++ b/packages/serverless/settings/common/README.mdx @@ -0,0 +1,14 @@ +--- +id: serverless/packages/settings/common +slug: /serverless/packages/settings/common +title: Serverless Common Advanced Settings +description: A package of common settings for all Serverless projects. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are available in all Serverless projects in the Advanced settings app. +This list is consumed by the `serverless` plugin, which merges it with any serverless project-specific settings that +have been set up, and sends it to the uiSettings service to set an allowlist for the settings. + +If you need to register a setting that should be available in all serverless projects, make sure to add its Id to this list. diff --git a/packages/serverless/settings/common/index.ts b/packages/serverless/settings/common/index.ts new file mode 100644 index 0000000000000..326108abcd747 --- /dev/null +++ b/packages/serverless/settings/common/index.ts @@ -0,0 +1,58 @@ +/* + * 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 * as settings from '@kbn/management-settings-ids'; + +const GENERAL_SETTINGS = [ + settings.CSV_QUOTE_VALUES_ID, + settings.DATE_FORMAT_DOW_ID, + settings.DATE_FORMAT_SCALED_ID, + settings.DATE_FORMAT_TZ_ID, + settings.DATE_FORMAT_NANOS_ID, + settings.DEFAULT_INDEX_ID, + settings.FILTERS_PINNED_BY_DEFAULT_ID, + settings.FORMAT_BYTES_DEFAULT_PATTERN_ID, + settings.FORMAT_CURRENCY_DEFAULT_PATTERN_ID, + settings.FORMAT_NUMBER_DEFAULT_LOCALE_ID, + settings.FORMAT_NUMBER_DEFAULT_PATTERN_ID, + settings.FORMAT_PERCENT_DEFAULT_PATTERN_ID, + settings.META_FIELDS_ID, + settings.STATE_STORE_IN_SESSION_STORAGE_ID, + settings.TIMEPICKER_QUICK_RANGES_ID, + settings.TIMEPICKER_TIME_DEFAULTS_ID, +]; + +const PRESENTATION_LABS_SETTINGS = [settings.LABS_DASHBOARD_DEFER_BELOW_FOLD_ID]; + +const ACCESSIBILITY_SETTINGS = [settings.ACCESSIBILITY_DISABLE_ANIMATIONS_ID]; + +const BANNER_SETTINGS = [ + settings.BANNERS_PLACEMENT_ID, + settings.BANNERS_TEXT_CONTENT_ID, + settings.BANNERS_TEXT_COLOR_ID, + settings.BANNERS_BACKGROUND_COLOR_ID, +]; + +const DISCOVER_SETTINGS = [settings.DEFAULT_COLUMNS_ID]; + +const NOTIFICATION_SETTINGS = [ + settings.NOTIFICATIONS_BANNER_ID, + settings.NOTIFICATIONS_LIFETIME_BANNER_ID, + settings.NOTIFICATIONS_LIFETIME_ERROR_ID, + settings.NOTIFICATIONS_LIFETIME_INFO_ID, + settings.NOTIFICATIONS_LIFETIME_WARNING_ID, +]; + +export const ALL_COMMON_SETTINGS = [ + ...GENERAL_SETTINGS, + ...PRESENTATION_LABS_SETTINGS, + ...ACCESSIBILITY_SETTINGS, + ...BANNER_SETTINGS, + ...DISCOVER_SETTINGS, + ...NOTIFICATION_SETTINGS, +]; diff --git a/packages/serverless/settings/common/kibana.jsonc b/packages/serverless/settings/common/kibana.jsonc new file mode 100644 index 0000000000000..ee4ea591c85c5 --- /dev/null +++ b/packages/serverless/settings/common/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-common-settings", + "owner": "@elastic/appex-sharedux @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/common/package.json b/packages/serverless/settings/common/package.json new file mode 100644 index 0000000000000..3674091a63be5 --- /dev/null +++ b/packages/serverless/settings/common/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-common-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/common/tsconfig.json b/packages/serverless/settings/common/tsconfig.json new file mode 100644 index 0000000000000..16d6022e3d9bc --- /dev/null +++ b/packages/serverless/settings/common/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/packages/serverless/settings/observability_project/README.mdx b/packages/serverless/settings/observability_project/README.mdx new file mode 100644 index 0000000000000..e7c16971c6cb6 --- /dev/null +++ b/packages/serverless/settings/observability_project/README.mdx @@ -0,0 +1,31 @@ +--- +id: serverless/packages/settings/observability_project +slug: /serverless/packages/settings/observability_project +title: Serverless Observability Advanced Settings +description: A package of settings for the Serverless Observability project. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are only available in the Serverless Observability project. +This list is consumed by the `serverless_observability` plugin, which sets up its project settings: + +```ts +export class ServerlessObservabilityPlugin + implements + Plugin< + ServerlessObservabilityPluginSetup, + ServerlessObservabilityPluginStart, + SetupDependencies, + StartDependencies + > +{ + public setup(_coreSetup: CoreSetup, pluginsSetup: SetupDependencies) { + pluginsSetup.serverless.setupProjectSettings(OBSERVABILITY_PROJECT_SETTINGS); + return {}; + } +} +``` + +If you need to register a setting that should be available in the Serverless Observability project, make sure to add +its Id to this list. diff --git a/packages/serverless/settings/observability_project/index.ts b/packages/serverless/settings/observability_project/index.ts new file mode 100644 index 0000000000000..7f76a35e0fcea --- /dev/null +++ b/packages/serverless/settings/observability_project/index.ts @@ -0,0 +1,14 @@ +/* + * 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 * as settings from '@kbn/management-settings-ids'; + +export const OBSERVABILITY_PROJECT_SETTINGS = [ + settings.ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID, + settings.ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID, +]; diff --git a/packages/serverless/settings/observability_project/kibana.jsonc b/packages/serverless/settings/observability_project/kibana.jsonc new file mode 100644 index 0000000000000..4df29091e6619 --- /dev/null +++ b/packages/serverless/settings/observability_project/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-observability-settings", + "owner": "@elastic/appex-sharedux @elastic/apm-ui @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/observability_project/package.json b/packages/serverless/settings/observability_project/package.json new file mode 100644 index 0000000000000..127cb4621c742 --- /dev/null +++ b/packages/serverless/settings/observability_project/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-observability-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/observability_project/tsconfig.json b/packages/serverless/settings/observability_project/tsconfig.json new file mode 100644 index 0000000000000..16d6022e3d9bc --- /dev/null +++ b/packages/serverless/settings/observability_project/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/packages/serverless/settings/search_project/README.mdx b/packages/serverless/settings/search_project/README.mdx new file mode 100644 index 0000000000000..a19718c645a82 --- /dev/null +++ b/packages/serverless/settings/search_project/README.mdx @@ -0,0 +1,34 @@ +--- +id: serverless/packages/settings/search_project +slug: /serverless/packages/settings/search_project +title: Serverless Search Advanced Settings +description: A package of settings for the Serverless Search project. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are only available in the Serverless Search project. +This list is consumed by the `serverless_search` plugin, which sets up its project settings: + +```ts +export class ServerlessSearchPlugin + implements + Plugin< + ServerlessSearchPluginSetup, + ServerlessSearchPluginStart, + SetupDependencies, + StartDependencies + > +{ + public setup( + { getStartServices, http }: CoreSetup, + pluginsSetup: SetupDependencies + ) { + pluginsSetup.serverless.setupProjectSettings(SEARCH_PROJECT_SETTINGS); + return {}; + } +} +``` + +If you need to register a setting that should be available in the Serverless Search project, make sure to add +its Id to this list. diff --git a/packages/serverless/settings/search_project/index.ts b/packages/serverless/settings/search_project/index.ts new file mode 100644 index 0000000000000..a26c658501617 --- /dev/null +++ b/packages/serverless/settings/search_project/index.ts @@ -0,0 +1,11 @@ +/* + * 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 { COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID } from '@kbn/management-settings-ids'; + +export const SEARCH_PROJECT_SETTINGS = [COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX_ID]; diff --git a/packages/serverless/settings/search_project/kibana.jsonc b/packages/serverless/settings/search_project/kibana.jsonc new file mode 100644 index 0000000000000..f73b63503ae4d --- /dev/null +++ b/packages/serverless/settings/search_project/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-search-settings", + "owner": "@elastic/enterprise-search-frontend @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/search_project/package.json b/packages/serverless/settings/search_project/package.json new file mode 100644 index 0000000000000..2dc7bf717e612 --- /dev/null +++ b/packages/serverless/settings/search_project/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-search-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/search_project/tsconfig.json b/packages/serverless/settings/search_project/tsconfig.json new file mode 100644 index 0000000000000..16d6022e3d9bc --- /dev/null +++ b/packages/serverless/settings/search_project/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/packages/serverless/settings/security_project/README.mdx b/packages/serverless/settings/security_project/README.mdx new file mode 100644 index 0000000000000..4d5d788eb84d0 --- /dev/null +++ b/packages/serverless/settings/security_project/README.mdx @@ -0,0 +1,31 @@ +--- +id: serverless/packages/settings/security_project +slug: /serverless/packages/settings/security_project +title: Serverless Security Advanced Settings +description: A package of settings for the Serverless Security project. +tags: ['serverless', 'package'] +date: 2023-08-24 +--- + +This package contains a list of UI settings that are only available in the Serverless Security project. +This list is consumed by the `security_solution_serverless` plugin, which sets up its project settings: + +```ts +export class SecuritySolutionServerlessPlugin + implements + Plugin< + SecuritySolutionServerlessPluginSetup, + SecuritySolutionServerlessPluginStart, + SecuritySolutionServerlessPluginSetupDeps, + SecuritySolutionServerlessPluginStartDeps + > +{ + public setup(coreSetup: CoreSetup, pluginsSetup: SecuritySolutionServerlessPluginSetupDeps) { + pluginsSetup.serverless.setupProjectSettings(SECURITY_PROJECT_SETTINGS); + return {}; + } +} +``` + +If you need to register a setting that should be available in the Serverless Security project, make sure to add +its Id to this list. diff --git a/packages/serverless/settings/security_project/index.ts b/packages/serverless/settings/security_project/index.ts new file mode 100644 index 0000000000000..070a75f163d41 --- /dev/null +++ b/packages/serverless/settings/security_project/index.ts @@ -0,0 +1,23 @@ +/* + * 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 * as settings from '@kbn/management-settings-ids'; + +export const SECURITY_PROJECT_SETTINGS = [ + settings.ML_ANOMALY_DETECTION_RESULTS_ENABLE_TIME_DEFAULTS_ID, + settings.ML_ANOMALY_DETECTION_RESULTS_TIME_DEFAULTS_ID, + settings.SECURITY_SOLUTION_REFRESH_INTERVAL_DEFAULTS_ID, + settings.SECURITY_SOLUTION_TIME_DEFAULTS_ID, + settings.SECURITY_SOLUTION_DEFAULT_INDEX_ID, + settings.SECURITY_SOLUTION_DEFAULT_THREAT_INDEX_ID, + settings.SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID, + settings.SECURITY_SOLUTION_RULES_TABLE_REFRESH_ID, + settings.SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID, + settings.SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID, + settings.SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID, +]; diff --git a/packages/serverless/settings/security_project/kibana.jsonc b/packages/serverless/settings/security_project/kibana.jsonc new file mode 100644 index 0000000000000..818e3068d704c --- /dev/null +++ b/packages/serverless/settings/security_project/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/serverless-security-settings", + "owner": "@elastic/security-solution @elastic/platform-deployment-management" +} diff --git a/packages/serverless/settings/security_project/package.json b/packages/serverless/settings/security_project/package.json new file mode 100644 index 0000000000000..5d58ccbd142b2 --- /dev/null +++ b/packages/serverless/settings/security_project/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/serverless-security-settings", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/serverless/settings/security_project/tsconfig.json b/packages/serverless/settings/security_project/tsconfig.json new file mode 100644 index 0000000000000..16d6022e3d9bc --- /dev/null +++ b/packages/serverless/settings/security_project/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/management-settings-ids", + ] +} diff --git a/packages/shared-ux/page/kibana_template/impl/src/__snapshots__/page_template_inner.test.tsx.snap b/packages/shared-ux/page/kibana_template/impl/src/__snapshots__/page_template_inner.test.tsx.snap index 0588fbfae152d..7a238b54533dd 100644 --- a/packages/shared-ux/page/kibana_template/impl/src/__snapshots__/page_template_inner.test.tsx.snap +++ b/packages/shared-ux/page/kibana_template/impl/src/__snapshots__/page_template_inner.test.tsx.snap @@ -66,7 +66,9 @@ exports[`KibanaPageTemplateInner page sidebar 1`] = ` minHeight={0} offset={0} > - + Test diff --git a/packages/shared-ux/page/kibana_template/impl/src/page_template_inner.tsx b/packages/shared-ux/page/kibana_template/impl/src/page_template_inner.tsx index 607b8fbd1776b..f9b9dcd247de6 100644 --- a/packages/shared-ux/page/kibana_template/impl/src/page_template_inner.tsx +++ b/packages/shared-ux/page/kibana_template/impl/src/page_template_inner.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { FC, useEffect, useState } from 'react'; +import React, { FC } from 'react'; import classNames from 'classnames'; import { EuiPageTemplate } from '@elastic/eui'; @@ -21,9 +21,6 @@ const getClasses = (template?: string, className?: string) => { ); }; -const KIBANA_CHROME_SELECTOR = '[data-test-subj="kibanaChrome"]'; -const HEADER_GLOBAL_NAV_SELECTOR = '[data-test-subj="headerGlobalNav"]'; - /** * A thin wrapper around EuiPageTemplate with a few Kibana specific additions */ @@ -38,18 +35,6 @@ export const KibanaPageTemplateInner: FC = ({ }) => { let header; - const [offset, setOffset] = useState(); - - useEffect(() => { - const kibanaChrome = document.querySelector(KIBANA_CHROME_SELECTOR) as HTMLElement; - if (kibanaChrome) { - const kibanaChromeHeader = kibanaChrome.querySelector( - HEADER_GLOBAL_NAV_SELECTOR - ) as HTMLElement; - setOffset(kibanaChromeHeader?.offsetTop + kibanaChromeHeader?.offsetHeight); - } - }, []); - if (isEmptyState && pageHeader && !children) { const { iconType, pageTitle, description, rightSideItems } = pageHeader; const title = pageTitle ?

    {pageTitle}

    : undefined; @@ -70,9 +55,7 @@ export const KibanaPageTemplateInner: FC = ({ let sideBar; if (pageSideBar) { const sideBarProps = { ...pageSideBarProps }; - if (offset) { - sideBarProps.sticky = { offset }; - } + sideBarProps.sticky = true; sideBar = {pageSideBar}; } diff --git a/packages/shared-ux/page/solution_nav/src/__snapshots__/with_solution_nav.test.tsx.snap b/packages/shared-ux/page/solution_nav/src/__snapshots__/with_solution_nav.test.tsx.snap index d31d61c4b8129..f55fc4c110b11 100644 --- a/packages/shared-ux/page/solution_nav/src/__snapshots__/with_solution_nav.test.tsx.snap +++ b/packages/shared-ux/page/solution_nav/src/__snapshots__/with_solution_nav.test.tsx.snap @@ -52,7 +52,7 @@ exports[`WithSolutionNav renders wrapped component 1`] = ` } pageSideBarProps={ Object { - "className": "css-c34ez9", + "className": "kbnSolutionNav__sidebar css-c34ez9", "minWidth": undefined, "paddingSize": "none", } @@ -112,7 +112,7 @@ exports[`WithSolutionNav with children 1`] = ` } pageSideBarProps={ Object { - "className": "css-c34ez9", + "className": "kbnSolutionNav__sidebar css-c34ez9", "minWidth": undefined, "paddingSize": "none", } diff --git a/packages/shared-ux/page/solution_nav/src/with_solution_nav.tsx b/packages/shared-ux/page/solution_nav/src/with_solution_nav.tsx index da73befdf519e..2e4879a4093cb 100644 --- a/packages/shared-ux/page/solution_nav/src/with_solution_nav.tsx +++ b/packages/shared-ux/page/solution_nav/src/with_solution_nav.tsx @@ -57,9 +57,8 @@ export const withSolutionNav =

    (WrappedComponent: Compo isMediumBreakpoint || (canBeCollapsed && isLargerBreakpoint && !isSideNavOpenOnDesktop); const withSolutionNavStyles = WithSolutionNavStyles(euiTheme); const sideBarClasses = classNames( - { - 'kbnSolutionNav__sidebar--shrink': isSidebarShrunk, - }, + 'kbnSolutionNav__sidebar', + { 'kbnSolutionNav__sidebar--shrink': isSidebarShrunk }, props.pageSideBarProps?.className, withSolutionNavStyles ); diff --git a/src/core/public/_css_variables.scss b/src/core/public/_css_variables.scss new file mode 100644 index 0000000000000..cef1be40d1239 --- /dev/null +++ b/src/core/public/_css_variables.scss @@ -0,0 +1,11 @@ +:root { + // height of the header banner + --kbnHeaderBannerHeight: #{$euiSizeXL}; + // total height of all fixed headers (when the banner is *not* present) inherited from EUI + --kbnHeaderOffset: var(--euiFixedHeadersOffset, 0); + // total height of everything when the banner is present + --kbnHeaderOffsetWithBanner: calc(var(--kbnHeaderBannerHeight) + var(--kbnHeaderOffset)); +} + +// Quick note: This shouldn't be mixed with Sass variable declarations, +// as each import will cause :root to be re-declared unnecessarily diff --git a/src/core/public/_mixins.scss b/src/core/public/_mixins.scss index 2dbef465e074e..9d533a87d1843 100644 --- a/src/core/public/_mixins.scss +++ b/src/core/public/_mixins.scss @@ -1,43 +1,6 @@ -@import './variables'; - -/* stylelint-disable-next-line length-zero-no-unit -- need consistent unit to sum them */ -@mixin kibanaFullBodyHeight($additionalOffset: 0px) { - // default - header, no banner - height: calc(100vh - #{$kbnHeaderOffset + $additionalOffset}); - - @at-root { - // no header, no banner - .kbnBody--chromeHidden & { - height: calc(100vh - #{$additionalOffset}); - } - // header, banner - .kbnBody--hasHeaderBanner & { - height: calc(100vh - #{$kbnHeaderOffsetWithBanner + $additionalOffset}); - } - // no header, banner - .kbnBody--chromeHidden.kbnBody--hasHeaderBanner & { - height: calc(100vh - #{$kbnHeaderBannerHeight + $additionalOffset}); - } - } -} - -/* stylelint-disable-next-line length-zero-no-unit -- need consistent unit to sum them */ -@mixin kibanaFullBodyMinHeight($additionalOffset: 0px) { - // default - header, no banner - min-height: calc(100vh - #{$kbnHeaderOffset + $additionalOffset}); - - @at-root { - // no header, no banner - .kbnBody--chromeHidden & { - min-height: calc(100vh - #{$additionalOffset}); - } - // header, banner - .kbnBody--hasHeaderBanner & { - min-height: calc(100vh - #{$kbnHeaderOffsetWithBanner + $additionalOffset}); - } - // no header, banner - .kbnBody--chromeHidden.kbnBody--hasHeaderBanner & { - min-height: calc(100vh - #{$kbnHeaderBannerHeight + $additionalOffset}); - } - } +@mixin kibanaFullBodyHeight($additionalOffset: 0) { + // The `--euiFixedHeadersOffset` CSS variable is automatically updated by + // styles/rendering/_base.scss, based on whether the Kibana chrome has a + // header banner, and is visible or hidden + height: calc(100vh - var(--euiFixedHeadersOffset, 0) - #{$additionalOffset}); } diff --git a/src/core/public/_variables.scss b/src/core/public/_variables.scss deleted file mode 100644 index 6c21c9760be97..0000000000000 --- a/src/core/public/_variables.scss +++ /dev/null @@ -1,8 +0,0 @@ -@import '@elastic/eui/src/global_styling/variables/header'; - -// height of the header banner -$kbnHeaderBannerHeight: $euiSizeXL; // This value is also declared in `/x-pack/plugins/canvas/common/lib/constants.ts` -// total height of the header (when the banner is *not* present) -$kbnHeaderOffset: $euiHeaderHeightCompensation * 2; -// total height of the header when the banner is present -$kbnHeaderOffsetWithBanner: $kbnHeaderOffset + $kbnHeaderBannerHeight; diff --git a/src/core/public/index.scss b/src/core/public/index.scss index c056b0f851801..db05def14bc0c 100644 --- a/src/core/public/index.scss +++ b/src/core/public/index.scss @@ -1,3 +1,3 @@ -@import './variables'; +@import './css_variables'; @import './mixins'; @import './styles/index'; diff --git a/src/core/public/styles/chrome/_banner.scss b/src/core/public/styles/chrome/_banner.scss index 9c521da3f30ca..feb69e54a911f 100644 --- a/src/core/public/styles/chrome/_banner.scss +++ b/src/core/public/styles/chrome/_banner.scss @@ -2,7 +2,7 @@ position: fixed; top: 0; left: 0; - height: $kbnHeaderBannerHeight; + height: var(--kbnHeaderBannerHeight); width: 100%; z-index: $euiZHeader; } @@ -11,32 +11,3 @@ height: 100%; width: 100%; } - -// overriding `top` positioning of the chrome headers -.kbnBody--hasHeaderBanner .header__bars { - .header__firstBar { - top: $kbnHeaderBannerHeight; - } - .header__secondBar { - top: $kbnHeaderBannerHeight + $euiHeaderHeightCompensation; - } -} - -// overriding padding on the body element added by EUI -.kbnBody.kbnBody--hasHeaderBanner.kbnBody--projectLayout.euiBody--headerIsFixed { - padding-top: $kbnHeaderBannerHeight + $euiHeaderHeightCompensation; - - // overriding `top` positioning of the project side nav, and flyouts - // overriding `top` positioning of the project app menu toolbar - &.euiBody--headerIsFixed .euiCollapsibleNav, - &.euiBody--headerIsFixed:not(.euiDataGrid__restrictBody) .euiFlyout, - .header__actionMenu { - top: $kbnHeaderBannerHeight + $euiHeaderHeightCompensation; - } - - // overriding `height` calculation of the project side nav, and flyouts - &.euiBody--headerIsFixed .euiCollapsibleNav, - &.euiBody--headerIsFixed:not(.euiDataGrid__restrictBody) .euiFlyout { - height: calc(100% - #{$kbnHeaderBannerHeight + $euiHeaderHeightCompensation}); - } -} diff --git a/src/core/public/styles/core_app/_mixins.scss b/src/core/public/styles/core_app/_mixins.scss index a801ffd7a2cae..78691f71fe87d 100644 --- a/src/core/public/styles/core_app/_mixins.scss +++ b/src/core/public/styles/core_app/_mixins.scss @@ -1,5 +1,3 @@ -@import '../../variables'; - @mixin flexParent($grow: 1, $shrink: 1, $basis: auto, $direction: column) { flex: $grow $shrink $basis; display: flex; @@ -86,7 +84,7 @@ @at-root { .kbnBody--hasHeaderBanner & { - top: $kbnHeaderBannerHeight; + top: var(--kbnHeaderBannerHeight); } } diff --git a/src/core/public/styles/rendering/_base.scss b/src/core/public/styles/rendering/_base.scss index a9ece9955e6ca..8a7b14242f8bf 100644 --- a/src/core/public/styles/rendering/_base.scss +++ b/src/core/public/styles/rendering/_base.scss @@ -19,7 +19,7 @@ pointer-events: none; visibility: hidden; position: fixed; - top: 0; + top: var(--euiFixedHeadersOffset, 0); right: 0; bottom: 0; left: 0; @@ -35,50 +35,30 @@ position: relative; // This is temporary for apps that relied on this being present on `.application` } -@mixin kbnAffordForHeader($headerHeight) { - @include euiHeaderAffordForFixed($headerHeight); - - #securitySolutionStickyKQL, - #app-fixed-viewport { - top: $headerHeight; - } - - @include euiBreakpoint('xl', 'l') { - .kbnStickyMenu { - position: sticky; - max-height: calc(100vh - #{$headerHeight + $euiSize}); - top: $headerHeight + $euiSize; - } - - .kbnSolutionNav__sidebar { - position: sticky; - max-height: calc(100vh - #{$headerHeight}); - top: $headerHeight; - } - } -} - .kbnBody { - @include kbnAffordForHeader($kbnHeaderOffset); + padding-top: var(--euiFixedHeadersOffset, 0); +} - &.kbnBody--hasHeaderBanner { - padding-top: $kbnHeaderBannerHeight; +// Conditionally override :root CSS fixed header variable. Updating `--euiFixedHeadersOffset` +// on the body will cause all child EUI components to automatically update their offsets - @include kbnAffordForHeader($kbnHeaderOffsetWithBanner); +.kbnBody--hasHeaderBanner { + --euiFixedHeadersOffset: var(--kbnHeaderOffsetWithBanner); - // Prevents banners from covering full screen data grids - .euiDataGrid--fullScreen { - height: calc(100vh - #{$kbnHeaderBannerHeight}); - top: $kbnHeaderBannerHeight; - } - } - &.kbnBody--chromeHidden { - @include kbnAffordForHeader(0); - } - &.kbnBody--projectLayout { - @include kbnAffordForHeader($euiHeaderHeightCompensation); + // Offset fixed EuiHeaders by the top banner + .euiHeader[data-fixed-header] { + margin-top: var(--kbnHeaderBannerHeight); } - &.kbnBody--chromeHidden.kbnBody--hasHeaderBanner { - @include kbnAffordForHeader($kbnHeaderBannerHeight); + + // Prevent banners from covering full screen data grids + .euiDataGrid--fullScreen { + height: calc(100vh - var(--kbnHeaderBannerHeight)); + top: var(--kbnHeaderBannerHeight); } } +.kbnBody--chromeHidden { + --euiFixedHeadersOffset: 0; +} +.kbnBody--chromeHidden.kbnBody--hasHeaderBanner { + --euiFixedHeadersOffset: var(--kbnHeaderBannerHeight); +} diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts index e8587ee82ee46..9df98deea3b89 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions_test_suite.ts @@ -756,7 +756,8 @@ export const runActionTestSuite = ({ // Reindex doesn't return any errors on it's own, so we have to test // together with waitForReindexTask - describe('reindex & waitForReindexTask', () => { + // Failing: See https://github.com/elastic/kibana/issues/166190 + describe.skip('reindex & waitForReindexTask', () => { it('resolves right when reindex succeeds without reindex script', async () => { const res = (await reindex({ client, @@ -1425,7 +1426,8 @@ export const runActionTestSuite = ({ }); }); - describe('waitForPickupUpdatedMappingsTask', () => { + // Failing: See https://github.com/elastic/kibana/issues/166199 + describe.skip('waitForPickupUpdatedMappingsTask', () => { it('rejects if there are failures', async () => { const res = (await pickupUpdatedMappings( client, diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index 448c7f900ffd1..ff0296ec9777b 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -85,7 +85,7 @@ export const LICENSE_OVERRIDES = { 'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts '@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint '@elastic/ems-client@8.4.0': ['Elastic License 2.0'], - '@elastic/eui@88.1.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@88.2.0': ['SSPL-1.0 OR Elastic License 2.0'], 'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry 'buffers@0.1.1': ['MIT'], // license in importing module https://www.npmjs.com/package/binary }; diff --git a/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx b/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx index e028d8f387312..8b3e9545114ff 100644 --- a/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx +++ b/src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx @@ -91,7 +91,7 @@ export class ClonePanelAction implements Action { explicitInput: { ...(await embeddable.getInputAsValueType()), hidePanelTitles: panelToClone.explicitInput.hidePanelTitles, - title: newTitle, + ...(newTitle ? { title: newTitle } : {}), id, }, }; diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/_dashboard_top_nav.scss b/src/plugins/dashboard/public/dashboard_app/top_nav/_dashboard_top_nav.scss index 1cc815d05e71a..e73de35dfc41d 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/_dashboard_top_nav.scss +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/_dashboard_top_nav.scss @@ -3,24 +3,7 @@ width: 100%; position: sticky; z-index: $euiZLevel2; + top: var(--euiFixedHeadersOffset, 0); background: $euiPageBackgroundColor; } - - &.kbnBody--noHeaderBanner { - &.kbnBody--chromeVisible .dashboardTopNav { - top: $kbnHeaderOffset; - } - &.kbnBody--chromeHidden .dashboardTopNav { - top: 0; - } - } - - &.kbnBody--hasHeaderBanner { - &.kbnBody--chromeVisible .dashboardTopNav { - top: $kbnHeaderOffsetWithBanner; - } - &.kbnBody--chromeHidden .dashboardTopNav { - top: $kbnHeaderBannerHeight; - } - } -} \ No newline at end of file +} diff --git a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap index 46d3b77578b3b..6863540ad4a71 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap +++ b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap @@ -7,7 +7,7 @@ exports[`DashboardEmptyScreen renders correctly with edit mode 1`] = `

    {!isSuccessor && showWarning && } {!isSuccessor && showWarning && } - {!isSuccessor && } + ); } diff --git a/src/plugins/discover/public/application/context/context_app.scss b/src/plugins/discover/public/application/context/context_app.scss index 13593a7ed32dd..19ae9a7471302 100644 --- a/src/plugins/discover/public/application/context/context_app.scss +++ b/src/plugins/discover/public/application/context/context_app.scss @@ -17,8 +17,4 @@ &__cell--highlight { background-color: tintOrShade($euiColorPrimary, 90%, 70%); } - - .euiDataGridRowCell.euiDataGridRowCell--firstColumn { - padding: 0; - } } diff --git a/src/plugins/discover/public/application/context/context_app.tsx b/src/plugins/discover/public/application/context/context_app.tsx index 19a5058638392..355c82417f632 100644 --- a/src/plugins/discover/public/application/context/context_app.tsx +++ b/src/plugins/discover/public/application/context/context_app.tsx @@ -10,7 +10,8 @@ import React, { Fragment, memo, useEffect, useRef, useMemo, useCallback } from ' import './context_app.scss'; import classNames from 'classnames'; import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiText, EuiPage, EuiPageBody, EuiSpacer } from '@elastic/eui'; +import { EuiText, EuiPage, EuiPageBody, EuiSpacer, useEuiPaddingSize } from '@elastic/eui'; +import { css } from '@emotion/react'; import { cloneDeep } from 'lodash'; import { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import { useExecutionContext } from '@kbn/kibana-react-plugin/public'; @@ -215,6 +216,8 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => }; }; + const titlePadding = useEuiPaddingSize('m'); + return ( {fetchedState.anchorStatus.value === LoadingStatus.FAILED ? ( @@ -235,12 +238,16 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => - - + - {!!interceptedWarnings?.length && ( - <> - - - - )} - - {loadingFeedback()} - + + {!!interceptedWarnings?.length && ( + <> + + + + )} + + {loadingFeedback()} + {isLegacy && rows && rows.length !== 0 && (
    )} - - + + + ); } + +const WrapperWithPadding: React.FC = ({ children }) => { + const padding = useEuiPaddingSize('s'); + + return ( +
    + {children} +
    + ); +}; diff --git a/src/plugins/discover/public/application/doc/components/doc.tsx b/src/plugins/discover/public/application/doc/components/doc.tsx index 83c2c08eafa2e..5bf79863ecfbe 100644 --- a/src/plugins/discover/public/application/doc/components/doc.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.tsx @@ -50,7 +50,7 @@ export function Doc(props: DocProps) { values: { id: props.id }, })}
    - + {reqState === ElasticRequestState.NotFoundDataView && ( time; (services.data.query.queryString.getDefaultQuery as jest.Mock).mockReturnValue({ @@ -77,6 +73,9 @@ async function mountComponent( (searchSourceInstanceMock.fetch$ as jest.Mock).mockImplementation( jest.fn().mockReturnValue(of({ rawResponse: { hits: { total: 2 } } })) ); + (localStorageModule.default as jest.Mock).mockImplementation( + jest.fn(() => [prevSidebarClosed, jest.fn()]) + ); const stateContainer = getDiscoverStateMock({ isTimeBased: true }); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx index 58c23aa561e12..3402bfbce1bcc 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx @@ -6,17 +6,18 @@ * Side Public License, v 1. */ import './discover_layout.scss'; -import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useRef } from 'react'; import { - EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiHideFor, EuiPage, EuiPageBody, EuiPanel, - EuiSpacer, + useEuiBackgroundColor, + useEuiTheme, } from '@elastic/eui'; +import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; import { METRIC_TYPE } from '@kbn/analytics'; import classNames from 'classnames'; @@ -52,11 +53,6 @@ import { DiscoverHistogramLayout } from './discover_histogram_layout'; import { ErrorCallout } from '../../../../components/common/error_callout'; import { addLog } from '../../../../utils/add_log'; -/** - * Local storage key for sidebar persistence state - */ -export const SIDEBAR_CLOSED_KEY = 'discover:sidebarClosed'; - const SidebarMemoized = React.memo(DiscoverSidebarResponsive); const TopNavMemoized = React.memo(DiscoverTopNav); @@ -72,11 +68,12 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { data, uiSettings, filterManager, - storage, history, spaces, inspector, } = useDiscoverServices(); + const { euiTheme } = useEuiTheme(); + const pageBackgroundColor = useEuiBackgroundColor('plain'); const globalQueryState = data.query.getState(); const { main$ } = stateContainer.dataState.data$; const [query, savedQuery, columns, sort] = useAppStateSelector((state) => [ @@ -109,8 +106,6 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { return dataView.type !== DataViewType.ROLLUP && dataView.isTimeBased(); }, [dataView]); - const initialSidebarClosed = Boolean(storage.get(SIDEBAR_CLOSED_KEY)); - const [isSidebarClosed, setIsSidebarClosed] = useState(initialSidebarClosed); const useNewFieldsApi = useMemo(() => !uiSettings.get(SEARCH_FIELDS_FROM_SOURCE), [uiSettings]); const isPlainRecord = useMemo(() => getRawRecordType(query) === RecordRawType.PLAIN, [query]); @@ -172,11 +167,6 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { filterManager.setFilters(disabledFilters); }, [filterManager]); - const toggleSidebarCollapse = useCallback(() => { - storage.set(SIDEBAR_CLOSED_KEY, !isSidebarClosed); - setIsSidebarClosed(!isSidebarClosed); - }, [isSidebarClosed, storage]); - const contentCentered = resultState === 'uninitialized' || resultState === 'none'; const documentState = useDataState(stateContainer.dataState.data$.documents$); @@ -240,7 +230,13 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { ]); return ( - +

    - + - -
    - - -
    -
    +
    {resultState === 'none' ? ( @@ -335,7 +319,10 @@ export function DiscoverLayout({ stateContainer }: DiscoverLayoutProps) { role="main" panelRef={resizeRef} paddingSize="none" + borderRadius="none" hasShadow={false} + hasBorder={false} + color="transparent" className={classNames('dscPageContent', { 'dscPageContent--centered': contentCentered, })} diff --git a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx index d7d90ff6b517e..e241a52b1d259 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_main_content.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { EuiFlexGroup, EuiFlexItem, EuiHorizontalRule } from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { DragDrop, type DropType, DropOverlayWrapper } from '@kbn/dom-drag-drop'; import useObservable from 'react-use/lib/useObservable'; import React, { useCallback } from 'react'; @@ -97,7 +97,6 @@ export const DiscoverMainContent = ({ data-test-subj="dscMainContent" > - {!isPlainRecord && ( = ({ return ( } - hasBorder + hasBorder={false} title={

    void; }) => { + const { euiTheme } = useEuiTheme(); const { uiSettings } = useDiscoverServices(); const tabsCss = css` padding: 0 ${useEuiPaddingSize('s')}; - background-color: ${euiThemeVars.euiPageBackgroundColor}; + border-bottom: ${viewMode === VIEW_MODE.AGGREGATED_LEVEL ? euiTheme.border.thin : 'none'}; `; const showViewModeToggle = uiSettings.get(SHOW_FIELD_STATISTICS) ?? false; @@ -36,7 +36,7 @@ export const DocumentViewModeToggle = ({ } return ( - + setDiscoverViewMode(VIEW_MODE.DOCUMENT_LEVEL)} diff --git a/src/plugins/discover/server/ui_settings.ts b/src/plugins/discover/server/ui_settings.ts index d6bbbd0eed9f0..bc5ad09d260c4 100644 --- a/src/plugins/discover/server/ui_settings.ts +++ b/src/plugins/discover/server/ui_settings.ts @@ -287,7 +287,7 @@ export const getUiSettings: (docLinks: DocLinksServiceSetup) => Record : } + appendHistogram={} disableAutoFetching={disableAutoFetching} disableTriggers={disableTriggers} disabledActions={disabledActions} diff --git a/src/plugins/unified_histogram/public/panels/panels_resizable.tsx b/src/plugins/unified_histogram/public/panels/panels_resizable.tsx index 773ebe172b25e..9f8fd5338a38f 100644 --- a/src/plugins/unified_histogram/public/panels/panels_resizable.tsx +++ b/src/plugins/unified_histogram/public/panels/panels_resizable.tsx @@ -6,12 +6,7 @@ * Side Public License, v 1. */ -import { - EuiResizableContainer, - useEuiTheme, - useGeneratedHtmlId, - useResizeObserver, -} from '@elastic/eui'; +import { EuiResizableContainer, useGeneratedHtmlId, useResizeObserver } from '@elastic/eui'; import type { ResizeTrigger } from '@elastic/eui/src/components/resizable_container/types'; import { css } from '@emotion/react'; import { isEqual, round } from 'lodash'; @@ -162,12 +157,6 @@ export const PanelsResizable = ({ disableResizeWithPortalsHack(); }, [disableResizeWithPortalsHack, resizeWithPortalsHackIsResizing]); - const { euiTheme } = useEuiTheme(); - const buttonCss = css` - margin-top: -${euiTheme.size.base}; - margin-bottom: 0; - `; - return ( ({ - getFieldNameFromField: jest.fn(() => mockGetFieldNameFromField()), - getLabel: jest.fn(() => mockGetLabel()), - getLabelForPercentile: jest.fn(() => mockGetLabelForPercentile()), -})); +jest.mock('../utils', () => { + const utils = jest.requireActual('../utils'); + return { + ...utils, + getFieldNameFromField: jest.fn(() => mockGetFieldNameFromField()), + getLabel: jest.fn(() => mockGetLabel()), + getLabelForPercentile: jest.fn(() => mockGetLabelForPercentile()), + }; +}); describe('convertToPercentileColumn', () => { const visType = 'heatmap'; diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts b/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts index 9989db1c5dda7..43229a610b041 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/convert/percentile.ts @@ -9,7 +9,7 @@ import { METRIC_TYPES } from '@kbn/data-plugin/common'; import { SchemaConfig } from '../../..'; import { isFieldValid, PercentileParams } from '../..'; -import { getFieldNameFromField, getLabelForPercentile } from '../utils'; +import { getAggIdAndValue, getFieldNameFromField, getLabelForPercentile } from '../utils'; import { createColumn, getFormat } from './column'; import { PercentileColumn, CommonColumnConverterArgs } from './types'; import { SUPPORTED_METRICS } from './supported_metrics'; @@ -40,7 +40,7 @@ const getPercent = ( const { percents } = aggParams; - const [, percentStr] = aggId.split('.'); + const [, percentStr] = getAggIdAndValue(aggId); const percent = Number(percentStr); if (!percents || !percents.length || percentStr === '' || isNaN(percent)) { diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts index 72cd07ba03f7c..2c36925b74d3b 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.test.ts @@ -19,14 +19,18 @@ const mockIsStdDevAgg = jest.fn(); const mockGetFieldByName = jest.fn(); const originalGetFieldByName = stubLogstashDataView.getFieldByName; -jest.mock('../utils', () => ({ - getFieldNameFromField: jest.fn((field) => field), - getMetricFromParentPipelineAgg: jest.fn(() => mockGetMetricFromParentPipelineAgg()), - isPercentileAgg: jest.fn(() => mockIsPercentileAgg()), - isPercentileRankAgg: jest.fn(() => mockIsPercentileRankAgg()), - isPipeline: jest.fn(() => mockIsPipeline()), - isStdDevAgg: jest.fn(() => mockIsStdDevAgg()), -})); +jest.mock('../utils', () => { + const utils = jest.requireActual('../utils'); + return { + ...utils, + getFieldNameFromField: jest.fn((field) => field), + getMetricFromParentPipelineAgg: jest.fn(() => mockGetMetricFromParentPipelineAgg()), + isPercentileAgg: jest.fn(() => mockIsPercentileAgg()), + isPercentileRankAgg: jest.fn(() => mockIsPercentileRankAgg()), + isPipeline: jest.fn(() => mockIsPipeline()), + isStdDevAgg: jest.fn(() => mockIsStdDevAgg()), + }; +}); const dataView = stubLogstashDataView; const visType = 'heatmap'; diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts index 4492cd58ac230..c2e30425e9488 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/metrics/formula.ts @@ -12,6 +12,7 @@ import { Operations } from '../../constants'; import { isMetricWithField, getStdDeviationFormula, ExtendedColumnConverterArgs } from '../convert'; import { getFormulaFromMetric, SUPPORTED_METRICS } from '../convert/supported_metrics'; import { + getAggIdAndValue, getFieldNameFromField, getMetricFromParentPipelineAgg, isPercentileAgg, @@ -125,7 +126,7 @@ const getFormulaForPercentile = ( selector: string, reducedTimeRange?: string ) => { - const percentile = Number(agg.aggId?.split('.')[1]); + const percentile = Number(getAggIdAndValue(agg.aggId)[1]); const op = SUPPORTED_METRICS[agg.aggType]; if (!isValidAgg(visType, agg, dataView) || !op) { return null; diff --git a/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts b/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts index ce50312d92cf3..e323b2169f519 100644 --- a/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts +++ b/src/plugins/visualizations/common/convert_to_lens/lib/utils.ts @@ -199,3 +199,17 @@ export const getMetricFromParentPipelineAgg = ( return metric as SchemaConfig; }; + +const aggIdWithDecimalsRegexp = /^(\w)+\['([0-9]+\.[0-9]+)'\]$/; + +export const getAggIdAndValue = (aggId?: string) => { + if (!aggId) { + return []; + } + // agg value contains decimals + if (/\['/.test(aggId)) { + const [_, id, value] = aggId.match(aggIdWithDecimalsRegexp) || []; + return [id, value]; + } + return aggId.split('.'); +}; diff --git a/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts b/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts index aa338db367988..9b4f9d718804c 100644 --- a/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts +++ b/src/plugins/visualizations/public/convert_to_lens/schemas.test.ts @@ -40,9 +40,13 @@ jest.mock('../../common/convert_to_lens/lib/buckets', () => ({ convertBucketToColumns: jest.fn(() => mockConvertBucketToColumns()), })); -jest.mock('../../common/convert_to_lens/lib/utils', () => ({ - getCustomBucketsFromSiblingAggs: jest.fn(() => mockGetCutomBucketsFromSiblingAggs()), -})); +jest.mock('../../common/convert_to_lens/lib/utils', () => { + const utils = jest.requireActual('../../common/convert_to_lens/lib/utils'); + return { + ...utils, + getCustomBucketsFromSiblingAggs: jest.fn(() => mockGetCutomBucketsFromSiblingAggs()), + }; +}); jest.mock('../vis_schemas', () => ({ getVisSchemas: jest.fn(() => mockGetVisSchemas()), diff --git a/src/plugins/visualizations/public/convert_to_lens/schemas.ts b/src/plugins/visualizations/public/convert_to_lens/schemas.ts index 1b44f7cdffda1..886be04bb654a 100644 --- a/src/plugins/visualizations/public/convert_to_lens/schemas.ts +++ b/src/plugins/visualizations/public/convert_to_lens/schemas.ts @@ -10,7 +10,10 @@ import type { DataView } from '@kbn/data-views-plugin/common'; import { IAggConfig, METRIC_TYPES, TimefilterContract } from '@kbn/data-plugin/public'; import { AggBasedColumn, PercentageModeConfig, SchemaConfig } from '../../common'; import { convertMetricToColumns } from '../../common/convert_to_lens/lib/metrics'; -import { getCustomBucketsFromSiblingAggs } from '../../common/convert_to_lens/lib/utils'; +import { + getAggIdAndValue, + getCustomBucketsFromSiblingAggs, +} from '../../common/convert_to_lens/lib/utils'; import { BucketColumn } from '../../common/convert_to_lens/lib'; import type { Vis } from '../types'; import { getVisSchemas, Schemas } from '../vis_schemas'; @@ -178,11 +181,12 @@ export const getColumnsFromVis = ( if (series && series.length) { for (const { metrics: metricAggIds } of series) { + const metricAggIdsLookup = new Set(metricAggIds); const metrics = aggs.filter( - (agg) => agg.aggId && metricAggIds.includes(agg.aggId.split('.')[0]) + (agg) => agg.aggId && metricAggIdsLookup.has(getAggIdAndValue(agg.aggId)[0]) ); const customBucketsForLayer = customBucketsWithMetricIds.filter((c) => - c.metricIds.some((m) => metricAggIds.includes(m)) + c.metricIds.some((m) => metricAggIdsLookup.has(m)) ); const layer = createLayer( vis.type.name, diff --git a/test/functional/apps/discover/classic/_doc_table.ts b/test/functional/apps/discover/classic/_doc_table.ts index 2a0fbebe8cf13..7ab640cf42ee1 100644 --- a/test/functional/apps/discover/classic/_doc_table.ts +++ b/test/functional/apps/discover/classic/_doc_table.ts @@ -28,6 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const defaultSettings = { defaultIndex: 'logstash-*', hideAnnouncements: true, + 'doc_table:legacy': true, }; const testSubjects = getService('testSubjects'); @@ -75,7 +76,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('classic table in window 900x700', async function () { before(async () => { - await kibanaServer.uiSettings.update({ 'doc_table:legacy': true }); await browser.setWindowSize(900, 700); await PageObjects.common.navigateToApp('discover'); await PageObjects.discover.waitUntilSearchingHasFinished(); @@ -95,7 +95,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('classic table in window 600x700', async function () { before(async () => { - await kibanaServer.uiSettings.update({ 'doc_table:legacy': true }); await browser.setWindowSize(600, 700); await PageObjects.common.navigateToApp('discover'); await PageObjects.discover.waitUntilSearchingHasFinished(); @@ -115,7 +114,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('legacy', async function () { before(async () => { - await kibanaServer.uiSettings.update({ 'doc_table:legacy': true }); await PageObjects.common.navigateToApp('discover'); await PageObjects.discover.waitUntilSearchingHasFinished(); }); diff --git a/test/functional/apps/discover/group1/_date_nanos_mixed.ts b/test/functional/apps/discover/group1/_date_nanos_mixed.ts index dab0003a63f07..df45356a69789 100644 --- a/test/functional/apps/discover/group1/_date_nanos_mixed.ts +++ b/test/functional/apps/discover/group1/_date_nanos_mixed.ts @@ -15,6 +15,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'timePicker', 'discover']); const kibanaServer = getService('kibanaServer'); const security = getService('security'); + const browser = getService('browser'); const from = 'Jan 1, 2019 @ 00:00:00.000'; const to = 'Jan 1, 2019 @ 23:59:59.999'; @@ -25,7 +26,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.importExport.load( 'test/functional/fixtures/kbn_archiver/date_nanos_mixed' ); - await kibanaServer.uiSettings.replace({ defaultIndex: 'timestamp-*' }); + await kibanaServer.uiSettings.replace({ + defaultIndex: 'timestamp-*', + hideAnnouncements: true, // should be enough vertical space to render rows + }); + await browser.setWindowSize(1200, 900); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos_mixed']); await PageObjects.common.setTime({ from, to }); await PageObjects.common.navigateToApp('discover'); diff --git a/test/functional/apps/discover/group1/_discover_histogram.ts b/test/functional/apps/discover/group1/_discover_histogram.ts index c19005bfb12ff..db83f764ce6f5 100644 --- a/test/functional/apps/discover/group1/_discover_histogram.ts +++ b/test/functional/apps/discover/group1/_discover_histogram.ts @@ -88,7 +88,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { return actualCount <= expectedCount; }); const newDurationHours = await PageObjects.timePicker.getTimeDurationInHours(); - expect(Math.round(newDurationHours)).to.be(26); + expect(Math.round(newDurationHours)).to.be(24); // might fail if histogram's width changes await retry.waitFor('doc table containing the documents of the brushed range', async () => { const rowData = await PageObjects.discover.getDocTableField(1); diff --git a/test/functional/apps/discover/group2/_data_grid_context.ts b/test/functional/apps/discover/group2/_data_grid_context.ts index 1b43de8a72353..4d90acab5eebb 100644 --- a/test/functional/apps/discover/group2/_data_grid_context.ts +++ b/test/functional/apps/discover/group2/_data_grid_context.ts @@ -30,7 +30,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'header', 'unifiedFieldList', ]); - const defaultSettings = { defaultIndex: 'logstash-*' }; + const defaultSettings = { + defaultIndex: 'logstash-*', + 'discover:rowHeightOption': 0, // single line + }; const kibanaServer = getService('kibanaServer'); const esArchiver = getService('esArchiver'); const dashboardAddPanel = getService('dashboardAddPanel'); diff --git a/test/functional/apps/discover/group2/_data_grid_doc_table.ts b/test/functional/apps/discover/group2/_data_grid_doc_table.ts index dd2481b13ad9f..5a60d6cf1f98c 100644 --- a/test/functional/apps/discover/group2/_data_grid_doc_table.ts +++ b/test/functional/apps/discover/group2/_data_grid_doc_table.ts @@ -28,6 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ]); const defaultSettings = { defaultIndex: 'logstash-*', + 'discover:rowHeightOption': 0, // single line }; const testSubjects = getService('testSubjects'); const security = getService('security'); diff --git a/test/functional/apps/discover/group2/_data_grid_pagination.ts b/test/functional/apps/discover/group2/_data_grid_pagination.ts index 4d0c81c4cfebc..4c0a3aa53759e 100644 --- a/test/functional/apps/discover/group2/_data_grid_pagination.ts +++ b/test/functional/apps/discover/group2/_data_grid_pagination.ts @@ -15,7 +15,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const kibanaServer = getService('kibanaServer'); const dataGrid = getService('dataGrid'); const PageObjects = getPageObjects(['settings', 'common', 'discover', 'header', 'timePicker']); - const defaultSettings = { defaultIndex: 'logstash-*' }; + const defaultSettings = { + defaultIndex: 'logstash-*', + 'discover:rowHeightOption': 0, // single line + }; const testSubjects = getService('testSubjects'); const retry = getService('retry'); const security = getService('security'); diff --git a/test/functional/apps/discover/group2/_data_grid_row_height.ts b/test/functional/apps/discover/group2/_data_grid_row_height.ts new file mode 100644 index 0000000000000..2c385b67aaa02 --- /dev/null +++ b/test/functional/apps/discover/group2/_data_grid_row_height.ts @@ -0,0 +1,89 @@ +/* + * 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 expect from '@kbn/expect'; +import { FtrProviderContext } from '../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const browser = getService('browser'); + const esArchiver = getService('esArchiver'); + const kibanaServer = getService('kibanaServer'); + const dataGrid = getService('dataGrid'); + const PageObjects = getPageObjects(['settings', 'common', 'discover', 'header', 'timePicker']); + const defaultSettings = { defaultIndex: 'logstash-*' }; + const security = getService('security'); + + describe('discover data grid row height', function describeIndexTests() { + before(async () => { + await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader']); + await browser.setWindowSize(1200, 2000); + await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); + await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover'); + }); + + after(async () => { + await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/discover'); + await kibanaServer.uiSettings.replace({}); + await kibanaServer.savedObjects.cleanStandardList(); + }); + + beforeEach(async function () { + await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); + await kibanaServer.uiSettings.update(defaultSettings); + await PageObjects.common.navigateToApp('discover'); + await PageObjects.discover.waitUntilSearchingHasFinished(); + }); + + it('should use the default row height', async () => { + const rows = await dataGrid.getDocTableRows(); + expect(rows.length).to.be.above(0); + + await dataGrid.clickGridSettings(); + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + }); + + it('should allow to change row height and reset it', async () => { + await dataGrid.clickGridSettings(); + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + + await dataGrid.changeRowHeightValue('Single'); + + // toggle the popover + await dataGrid.clickGridSettings(); + await dataGrid.clickGridSettings(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Single'); + + await dataGrid.resetRowHeightValue(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + + await dataGrid.changeRowHeightValue('Custom'); + + await dataGrid.resetRowHeightValue(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + }); + + it('should persist the selection after reloading the page', async () => { + await dataGrid.clickGridSettings(); + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Auto fit'); + + await dataGrid.changeRowHeightValue('Single'); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Single'); + + await browser.refresh(); + + await PageObjects.discover.waitUntilSearchingHasFinished(); + await dataGrid.clickGridSettings(); + + expect(await dataGrid.getCurrentRowHeightValue()).to.be('Single'); + }); + }); +} diff --git a/test/functional/apps/discover/group2/index.ts b/test/functional/apps/discover/group2/index.ts index 163c6b1a9f205..3d4103c6de85b 100644 --- a/test/functional/apps/discover/group2/index.ts +++ b/test/functional/apps/discover/group2/index.ts @@ -29,6 +29,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./_data_grid_row_navigation')); loadTestFile(require.resolve('./_data_grid_doc_table')); loadTestFile(require.resolve('./_data_grid_copy_to_clipboard')); + loadTestFile(require.resolve('./_data_grid_row_height')); loadTestFile(require.resolve('./_data_grid_pagination')); loadTestFile(require.resolve('./_data_grid_footer')); loadTestFile(require.resolve('./_adhoc_data_views')); diff --git a/test/functional/apps/discover/group3/_sidebar.ts b/test/functional/apps/discover/group3/_sidebar.ts index eefda4891390b..6a09524777487 100644 --- a/test/functional/apps/discover/group3/_sidebar.ts +++ b/test/functional/apps/discover/group3/_sidebar.ts @@ -214,16 +214,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('collapse expand', function () { it('should initially be expanded', async function () { await testSubjects.existOrFail('discover-sidebar'); + await testSubjects.existOrFail('fieldList'); }); it('should collapse when clicked', async function () { await PageObjects.discover.toggleSidebarCollapse(); - await testSubjects.missingOrFail('discover-sidebar'); + await testSubjects.existOrFail('discover-sidebar'); + await testSubjects.missingOrFail('fieldList'); }); it('should expand when clicked', async function () { await PageObjects.discover.toggleSidebarCollapse(); await testSubjects.existOrFail('discover-sidebar'); + await testSubjects.existOrFail('fieldList'); }); }); diff --git a/test/functional/page_objects/discover_page.ts b/test/functional/page_objects/discover_page.ts index 1545975667c60..d36cd4b56b129 100644 --- a/test/functional/page_objects/discover_page.ts +++ b/test/functional/page_objects/discover_page.ts @@ -370,13 +370,14 @@ export class DiscoverPageObject extends FtrService { } public async toggleSidebarCollapse() { - return await this.testSubjects.click('collapseSideBarButton'); + return await this.testSubjects.click('unifiedFieldListSidebar__toggle'); } public async closeSidebar() { await this.retry.tryForTime(2 * 1000, async () => { - await this.toggleSidebarCollapse(); - await this.testSubjects.missingOrFail('discover-sidebar'); + await this.testSubjects.click('unifiedFieldListSidebar__toggle-collapse'); + await this.testSubjects.missingOrFail('unifiedFieldListSidebar__toggle-collapse'); + await this.testSubjects.missingOrFail('fieldList'); }); } diff --git a/test/functional/page_objects/visualize_editor_page.ts b/test/functional/page_objects/visualize_editor_page.ts index e85f560fec909..f6f4f121ad11a 100644 --- a/test/functional/page_objects/visualize_editor_page.ts +++ b/test/functional/page_objects/visualize_editor_page.ts @@ -211,10 +211,21 @@ export class VisualizeEditorPageObject extends FtrService { const input = await this.find.byCssSelector( '[data-test-subj="visEditorPercentileRanks"] input' ); + this.log.debug(`Setting percentile rank value of ${newValue}`); await input.clearValue(); await input.type(newValue); } + public async setPercentileValue(newValue: string, index: number = 0) { + const correctIndex = index * 2 + 1; + const input = await this.find.byCssSelector( + `[data-test-subj="visEditorPercentile"]>div:nth-child(2)>div:nth-child(${correctIndex}) input` + ); + this.log.debug(`Setting percentile value at ${index}th input of ${newValue}`); + await input.clearValueWithKeyboard(); + await input.type(newValue, { charByChar: true }); + } + public async clickEditorSidebarCollapse() { await this.testSubjects.click('collapseSideBarButton'); } diff --git a/test/functional/services/data_grid.ts b/test/functional/services/data_grid.ts index 1f022c890b724..1bdc1b070dc33 100644 --- a/test/functional/services/data_grid.ts +++ b/test/functional/services/data_grid.ts @@ -304,6 +304,27 @@ export class DataGridService extends FtrService { await this.testSubjects.click('gridEditFieldButton'); } + public async clickGridSettings() { + await this.testSubjects.click('dataGridDisplaySelectorButton'); + } + + public async getCurrentRowHeightValue() { + const buttonGroup = await this.testSubjects.find('rowHeightButtonGroup'); + return ( + await buttonGroup.findByCssSelector('.euiButtonGroupButton-isSelected') + ).getVisibleText(); + } + + public async changeRowHeightValue(newValue: string) { + const buttonGroup = await this.testSubjects.find('rowHeightButtonGroup'); + const option = await buttonGroup.findByCssSelector(`[data-text="${newValue}"]`); + await option.click(); + } + + public async resetRowHeightValue() { + await this.testSubjects.click('resetDisplaySelector'); + } + public async getDetailsRow(): Promise { const detailRows = await this.getDetailsRows(); return detailRows[0]; diff --git a/tsconfig.base.json b/tsconfig.base.json index e5808369793ae..2c1168feaf0c5 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -588,6 +588,8 @@ "@kbn/crypto-browser/*": ["packages/kbn-crypto-browser/*"], "@kbn/custom-branding-plugin": ["x-pack/plugins/custom_branding"], "@kbn/custom-branding-plugin/*": ["x-pack/plugins/custom_branding/*"], + "@kbn/custom-integrations": ["packages/kbn-custom-integrations"], + "@kbn/custom-integrations/*": ["packages/kbn-custom-integrations/*"], "@kbn/custom-integrations-plugin": ["src/plugins/custom_integrations"], "@kbn/custom-integrations-plugin/*": ["src/plugins/custom_integrations/*"], "@kbn/cypress-config": ["packages/kbn-cypress-config"], @@ -954,8 +956,20 @@ "@kbn/management-cards-navigation/*": ["packages/kbn-management/cards_navigation/*"], "@kbn/management-plugin": ["src/plugins/management"], "@kbn/management-plugin/*": ["src/plugins/management/*"], + "@kbn/management-settings-components-field-input": ["packages/kbn-management/settings/components/field_input"], + "@kbn/management-settings-components-field-input/*": ["packages/kbn-management/settings/components/field_input/*"], + "@kbn/management-settings-components-field-row": ["packages/kbn-management/settings/components/field_row"], + "@kbn/management-settings-components-field-row/*": ["packages/kbn-management/settings/components/field_row/*"], + "@kbn/management-settings-field-definition": ["packages/kbn-management/settings/field_definition"], + "@kbn/management-settings-field-definition/*": ["packages/kbn-management/settings/field_definition/*"], + "@kbn/management-settings-ids": ["packages/kbn-management/settings/setting_ids"], + "@kbn/management-settings-ids/*": ["packages/kbn-management/settings/setting_ids/*"], "@kbn/management-settings-section-registry": ["packages/kbn-management/settings/section_registry"], "@kbn/management-settings-section-registry/*": ["packages/kbn-management/settings/section_registry/*"], + "@kbn/management-settings-types": ["packages/kbn-management/settings/types"], + "@kbn/management-settings-types/*": ["packages/kbn-management/settings/types/*"], + "@kbn/management-settings-utilities": ["packages/kbn-management/settings/utilities"], + "@kbn/management-settings-utilities/*": ["packages/kbn-management/settings/utilities/*"], "@kbn/management-storybook-config": ["packages/kbn-management/storybook/config"], "@kbn/management-storybook-config/*": ["packages/kbn-management/storybook/config/*"], "@kbn/management-test-plugin": ["test/plugin_functional/plugins/management_test_plugin"], @@ -1088,6 +1102,8 @@ "@kbn/profiling-data-access-plugin/*": ["x-pack/plugins/profiling_data_access/*"], "@kbn/profiling-plugin": ["x-pack/plugins/profiling"], "@kbn/profiling-plugin/*": ["x-pack/plugins/profiling/*"], + "@kbn/profiling-utils": ["packages/kbn-profiling-utils"], + "@kbn/profiling-utils/*": ["packages/kbn-profiling-utils/*"], "@kbn/random-sampling": ["x-pack/packages/kbn-random-sampling"], "@kbn/random-sampling/*": ["x-pack/packages/kbn-random-sampling/*"], "@kbn/react-field": ["packages/kbn-react-field"], @@ -1260,12 +1276,20 @@ "@kbn/server-route-repository/*": ["packages/kbn-server-route-repository/*"], "@kbn/serverless": ["x-pack/plugins/serverless"], "@kbn/serverless/*": ["x-pack/plugins/serverless/*"], + "@kbn/serverless-common-settings": ["packages/serverless/settings/common"], + "@kbn/serverless-common-settings/*": ["packages/serverless/settings/common/*"], "@kbn/serverless-observability": ["x-pack/plugins/serverless_observability"], "@kbn/serverless-observability/*": ["x-pack/plugins/serverless_observability/*"], + "@kbn/serverless-observability-settings": ["packages/serverless/settings/observability_project"], + "@kbn/serverless-observability-settings/*": ["packages/serverless/settings/observability_project/*"], "@kbn/serverless-project-switcher": ["packages/serverless/project_switcher"], "@kbn/serverless-project-switcher/*": ["packages/serverless/project_switcher/*"], "@kbn/serverless-search": ["x-pack/plugins/serverless_search"], "@kbn/serverless-search/*": ["x-pack/plugins/serverless_search/*"], + "@kbn/serverless-search-settings": ["packages/serverless/settings/search_project"], + "@kbn/serverless-search-settings/*": ["packages/serverless/settings/search_project/*"], + "@kbn/serverless-security-settings": ["packages/serverless/settings/security_project"], + "@kbn/serverless-security-settings/*": ["packages/serverless/settings/security_project/*"], "@kbn/serverless-storybook-config": ["packages/serverless/storybook/config"], "@kbn/serverless-storybook-config/*": ["packages/serverless/storybook/config/*"], "@kbn/serverless-types": ["packages/serverless/types"], @@ -1584,6 +1608,8 @@ "@kbn/web-worker-stub/*": ["packages/kbn-web-worker-stub/*"], "@kbn/whereis-pkg-cli": ["packages/kbn-whereis-pkg-cli"], "@kbn/whereis-pkg-cli/*": ["packages/kbn-whereis-pkg-cli/*"], + "@kbn/xstate-utils": ["packages/kbn-xstate-utils"], + "@kbn/xstate-utils/*": ["packages/kbn-xstate-utils/*"], "@kbn/yarn-lock-validator": ["packages/kbn-yarn-lock-validator"], "@kbn/yarn-lock-validator/*": ["packages/kbn-yarn-lock-validator/*"], // END AUTOMATED PACKAGE LISTING diff --git a/versions.json b/versions.json index ba9e6cc338097..60225e16760f9 100644 --- a/versions.json +++ b/versions.json @@ -8,17 +8,11 @@ "currentMinor": true }, { - "version": "8.10.0", + "version": "8.10.1", "branch": "8.10", "currentMajor": true, "previousMinor": true }, - { - "version": "8.9.3", - "branch": "8.9", - "currentMajor": true, - "previousMinor": false - }, { "version": "7.17.14", "branch": "7.17", diff --git a/x-pack/examples/alerting_example/public/components/page.tsx b/x-pack/examples/alerting_example/public/components/page.tsx index 2e27e6db00014..da20349a2a879 100644 --- a/x-pack/examples/alerting_example/public/components/page.tsx +++ b/x-pack/examples/alerting_example/public/components/page.tsx @@ -10,13 +10,12 @@ import { withRouter, RouteComponentProps } from 'react-router-dom'; import { EuiPageBody, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, EuiPageHeader, EuiPageHeaderSection, EuiTitle, EuiBreadcrumbs, EuiSpacer, + EuiPageSection, } from '@elastic/eui'; type PageProps = RouteComponentProps & { @@ -54,9 +53,7 @@ export const Page = withRouter(({ title, crumb, children, isHome = false, histor - - {children} - + {children} ); }); diff --git a/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx b/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx index e59d04ffe085e..4a16528bc2d06 100644 --- a/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx +++ b/x-pack/examples/triggers_actions_ui_example/public/components/page.tsx @@ -8,16 +8,7 @@ import React from 'react'; import { useHistory } from 'react-router-dom'; -import { - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, - EuiPageBody, - EuiPageHeader, - EuiPageHeaderSection, - EuiTitle, - EuiBreadcrumbs, - EuiSpacer, -} from '@elastic/eui'; +import { EuiPageTemplate, EuiTitle, EuiBreadcrumbs } from '@elastic/eui'; interface PageProps { title: string; @@ -48,19 +39,14 @@ export const Page: React.FC = (props) => { } return ( - - - - -

    {title}

    -
    -
    -
    - - - - {children} - -
    + + + +

    {title}

    +
    + +
    + {children} +
    ); }; diff --git a/x-pack/plugins/actions/docs/openapi/bundled.json b/x-pack/plugins/actions/docs/openapi/bundled.json index d6ca91579738d..000205bddfebd 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.json +++ b/x-pack/plugins/actions/docs/openapi/bundled.json @@ -60,6 +60,9 @@ { "$ref": "#/components/schemas/create_connector_request_cases_webhook" }, + { + "$ref": "#/components/schemas/create_connector_request_d3security" + }, { "$ref": "#/components/schemas/create_connector_request_email" }, @@ -125,6 +128,9 @@ }, "createWebhookConnectorRequest": { "$ref": "#/components/examples/create_webhook_connector_request" + }, + "createXmattersConnectorRequest": { + "$ref": "#/components/examples/create_xmatters_connector_request" } } } @@ -144,6 +150,9 @@ }, "createWebhookConnectorResponse": { "$ref": "#/components/examples/create_webhook_connector_response" + }, + "createXmattersConnectorResponse": { + "$ref": "#/components/examples/create_xmatters_connector_response" } } } @@ -323,6 +332,9 @@ { "$ref": "#/components/schemas/create_connector_request_cases_webhook" }, + { + "$ref": "#/components/schemas/create_connector_request_d3security" + }, { "$ref": "#/components/schemas/create_connector_request_email" }, @@ -445,6 +457,9 @@ { "$ref": "#/components/schemas/update_connector_request_cases_webhook" }, + { + "$ref": "#/components/schemas/update_connector_request_d3security" + }, { "$ref": "#/components/schemas/update_connector_request_index" }, @@ -477,6 +492,12 @@ }, { "$ref": "#/components/schemas/update_connector_request_swimlane" + }, + { + "$ref": "#/components/schemas/update_connector_request_teams" + }, + { + "$ref": "#/components/schemas/update_connector_request_xmatters" } ] }, @@ -1551,6 +1572,66 @@ } } }, + "config_properties_d3security": { + "title": "Connector request properties for a D3 Security connector", + "description": "Defines properties for connectors when type is `.d3security`.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "description": "The D3 Security API request URL. If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts.\n" + } + } + }, + "secrets_properties_d3security": { + "title": "Connector secrets properties for a D3 Security connector", + "description": "Defines secrets for connectors when type is `.d3security`.", + "required": [ + "token" + ], + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The D3 Security token." + } + } + }, + "create_connector_request_d3security": { + "title": "Create D3 Security connector request", + "description": "The connector uses axios to send a POST request to a D3 Security endpoint.\n", + "type": "object", + "required": [ + "config", + "connector_type_id", + "name", + "secrets" + ], + "properties": { + "config": { + "$ref": "#/components/schemas/config_properties_d3security" + }, + "connector_type_id": { + "type": "string", + "description": "The type of connector.", + "enum": [ + ".d3security" + ], + "example": ".d3security" + }, + "name": { + "type": "string", + "description": "The display name for the connector.", + "example": "my-connector" + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_d3security" + } + } + }, "config_properties_email": { "title": "Connector request properties for an email connector", "description": "Defines properties for connectors when type is `.email`.", @@ -2549,7 +2630,15 @@ "title": "Connector secrets properties for a Microsoft Teams connector", "description": "Defines secrets for connectors when type is `.teams`.", "type": "object", - "additionalProperties": true + "required": [ + "webhookUrl" + ], + "properties": { + "webhookUrl": { + "type": "string", + "description": "The URL of the incoming webhook. If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts.\n" + } + } }, "create_connector_request_teams": { "title": "Create Microsoft Teams connector request", @@ -2743,16 +2832,40 @@ } }, "config_properties_xmatters": { - "title": "Connector request properties for a xMatters connector", + "title": "Connector request properties for an xMatters connector", "description": "Defines properties for connectors when type is `.xmatters`.", "type": "object", - "additionalProperties": true + "properties": { + "configUrl": { + "description": "The request URL for the Elastic Alerts trigger in xMatters. It is applicable only when `usesBasic` is `true`.\n", + "type": "string", + "nullable": true + }, + "usesBasic": { + "description": "Specifies whether the connector uses HTTP basic authentication (`true`) or URL authentication (`false`).", + "type": "boolean", + "default": true + } + } }, "secrets_properties_xmatters": { "title": "Connector secrets properties for an xMatters connector", "description": "Defines secrets for connectors when type is `.xmatters`.", "type": "object", - "additionalProperties": true + "properties": { + "password": { + "description": "A user name for HTTP basic authentication. It is applicable only when `usesBasic` is `true`.\n", + "type": "string" + }, + "secretsUrl": { + "description": "The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. It is applicable only when `usesBasic` is `false`.\n", + "type": "string" + }, + "user": { + "description": "A password for HTTP basic authentication. It is applicable only when `usesBasic` is `true`.\n", + "type": "string" + } + } }, "create_connector_request_xmatters": { "title": "Create xMatters connector request", @@ -2850,6 +2963,50 @@ } } }, + "connector_response_properties_d3security": { + "title": "Connector response properties for a D3 Security connector", + "type": "object", + "required": [ + "config", + "connector_type_id", + "id", + "is_deprecated", + "is_preconfigured", + "name" + ], + "properties": { + "config": { + "$ref": "#/components/schemas/config_properties_d3security" + }, + "connector_type_id": { + "type": "string", + "description": "The type of connector.", + "enum": [ + ".d3security" + ] + }, + "id": { + "type": "string", + "description": "The identifier for the connector." + }, + "is_deprecated": { + "$ref": "#/components/schemas/is_deprecated" + }, + "is_missing_secrets": { + "$ref": "#/components/schemas/is_missing_secrets" + }, + "is_preconfigured": { + "$ref": "#/components/schemas/is_preconfigured" + }, + "is_system_action": { + "$ref": "#/components/schemas/is_system_action" + }, + "name": { + "type": "string", + "description": "The display name for the connector." + } + } + }, "connector_response_properties_email": { "title": "Connector response properties for an email connector", "type": "object", @@ -3426,6 +3583,9 @@ "name" ], "properties": { + "config": { + "type": "object" + }, "connector_type_id": { "type": "string", "description": "The type of connector.", @@ -3594,6 +3754,9 @@ { "$ref": "#/components/schemas/connector_response_properties_cases_webhook" }, + { + "$ref": "#/components/schemas/connector_response_properties_d3security" + }, { "$ref": "#/components/schemas/connector_response_properties_email" }, @@ -3671,6 +3834,27 @@ } } }, + "update_connector_request_d3security": { + "title": "Update D3 Security connector request", + "type": "object", + "required": [ + "config", + "name", + "secrets" + ], + "properties": { + "config": { + "$ref": "#/components/schemas/config_properties_d3security" + }, + "name": { + "type": "string", + "description": "The display name for the connector." + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_d3security" + } + } + }, "update_connector_request_index": { "title": "Update index connector request", "type": "object", @@ -3883,12 +4067,51 @@ } } }, + "update_connector_request_teams": { + "title": "Update Microsoft Teams connector request", + "type": "object", + "required": [ + "name", + "secrets" + ], + "properties": { + "name": { + "type": "string", + "description": "The display name for the connector." + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_teams" + } + } + }, + "update_connector_request_xmatters": { + "title": "Update xMatters connector request", + "type": "object", + "required": [ + "config", + "name", + "secrets" + ], + "properties": { + "config": { + "$ref": "#/components/schemas/config_properties_xmatters" + }, + "name": { + "type": "string", + "description": "The display name for the connector." + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_xmatters" + } + } + }, "connector_types": { "title": "Connector types", "type": "string", "description": "The type of connector. For example, `.email`, `.index`, `.jira`, `.opsgenie`, or `.server-log`.", "enum": [ ".cases-webhook", + ".d3security", ".email", ".gen-ai", ".index", @@ -3901,6 +4124,7 @@ ".servicenow-sir", ".server-log", ".slack", + ".slack_api", ".swimlane", ".teams", ".tines", @@ -4662,6 +4886,19 @@ } } }, + "create_xmatters_connector_request": { + "summary": "Create an xMatters connector with URL authentication.", + "value": { + "name": "my-xmatters-connector", + "connector_type_id": ".xmatters", + "config": { + "usesBasic": false + }, + "secrets": { + "secretsUrl": "https://example.com?apiKey=xxxxx" + } + } + }, "create_index_connector_response": { "summary": "A new index connector.", "value": { @@ -4700,6 +4937,22 @@ "is_system_action": false } }, + "create_xmatters_connector_response": { + "summary": "A new xMatters connector.", + "value": { + "id": "4d2d8da0-4d1f-11ee-9367-577408be4681", + "name": "my-xmatters-connector", + "config": { + "usesBasic": false, + "configUrl": null + }, + "connector_type_id": ".xmatters", + "is_preconfigured": false, + "is_deprecated": false, + "is_missing_secrets": false, + "is_system_action": false + } + }, "get_connector_response": { "summary": "A list of connector types", "value": { diff --git a/x-pack/plugins/actions/docs/openapi/bundled.yaml b/x-pack/plugins/actions/docs/openapi/bundled.yaml index 611ec6c72309a..c2baa9a365adf 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.yaml +++ b/x-pack/plugins/actions/docs/openapi/bundled.yaml @@ -38,6 +38,7 @@ paths: description: The properties vary depending on the connector type. oneOf: - $ref: '#/components/schemas/create_connector_request_cases_webhook' + - $ref: '#/components/schemas/create_connector_request_d3security' - $ref: '#/components/schemas/create_connector_request_email' - $ref: '#/components/schemas/create_connector_request_genai' - $ref: '#/components/schemas/create_connector_request_index' @@ -63,6 +64,8 @@ paths: $ref: '#/components/examples/create_index_connector_request' createWebhookConnectorRequest: $ref: '#/components/examples/create_webhook_connector_request' + createXmattersConnectorRequest: + $ref: '#/components/examples/create_xmatters_connector_request' responses: '200': description: Indicates a successful call. @@ -75,6 +78,8 @@ paths: $ref: '#/components/examples/create_index_connector_response' createWebhookConnectorResponse: $ref: '#/components/examples/create_webhook_connector_response' + createXmattersConnectorResponse: + $ref: '#/components/examples/create_xmatters_connector_response' '401': $ref: '#/components/responses/401' servers: @@ -182,6 +187,7 @@ paths: description: The properties vary depending on the connector type. oneOf: - $ref: '#/components/schemas/create_connector_request_cases_webhook' + - $ref: '#/components/schemas/create_connector_request_d3security' - $ref: '#/components/schemas/create_connector_request_email' - $ref: '#/components/schemas/create_connector_request_genai' - $ref: '#/components/schemas/create_connector_request_index' @@ -239,6 +245,7 @@ paths: description: The properties vary depending on the connector type. oneOf: - $ref: '#/components/schemas/update_connector_request_cases_webhook' + - $ref: '#/components/schemas/update_connector_request_d3security' - $ref: '#/components/schemas/update_connector_request_index' - $ref: '#/components/schemas/update_connector_request_jira' - $ref: '#/components/schemas/update_connector_request_opsgenie' @@ -250,6 +257,8 @@ paths: - $ref: '#/components/schemas/update_connector_request_slack_api' - $ref: '#/components/schemas/update_connector_request_slack_webhook' - $ref: '#/components/schemas/update_connector_request_swimlane' + - $ref: '#/components/schemas/update_connector_request_teams' + - $ref: '#/components/schemas/update_connector_request_xmatters' examples: updateIndexConnectorRequest: $ref: '#/components/examples/update_index_connector_request' @@ -942,6 +951,52 @@ components: example: my-connector secrets: $ref: '#/components/schemas/secrets_properties_cases_webhook' + config_properties_d3security: + title: Connector request properties for a D3 Security connector + description: Defines properties for connectors when type is `.d3security`. + type: object + required: + - url + properties: + url: + type: string + description: | + The D3 Security API request URL. If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts. + secrets_properties_d3security: + title: Connector secrets properties for a D3 Security connector + description: Defines secrets for connectors when type is `.d3security`. + required: + - token + type: object + properties: + token: + type: string + description: The D3 Security token. + create_connector_request_d3security: + title: Create D3 Security connector request + description: | + The connector uses axios to send a POST request to a D3 Security endpoint. + type: object + required: + - config + - connector_type_id + - name + - secrets + properties: + config: + $ref: '#/components/schemas/config_properties_d3security' + connector_type_id: + type: string + description: The type of connector. + enum: + - .d3security + example: .d3security + name: + type: string + description: The display name for the connector. + example: my-connector + secrets: + $ref: '#/components/schemas/secrets_properties_d3security' config_properties_email: title: Connector request properties for an email connector description: Defines properties for connectors when type is `.email`. @@ -1708,7 +1763,13 @@ components: title: Connector secrets properties for a Microsoft Teams connector description: Defines secrets for connectors when type is `.teams`. type: object - additionalProperties: true + required: + - webhookUrl + properties: + webhookUrl: + type: string + description: | + The URL of the incoming webhook. If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts. create_connector_request_teams: title: Create Microsoft Teams connector request description: The Microsoft Teams connector uses Incoming Webhooks. @@ -1866,15 +1927,36 @@ components: secrets: $ref: '#/components/schemas/secrets_properties_webhook' config_properties_xmatters: - title: Connector request properties for a xMatters connector + title: Connector request properties for an xMatters connector description: Defines properties for connectors when type is `.xmatters`. type: object - additionalProperties: true + properties: + configUrl: + description: | + The request URL for the Elastic Alerts trigger in xMatters. It is applicable only when `usesBasic` is `true`. + type: string + nullable: true + usesBasic: + description: Specifies whether the connector uses HTTP basic authentication (`true`) or URL authentication (`false`). + type: boolean + default: true secrets_properties_xmatters: title: Connector secrets properties for an xMatters connector description: Defines secrets for connectors when type is `.xmatters`. type: object - additionalProperties: true + properties: + password: + description: | + A user name for HTTP basic authentication. It is applicable only when `usesBasic` is `true`. + type: string + secretsUrl: + description: | + The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. It is applicable only when `usesBasic` is `false`. + type: string + user: + description: | + A password for HTTP basic authentication. It is applicable only when `usesBasic` is `true`. + type: string create_connector_request_xmatters: title: Create xMatters connector request description: | @@ -1948,6 +2030,38 @@ components: name: type: string description: The display name for the connector. + connector_response_properties_d3security: + title: Connector response properties for a D3 Security connector + type: object + required: + - config + - connector_type_id + - id + - is_deprecated + - is_preconfigured + - name + properties: + config: + $ref: '#/components/schemas/config_properties_d3security' + connector_type_id: + type: string + description: The type of connector. + enum: + - .d3security + id: + type: string + description: The identifier for the connector. + is_deprecated: + $ref: '#/components/schemas/is_deprecated' + is_missing_secrets: + $ref: '#/components/schemas/is_missing_secrets' + is_preconfigured: + $ref: '#/components/schemas/is_preconfigured' + is_system_action: + $ref: '#/components/schemas/is_system_action' + name: + type: string + description: The display name for the connector. connector_response_properties_email: title: Connector response properties for an email connector type: object @@ -2369,6 +2483,8 @@ components: - is_preconfigured - name properties: + config: + type: object connector_type_id: type: string description: The type of connector. @@ -2489,6 +2605,7 @@ components: description: The properties vary depending on the connector type. oneOf: - $ref: '#/components/schemas/connector_response_properties_cases_webhook' + - $ref: '#/components/schemas/connector_response_properties_d3security' - $ref: '#/components/schemas/connector_response_properties_email' - $ref: '#/components/schemas/connector_response_properties_index' - $ref: '#/components/schemas/connector_response_properties_jira' @@ -2523,6 +2640,21 @@ components: example: my-connector secrets: $ref: '#/components/schemas/secrets_properties_cases_webhook' + update_connector_request_d3security: + title: Update D3 Security connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/config_properties_d3security' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/secrets_properties_d3security' update_connector_request_index: title: Update index connector request type: object @@ -2674,12 +2806,40 @@ components: example: my-connector secrets: $ref: '#/components/schemas/secrets_properties_swimlane' + update_connector_request_teams: + title: Update Microsoft Teams connector request + type: object + required: + - name + - secrets + properties: + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/secrets_properties_teams' + update_connector_request_xmatters: + title: Update xMatters connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/config_properties_xmatters' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/secrets_properties_xmatters' connector_types: title: Connector types type: string description: The type of connector. For example, `.email`, `.index`, `.jira`, `.opsgenie`, or `.server-log`. enum: - .cases-webhook + - .d3security - .email - .gen-ai - .index @@ -2692,6 +2852,7 @@ components: - .servicenow-sir - .server-log - .slack + - .slack_api - .swimlane - .teams - .tines @@ -3240,6 +3401,15 @@ components: crt: QmFnIEF0dH... key: LS0tLS1CRUdJ... password: my-passphrase + create_xmatters_connector_request: + summary: Create an xMatters connector with URL authentication. + value: + name: my-xmatters-connector + connector_type_id: .xmatters + config: + usesBasic: false + secrets: + secretsUrl: https://example.com?apiKey=xxxxx create_index_connector_response: summary: A new index connector. value: @@ -3272,6 +3442,19 @@ components: is_deprecated: false is_missing_secrets: false is_system_action: false + create_xmatters_connector_response: + summary: A new xMatters connector. + value: + id: 4d2d8da0-4d1f-11ee-9367-577408be4681 + name: my-xmatters-connector + config: + usesBasic: false + configUrl: null + connector_type_id: .xmatters + is_preconfigured: false + is_deprecated: false + is_missing_secrets: false + is_system_action: false get_connector_response: summary: A list of connector types value: diff --git a/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_request.yaml b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_request.yaml new file mode 100644 index 0000000000000..818e8695bb1bb --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_request.yaml @@ -0,0 +1,8 @@ +summary: Create an xMatters connector with URL authentication. +value: + name: my-xmatters-connector + connector_type_id: .xmatters + config: + usesBasic: false + secrets: + secretsUrl: https://example.com?apiKey=xxxxx \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_response.yaml b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_response.yaml new file mode 100644 index 0000000000000..c681cf31b9c47 --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/examples/create_xmatters_connector_response.yaml @@ -0,0 +1,12 @@ +summary: A new xMatters connector. +value: + id: 4d2d8da0-4d1f-11ee-9367-577408be4681 + name: my-xmatters-connector + config: + usesBasic: false + configUrl: null + connector_type_id: .xmatters + is_preconfigured: false + is_deprecated: false + is_missing_secrets: false + is_system_action: false \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_d3security.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_d3security.yaml new file mode 100644 index 0000000000000..770e052783118 --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_d3security.yaml @@ -0,0 +1,11 @@ +title: Connector request properties for a D3 Security connector +description: Defines properties for connectors when type is `.d3security`. +type: object +required: + - url +properties: + url: + type: string + description: > + The D3 Security API request URL. + If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts. \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml index 6625eb09b4d35..350e96f3aa63d 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_xmatters.yaml @@ -1,5 +1,15 @@ -title: Connector request properties for a xMatters connector +title: Connector request properties for an xMatters connector description: Defines properties for connectors when type is `.xmatters`. type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +properties: + configUrl: + description: > + The request URL for the Elastic Alerts trigger in xMatters. + It is applicable only when `usesBasic` is `true`. + type: string + nullable: true + usesBasic: + description: Specifies whether the connector uses HTTP basic authentication (`true`) or URL authentication (`false`). + type: boolean + default: true + \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties.yaml index ef72d88e31480..334fe3fa5cdb3 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties.yaml @@ -2,6 +2,7 @@ title: Connector response properties description: The properties vary depending on the connector type. oneOf: - $ref: 'connector_response_properties_cases_webhook.yaml' + - $ref: 'connector_response_properties_d3security.yaml' - $ref: 'connector_response_properties_email.yaml' - $ref: 'connector_response_properties_index.yaml' - $ref: 'connector_response_properties_jira.yaml' diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_d3security.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_d3security.yaml new file mode 100644 index 0000000000000..694b7c011b84a --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_d3security.yaml @@ -0,0 +1,31 @@ +title: Connector response properties for a D3 Security connector +type: object +required: + - config + - connector_type_id + - id + - is_deprecated + - is_preconfigured + - name +properties: + config: + $ref: 'config_properties_d3security.yaml' + connector_type_id: + type: string + description: The type of connector. + enum: + - .d3security + id: + type: string + description: The identifier for the connector. + is_deprecated: + $ref: 'is_deprecated.yaml' + is_missing_secrets: + $ref: 'is_missing_secrets.yaml' + is_preconfigured: + $ref: 'is_preconfigured.yaml' + is_system_action: + $ref: 'is_system_action.yaml' + name: + type: string + description: The display name for the connector. diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml index 3d082bfdf7821..3e0dc777efa98 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_teams.yaml @@ -7,6 +7,8 @@ required: - is_preconfigured - name properties: + config: + type: object connector_type_id: type: string description: The type of connector. diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml index 8b08285f9a0e8..2bbc9f5dabac4 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_types.yaml @@ -3,6 +3,7 @@ type: string description: The type of connector. For example, `.email`, `.index`, `.jira`, `.opsgenie`, or `.server-log`. enum: - .cases-webhook + - .d3security - .email - .gen-ai - .index @@ -15,6 +16,7 @@ enum: - .servicenow-sir - .server-log - .slack + - .slack_api - .swimlane - .teams - .tines diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/create_connector_request_d3security.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/create_connector_request_d3security.yaml new file mode 100644 index 0000000000000..39cdda80b7dd2 --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/create_connector_request_d3security.yaml @@ -0,0 +1,24 @@ +title: Create D3 Security connector request +description: > + The connector uses axios to send a POST request to a D3 Security endpoint. +type: object +required: + - config + - connector_type_id + - name + - secrets +properties: + config: + $ref: 'config_properties_d3security.yaml' + connector_type_id: + type: string + description: The type of connector. + enum: + - .d3security + example: .d3security + name: + type: string + description: The display name for the connector. + example: my-connector + secrets: + $ref: 'secrets_properties_d3security.yaml' diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_d3security.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_d3security.yaml new file mode 100644 index 0000000000000..136d393e7970d --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_d3security.yaml @@ -0,0 +1,9 @@ +title: Connector secrets properties for a D3 Security connector +description: Defines secrets for connectors when type is `.d3security`. +required: + - token +type: object +properties: + token: + type: string + description: The D3 Security token. diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml index f5e3aa51c7528..6af6278220287 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_teams.yaml @@ -1,5 +1,11 @@ title: Connector secrets properties for a Microsoft Teams connector description: Defines secrets for connectors when type is `.teams`. type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +required: + - webhookUrl +properties: + webhookUrl: + type: string + description: > + The URL of the incoming webhook. + If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts. \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml index 67071884663dd..0d9622a3bbd3f 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_xmatters.yaml @@ -1,5 +1,19 @@ title: Connector secrets properties for an xMatters connector description: Defines secrets for connectors when type is `.xmatters`. type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +properties: + password: + description: > + A user name for HTTP basic authentication. + It is applicable only when `usesBasic` is `true`. + type: string + secretsUrl: + description: > + The request URL for the Elastic Alerts trigger in xMatters with the API key included in the URL. + It is applicable only when `usesBasic` is `false`. + type: string + user: + description: > + A password for HTTP basic authentication. + It is applicable only when `usesBasic` is `true`. + type: string diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/update_connector_request_d3security.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/update_connector_request_d3security.yaml new file mode 100644 index 0000000000000..a79a6b4e541dd --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/update_connector_request_d3security.yaml @@ -0,0 +1,14 @@ +title: Update D3 Security connector request +type: object +required: + - config + - name + - secrets +properties: + config: + $ref: 'config_properties_d3security.yaml' + name: + type: string + description: The display name for the connector. + secrets: + $ref: 'secrets_properties_d3security.yaml' \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml index d8d8735db82d8..052852471d865 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml @@ -17,6 +17,7 @@ post: description: The properties vary depending on the connector type. oneOf: - $ref: '../components/schemas/create_connector_request_cases_webhook.yaml' + - $ref: '../components/schemas/create_connector_request_d3security.yaml' - $ref: '../components/schemas/create_connector_request_email.yaml' - $ref: '../components/schemas/create_connector_request_genai.yaml' - $ref: '../components/schemas/create_connector_request_index.yaml' @@ -42,6 +43,8 @@ post: $ref: '../components/examples/create_index_connector_request.yaml' createWebhookConnectorRequest: $ref: '../components/examples/create_webhook_connector_request.yaml' + createXmattersConnectorRequest: + $ref: '../components/examples/create_xmatters_connector_request.yaml' responses: '200': description: Indicates a successful call. @@ -54,6 +57,8 @@ post: $ref: '../components/examples/create_index_connector_response.yaml' createWebhookConnectorResponse: $ref: '../components/examples/create_webhook_connector_response.yaml' + createXmattersConnectorResponse: + $ref: '../components/examples/create_xmatters_connector_response.yaml' '401': $ref: '../components/responses/401.yaml' servers: diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml index f0158d9c2a5cd..96ddfa168a270 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml @@ -101,6 +101,7 @@ post: description: The properties vary depending on the connector type. oneOf: - $ref: '../components/schemas/create_connector_request_cases_webhook.yaml' + - $ref: '../components/schemas/create_connector_request_d3security.yaml' - $ref: '../components/schemas/create_connector_request_email.yaml' - $ref: '../components/schemas/create_connector_request_genai.yaml' - $ref: '../components/schemas/create_connector_request_index.yaml' @@ -159,6 +160,7 @@ put: description: The properties vary depending on the connector type. oneOf: - $ref: '../components/schemas/update_connector_request_cases_webhook.yaml' + - $ref: '../components/schemas/update_connector_request_d3security.yaml' # - $ref: '../components/schemas/update_connector_request_email.yaml' # - $ref: '../components/schemas/create_connector_request_genai.yaml' - $ref: '../components/schemas/update_connector_request_index.yaml' @@ -172,10 +174,10 @@ put: - $ref: '../components/schemas/update_connector_request_slack_api.yaml' - $ref: '../components/schemas/update_connector_request_slack_webhook.yaml' - $ref: '../components/schemas/update_connector_request_swimlane.yaml' -# - $ref: '../components/schemas/update_connector_request_teams.yaml' + - $ref: '../components/schemas/update_connector_request_teams.yaml' # - $ref: '../components/schemas/update_connector_request_tines.yaml' # - $ref: '../components/schemas/update_connector_request_webhook.yaml' -# - $ref: '../components/schemas/update_connector_request_xmatters.yaml' + - $ref: '../components/schemas/update_connector_request_xmatters.yaml' examples: updateIndexConnectorRequest: $ref: '../components/examples/update_index_connector_request.yaml' diff --git a/x-pack/plugins/actions/server/plugin.test.ts b/x-pack/plugins/actions/server/plugin.test.ts index d3bc3be1a9deb..dd936600d7055 100644 --- a/x-pack/plugins/actions/server/plugin.test.ts +++ b/x-pack/plugins/actions/server/plugin.test.ts @@ -15,6 +15,7 @@ import { featuresPluginMock } from '@kbn/features-plugin/server/mocks'; import { encryptedSavedObjectsMock } from '@kbn/encrypted-saved-objects-plugin/server/mocks'; import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; import { eventLogMock } from '@kbn/event-log-plugin/server/mocks'; +import { serverlessPluginMock } from '@kbn/serverless/server/mocks'; import { ActionType, ActionsApiRequestHandlerContext, ExecutorType } from './types'; import { ActionsConfig } from './config'; import { @@ -361,7 +362,7 @@ describe('Actions Plugin', () => { eventLog: eventLogMock.createSetup(), usageCollection: usageCollectionPluginMock.createSetupContract(), features: featuresPluginMock.createSetup(), - serverless: {}, + serverless: serverlessPluginMock.createSetupContract(), }; } @@ -560,7 +561,7 @@ describe('Actions Plugin', () => { ...pluginsSetup.encryptedSavedObjects, canEncrypt: true, }, - serverless: {}, + serverless: serverlessPluginMock.createSetupContract(), }); pluginSetup.registerType({ @@ -579,7 +580,10 @@ describe('Actions Plugin', () => { pluginSetup.setEnabledConnectorTypes(['.server-log', 'non-existing']); await expect(async () => - plugin.start(coreStart, { ...pluginsStart, serverless: {} }) + plugin.start(coreStart, { + ...pluginsStart, + serverless: serverlessPluginMock.createStartContract(), + }) ).rejects.toThrowErrorMatchingInlineSnapshot( `"Action type \\"non-existing\\" is not registered."` ); diff --git a/x-pack/plugins/actions/server/plugin.ts b/x-pack/plugins/actions/server/plugin.ts index ef5de6194d475..60a27eb04e411 100644 --- a/x-pack/plugins/actions/server/plugin.ts +++ b/x-pack/plugins/actions/server/plugin.ts @@ -40,7 +40,7 @@ import { } from '@kbn/event-log-plugin/server'; import { MonitoringCollectionSetup } from '@kbn/monitoring-collection-plugin/server'; -import { ServerlessPluginSetup } from '@kbn/serverless/server'; +import { ServerlessPluginSetup, ServerlessPluginStart } from '@kbn/serverless/server'; import { ActionsConfig, AllowedHosts, EnabledConnectorTypes, getValidatedConfig } from './config'; import { resolveCustomHosts } from './lib/custom_host_settings'; import { ActionsClient } from './actions_client/actions_client'; @@ -179,7 +179,7 @@ export interface ActionsPluginsStart { eventLog: IEventLogClientService; spaces?: SpacesPluginStart; security?: SecurityPluginStart; - serverless?: ServerlessPluginSetup; + serverless?: ServerlessPluginStart; } const includedHiddenTypes = [ diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts index 2c0e6e0cbf03c..16eaec0889ed4 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts @@ -11,7 +11,6 @@ import { DEFAULT_FLAPPING_SETTINGS, RecoveredActionGroup, RuleAlertData, - RuleNotifyWhen, } from '../types'; import * as LegacyAlertsClientModule from './legacy_alerts_client'; import { LegacyAlertsClient } from './legacy_alerts_client'; @@ -114,7 +113,7 @@ describe('Alerts Client', () => { ruleRunMetricsStore, shouldLogAlerts: false, flappingSettings: DEFAULT_FLAPPING_SETTINGS, - notifyWhen: RuleNotifyWhen.CHANGE, + notifyOnActionGroupChange: true, maintenanceWindowIds: [], }; }); diff --git a/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts index f8c341e132e51..d723f0d0b64fc 100644 --- a/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.test.ts @@ -6,7 +6,7 @@ */ import { loggingSystemMock } from '@kbn/core/server/mocks'; import { UntypedNormalizedRuleType } from '../rule_type_registry'; -import { AlertInstanceContext, RecoveredActionGroup, RuleNotifyWhen } from '../types'; +import { AlertInstanceContext, RecoveredActionGroup } from '../types'; import { LegacyAlertsClient } from './legacy_alerts_client'; import { createAlertFactory, getPublicAlertFactory } from '../alert/create_alert_factory'; import { Alert } from '../alert/alert'; @@ -283,7 +283,7 @@ describe('Legacy Alerts Client', () => { ruleRunMetricsStore, shouldLogAlerts: true, flappingSettings: DEFAULT_FLAPPING_SETTINGS, - notifyWhen: RuleNotifyWhen.CHANGE, + notifyOnActionGroupChange: true, maintenanceWindowIds: ['window-id1', 'window-id2'], }); @@ -312,7 +312,7 @@ describe('Legacy Alerts Client', () => { lookBackWindow: 20, statusChangeThreshold: 4, }, - RuleNotifyWhen.CHANGE, + true, 'default', {}, { diff --git a/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.ts b/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.ts index 0375c1bf6867b..b7c17ee9579a8 100644 --- a/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.ts +++ b/x-pack/plugins/alerting/server/alerts_client/legacy_alerts_client.ts @@ -136,7 +136,7 @@ export class LegacyAlertsClient< ruleRunMetricsStore, shouldLogAlerts, flappingSettings, - notifyWhen, + notifyOnActionGroupChange, maintenanceWindowIds, }: ProcessAndLogAlertsOpts) { const { @@ -163,7 +163,7 @@ export class LegacyAlertsClient< const alerts = getAlertsForNotification( flappingSettings, - notifyWhen, + notifyOnActionGroupChange, this.options.ruleType.defaultActionGroupId, processedAlertsNew, processedAlertsActive, diff --git a/x-pack/plugins/alerting/server/alerts_client/types.ts b/x-pack/plugins/alerting/server/alerts_client/types.ts index daaaab6add1c9..eccd381bc2a5c 100644 --- a/x-pack/plugins/alerting/server/alerts_client/types.ts +++ b/x-pack/plugins/alerting/server/alerts_client/types.ts @@ -16,7 +16,6 @@ import { SummarizedAlerts, RawAlertInstance, RuleAlertData, - RuleNotifyWhenType, WithoutReservedActionGroups, } from '../types'; import { AlertingEventLogger } from '../lib/alerting_event_logger/alerting_event_logger'; @@ -82,7 +81,7 @@ export interface ProcessAndLogAlertsOpts { shouldLogAlerts: boolean; ruleRunMetricsStore: RuleRunMetricsStore; flappingSettings: RulesSettingsFlappingProperties; - notifyWhen: RuleNotifyWhenType | null; + notifyOnActionGroupChange: boolean; maintenanceWindowIds: string[]; } diff --git a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts index 2cb820fabed39..04f732426cff5 100644 --- a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts +++ b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts @@ -9,7 +9,6 @@ import { DEFAULT_FLAPPING_SETTINGS, DISABLE_FLAPPING_SETTINGS } from '../../comm import { getAlertsForNotification } from '.'; import { Alert } from '../alert'; import { alertsWithAnyUUID } from '../test_utils'; -import { RuleNotifyWhen } from '../types'; describe('getAlertsForNotification', () => { test('should set pendingRecoveredCount to zero for all active alerts', () => { @@ -20,7 +19,7 @@ describe('getAlertsForNotification', () => { const { newAlerts, activeAlerts } = getAlertsForNotification( DEFAULT_FLAPPING_SETTINGS, - RuleNotifyWhen.CHANGE, + true, 'default', { '1': alert1, @@ -85,7 +84,7 @@ describe('getAlertsForNotification', () => { currentRecoveredAlerts, } = getAlertsForNotification( DEFAULT_FLAPPING_SETTINGS, - RuleNotifyWhen.CHANGE, + true, 'default', {}, {}, @@ -212,7 +211,7 @@ describe('getAlertsForNotification', () => { const { newAlerts, activeAlerts, recoveredAlerts, currentRecoveredAlerts } = getAlertsForNotification( DISABLE_FLAPPING_SETTINGS, - RuleNotifyWhen.CHANGE, + true, 'default', {}, {}, @@ -337,7 +336,7 @@ describe('getAlertsForNotification', () => { currentRecoveredAlerts, } = getAlertsForNotification( DEFAULT_FLAPPING_SETTINGS, - RuleNotifyWhen.ACTIVE, + false, 'default', {}, {}, diff --git a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts index e25752c4b7b37..4ff8408d67e11 100644 --- a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts +++ b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts @@ -8,12 +8,7 @@ import { keys } from 'lodash'; import { RulesSettingsFlappingProperties } from '../../common/rules_settings'; import { Alert } from '../alert'; -import { - AlertInstanceState, - AlertInstanceContext, - RuleNotifyWhenType, - RuleNotifyWhen, -} from '../types'; +import { AlertInstanceState, AlertInstanceContext } from '../types'; export function getAlertsForNotification< State extends AlertInstanceState, @@ -22,7 +17,7 @@ export function getAlertsForNotification< RecoveryActionGroupId extends string >( flappingSettings: RulesSettingsFlappingProperties, - notifyWhen: RuleNotifyWhenType | null, + notifyOnActionGroupChange: boolean, actionGroupId: string, newAlerts: Record> = {}, activeAlerts: Record> = {}, @@ -62,8 +57,9 @@ export function getAlertsForNotification< ); activeAlerts[id] = newAlert; - // rules with "on status change" should return notifications - if (notifyWhen === RuleNotifyWhen.CHANGE) { + // rule with "on status change" or rule with at least one + // action with "on status change" should return notifications + if (notifyOnActionGroupChange) { currentActiveAlerts[id] = newAlert; } diff --git a/x-pack/plugins/alerting/server/plugin.test.ts b/x-pack/plugins/alerting/server/plugin.test.ts index 302bc7210c9f3..3f59d1457d57c 100644 --- a/x-pack/plugins/alerting/server/plugin.test.ts +++ b/x-pack/plugins/alerting/server/plugin.test.ts @@ -37,6 +37,7 @@ jest.mock('./alerts_service/alerts_service', () => ({ import { SharePluginStart } from '@kbn/share-plugin/server'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; import { generateAlertingConfig } from './test_utils'; +import { serverlessPluginMock } from '@kbn/serverless/server/mocks'; const sampleRuleType: RuleType = { id: 'test', @@ -73,8 +74,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - // serverless setup is currently empty, and there is no mock - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }; let plugin: AlertingPlugin; @@ -242,7 +244,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }); const startContract = plugin.start(coreMock.createStart(), { @@ -292,7 +296,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }); const startContract = plugin.start(coreMock.createStart(), { @@ -353,7 +359,9 @@ describe('Alerting Plugin', () => { data: dataPluginMock.createSetupContract() as unknown as DataPluginSetup, features: featuresPluginMock.createSetup(), unifiedSearch: autocompletePluginMock.createSetupContract(), - ...(useDataStreamForAlerts ? { serverless: {} } : {}), + ...(useDataStreamForAlerts + ? { serverless: serverlessPluginMock.createSetupContract() } + : {}), }); const startContract = plugin.start(coreMock.createStart(), { diff --git a/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts b/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts index 5125bc67b90ef..22d056f489104 100644 --- a/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/execution_handler.test.ts @@ -28,7 +28,7 @@ import { alertingEventLoggerMock } from '../lib/alerting_event_logger/alerting_e import { TaskRunnerContext } from './task_runner_factory'; import { ConcreteTaskInstance } from '@kbn/task-manager-plugin/server'; import { Alert } from '../alert'; -import { AlertInstanceState, AlertInstanceContext } from '../../common'; +import { AlertInstanceState, AlertInstanceContext, RuleNotifyWhen } from '../../common'; import { asSavedObjectExecutionSource } from '@kbn/actions-plugin/server'; import sinon from 'sinon'; import { mockAAD } from './fixtures'; @@ -155,6 +155,7 @@ const generateAlert = ({ throttledActions = {}, lastScheduledActionsGroup = 'default', maintenanceWindowIds, + pendingRecoveredCount, }: { id: number; group?: ActiveActionGroup | 'recovered'; @@ -164,6 +165,7 @@ const generateAlert = ({ throttledActions?: ThrottledActions; lastScheduledActionsGroup?: string; maintenanceWindowIds?: string[]; + pendingRecoveredCount?: number; }) => { const alert = new Alert( String(id), @@ -176,6 +178,7 @@ const generateAlert = ({ group: lastScheduledActionsGroup, actions: throttledActions, }, + pendingRecoveredCount, }, } ); @@ -1778,6 +1781,157 @@ describe('Execution Handler', () => { ); }); + test('does not schedule actions with notifyWhen not set to "on status change" for alerts that are flapping', async () => { + const executionHandler = new ExecutionHandler( + generateExecutionParams({ + ...defaultExecutionParams, + rule: { + ...defaultExecutionParams.rule, + actions: [ + { + ...defaultExecutionParams.rule.actions[0], + frequency: { + summary: false, + notifyWhen: RuleNotifyWhen.ACTIVE, + throttle: null, + }, + }, + ], + }, + }) + ); + + await executionHandler.run({ + ...generateAlert({ id: 1, pendingRecoveredCount: 1, lastScheduledActionsGroup: 'recovered' }), + ...generateAlert({ id: 2, pendingRecoveredCount: 1, lastScheduledActionsGroup: 'recovered' }), + ...generateAlert({ id: 3, pendingRecoveredCount: 1, lastScheduledActionsGroup: 'recovered' }), + }); + + expect(actionsClient.bulkEnqueueExecution).not.toHaveBeenCalled(); + }); + + test('does schedule actions with notifyWhen is set to "on status change" for alerts that are flapping', async () => { + const executionHandler = new ExecutionHandler( + generateExecutionParams({ + ...defaultExecutionParams, + rule: { + ...defaultExecutionParams.rule, + actions: [ + { + ...defaultExecutionParams.rule.actions[0], + frequency: { + summary: false, + notifyWhen: RuleNotifyWhen.CHANGE, + throttle: null, + }, + }, + ], + }, + }) + ); + + await executionHandler.run({ + ...generateAlert({ id: 1, pendingRecoveredCount: 1, lastScheduledActionsGroup: 'recovered' }), + ...generateAlert({ id: 2, pendingRecoveredCount: 1, lastScheduledActionsGroup: 'recovered' }), + ...generateAlert({ id: 3, pendingRecoveredCount: 1, lastScheduledActionsGroup: 'recovered' }), + }); + + expect(actionsClient.bulkEnqueueExecution).toHaveBeenCalledTimes(1); + expect(actionsClient.bulkEnqueueExecution.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Array [ + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 1 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ + Object { + "id": "1", + "namespace": "test1", + "type": "alert", + "typeId": "test", + }, + ], + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 2 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ + Object { + "id": "1", + "namespace": "test1", + "type": "alert", + "typeId": "test", + }, + ], + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + Object { + "actionTypeId": "test", + "apiKey": "MTIzOmFiYw==", + "consumer": "rule-consumer", + "executionId": "5f6aa57d-3e22-484e-bae8-cbed868f4d28", + "id": "1", + "params": Object { + "alertVal": "My 1 name-of-alert test1 tag-A,tag-B 3 goes here", + "contextVal": "My goes here", + "foo": true, + "stateVal": "My goes here", + }, + "relatedSavedObjects": Array [ + Object { + "id": "1", + "namespace": "test1", + "type": "alert", + "typeId": "test", + }, + ], + "source": Object { + "source": Object { + "id": "1", + "type": "alert", + }, + "type": "SAVED_OBJECT", + }, + "spaceId": "test1", + }, + ], + ] + `); + }); + describe('rule url', () => { const ruleWithUrl = { ...rule, diff --git a/x-pack/plugins/alerting/server/task_runner/execution_handler.ts b/x-pack/plugins/alerting/server/task_runner/execution_handler.ts index c3002b7efe67a..33c4c93abe111 100644 --- a/x-pack/plugins/alerting/server/task_runner/execution_handler.ts +++ b/x-pack/plugins/alerting/server/task_runner/execution_handler.ts @@ -36,6 +36,7 @@ import { RuleTypeState, SanitizedRule, RuleAlertData, + RuleNotifyWhen, } from '../../common'; import { generateActionHash, @@ -621,6 +622,16 @@ export class ExecutionHandler< ); continue; } + + // only actions with notifyWhen set to "on status change" should return + // notifications for flapping pending recovered alerts + if ( + alert.getPendingRecoveredCount() > 0 && + action.frequency?.notifyWhen !== RuleNotifyWhen.CHANGE + ) { + continue; + } + if (action.group === actionGroup && !this.isAlertMuted(alertId)) { if ( this.isRecoveredAlert(action.group) || diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.ts index 6c871f63065a9..6d3be52cf2e62 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.ts @@ -6,7 +6,7 @@ */ import apm from 'elastic-apm-node'; -import { omit } from 'lodash'; +import { omit, some } from 'lodash'; import { UsageCounter } from '@kbn/usage-collection-plugin/server'; import { v4 as uuidv4 } from 'uuid'; import { Logger } from '@kbn/core/server'; @@ -50,6 +50,7 @@ import { MaintenanceWindow, RuleAlertData, SanitizedRule, + RuleNotifyWhen, } from '../../common'; import { NormalizedRuleType, UntypedNormalizedRuleType } from '../rule_type_registry'; import { getEsErrorMessage } from '../lib/errors'; @@ -546,7 +547,9 @@ export class TaskRunner< ruleRunMetricsStore, shouldLogAlerts: this.shouldLogAndScheduleActionsForAlerts(), flappingSettings, - notifyWhen, + notifyOnActionGroupChange: + notifyWhen === RuleNotifyWhen.CHANGE || + some(actions, (action) => action.frequency?.notifyWhen === RuleNotifyWhen.CHANGE), maintenanceWindowIds, }); }); diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts index 98e0643abfd50..cc1d162a1ecc7 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts @@ -14,7 +14,6 @@ import { AlertInstanceState, AlertInstanceContext, Rule, - RuleNotifyWhen, RuleAlertData, } from '../types'; import { ConcreteTaskInstance } from '@kbn/task-manager-plugin/server'; @@ -772,7 +771,7 @@ describe('Task Runner', () => { lookBackWindow: 20, statusChangeThreshold: 4, }, - notifyWhen: RuleNotifyWhen.ACTIVE, + notifyOnActionGroupChange: false, maintenanceWindowIds: [], }); expect(alertsClientNotToUse.processAndLogAlerts).not.toHaveBeenCalled(); diff --git a/x-pack/plugins/apm/kibana.jsonc b/x-pack/plugins/apm/kibana.jsonc index a9329cd965ce7..42f969f5a3ee1 100644 --- a/x-pack/plugins/apm/kibana.jsonc +++ b/x-pack/plugins/apm/kibana.jsonc @@ -49,7 +49,8 @@ "usageCollection", "customIntegrations", // Move this to requiredPlugins after completely migrating from the Tutorials Home App "licenseManagement", - "profiling" + "profiling", + "profilingDataAccess" ], "requiredBundles": [ "advancedSettings", diff --git a/x-pack/plugins/apm/public/components/app/profiling_overview/index.tsx b/x-pack/plugins/apm/public/components/app/profiling_overview/index.tsx new file mode 100644 index 0000000000000..611f79492a62c --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/profiling_overview/index.tsx @@ -0,0 +1,75 @@ +/* + * 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 { EmbeddableFlamegraph } from '@kbn/observability-shared-plugin/public'; +import React from 'react'; +import { useApmParams } from '../../../hooks/use_apm_params'; +import { isPending, useFetcher } from '../../../hooks/use_fetcher'; +import { useProfilingPlugin } from '../../../hooks/use_profiling_plugin'; +import { useTimeRange } from '../../../hooks/use_time_range'; +import { ApmDocumentType } from '../../../../common/document_type'; +import { usePreferredDataSourceAndBucketSize } from '../../../hooks/use_preferred_data_source_and_bucket_size'; + +export function ProfilingOverview() { + const { + path: { serviceName }, + query: { kuery, rangeFrom, rangeTo, environment }, + } = useApmParams('/services/{serviceName}/profiling'); + const { isProfilingAvailable } = useProfilingPlugin(); + + const { start, end } = useTimeRange({ rangeFrom, rangeTo }); + const preferred = usePreferredDataSourceAndBucketSize({ + start, + end, + kuery, + type: ApmDocumentType.TransactionMetric, + numBuckets: 20, + }); + const { data, status } = useFetcher( + (callApmApi) => { + if (isProfilingAvailable && preferred) { + return callApmApi( + 'GET /internal/apm/services/{serviceName}/profiling/flamegraph', + { + params: { + path: { serviceName }, + query: { + start, + end, + kuery, + environment, + documentType: preferred.source.documentType, + rollupInterval: preferred.source.rollupInterval, + }, + }, + } + ); + } + }, + [ + isProfilingAvailable, + preferred, + serviceName, + start, + end, + kuery, + environment, + ] + ); + + if (!isProfilingAvailable) { + return null; + } + + return ( + + ); +} diff --git a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx index cd42f8d4987aa..5817b96e2b360 100644 --- a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx +++ b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx @@ -37,6 +37,8 @@ import { TransactionOverview } from '../../app/transaction_overview'; import { ApmServiceTemplate } from '../templates/apm_service_template'; import { ApmServiceWrapper } from './apm_service_wrapper'; import { RedirectToDefaultServiceRouteView } from './redirect_to_default_service_route_view'; +import { ProfilingOverview } from '../../app/profiling_overview'; +import { SearchBar } from '../../shared/search_bar/search_bar'; function page({ title, @@ -47,12 +49,7 @@ function page({ title: string; tab: React.ComponentProps['selectedTab']; element: React.ReactElement; - searchBarOptions?: { - showUnifiedSearchBar?: boolean; - showTransactionTypeSelector?: boolean; - showTimeComparison?: boolean; - hidden?: boolean; - }; + searchBarOptions?: React.ComponentProps; }): { element: React.ReactElement; } { @@ -365,6 +362,20 @@ export const serviceDetailRoute = { }), }), }, + '/services/{serviceName}/profiling': { + ...page({ + tab: 'profiling', + title: i18n.translate('xpack.apm.views.profiling.title', { + defaultMessage: 'Universal Profiling', + }), + element: , + searchBarOptions: { + showTimeComparison: false, + showTransactionTypeSelector: false, + showQueryInput: false, + }, + }), + }, '/services/{serviceName}/': { element: , }, diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx index a2ab809092055..73c53dd5fda91 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx @@ -48,6 +48,7 @@ import { AnalyzeDataButton } from './analyze_data_button'; import { ServerlessType } from '../../../../../common/serverless'; import { useApmFeatureFlag } from '../../../../hooks/use_apm_feature_flag'; import { ApmFeatureFlagName } from '../../../../../common/apm_feature_flags'; +import { useProfilingPlugin } from '../../../../hooks/use_profiling_plugin'; type Tab = NonNullable[0] & { key: @@ -60,7 +61,8 @@ type Tab = NonNullable[0] & { | 'infrastructure' | 'service-map' | 'logs' - | 'alerts'; + | 'alerts' + | 'profiling'; hidden?: boolean; }; @@ -215,6 +217,7 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) { plugins, capabilities ); + const { isProfilingAvailable } = useProfilingPlugin(); const router = useApmRouter(); const isInfraTabAvailable = useApmFeatureFlag( @@ -391,6 +394,24 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) { }), hidden: !(isAlertingAvailable && canReadAlerts), }, + { + key: 'profiling', + href: router.link('/services/{serviceName}/profiling', { + path: { serviceName }, + query, + }), + label: i18n.translate('xpack.apm.home.profilingTabLabel', { + defaultMessage: 'Universal Profiling', + }), + hidden: !isProfilingAvailable, + append: ( + + {i18n.translate('xpack.apm.universalProfiling.newLabel', { + defaultMessage: 'New', + })} + + ), + }, ]; return tabs diff --git a/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx b/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx index d2f25880ade33..9fd6299a3f67e 100644 --- a/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx +++ b/x-pack/plugins/apm/public/components/shared/search_bar/search_bar.tsx @@ -23,6 +23,7 @@ interface Props { hidden?: boolean; showUnifiedSearchBar?: boolean; showTimeComparison?: boolean; + showQueryInput?: boolean; showTransactionTypeSelector?: boolean; searchBarPlaceholder?: string; searchBarBoolFilter?: QueryDslQueryContainer[]; @@ -33,6 +34,7 @@ export function SearchBar({ showUnifiedSearchBar = true, showTimeComparison = false, showTransactionTypeSelector = false, + showQueryInput = true, searchBarPlaceholder, searchBarBoolFilter, }: Props) { @@ -72,6 +74,7 @@ export function SearchBar({ )} diff --git a/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx b/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx index 66e7bfd514d86..daf9346dba2d5 100644 --- a/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/unified_search_bar/index.tsx @@ -123,6 +123,7 @@ export function UnifiedSearchBar({ placeholder, value, showDatePicker = true, + showQueryInput = true, showSubmitButton = true, isClearable = true, boolFilter, @@ -130,6 +131,7 @@ export function UnifiedSearchBar({ placeholder?: string; value?: string; showDatePicker?: boolean; + showQueryInput?: boolean; showSubmitButton?: boolean; isClearable?: boolean; boolFilter?: QueryDslQueryContainer[]; @@ -303,7 +305,7 @@ export function UnifiedSearchBar({ placeholder={searchbarPlaceholder} useDefaultBehaviors={true} indexPatterns={dataView ? [dataView] : undefined} - showQueryInput={true} + showQueryInput={showQueryInput} showQueryMenu={false} showFilterBar={false} showDatePicker={showDatePicker} diff --git a/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx b/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx index 945bbc43fe3a2..829a094375d30 100644 --- a/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx +++ b/x-pack/plugins/apm/public/hooks/use_profiling_plugin.tsx @@ -31,12 +31,15 @@ export function useProfilingPlugin() { fetchIsProfilingSetup(); }, [plugins.profiling]); + const isProfilingAvailable = + isProfilingIntegrationEnabled && isProfilingPluginInitialized; + return { isProfilingPluginInitialized, - profilingLocators: - isProfilingIntegrationEnabled && isProfilingPluginInitialized - ? plugins.profiling?.locators - : undefined, + profilingLocators: isProfilingAvailable + ? plugins.profiling?.locators + : undefined, isProfilingIntegrationEnabled, + isProfilingAvailable, }; } diff --git a/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts b/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts index afeb0a60219ec..4186523029c99 100644 --- a/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts +++ b/x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts @@ -45,6 +45,7 @@ import { timeRangeMetadataRoute } from '../time_range_metadata/route'; import { traceRouteRepository } from '../traces/route'; import { transactionRouteRepository } from '../transactions/route'; import { assistantRouteRepository } from '../assistant_functions/route'; +import { profilingRouteRepository } from '../profiling/route'; function getTypedGlobalApmServerRouteRepository() { const repository = { @@ -83,6 +84,7 @@ function getTypedGlobalApmServerRouteRepository() { ...mobileRouteRepository, ...diagnosticsRepository, ...assistantRouteRepository, + ...profilingRouteRepository, }; return repository; diff --git a/x-pack/plugins/apm/server/routes/profiling/get_service_host_names.ts b/x-pack/plugins/apm/server/routes/profiling/get_service_host_names.ts new file mode 100644 index 0000000000000..7ef8b01d6dfc1 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/get_service_host_names.ts @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { kqlQuery, rangeQuery } from '@kbn/observability-plugin/server'; +import { ApmServiceTransactionDocumentType } from '../../../common/document_type'; +import { HOST_HOSTNAME, SERVICE_NAME } from '../../../common/es_fields/apm'; +import { RollupInterval } from '../../../common/rollup'; +import { environmentQuery } from '../../../common/utils/environment_query'; +import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; + +export async function getServiceHostNames({ + apmEventClient, + serviceName, + start, + end, + environment, + kuery, + documentType, + rollupInterval, +}: { + environment: string; + kuery: string; + serviceName: string; + start: number; + end: number; + apmEventClient: APMEventClient; + documentType: ApmServiceTransactionDocumentType; + rollupInterval: RollupInterval; +}) { + const response = await apmEventClient.search('get_service_host_names', { + apm: { + sources: [{ documentType, rollupInterval }], + }, + body: { + track_total_hits: false, + size: 0, + query: { + bool: { + filter: [ + { term: { [SERVICE_NAME]: serviceName } }, + ...rangeQuery(start, end), + ...environmentQuery(environment), + ...kqlQuery(kuery), + ], + }, + }, + aggs: { + hostNames: { + terms: { + field: HOST_HOSTNAME, + size: 500, + }, + }, + }, + }, + }); + + return ( + response.aggregations?.hostNames.buckets.map( + (bucket) => bucket.key as string + ) || [] + ); +} diff --git a/x-pack/plugins/apm/server/routes/profiling/route.ts b/x-pack/plugins/apm/server/routes/profiling/route.ts new file mode 100644 index 0000000000000..584b96ff0468e --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/route.ts @@ -0,0 +1,71 @@ +/* + * 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 * as t from 'io-ts'; +import type { BaseFlameGraph } from '@kbn/profiling-utils'; +import { createApmServerRoute } from '../apm_routes/create_apm_server_route'; +import { + environmentRt, + kueryRt, + rangeRt, + serviceTransactionDataSourceRt, +} from '../default_api_types'; +import { getApmEventClient } from '../../lib/helpers/get_apm_event_client'; +import { getServiceHostNames } from './get_service_host_names'; +import { hostNamesToKuery } from './utils'; + +const profilingFlamegraphRoute = createApmServerRoute({ + endpoint: 'GET /internal/apm/services/{serviceName}/profiling/flamegraph', + params: t.type({ + path: t.type({ serviceName: t.string }), + query: t.intersection([ + rangeRt, + kueryRt, + environmentRt, + serviceTransactionDataSourceRt, + ]), + }), + options: { tags: ['access:apm'] }, + handler: async (resources): Promise => { + const { context, plugins, params } = resources; + const [esClient, apmEventClient, profilingDataAccessStart] = + await Promise.all([ + (await context.core).elasticsearch.client, + await getApmEventClient(resources), + await plugins.profilingDataAccess?.start(), + ]); + if (profilingDataAccessStart) { + const { start, end, kuery, environment, documentType, rollupInterval } = + params.query; + const { serviceName } = params.path; + + const serviceHostNames = await getServiceHostNames({ + apmEventClient, + start, + end, + kuery, + environment, + serviceName, + documentType, + rollupInterval, + }); + + return profilingDataAccessStart?.services.fetchFlamechartData({ + esClient: esClient.asCurrentUser, + rangeFromMs: start, + rangeToMs: end, + kuery: hostNamesToKuery(serviceHostNames), + }); + } + + return undefined; + }, +}); + +export const profilingRouteRepository = { + ...profilingFlamegraphRoute, +}; diff --git a/x-pack/plugins/apm/server/routes/profiling/utils.test.ts b/x-pack/plugins/apm/server/routes/profiling/utils.test.ts new file mode 100644 index 0000000000000..4161ca621570d --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/utils.test.ts @@ -0,0 +1,26 @@ +/* + * 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 { HOST_NAME } from '../../../common/es_fields/apm'; +import { hostNamesToKuery } from './utils'; + +describe('profiling utils', () => { + describe('hostNamesToKuery', () => { + it('returns a single hostname', () => { + expect(hostNamesToKuery(['foo'])).toEqual(`${HOST_NAME} : "foo"`); + }); + + it('returns multiple hostnames', () => { + expect(hostNamesToKuery(['foo', 'bar', 'baz'])).toEqual( + `${HOST_NAME} : "foo" OR ${HOST_NAME} : "bar" OR ${HOST_NAME} : "baz"` + ); + }); + + it('return empty string when no hostname', () => { + expect(hostNamesToKuery([])).toEqual(''); + }); + }); +}); diff --git a/x-pack/plugins/apm/server/routes/profiling/utils.ts b/x-pack/plugins/apm/server/routes/profiling/utils.ts new file mode 100644 index 0000000000000..e98979c03251b --- /dev/null +++ b/x-pack/plugins/apm/server/routes/profiling/utils.ts @@ -0,0 +1,19 @@ +/* + * 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 { isEmpty } from 'lodash'; +import { HOST_NAME } from '../../../common/es_fields/apm'; + +export function hostNamesToKuery(hostNames: string[]) { + return hostNames.reduce((acc, hostName) => { + if (isEmpty(acc)) { + return `${HOST_NAME} : "${hostName}"`; + } + + return `${acc} OR ${HOST_NAME} : "${hostName}"`; + }, ''); +} diff --git a/x-pack/plugins/apm/server/types.ts b/x-pack/plugins/apm/server/types.ts index ec3fb5b80e130..ffe875e0e6d91 100644 --- a/x-pack/plugins/apm/server/types.ts +++ b/x-pack/plugins/apm/server/types.ts @@ -61,6 +61,10 @@ import { CustomIntegrationsPluginSetup, CustomIntegrationsPluginStart, } from '@kbn/custom-integrations-plugin/server'; +import { + ProfilingDataAccessPluginSetup, + ProfilingDataAccessPluginStart, +} from '@kbn/profiling-data-access-plugin/server'; import { APMConfig } from '.'; export interface APMPluginSetup { @@ -91,6 +95,7 @@ export interface APMPluginSetupDependencies { taskManager?: TaskManagerSetupContract; usageCollection?: UsageCollectionSetup; customIntegrations?: CustomIntegrationsPluginSetup; + profilingDataAccess?: ProfilingDataAccessPluginSetup; } export interface APMPluginStartDependencies { // required dependencies @@ -116,4 +121,5 @@ export interface APMPluginStartDependencies { taskManager?: TaskManagerStartContract; usageCollection?: undefined; customIntegrations?: CustomIntegrationsPluginStart; + profilingDataAccess?: ProfilingDataAccessPluginStart; } diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index fe805744ad11d..edfcdda7a2006 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -96,6 +96,8 @@ "@kbn/discover-plugin", "@kbn/observability-ai-assistant-plugin", "@kbn/apm-data-access-plugin", + "@kbn/profiling-data-access-plugin", + "@kbn/profiling-utils", "@kbn/core-analytics-server", "@kbn/analytics-client", "@kbn/monaco" diff --git a/x-pack/plugins/canvas/common/lib/constants.ts b/x-pack/plugins/canvas/common/lib/constants.ts index fdc6df4c60193..187dfc9f15f8d 100644 --- a/x-pack/plugins/canvas/common/lib/constants.ts +++ b/x-pack/plugins/canvas/common/lib/constants.ts @@ -49,4 +49,3 @@ export const API_ROUTE_SHAREABLE_RUNTIME_DOWNLOAD = `/public/canvas/${SHAREABLE_ export const CANVAS_EMBEDDABLE_CLASSNAME = `canvasEmbeddable`; export const CONTEXT_MENU_TOP_BORDER_CLASSNAME = 'canvasContextMenu--topBorder'; export const API_ROUTE_FUNCTIONS = `${INTERNAL_API_ROUTE}/fns`; -export const HEADER_BANNER_HEIGHT = 32; // This value is also declared in `/src/core/public/_variables.scss` diff --git a/x-pack/plugins/canvas/public/components/workpad/workpad.component.tsx b/x-pack/plugins/canvas/public/components/workpad/workpad.component.tsx index 0d403ec960c80..c5a4f7e1ef60d 100644 --- a/x-pack/plugins/canvas/public/components/workpad/workpad.component.tsx +++ b/x-pack/plugins/canvas/public/components/workpad/workpad.component.tsx @@ -5,16 +5,12 @@ * 2.0. */ -import React, { FC } from 'react'; +import React, { FC, useMemo } from 'react'; import { css } from '@emotion/react'; // @ts-expect-error import { WorkpadPage } from '../workpad_page'; import { Fullscreen } from '../fullscreen'; -import { - HEADER_BANNER_HEIGHT, - WORKPAD_CANVAS_BUFFER, - DEFAULT_WORKPAD_CSS, -} from '../../../common/lib/constants'; +import { WORKPAD_CANVAS_BUFFER, DEFAULT_WORKPAD_CSS } from '../../../common/lib/constants'; import { CommitFn, CanvasPage } from '../../../types'; import { WorkpadShortcuts } from './workpad_shortcuts.component'; @@ -71,7 +67,17 @@ export const Workpad: FC = ({ zoomOut, zoomScale, }) => { - const headerBannerOffset = hasHeaderBanner ? HEADER_BANNER_HEIGHT : 0; + const headerBannerOffset = useMemo(() => { + if (!hasHeaderBanner) return 0; + if (typeof document === 'undefined') return 0; + + // Get the banner height from the CSS variable value + const headerHeightFromCSS = getComputedStyle(document.documentElement).getPropertyValue( + '--kbnHeaderBannerHeight' + ); + // Remove the CSS unit + return parseInt(headerHeightFromCSS, 10); + }, [hasHeaderBanner]); const bufferStyle = { height: isFullscreen ? height : (height + 2 * WORKPAD_CANVAS_BUFFER) * zoomScale, diff --git a/x-pack/plugins/cloud_security_posture/public/common/types.ts b/x-pack/plugins/cloud_security_posture/public/common/types.ts index d9bdc58cd3bb3..6ebfe7c7a0fa3 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/types.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/types.ts @@ -74,6 +74,10 @@ export interface RuleCreateProps { description: string; tags: string[]; max_signals: number; + investigation_fields?: { + field_names: string[]; + }; + note?: string; } export interface RuleResponse extends RuleCreateProps { diff --git a/x-pack/plugins/cloud_security_posture/public/common/utils/get_vulnerability_reference_url.ts b/x-pack/plugins/cloud_security_posture/public/common/utils/get_vulnerability_reference_url.ts deleted file mode 100644 index b8c6adf2063a7..0000000000000 --- a/x-pack/plugins/cloud_security_posture/public/common/utils/get_vulnerability_reference_url.ts +++ /dev/null @@ -1,17 +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 type { Vulnerability } from '../../../common/schemas'; - -export const getVulnerabilityReferenceUrl = (vulnerability: Vulnerability): string | undefined => { - const nvdDomain = 'https://nvd'; - const nvdWebsite = `${nvdDomain}.nist.gov/vuln/detail/${vulnerability?.id}`; - - const vulnerabilityReference = vulnerability?.cvss?.nvd ? nvdWebsite : vulnerability?.reference; - - return vulnerabilityReference; -}; diff --git a/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx b/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx index 0ee3cd24d36e1..eeea89f9a310f 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/detection_rule_counter.tsx @@ -111,8 +111,8 @@ export const DetectionRuleCounter = ({ tags, createRuleFn }: DetectionRuleCounte />{' '} diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx index dc2b46dd364fe..b1774547a6e6d 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx @@ -44,8 +44,8 @@ interface AWSSetupInfoContentProps { const AWSSetupInfoContent = ({ integrationLink }: AWSSetupInfoContentProps) => { return ( <> - - + +

    ( <> - - + +

    ( <> - - - + +

    @@ -227,7 +227,6 @@ const AwsAccountTypeSelect = ({ )} - ); }; @@ -248,7 +247,7 @@ const GcpAccountTypeSelect = ({ @@ -274,7 +273,6 @@ const GcpAccountTypeSelect = ({ defaultMessage="Deploying to a single account is suitable for an initial POC. To ensure complete coverage, it is strongly recommended to deploy CSPM at the organization-level, which automatically connects all accounts (both current and future)." /> - ); }; @@ -436,6 +434,13 @@ export const CspPolicyTemplateForm = memo + {/* Defines the name/description */} + updatePolicy({ ...newPolicy, [field]: value })} + /> + + {/* AWS account type selection box */} {input.type === 'cloudbeat/cis_aws' && ( )} - {/* Defines the name/description */} - updatePolicy({ ...newPolicy, [field]: value })} - /> {/* Defines the vars of the enabled input of the active policy template */} { - const referenceUrl = getVulnerabilityReferenceUrl(vulnerability); - return await createDetectionRule({ http, rule: { @@ -141,10 +141,11 @@ export const createDetectionRuleFromVulnerabilityFinding = async ( }, index: [VULNERABILITIES_INDEX_PATTERN], query: generateVulnerabilitiesRuleQuery(vulnerability), - references: referenceUrl ? [referenceUrl] : [], + references: vulnerability.reference ? [vulnerability.reference] : [], name: getVulnerabilityRuleName(vulnerability), description: vulnerability.description, tags: generateVulnerabilitiesTags(vulnerability), + investigation_fields: DEFAULT_INVESTIGATION_FIELDS, }, }); }; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx index 5b26029968e5a..ce5101bc57181 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/vulnerabilities/vulnerabilities_finding_flyout/vulnerability_finding_flyout.tsx @@ -28,7 +28,6 @@ import { euiThemeVars } from '@kbn/ui-theme'; import { css } from '@emotion/react'; import { HttpSetup } from '@kbn/core-http-browser'; import { TakeAction } from '../../../components/take_action'; -import { getVulnerabilityReferenceUrl } from '../../../common/utils/get_vulnerability_reference_url'; import { truthy } from '../../../../common/utils/helpers'; import { CspInlineDescriptionList } from '../../../components/csp_inline_description_list'; import { VulnerabilityOverviewTab } from './vulnerability_overview_tab'; @@ -158,7 +157,7 @@ export const VulnerabilityFindingFlyout = ({ { defaultMessage: 'Loading' } ); - const vulnerabilityReference = getVulnerabilityReferenceUrl(vulnerabilityRecord.vulnerability); + const vulnerabilityReference = vulnerability?.reference; const createVulnerabilityRuleFn = async (http: HttpSetup) => await createDetectionRuleFromVulnerabilityFinding(http, vulnerabilityRecord.vulnerability); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/schema/errors_accordion/index.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/schema/errors_accordion/index.tsx index 99f3d30c6caae..6b4bcba14fd1d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/schema/errors_accordion/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/schema/errors_accordion/index.tsx @@ -77,8 +77,9 @@ export const SchemaErrorsAccordion: React.FC = ({ diff --git a/x-pack/plugins/event_log/server/plugin.test.ts b/x-pack/plugins/event_log/server/plugin.test.ts index 35e02459010b1..d8a51a4f0eb47 100644 --- a/x-pack/plugins/event_log/server/plugin.test.ts +++ b/x-pack/plugins/event_log/server/plugin.test.ts @@ -10,6 +10,7 @@ import { coreMock } from '@kbn/core/server/mocks'; import { IEventLogService } from '.'; import { Plugin } from './plugin'; import { spacesMock } from '@kbn/spaces-plugin/server/mocks'; +import { serverlessPluginMock } from '@kbn/serverless/server/mocks'; describe('event_log plugin', () => { it('can setup and start', () => { @@ -18,8 +19,9 @@ describe('event_log plugin', () => { const coreStart = coreMock.createStart() as CoreStart; const plugin = new Plugin(initializerContext); - // serverless setup is currently empty, and there is no mock - const setup = plugin.setup(coreSetup, { serverless: {} }); + const setup = plugin.setup(coreSetup, { + serverless: serverlessPluginMock.createSetupContract(), + }); expect(typeof setup.getLogger).toBe('function'); expect(typeof setup.getProviderActions).toBe('function'); expect(typeof setup.isIndexingEntries).toBe('function'); @@ -41,8 +43,7 @@ describe('event_log plugin', () => { const plugin = new Plugin(initializerContext); const spaces = spacesMock.createStart(); - // serverless setup is currently empty, and there is no mock - plugin.setup(coreSetup, { serverless: {} }); + plugin.setup(coreSetup, { serverless: serverlessPluginMock.createSetupContract() }); plugin.start(coreStart, { spaces }); await plugin.stop(); expect(mockLogger.debug).toBeCalledWith('shutdown: waiting to finish'); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_stream.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_stream.tsx index 1a13bbcf25367..6b1bfaaaa0961 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_stream.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_stream.tsx @@ -53,7 +53,7 @@ import { sortDatastreamsByDataset } from './sort_datastreams'; const ScrollAnchor = styled.div` display: none; - scroll-margin-top: ${(props) => parseFloat(props.theme.eui.euiHeaderHeightCompensation) * 2}px; + scroll-margin-top: var(--euiFixedHeadersOffset, 0); `; interface Props { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx index e78f0407baf91..c6b603cd14700 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/components/page_steps/install_agent/install_agent_managed.tsx @@ -7,10 +7,10 @@ import React, { useState } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiText, EuiLink, EuiSteps, EuiSpacer } from '@elastic/eui'; +import { EuiText, EuiLink, EuiSteps, EuiSpacer, EuiLoadingSpinner } from '@elastic/eui'; import { Error } from '../../../../../../../components'; -import { useKibanaVersion, useStartServices } from '../../../../../../../../../hooks'; +import { useStartServices, useAgentVersion } from '../../../../../../../../../hooks'; import { CreatePackagePolicyBottomBar, NotObscuredByBottomBar } from '../..'; import { @@ -40,7 +40,7 @@ export const InstallElasticAgentManagedPageStep: React.FC const { docLinks } = core; const link = docLinks.links.fleet.troubleshooting; - const kibanaVersion = useKibanaVersion(); + const agentVersion = useAgentVersion(); const [commandCopied, setCommandCopied] = useState(false); const [applyCommandCopied, setApplyCommandCopied] = useState(false); @@ -66,7 +66,7 @@ export const InstallElasticAgentManagedPageStep: React.FC apiKey: enrollmentAPIKey.api_key, fleetProxy, fleetServerHosts, - kibanaVersion, + agentVersion: agentVersion || '', }); const steps = [ @@ -103,6 +103,10 @@ export const InstallElasticAgentManagedPageStep: React.FC }) ); + if (!agentVersion) { + return ; + } + return ( <> diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx index 3879f44d5fbe0..a9185d3efa743 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/components/post_install_google_cloud_shell_modal.tsx @@ -10,6 +10,7 @@ import { EuiButton, EuiButtonEmpty, EuiCallOut, + EuiLoadingSpinner, EuiModal, EuiModalBody, EuiModalFooter, @@ -25,7 +26,7 @@ import { sendGetEnrollmentAPIKeys, useCreateCloudShellUrl, useFleetServerHostsForPolicy, - useKibanaVersion, + useAgentVersion, } from '../../../../../hooks'; import { GoogleCloudShellGuide } from '../../../../../components'; import { ManualInstructions } from '../../../../../../../components/enrollment_instructions'; @@ -44,18 +45,22 @@ export const PostInstallGoogleCloudShellModal: React.FunctionComponent<{ }) ); const { fleetServerHosts, fleetProxy } = useFleetServerHostsForPolicy(agentPolicy); - const kibanaVersion = useKibanaVersion(); + const agentVersion = useAgentVersion(); + + const { cloudShellUrl, error, isError, isLoading } = useCreateCloudShellUrl({ + enrollmentAPIKey: apyKeysData?.data?.items[0]?.api_key, + packagePolicy, + }); + + if (!agentVersion) { + return ; + } const installManagedCommands = ManualInstructions({ apiKey: apyKeysData?.data?.items[0]?.api_key || 'no_key', fleetServerHosts, fleetProxy, - kibanaVersion, - }); - - const { cloudShellUrl, error, isError, isLoading } = useCreateCloudShellUrl({ - enrollmentAPIKey: apyKeysData?.data?.items[0]?.api_key, - packagePolicy, + agentVersion, }); return ( diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/controls.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/controls.tsx index 08004cadeb46d..cb5c61ff57a14 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/controls.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/controls.tsx @@ -27,7 +27,7 @@ export const ControlsColumn = ({ controls, title }: ControlsColumnProps) => { ); } return ( - + {titleContent} {controls} diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx index 97adcaa7e40a6..19e267d3c2aee 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx @@ -168,7 +168,7 @@ export const PackageListGrid: FunctionComponent = ({ gutterSize="xl" data-test-subj="epmList.integrationCards" > - + diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx index 8f9b13671ce65..47ee70bf2438a 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/agent_enrollment_flyout.test.mocks.tsx @@ -15,6 +15,7 @@ jest.mock('../../hooks', () => { ...jest.requireActual('../../hooks'), useFleetServerStandalone: jest.fn(), useAgentEnrollmentFlyoutData: jest.fn(), + useAgentVersion: jest.fn().mockReturnValue('8.1.0'), }; }); diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx index 912ad1e4ae42d..7d3e26fe2e954 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx @@ -7,7 +7,7 @@ import React, { useState, useMemo, useEffect } from 'react'; -import { EuiSteps } from '@elastic/eui'; +import { EuiSteps, EuiLoadingSpinner } from '@elastic/eui'; import { safeDump } from 'js-yaml'; import type { EuiContainedStepProps } from '@elastic/eui/src/components/steps/steps'; @@ -21,8 +21,8 @@ import { StandaloneInstructions, ManualInstructions } from '../../enrollment_ins import { useGetOneEnrollmentAPIKey, useStartServices, - useKibanaVersion, sendGetOneAgentPolicyFull, + useAgentVersion, } from '../../../hooks'; import type { InstructionProps } from '../types'; @@ -59,7 +59,6 @@ export const StandaloneSteps: React.FunctionComponent = ({ const { notifications } = core; const [fullAgentPolicy, setFullAgentPolicy] = useState(); const [yaml, setYaml] = useState(''); - const kibanaVersion = useKibanaVersion(); let downloadLink = ''; @@ -123,8 +122,10 @@ export const StandaloneSteps: React.FunctionComponent = ({ } }, [fullAgentPolicy, isK8s]); + const agentVersion = useAgentVersion(); + const instructionsSteps = useMemo(() => { - const standaloneInstallCommands = StandaloneInstructions(kibanaVersion); + const standaloneInstallCommands = StandaloneInstructions(agentVersion || ''); const steps: EuiContainedStepProps[] = !agentPolicy ? [ @@ -164,7 +165,7 @@ export const StandaloneSteps: React.FunctionComponent = ({ return steps; }, [ - kibanaVersion, + agentVersion, isK8s, cloudSecurityIntegration, agentPolicy, @@ -181,6 +182,10 @@ export const StandaloneSteps: React.FunctionComponent = ({ setMode, ]); + if (!agentVersion) { + return ; + } + return ; }; @@ -202,7 +207,6 @@ export const ManagedSteps: React.FunctionComponent = ({ cloudSecurityIntegration, installedPackagePolicy, }) => { - const kibanaVersion = useKibanaVersion(); const core = useStartServices(); const { docLinks } = core; const link = docLinks.links.fleet.troubleshooting; @@ -214,11 +218,13 @@ export const ManagedSteps: React.FunctionComponent = ({ const enrolledAgentIds = usePollingAgentCount(selectedPolicy?.id || ''); + const agentVersion = useAgentVersion(); + const installManagedCommands = ManualInstructions({ apiKey: enrollToken, fleetServerHosts, fleetProxy, - kibanaVersion, + agentVersion: agentVersion || '', }); const instructionsSteps = useMemo(() => { @@ -326,5 +332,9 @@ export const ManagedSteps: React.FunctionComponent = ({ installedPackagePolicy, ]); + if (!agentVersion) { + return ; + } + return ; }; diff --git a/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx b/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx index ceda8b4c68905..b7a4fed713cad 100644 --- a/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx +++ b/x-pack/plugins/fleet/public/components/enrollment_instructions/manual/index.tsx @@ -27,12 +27,12 @@ export const ManualInstructions = ({ apiKey, fleetServerHosts, fleetProxy, - kibanaVersion, + agentVersion: agentVersion, }: { apiKey: string; fleetServerHosts: string[]; fleetProxy?: FleetProxy; - kibanaVersion: string; + agentVersion: string; }) => { const enrollArgs = getfleetServerHostsEnrollArgs(apiKey, fleetServerHosts, fleetProxy); const fleetServerUrl = enrollArgs?.split('--url=')?.pop()?.split('--enrollment')[0]; @@ -40,31 +40,31 @@ export const ManualInstructions = ({ const k8sCommand = 'kubectl apply -f elastic-agent-managed-kubernetes.yml'; - const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-linux-x86_64 + const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-linux-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-linux-x86_64.tar.gz +cd elastic-agent-${agentVersion}-linux-x86_64 sudo ./elastic-agent install ${enrollArgs}`; - const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-darwin-x86_64 + const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +cd elastic-agent-${agentVersion}-darwin-x86_64 sudo ./elastic-agent install ${enrollArgs}`; const windowsCommand = `$ProgressPreference = 'SilentlyContinue' -Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-windows-x86_64.zip -OutFile elastic-agent-${kibanaVersion}-windows-x86_64.zip -Expand-Archive .\\elastic-agent-${kibanaVersion}-windows-x86_64.zip -DestinationPath . -cd elastic-agent-${kibanaVersion}-windows-x86_64 +Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-windows-x86_64.zip -OutFile elastic-agent-${agentVersion}-windows-x86_64.zip +Expand-Archive .\\elastic-agent-${agentVersion}-windows-x86_64.zip -DestinationPath . +cd elastic-agent-${agentVersion}-windows-x86_64 .\\elastic-agent.exe install ${enrollArgs}`; - const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-amd64.deb -sudo dpkg -i elastic-agent-${kibanaVersion}-amd64.deb + const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-amd64.deb +sudo dpkg -i elastic-agent-${agentVersion}-amd64.deb sudo elastic-agent enroll ${enrollArgs} \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-x86_64.rpm -sudo rpm -vi elastic-agent-${kibanaVersion}-x86_64.rpm + const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-x86_64.rpm +sudo rpm -vi elastic-agent-${agentVersion}-x86_64.rpm sudo elastic-agent enroll ${enrollArgs} \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const googleCloudShellCommand = `gcloud config set project && \nFLEET_URL=${fleetServerUrl} ENROLLMENT_TOKEN=${enrollmentToken} STACK_VERSION=${kibanaVersion} ./deploy.sh`; + const googleCloudShellCommand = `gcloud config set project && \nFLEET_URL=${fleetServerUrl} ENROLLMENT_TOKEN=${enrollmentToken} STACK_VERSION=${agentVersion} ./deploy.sh`; return { linux: linuxCommand, diff --git a/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx b/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx index 6994cf2a7ebc2..54a03d9dc942c 100644 --- a/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx +++ b/x-pack/plugins/fleet/public/components/enrollment_instructions/standalone/index.tsx @@ -6,27 +6,27 @@ */ import type { CommandsByPlatform } from '../../../applications/fleet/components/fleet_server_instructions/utils/install_command_utils'; -export const StandaloneInstructions = (kibanaVersion: string): CommandsByPlatform => { - const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-amd64.deb -sudo dpkg -i elastic-agent-${kibanaVersion}-amd64.deb \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; +export const StandaloneInstructions = (agentVersion: string): CommandsByPlatform => { + const linuxDebCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-amd64.deb +sudo dpkg -i elastic-agent-${agentVersion}-amd64.deb \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-x86_64.rpm -sudo rpm -vi elastic-agent-${kibanaVersion}-x86_64.rpm \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; + const linuxRpmCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-x86_64.rpm +sudo rpm -vi elastic-agent-${agentVersion}-x86_64.rpm \nsudo systemctl enable elastic-agent \nsudo systemctl start elastic-agent`; - const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-linux-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-linux-x86_64 + const linuxCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-linux-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-linux-x86_64.tar.gz +cd elastic-agent-${agentVersion}-linux-x86_64 sudo ./elastic-agent install`; - const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -tar xzvf elastic-agent-${kibanaVersion}-darwin-x86_64.tar.gz -cd elastic-agent-${kibanaVersion}-darwin-x86_64 + const macCommand = `curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +tar xzvf elastic-agent-${agentVersion}-darwin-x86_64.tar.gz +cd elastic-agent-${agentVersion}-darwin-x86_64 sudo ./elastic-agent install`; const windowsCommand = `$ProgressPreference = 'SilentlyContinue' -Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${kibanaVersion}-windows-x86_64.zip -OutFile elastic-agent-${kibanaVersion}-windows-x86_64.zip -Expand-Archive .\elastic-agent-${kibanaVersion}-windows-x86_64.zip -DestinationPath . -cd elastic-agent-${kibanaVersion}-windows-x86_64 +Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-${agentVersion}-windows-x86_64.zip -OutFile elastic-agent-${agentVersion}-windows-x86_64.zip +Expand-Archive .\elastic-agent-${agentVersion}-windows-x86_64.zip -DestinationPath . +cd elastic-agent-${agentVersion}-windows-x86_64 .\\elastic-agent.exe install`; const k8sCommand = 'kubectl apply -f elastic-agent-standalone-kubernetes.yml'; diff --git a/x-pack/plugins/fleet/public/hooks/index.ts b/x-pack/plugins/fleet/public/hooks/index.ts index eaddfbaa08009..f0ff14da7b454 100644 --- a/x-pack/plugins/fleet/public/hooks/index.ts +++ b/x-pack/plugins/fleet/public/hooks/index.ts @@ -34,3 +34,4 @@ export * from './use_fleet_server_standalone'; export * from './use_locator'; export * from './use_create_cloud_formation_url'; export * from './use_create_cloud_shell_url'; +export * from './use_agent_version'; diff --git a/x-pack/plugins/fleet/public/hooks/use_agent_version.ts b/x-pack/plugins/fleet/public/hooks/use_agent_version.ts new file mode 100644 index 0000000000000..32d0ee128ddcc --- /dev/null +++ b/x-pack/plugins/fleet/public/hooks/use_agent_version.ts @@ -0,0 +1,37 @@ +/* + * 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 { useEffect, useState } from 'react'; + +import { useKibanaVersion } from './use_kibana_version'; +import { sendGetAgentsAvailableVersions } from './use_request'; + +/** + * @returns The most recent agent version available to install or upgrade to. + */ +export const useAgentVersion = (): string | undefined => { + const kibanaVersion = useKibanaVersion(); + const [agentVersion, setAgentVersion] = useState(undefined); + + useEffect(() => { + const getVersions = async () => { + try { + const res = await sendGetAgentsAvailableVersions(); + // if the endpoint returns an error, use the fallback versions + const versionsList = res?.data?.items ? res.data.items : [kibanaVersion]; + + setAgentVersion(versionsList[0]); + } catch (err) { + return; + } + }; + + getVersions(); + }, [kibanaVersion]); + + return agentVersion; +}; diff --git a/x-pack/plugins/fleet/public/layouts/without_header.tsx b/x-pack/plugins/fleet/public/layouts/without_header.tsx index d9481d44359c2..0f60cb28814a7 100644 --- a/x-pack/plugins/fleet/public/layouts/without_header.tsx +++ b/x-pack/plugins/fleet/public/layouts/without_header.tsx @@ -12,12 +12,8 @@ import { EuiPage, EuiPageBody, EuiSpacer } from '@elastic/eui'; export const Wrapper = styled.div` background-color: ${(props) => props.theme.eui.euiColorEmptyShade}; - // HACK: Kibana introduces a div element around the app component that results in us - // being unable to stretch this Wrapper to full height via flex: 1. This calc sets - // the min height to the viewport size minus the height of the two global Kibana headers. - min-height: calc( - 100vh - ${(props) => parseFloat(props.theme.eui.euiHeaderHeightCompensation) * 2}px - ); + // Set the min height to the viewport size minus the height of any global Kibana headers + min-height: calc(100vh - var(--euiFixedHeadersOffset, 0)); `; export const Page = styled(EuiPage)` diff --git a/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts b/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts index 851b7abbfcecb..8e064a92a96a1 100644 --- a/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts +++ b/x-pack/plugins/fleet/server/routes/agent/handlers.test.ts @@ -5,72 +5,30 @@ * 2.0. */ -import { readFile } from 'fs/promises'; - import { coreMock, httpServerMock } from '@kbn/core/server/mocks'; import { getAvailableVersionsHandler } from './handlers'; -let mockKibanaVersion = '300.0.0'; -let mockConfig = {}; +jest.mock('../../services/agents/versions', () => { + return { + getAvailableVersions: jest.fn().mockReturnValue(['8.1.0', '8.0.0', '7.17.0']), + }; +}); + jest.mock('../../services/app_context', () => { const { loggerMock } = jest.requireActual('@kbn/logging-mocks'); return { appContextService: { getLogger: () => loggerMock.create(), - getKibanaVersion: () => mockKibanaVersion, - getConfig: () => mockConfig, }, }; }); -jest.mock('fs/promises'); - -const mockedReadFile = readFile as jest.MockedFunction; - describe('getAvailableVersionsHandler', () => { - it('should return available version and filter version < 7.17', async () => { - mockKibanaVersion = '300.0.0'; - const ctx = coreMock.createCustomRequestHandlerContext(coreMock.createRequestHandlerContext()); - const response = httpServerMock.createResponseFactory(); - - mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); - - await getAvailableVersionsHandler(ctx, httpServerMock.createKibanaRequest(), response); - - expect(response.ok).toBeCalled(); - expect(response.ok.mock.calls[0][0]?.body).toEqual({ - items: ['300.0.0', '8.1.0', '8.0.0', '7.17.0'], - }); - }); - - it('should not strip -SNAPSHOT from kibana version', async () => { - mockKibanaVersion = '300.0.0-SNAPSHOT'; + it('should return the value from getAvailableVersions', async () => { const ctx = coreMock.createCustomRequestHandlerContext(coreMock.createRequestHandlerContext()); const response = httpServerMock.createResponseFactory(); - mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); - - await getAvailableVersionsHandler(ctx, httpServerMock.createKibanaRequest(), response); - - expect(response.ok).toBeCalled(); - expect(response.ok.mock.calls[0][0]?.body).toEqual({ - items: ['300.0.0-SNAPSHOT', '8.1.0', '8.0.0', '7.17.0'], - }); - }); - - it('should not include the current version if onlyAllowAgentUpgradeToKnownVersions = true', async () => { - mockKibanaVersion = '300.0.0-SNAPSHOT'; - mockConfig = { - internal: { - onlyAllowAgentUpgradeToKnownVersions: true, - }, - }; - const ctx = coreMock.createCustomRequestHandlerContext(coreMock.createRequestHandlerContext()); - const response = httpServerMock.createResponseFactory(); - - mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); - await getAvailableVersionsHandler(ctx, httpServerMock.createKibanaRequest(), response); expect(response.ok).toBeCalled(); diff --git a/x-pack/plugins/fleet/server/routes/agent/handlers.ts b/x-pack/plugins/fleet/server/routes/agent/handlers.ts index c0534cad3a162..03c4805873892 100644 --- a/x-pack/plugins/fleet/server/routes/agent/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/agent/handlers.ts @@ -5,21 +5,10 @@ * 2.0. */ -import { readFile } from 'fs/promises'; -import Path from 'path'; - -import { REPO_ROOT } from '@kbn/repo-info'; import { uniq } from 'lodash'; -import semverGte from 'semver/functions/gte'; -import semverGt from 'semver/functions/gt'; -import semverCoerce from 'semver/functions/coerce'; import { type RequestHandler, SavedObjectsErrorHelpers } from '@kbn/core/server'; import type { TypeOf } from '@kbn/config-schema'; -import { appContextService } from '../../services'; - -const MINIMUM_SUPPORTED_VERSION = '7.17.0'; - import type { GetAgentsResponse, GetOneAgentResponse, @@ -363,36 +352,10 @@ function isStringArray(arr: unknown | string[]): arr is string[] { return Array.isArray(arr) && arr.every((p) => typeof p === 'string'); } -// Read a static file generated at build time export const getAvailableVersionsHandler: RequestHandler = async (context, request, response) => { - const AGENT_VERSION_BUILD_FILE = 'x-pack/plugins/fleet/target/agent_versions_list.json'; - const config = await appContextService.getConfig(); - let versionsToDisplay: string[] = []; - - const kibanaVersion = appContextService.getKibanaVersion(); - try { - const file = await readFile(Path.join(REPO_ROOT, AGENT_VERSION_BUILD_FILE), 'utf-8'); - - // Exclude versions older than MINIMUM_SUPPORTED_VERSION and pre-release versions (SNAPSHOT, rc..) - // De-dup and sort in descending order - const data: string[] = JSON.parse(file); - - const versions = data - .map((item: any) => semverCoerce(item)?.version || '') - .filter((v: any) => semverGte(v, MINIMUM_SUPPORTED_VERSION)) - .sort((a: any, b: any) => (semverGt(a, b) ? -1 : 1)); - versionsToDisplay = uniq(versions) as string[]; - - if (!config?.internal?.onlyAllowAgentUpgradeToKnownVersions) { - // Add current version if not already present - const hasCurrentVersion = versionsToDisplay.some((v) => v === kibanaVersion); - - versionsToDisplay = !hasCurrentVersion - ? [kibanaVersion].concat(versionsToDisplay) - : versionsToDisplay; - } - const body: GetAvailableVersionsResponse = { items: versionsToDisplay }; + const availableVersions = await AgentService.getAvailableVersions(); + const body: GetAvailableVersionsResponse = { items: availableVersions }; return response.ok({ body }); } catch (error) { return defaultFleetErrorHandler({ error, response }); diff --git a/x-pack/plugins/fleet/server/services/agent_policy.ts b/x-pack/plugins/fleet/server/services/agent_policy.ts index e3e4a5bd577d6..ce0bb850d644a 100644 --- a/x-pack/plugins/fleet/server/services/agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/agent_policy.ts @@ -83,7 +83,7 @@ import { } from './elastic_agent_manifest'; import { bulkInstallPackages } from './epm/packages'; -import { getAgentsByKuery } from './agents'; +import { getAgentsByKuery, getLatestAvailableVersion } from './agents'; import { packagePolicyService } from './package_policy'; import { incrementPackagePolicyCopyName } from './package_policies'; import { outputService } from './output'; @@ -1048,11 +1048,9 @@ class AgentPolicyService { }, }; + const agentVersion = await getLatestAvailableVersion(); const configMapYaml = fullAgentConfigMapToYaml(fullAgentConfigMap, safeDump); - const updateManifestVersion = elasticAgentStandaloneManifest.replace( - 'VERSION', - appContextService.getKibanaVersion() - ); + const updateManifestVersion = elasticAgentStandaloneManifest.replace('VERSION', agentVersion); const fixedAgentYML = configMapYaml.replace('agent.yml:', 'agent.yml: |-'); return [fixedAgentYML, updateManifestVersion].join('\n'); } else { @@ -1064,10 +1062,8 @@ class AgentPolicyService { fleetServer: string, enrolToken: string ): Promise { - const updateManifestVersion = elasticAgentManagedManifest.replace( - 'VERSION', - appContextService.getKibanaVersion() - ); + const agentVersion = await getLatestAvailableVersion(); + const updateManifestVersion = elasticAgentManagedManifest.replace('VERSION', agentVersion); let updateManifest = updateManifestVersion; if (fleetServer !== '') { updateManifest = updateManifest.replace('https://fleet-server:8220', fleetServer); diff --git a/x-pack/plugins/fleet/server/services/agents/index.ts b/x-pack/plugins/fleet/server/services/agents/index.ts index 6b83a4369dd8f..273e87fc436d4 100644 --- a/x-pack/plugins/fleet/server/services/agents/index.ts +++ b/x-pack/plugins/fleet/server/services/agents/index.ts @@ -20,3 +20,4 @@ export { getAgentUploads, getAgentUploadFile } from './uploads'; export { AgentServiceImpl } from './agent_service'; export type { AgentClient, AgentService } from './agent_service'; export { BulkActionsResolver } from './bulk_actions_resolver'; +export { getAvailableVersions, getLatestAvailableVersion } from './versions'; diff --git a/x-pack/plugins/fleet/server/services/agents/versions.test.ts b/x-pack/plugins/fleet/server/services/agents/versions.test.ts new file mode 100644 index 0000000000000..baf2a46762f9e --- /dev/null +++ b/x-pack/plugins/fleet/server/services/agents/versions.test.ts @@ -0,0 +1,59 @@ +/* + * 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 { readFile } from 'fs/promises'; + +let mockKibanaVersion = '300.0.0'; +let mockConfig = {}; +jest.mock('../app_context', () => { + const { loggerMock } = jest.requireActual('@kbn/logging-mocks'); + return { + appContextService: { + getLogger: () => loggerMock.create(), + getKibanaVersion: () => mockKibanaVersion, + getConfig: () => mockConfig, + }, + }; +}); + +jest.mock('fs/promises'); + +const mockedReadFile = readFile as jest.MockedFunction; +import { getAvailableVersions } from './versions'; + +describe('getAvailableVersions', () => { + it('should return available version and filter version < 7.17', async () => { + mockKibanaVersion = '300.0.0'; + mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); + + const res = await getAvailableVersions(false); + + expect(res).toEqual(['300.0.0', '8.1.0', '8.0.0', '7.17.0']); + }); + + it('should not strip -SNAPSHOT from kibana version', async () => { + mockKibanaVersion = '300.0.0-SNAPSHOT'; + mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); + + const res = await getAvailableVersions(false); + expect(res).toEqual(['300.0.0-SNAPSHOT', '8.1.0', '8.0.0', '7.17.0']); + }); + + it('should not include the current version if onlyAllowAgentUpgradeToKnownVersions = true', async () => { + mockKibanaVersion = '300.0.0-SNAPSHOT'; + mockConfig = { + internal: { + onlyAllowAgentUpgradeToKnownVersions: true, + }, + }; + mockedReadFile.mockResolvedValue(`["8.1.0", "8.0.0", "7.17.0", "7.16.0"]`); + + const res = await getAvailableVersions(false); + + expect(res).toEqual(['8.1.0', '8.0.0', '7.17.0']); + }); +}); diff --git a/x-pack/plugins/fleet/server/services/agents/versions.ts b/x-pack/plugins/fleet/server/services/agents/versions.ts new file mode 100644 index 0000000000000..7d8856fdd4c38 --- /dev/null +++ b/x-pack/plugins/fleet/server/services/agents/versions.ts @@ -0,0 +1,73 @@ +/* + * 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 { readFile } from 'fs/promises'; +import Path from 'path'; + +import { REPO_ROOT } from '@kbn/repo-info'; +import { uniq } from 'lodash'; +import semverGte from 'semver/functions/gte'; +import semverGt from 'semver/functions/gt'; +import semverCoerce from 'semver/functions/coerce'; + +import { appContextService } from '..'; + +const MINIMUM_SUPPORTED_VERSION = '7.17.0'; +const AGENT_VERSION_BUILD_FILE = 'x-pack/plugins/fleet/target/agent_versions_list.json'; + +let availableVersions: string[] | undefined; + +export const getLatestAvailableVersion = async (): Promise => { + const versions = await getAvailableVersions(); + return versions[0]; +}; + +export const getAvailableVersions = async (cached = true): Promise => { + // Use cached value to avoid reading from disk each time + if (cached && availableVersions) { + return availableVersions; + } + + // Read a static file generated at build time + const config = appContextService.getConfig(); + let versionsToDisplay: string[] = []; + + const kibanaVersion = appContextService.getKibanaVersion(); + + try { + const file = await readFile(Path.join(REPO_ROOT, AGENT_VERSION_BUILD_FILE), 'utf-8'); + + // Exclude versions older than MINIMUM_SUPPORTED_VERSION and pre-release versions (SNAPSHOT, rc..) + // De-dup and sort in descending order + const data: string[] = JSON.parse(file); + + const versions = data + .map((item: any) => semverCoerce(item)?.version || '') + .filter((v: any) => semverGte(v, MINIMUM_SUPPORTED_VERSION)) + .sort((a: any, b: any) => (semverGt(a, b) ? -1 : 1)); + versionsToDisplay = uniq(versions) as string[]; + + if (!config?.internal?.onlyAllowAgentUpgradeToKnownVersions) { + // Add current version if not already present + const hasCurrentVersion = versionsToDisplay.some((v) => v === kibanaVersion); + + versionsToDisplay = !hasCurrentVersion + ? [kibanaVersion].concat(versionsToDisplay) + : versionsToDisplay; + } + + availableVersions = versionsToDisplay; + + return availableVersions; + } catch (e) { + if (e.code === 'ENOENT' && !config?.internal?.onlyAllowAgentUpgradeToKnownVersions) { + // If the file does not exist, return the current version + return [kibanaVersion]; + } + throw e; + } +}; diff --git a/x-pack/plugins/fleet/server/services/index.ts b/x-pack/plugins/fleet/server/services/index.ts index 69f5889bcd210..323d091cae1d2 100644 --- a/x-pack/plugins/fleet/server/services/index.ts +++ b/x-pack/plugins/fleet/server/services/index.ts @@ -38,6 +38,7 @@ export interface AgentPolicyServiceInterface { // Agent services export { AgentServiceImpl } from './agents'; export type { AgentClient, AgentService } from './agents'; +export { getAvailableVersions, getLatestAvailableVersion } from './agents'; // Saved object services export { agentPolicyService } from './agent_policy'; diff --git a/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx b/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx index bdd77916db02f..857dc493041c1 100644 --- a/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/components/metadata_explanation.tsx @@ -21,7 +21,7 @@ const MetadataExplanationTooltipContent = React.memo(() => { }; return ( - + { iconSize="s" iconColor="subdued" icon="iInCircle" - panelPaddingSize="m" data-test-subj="infraAssetDetailsMetadataPopoverButton" > diff --git a/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx b/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx index 5f1af3f9f8a26..5d3f181a85ac1 100644 --- a/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/components/processes_explanation.tsx @@ -6,106 +6,32 @@ */ import React from 'react'; -import { EuiText, EuiLink } from '@elastic/eui'; +import { EuiText } from '@elastic/eui'; import { FormattedDate, FormattedMessage, FormattedTime } from '@kbn/i18n-react'; -import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { useDateRangeProviderContext } from '../hooks/use_date_range'; -import { Popover } from '../tabs/common/popover'; - -const DOCUMENTATION_LINK = - 'https://www.elastic.co/guide/en/observability/current/view-infrastructure-metrics.html'; -const SYSTEM_INTEGRATION_DOCS_LINK = 'https://docs.elastic.co/en/integrations/system'; - -const ProcessesExplanationTooltipContent = React.memo(() => { - const onClick = (e: React.MouseEvent) => { - e.stopPropagation(); - }; - - return ( - -

    - - - - ), - }} - /> -

    -

    - - - - ), - }} - /> -

    -
    - ); -}); export const ProcessesExplanationMessage = () => { const { getDateRangeInTimestamp } = useDateRangeProviderContext(); const dateFromRange = new Date(getDateRangeInTimestamp().to); return ( - - - - - ), - time: ( - - ), - }} - /> - - - - - - - - + + , + time: ( + + ), + }} + /> + ); }; diff --git a/x-pack/plugins/infra/public/components/asset_details/components/top_processes_tooltip.tsx b/x-pack/plugins/infra/public/components/asset_details/components/top_processes_tooltip.tsx new file mode 100644 index 0000000000000..15ca71c79ef52 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/components/top_processes_tooltip.tsx @@ -0,0 +1,78 @@ +/* + * 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 { i18n } from '@kbn/i18n'; +import { EuiText, EuiLink } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { Popover } from '../tabs/common/popover'; + +const DOCUMENTATION_LINK = + 'https://www.elastic.co/guide/en/observability/current/view-infrastructure-metrics.html'; +const SYSTEM_INTEGRATION_DOCS_LINK = 'https://docs.elastic.co/en/integrations/system'; + +export const TopProcessesTooltip = React.memo(() => { + return ( + + +

    + +

    +

    + + + + ), + }} + /> +

    +

    + + + + ), + }} + /> +

    +
    +
    + ); +}); diff --git a/x-pack/plugins/infra/public/components/asset_details/constants.ts b/x-pack/plugins/infra/public/components/asset_details/constants.ts index cdd5b95082158..a689efe20d5e3 100644 --- a/x-pack/plugins/infra/public/components/asset_details/constants.ts +++ b/x-pack/plugins/infra/public/components/asset_details/constants.ts @@ -5,8 +5,17 @@ * 2.0. */ +import { INTEGRATION_NAME } from './types'; + export const ASSET_DETAILS_FLYOUT_COMPONENT_NAME = 'infraAssetDetailsFlyout'; +export const ASSET_DETAILS_PAGE_COMPONENT_NAME = 'infraAssetDetailsPage'; + export const METRIC_CHART_HEIGHT = 300; export const APM_HOST_FILTER_FIELD = 'host.hostname'; export const ASSET_DETAILS_URL_STATE_KEY = 'assetDetails'; + +export const INTEGRATIONS = { + [INTEGRATION_NAME.nginx]: ['nginx.stubstatus', 'nginx.access'], + [INTEGRATION_NAME.kubernetes]: ['kubernetes.node'], +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx index 823f330e742a7..cec9826d00cf7 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/common/popover.tsx @@ -5,7 +5,6 @@ * 2.0. */ -import { PanelPaddingSize } from '@elastic/eui'; import { EuiPopover, EuiIcon, type IconType, type IconColor, type IconSize } from '@elastic/eui'; import { css } from '@emotion/react'; import React from 'react'; @@ -16,20 +15,18 @@ export const Popover = ({ icon, iconColor, iconSize, - panelPaddingSize, ...props }: { children: React.ReactNode; icon: IconType; iconColor?: IconColor; iconSize?: IconSize; - panelPaddingSize?: PanelPaddingSize; 'data-test-subj'?: string; }) => { const [isPopoverOpen, { off: closePopover, toggle: togglePopover }] = useBoolean(false); return ( ({ value, @@ -119,23 +119,7 @@ export const Processes = () => {
    - +
    diff --git a/x-pack/plugins/infra/public/components/asset_details/template/page.tsx b/x-pack/plugins/infra/public/components/asset_details/template/page.tsx index b08458731d813..f0a141d393f3f 100644 --- a/x-pack/plugins/infra/public/components/asset_details/template/page.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/template/page.tsx @@ -8,18 +8,55 @@ import { EuiFlexGroup, EuiPageTemplate } from '@elastic/eui'; import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; -import React from 'react'; +import React, { useEffect } from 'react'; +import { useKibanaContextForPlugin } from '../../../hooks/use_kibana'; import { useKibanaHeader } from '../../../hooks/use_kibana_header'; import { InfraLoadingPanel } from '../../loading'; +import { ASSET_DETAILS_PAGE_COMPONENT_NAME } from '../constants'; import { Content } from '../content/content'; import { useAssetDetailsRenderPropsContext } from '../hooks/use_asset_details_render_props'; +import { useMetadataStateProviderContext } from '../hooks/use_metadata_state'; import { usePageHeader } from '../hooks/use_page_header'; -import type { ContentTemplateProps } from '../types'; +import { useTabSwitcherContext } from '../hooks/use_tab_switcher'; +import { ContentTemplateProps } from '../types'; +import { getIntegrationsAvailable } from '../utils'; export const Page = ({ header: { tabs = [], links = [] } }: ContentTemplateProps) => { - const { asset, loading } = useAssetDetailsRenderPropsContext(); + const { loading } = useAssetDetailsRenderPropsContext(); + const { metadata, loading: metadataLoading } = useMetadataStateProviderContext(); const { rightSideItems, tabEntries, breadcrumbs } = usePageHeader(tabs, links); + const { asset, assetType } = useAssetDetailsRenderPropsContext(); const { headerHeight } = useKibanaHeader(); + const trackOnlyOnce = React.useRef(false); + + const { activeTabId } = useTabSwitcherContext(); + const { + services: { telemetry }, + } = useKibanaContextForPlugin(); + + useEffect(() => { + if (trackOnlyOnce.current) { + return; + } + if (!metadataLoading && metadata) { + const integrations = getIntegrationsAvailable(metadata); + const telemetryParams = { + componentName: ASSET_DETAILS_PAGE_COMPONENT_NAME, + assetType, + tabId: activeTabId, + }; + + telemetry.reportAssetDetailsPageViewed( + integrations.length > 0 + ? { + ...telemetryParams, + integrations, + } + : telemetryParams + ); + trackOnlyOnce.current = true; + } + }, [activeTabId, assetType, metadata, metadataLoading, telemetry]); return loading ? ( { const fromTs = new Date(from).getTime(); const toTs = new Date(to).getTime(); @@ -21,3 +24,13 @@ export const getDefaultDateRange = () => { to: new Date(now).toISOString(), }; }; + +export const getIntegrationsAvailable = (metadata?: InfraMetadata | null) => { + if (!metadata) { + return []; + } + + return Object.entries(INTEGRATIONS) + .filter(([_, fields]) => metadata?.features?.some((f) => fields.includes(f.name))) + .map(([name]) => name); +}; diff --git a/x-pack/plugins/infra/public/services/telemetry/telemetry_client.mock.ts b/x-pack/plugins/infra/public/services/telemetry/telemetry_client.mock.ts index 604fdcc272493..1f354ecd1670f 100644 --- a/x-pack/plugins/infra/public/services/telemetry/telemetry_client.mock.ts +++ b/x-pack/plugins/infra/public/services/telemetry/telemetry_client.mock.ts @@ -14,4 +14,5 @@ export const createTelemetryClientMock = (): jest.Mocked => ({ reportHostFlyoutFilterAdded: jest.fn(), reportHostsViewTotalHostCountRetrieved: jest.fn(), reportAssetDetailsFlyoutViewed: jest.fn(), + reportAssetDetailsPageViewed: jest.fn(), }); diff --git a/x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts b/x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts index 9107157c9835d..d4acc0a8bd96d 100644 --- a/x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts +++ b/x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts @@ -5,9 +5,10 @@ * 2.0. */ -import { AnalyticsServiceSetup } from '@kbn/core-analytics-server'; +import type { AnalyticsServiceSetup } from '@kbn/core-analytics-server'; import { AssetDetailsFlyoutViewedParams, + AssetDetailsPageViewedParams, HostEntryClickedParams, HostFlyoutFilterActionParams, HostsViewQueryHostsCountRetrievedParams, @@ -65,4 +66,8 @@ export class TelemetryClient implements ITelemetryClient { public reportAssetDetailsFlyoutViewed = (params: AssetDetailsFlyoutViewedParams) => { this.analytics.reportEvent(InfraTelemetryEventTypes.ASSET_DETAILS_FLYOUT_VIEWED, params); }; + + public reportAssetDetailsPageViewed = (params: AssetDetailsPageViewedParams) => { + this.analytics.reportEvent(InfraTelemetryEventTypes.ASSET_DETAILS_PAGE_VIEWED, params); + }; } diff --git a/x-pack/plugins/infra/public/services/telemetry/telemetry_events.ts b/x-pack/plugins/infra/public/services/telemetry/telemetry_events.ts index 56cce313ec219..6ce2d2b827623 100644 --- a/x-pack/plugins/infra/public/services/telemetry/telemetry_events.ts +++ b/x-pack/plugins/infra/public/services/telemetry/telemetry_events.ts @@ -118,21 +118,55 @@ const assetDetailsFlyoutViewed: InfraTelemetryEvent = { componentName: { type: 'keyword', _meta: { - description: 'Hostname for the clicked host.', + description: 'Name of the parent react component for the clicked asset.', optional: false, }, }, assetType: { type: 'keyword', _meta: { - description: 'Cloud provider for the clicked host.', + description: 'Asset type for the clicked asset.', optional: false, }, }, tabId: { type: 'keyword', _meta: { - description: 'Cloud provider for the clicked host.', + description: 'Tab id for the clicked asset.', + optional: true, + }, + }, + }, +}; + +const assetDetailsPageViewed: InfraTelemetryEvent = { + eventType: InfraTelemetryEventTypes.ASSET_DETAILS_PAGE_VIEWED, + schema: { + componentName: { + type: 'keyword', + _meta: { + description: 'Name of the parent react component for the clicked asset.', + optional: false, + }, + }, + assetType: { + type: 'keyword', + _meta: { + description: 'Asset type for the clicked asset.', + optional: false, + }, + }, + tabId: { + type: 'keyword', + _meta: { + description: 'Tab id for the clicked asset.', + optional: true, + }, + }, + integrations: { + type: 'pass_through', + _meta: { + description: 'Integrations enabled for the displayed asset.', optional: true, }, }, @@ -141,6 +175,7 @@ const assetDetailsFlyoutViewed: InfraTelemetryEvent = { export const infraTelemetryEvents = [ assetDetailsFlyoutViewed, + assetDetailsPageViewed, hostsViewQuerySubmittedEvent, hostsEntryClickedEvent, hostFlyoutRemoveFilter, diff --git a/x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts b/x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts index b3c4b02468ca6..ac450df7dd162 100644 --- a/x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts +++ b/x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts @@ -185,7 +185,7 @@ describe('TelemetryService', () => { }); describe('#reportAssetDetailsFlyoutViewed', () => { - it('should report asset details viewed with properties', async () => { + it('should report asset details viewed in flyout with properties', async () => { const setupParams = getSetupParams(); service.setup(setupParams); const telemetry = service.start(); @@ -207,4 +207,30 @@ describe('TelemetryService', () => { ); }); }); + + describe('#reportAssetDetailsPageViewed', () => { + it('should report asset details viewed in full page with properties', async () => { + const setupParams = getSetupParams(); + service.setup(setupParams); + const telemetry = service.start(); + + telemetry.reportAssetDetailsPageViewed({ + componentName: 'infraAssetDetailsPage', + assetType: 'host', + tabId: 'overview', + integrations: ['nginx'], + }); + + expect(setupParams.analytics.reportEvent).toHaveBeenCalledTimes(1); + expect(setupParams.analytics.reportEvent).toHaveBeenCalledWith( + InfraTelemetryEventTypes.ASSET_DETAILS_PAGE_VIEWED, + { + componentName: 'infraAssetDetailsPage', + assetType: 'host', + tabId: 'overview', + integrations: ['nginx'], + } + ); + }); + }); }); diff --git a/x-pack/plugins/infra/public/services/telemetry/types.ts b/x-pack/plugins/infra/public/services/telemetry/types.ts index 2ecf8115eaa58..3b1665078ee3a 100644 --- a/x-pack/plugins/infra/public/services/telemetry/types.ts +++ b/x-pack/plugins/infra/public/services/telemetry/types.ts @@ -19,6 +19,7 @@ export enum InfraTelemetryEventTypes { HOST_FLYOUT_FILTER_ADDED = 'Host Flyout Filter Added', HOST_VIEW_TOTAL_HOST_COUNT_RETRIEVED = 'Host View Total Host Count Retrieved', ASSET_DETAILS_FLYOUT_VIEWED = 'Asset Details Flyout Viewed', + ASSET_DETAILS_PAGE_VIEWED = 'Asset Details Page Viewed', } export interface HostsViewQuerySubmittedParams { @@ -47,6 +48,9 @@ export interface AssetDetailsFlyoutViewedParams { componentName: string; tabId?: string; } +export interface AssetDetailsPageViewedParams extends AssetDetailsFlyoutViewedParams { + integrations?: string[]; +} export type InfraTelemetryEventParams = | HostsViewQuerySubmittedParams @@ -62,6 +66,7 @@ export interface ITelemetryClient { reportHostsViewTotalHostCountRetrieved(params: HostsViewQueryHostsCountRetrievedParams): void; reportHostsViewQuerySubmitted(params: HostsViewQuerySubmittedParams): void; reportAssetDetailsFlyoutViewed(params: AssetDetailsFlyoutViewedParams): void; + reportAssetDetailsPageViewed(params: AssetDetailsPageViewedParams): void; } export type InfraTelemetryEvent = @@ -88,4 +93,8 @@ export type InfraTelemetryEvent = | { eventType: InfraTelemetryEventTypes.ASSET_DETAILS_FLYOUT_VIEWED; schema: RootSchema; + } + | { + eventType: InfraTelemetryEventTypes.ASSET_DETAILS_PAGE_VIEWED; + schema: RootSchema; }; diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx index 6cb2e1c7c8042..e64f951722ae9 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx @@ -66,6 +66,7 @@ import { DimensionEditorButtonGroups, CalloutWarning, DimensionEditorGroupsOptions, + isLayerChangingDueToDecimalsPercentile, } from './dimensions_editor_helpers'; import type { TemporaryState } from './dimensions_editor_helpers'; import { FieldInput } from './field_input'; @@ -124,11 +125,14 @@ export function DimensionEditor(props: DimensionEditorProps) { const [temporaryState, setTemporaryState] = useState('none'); const [isHelpOpen, setIsHelpOpen] = useState(false); + // If a layer has sampling disabled, assume the toast has already fired in the past const [hasRandomSamplingToastFired, setSamplingToastAsFired] = useState( !isSamplingValueEnabled(state.layers[layerId]) ); + const [hasRankingToastFired, setRankingToastAsFired] = useState(false); + const onHelpClick = () => setIsHelpOpen((prevIsHelpOpen) => !prevIsHelpOpen); const closeHelp = () => setIsHelpOpen(false); @@ -163,6 +167,32 @@ export function DimensionEditor(props: DimensionEditorProps) { [hasRandomSamplingToastFired, layerId, props.notifications.toasts, state.layers] ); + const fireOrResetRankingToast = useCallback( + (newLayer: FormBasedLayer) => { + if (isLayerChangingDueToDecimalsPercentile(state.layers[layerId], newLayer)) { + props.notifications.toasts.add({ + title: i18n.translate('xpack.lens.uiInfo.rankingResetTitle', { + defaultMessage: 'Ranking changed to alphabetical', + }), + text: i18n.translate('xpack.lens.uiInfo.rankingResetToAlphabetical', { + defaultMessage: 'To rank by percentile, use whole numbers only.', + }), + }); + } + // reset the flag if the user switches to another supported operation + setRankingToastAsFired(!hasRankingToastFired); + }, + [hasRankingToastFired, layerId, props.notifications.toasts, state.layers] + ); + + const fireOrResetToastChecks = useCallback( + (newLayer: FormBasedLayer) => { + fireOrResetRandomSamplingToast(newLayer); + fireOrResetRankingToast(newLayer); + }, + [fireOrResetRandomSamplingToast, fireOrResetRankingToast] + ); + const setStateWrapper = useCallback( ( setter: @@ -203,7 +233,7 @@ export function DimensionEditor(props: DimensionEditorProps) { } const newLayer = adjustColumnReferencesForChangedColumn(outputLayer, columnId); // Fire an info toast (eventually) on layer update - fireOrResetRandomSamplingToast(newLayer); + fireOrResetToastChecks(newLayer); return mergeLayer({ state: prevState, @@ -217,7 +247,7 @@ export function DimensionEditor(props: DimensionEditorProps) { } ); }, - [columnId, fireOrResetRandomSamplingToast, layerId, setState, state.layers] + [columnId, fireOrResetToastChecks, layerId, setState, state.layers] ); const incompleteInfo = (state.layers[layerId].incompleteColumns ?? {})[columnId]; @@ -811,7 +841,7 @@ export function DimensionEditor(props: DimensionEditorProps) { field, visualizationGroups: dimensionGroups, }); - fireOrResetRandomSamplingToast(newLayer); + fireOrResetToastChecks(newLayer); updateLayer(newLayer); }} onChooseField={(choice: FieldChoiceWithOperationType) => { @@ -846,7 +876,7 @@ export function DimensionEditor(props: DimensionEditorProps) { } else { newLayer = setter; } - fireOrResetRandomSamplingToast(newLayer); + fireOrResetToastChecks(newLayer); return updateLayer(adjustColumnReferencesForChangedColumn(newLayer, referenceId)); }} validation={validation} diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx index dc02232664ef6..9f2958c581688 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimensions_editor_helpers.tsx @@ -16,15 +16,71 @@ import './dimension_editor.scss'; import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiCallOut, EuiButtonGroup, EuiFormRow } from '@elastic/eui'; -import { operationDefinitionMap } from '../operations'; +import { nonNullable } from '../../../utils'; +import { + operationDefinitionMap, + type PercentileIndexPatternColumn, + type PercentileRanksIndexPatternColumn, + type TermsIndexPatternColumn, +} from '../operations'; +import { isColumnOfType } from '../operations/definitions/helpers'; +import { FormBasedLayer } from '../types'; export const formulaOperationName = 'formula'; export const staticValueOperationName = 'static_value'; export const quickFunctionsName = 'quickFunctions'; +export const termsOperationName = 'terms'; +export const optionallySortableOperationNames = ['percentile', 'percentile_ranks']; export const nonQuickFunctions = new Set([formulaOperationName, staticValueOperationName]); export type TemporaryState = typeof quickFunctionsName | typeof staticValueOperationName | 'none'; +export function isLayerChangingDueToDecimalsPercentile( + prevLayer: FormBasedLayer, + newLayer: FormBasedLayer +) { + // step 1: find the ranking column in prevState and return its value + const termsRiskyColumns = Object.entries(prevLayer.columns) + .map(([id, column]) => { + if ( + isColumnOfType('terms', column) && + column.params?.orderBy.type === 'column' && + column.params.orderBy.columnId != null + ) { + const rankingColumn = prevLayer.columns[column.params.orderBy.columnId]; + if (isColumnOfType('percentile', rankingColumn)) { + if (Number.isInteger(rankingColumn.params.percentile)) { + return { id, rankId: column.params.orderBy.columnId }; + } + } + if (isColumnOfType('percentile_rank', rankingColumn)) { + if (Number.isInteger(rankingColumn.params.value)) { + return { id, rankId: column.params.orderBy.columnId }; + } + } + } + }) + .filter(nonNullable); + // now check again the terms risky column in the new layer and verify that at + // least one changed due to decimals + const hasChangedDueToDecimals = termsRiskyColumns.some(({ id, rankId }) => { + const termsColumn = newLayer.columns[id]; + if (!isColumnOfType('terms', termsColumn)) { + return false; + } + if (termsColumn.params.orderBy.type === 'alphabetical') { + const rankingColumn = newLayer.columns[rankId]; + if (isColumnOfType('percentile', rankingColumn)) { + return !Number.isInteger(rankingColumn.params.percentile); + } + if (isColumnOfType('percentile_rank', rankingColumn)) { + return !Number.isInteger(rankingColumn.params.value); + } + } + }); + return hasChangedDueToDecimals; +} + export function isQuickFunction(operationType: string) { return !nonQuickFunctions.has(operationType); } diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts index 8424ea92ae931..560c1e26c59ae 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.test.ts @@ -8,7 +8,7 @@ import { createMockedIndexPattern } from '../../mocks'; import type { FormBasedLayer } from '../../types'; import type { GenericIndexPatternColumn } from './column_types'; -import { getInvalidFieldMessage } from './helpers'; +import { getInvalidFieldMessage, isValidNumber } from './helpers'; import type { TermsIndexPatternColumn } from './terms'; describe('helpers', () => { @@ -248,4 +248,77 @@ describe('helpers', () => { expect(messages).toBeUndefined(); }); }); + + describe('isValidNumber', () => { + it('should work for integers', () => { + const number = 99; + for (const value of [number, `${number}`]) { + expect(isValidNumber(value)).toBeTruthy(); + expect(isValidNumber(value, true)).toBeTruthy(); + expect(isValidNumber(value, false)).toBeTruthy(); + expect(isValidNumber(value, true, number, 1)).toBeTruthy(); + expect(isValidNumber(value, true, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 2)).toBeTruthy(); + expect(isValidNumber(value, false, number - 1, number - 2)).toBeFalsy(); + } + }); + + it('should work correctly for numeric falsy values', () => { + expect(isValidNumber(0)).toBeTruthy(); + expect(isValidNumber(0, true)).toBeTruthy(); + expect(isValidNumber(0, false)).toBeTruthy(); + expect(isValidNumber(0, true, 1, 0)).toBeTruthy(); + }); + + it('should work for decimals', () => { + const number = 99.9; + for (const value of [number, `${number}`]) { + expect(isValidNumber(value)).toBeTruthy(); + expect(isValidNumber(value, true)).toBeFalsy(); + expect(isValidNumber(value, false)).toBeTruthy(); + expect(isValidNumber(value, true, number, 1)).toBeFalsy(); + expect(isValidNumber(value, true, number + 1, number)).toBeFalsy(); + expect(isValidNumber(value, false, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 0)).toBeFalsy(); + expect(isValidNumber(value, false, number + 1, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 2)).toBeTruthy(); + expect(isValidNumber(value, false, number - 1, number - 2)).toBeFalsy(); + } + }); + + it('should work for negative values', () => { + const number = -10.1; + for (const value of [number, `${number}`]) { + expect(isValidNumber(value)).toBeTruthy(); + expect(isValidNumber(value, true)).toBeFalsy(); + expect(isValidNumber(value, false)).toBeTruthy(); + expect(isValidNumber(value, true, number, -20)).toBeFalsy(); + expect(isValidNumber(value, true, number + 1, number)).toBeFalsy(); + expect(isValidNumber(value, false, number, -20)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 0)).toBeFalsy(); + expect(isValidNumber(value, false, number + 1, number, 1)).toBeTruthy(); + expect(isValidNumber(value, false, number + 1, number, 2)).toBeTruthy(); + expect(isValidNumber(value, false, number - 1, number - 2)).toBeFalsy(); + } + }); + + it('should spot invalid values', () => { + for (const value of [NaN, ``, undefined, null, Infinity, -Infinity]) { + expect(isValidNumber(value)).toBeFalsy(); + expect(isValidNumber(value, true)).toBeFalsy(); + expect(isValidNumber(value, false)).toBeFalsy(); + expect(isValidNumber(value, true, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, true, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1, 0)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1, 1)).toBeFalsy(); + expect(isValidNumber(value, false, 99, 1, 2)).toBeFalsy(); + } + }); + }); }); diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx index 6dabd0dc07556..11a4e16a39f44 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/helpers.tsx @@ -138,11 +138,17 @@ export function getSafeName(name: string, indexPattern: IndexPattern | undefined }); } +function areDecimalsValid(inputValue: string | number, digits: number) { + const [, decimals = ''] = `${inputValue}`.split('.'); + return decimals.length <= digits; +} + export function isValidNumber( inputValue: string | number | null | undefined, integer?: boolean, upperBound?: number, - lowerBound?: number + lowerBound?: number, + digits: number = 2 ) { const inputValueAsNumber = Number(inputValue); return ( @@ -152,7 +158,8 @@ export function isValidNumber( Number.isFinite(inputValueAsNumber) && (!integer || Number.isInteger(inputValueAsNumber)) && (upperBound === undefined || inputValueAsNumber <= upperBound) && - (lowerBound === undefined || inputValueAsNumber >= lowerBound) + (lowerBound === undefined || inputValueAsNumber >= lowerBound) && + areDecimalsValid(inputValue, integer ? 0 : digits) ); } diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx index 71dc142742af2..3e999269c6d82 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx @@ -654,7 +654,7 @@ describe('percentile', () => { }); }); - it('should not update on invalid input, but show invalid value locally', () => { + it('should update on decimals input up to 2 digits', () => { const updateLayerSpy = jest.fn(); const instance = mount( { instance.update(); + expect(updateLayerSpy).toHaveBeenCalled(); + + expect( + instance + .find('[data-test-subj="lns-indexPattern-percentile-input"]') + .find(EuiRange) + .prop('value') + ).toEqual('12.12'); + }); + + it('should not update on invalid input, but show invalid value locally', () => { + const updateLayerSpy = jest.fn(); + const instance = mount( + + ); + + const input = instance + .find('[data-test-subj="lns-indexPattern-percentile-input"]') + .find(EuiRange); + + act(() => { + input.prop('onChange')!( + { currentTarget: { value: '12.1212312312312312' } } as ChangeEvent, + true + ); + }); + + instance.update(); + expect(updateLayerSpy).not.toHaveBeenCalled(); expect( @@ -692,7 +727,7 @@ describe('percentile', () => { .find('[data-test-subj="lns-indexPattern-percentile-input"]') .find(EuiRange) .prop('value') - ).toEqual('12.12'); + ).toEqual('12.1212312312312312'); }); }); }); diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx index 1b98b7bc9b2ae..20e3083a8e717 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.tsx @@ -67,6 +67,40 @@ function ofName( } const DEFAULT_PERCENTILE_VALUE = 95; +const ALLOWED_DECIMAL_DIGITS = 4; + +function getInvalidErrorMessage( + value: string | undefined, + isInline: boolean | undefined, + max: number, + min: number +) { + if ( + !isInline && + isValidNumber( + value, + false, + max, + min, + 15 // max supported digits in JS + ) + ) { + return i18n.translate('xpack.lens.indexPattern.percentile.errorMessageTooManyDigits', { + defaultMessage: 'Only {digits} numbers allowed after the decimal point.', + values: { + digits: ALLOWED_DECIMAL_DIGITS, + }, + }); + } + + return i18n.translate('xpack.lens.indexPattern.percentile.errorMessage', { + defaultMessage: 'Percentile has to be an integer between {min} and {max}', + values: { + min, + max, + }, + }); +} const supportedFieldTypes = ['number', 'histogram']; @@ -309,10 +343,13 @@ export const percentileOperation: OperationDefinition< i18n.translate('xpack.lens.indexPattern.percentile.percentileValue', { defaultMessage: 'Percentile', }); + + const step = isInline ? 1 : 0.0001; + const upperBound = isInline ? 99 : 99.9999; const onChange = useCallback( (value) => { if ( - !isValidNumber(value, true, 99, 1) || + !isValidNumber(value, isInline, upperBound, step, ALLOWED_DECIMAL_DIGITS) || Number(value) === currentColumn.params.percentile ) { return; @@ -334,7 +371,7 @@ export const percentileOperation: OperationDefinition< }, } as PercentileIndexPatternColumn); }, - [paramEditorUpdater, currentColumn, indexPattern] + [isInline, upperBound, step, currentColumn, paramEditorUpdater, indexPattern] ); const { inputValue, handleInputChange: handleInputChangeWithoutValidation } = useDebouncedValue< string | undefined @@ -342,7 +379,13 @@ export const percentileOperation: OperationDefinition< onChange, value: String(currentColumn.params.percentile), }); - const inputValueIsValid = isValidNumber(inputValue, true, 99, 1); + const inputValueIsValid = isValidNumber( + inputValue, + isInline, + upperBound, + step, + ALLOWED_DECIMAL_DIGITS + ); const handleInputChange = useCallback( (e) => handleInputChangeWithoutValidation(String(e.currentTarget.value)), @@ -357,12 +400,7 @@ export const percentileOperation: OperationDefinition< display="rowCompressed" fullWidth isInvalid={!inputValueIsValid} - error={ - !inputValueIsValid && - i18n.translate('xpack.lens.indexPattern.percentile.errorMessage', { - defaultMessage: 'Percentile has to be an integer between 1 and 99', - }) - } + error={!inputValueIsValid && getInvalidErrorMessage(inputValue, isInline, upperBound, step)} > {isInline ? ( @@ -382,9 +420,9 @@ export const percentileOperation: OperationDefinition< data-test-subj="lns-indexPattern-percentile-input" compressed value={inputValue ?? ''} - min={1} - max={99} - step={1} + min={step} + max={upperBound} + step={step} onChange={handleInputChange} showInput aria-label={percentileLabel} diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts index d51bff3c21a66..4f3e6c2217eb3 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/helpers.ts @@ -22,6 +22,7 @@ import type { FiltersIndexPatternColumn } from '..'; import type { TermsIndexPatternColumn } from './types'; import type { LastValueIndexPatternColumn } from '../last_value'; import type { PercentileRanksIndexPatternColumn } from '../percentile_ranks'; +import type { PercentileIndexPatternColumn } from '../percentile'; import type { FormBasedLayer } from '../../../types'; import { MULTI_KEY_VISUAL_SEPARATOR, supportedTypes } from './constants'; @@ -231,13 +232,21 @@ function checkLastValue(column: GenericIndexPatternColumn) { ); } +// allow the rank by metric only if the percentile rank value is integer +// https://github.com/elastic/elasticsearch/issues/66677 + +export function isPercentileSortable(column: GenericIndexPatternColumn) { + const isPercentileColumn = isColumnOfType('percentile', column); + return !isPercentileColumn || (isPercentileColumn && Number.isInteger(column.params.percentile)); +} + export function isPercentileRankSortable(column: GenericIndexPatternColumn) { - // allow the rank by metric only if the percentile rank value is integer - // https://github.com/elastic/elasticsearch/issues/66677 + const isPercentileRankColumn = isColumnOfType( + 'percentile_rank', + column + ); return ( - column.operationType !== 'percentile_rank' || - (column.operationType === 'percentile_rank' && - Number.isInteger((column as PercentileRanksIndexPatternColumn).params.value)) + !isPercentileRankColumn || (isPercentileRankColumn && Number.isInteger(column.params.value)) ); } @@ -248,6 +257,7 @@ export function isSortableByColumn(layer: FormBasedLayer, columnId: string) { !column.isBucketed && checkLastValue(column) && isPercentileRankSortable(column) && + isPercentileSortable(column) && !('references' in column) && !isReferenced(layer, columnId) ); diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx index 4aafe38ea39ee..4b8b5c23da6d1 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/index.tsx @@ -45,6 +45,7 @@ import { getFieldsByValidationState, isSortableByColumn, isPercentileRankSortable, + isPercentileSortable, } from './helpers'; import { DEFAULT_MAX_DOC_COUNT, @@ -310,7 +311,11 @@ export const termsOperation: OperationDefinition< const orderColumn = layer.columns[column.params.orderBy.columnId]; orderBy = String(orderedColumnIds.indexOf(column.params.orderBy.columnId)); // percentile rank with non integer value should default to alphabetical order - if (!orderColumn || !isPercentileRankSortable(orderColumn)) { + if ( + !orderColumn || + !isPercentileRankSortable(orderColumn) || + !isPercentileSortable(orderColumn) + ) { orderBy = '_key'; } } diff --git a/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts b/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts index 33bec4c23a1bf..6c216e52a2c33 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/to_expression.ts @@ -47,11 +47,21 @@ declare global { // esAggs column ID manipulation functions export const extractAggId = (id: string) => id.split('.')[0].split('-')[2]; +// Need a more complex logic for decimals percentiles +function getAggIdPostFixForPercentile(percentile: string, decimals?: string) { + if (!percentile && !decimals) { + return ''; + } + if (!decimals) { + return `.${percentile}`; + } + return `['${percentile}.${decimals}']`; +} const updatePositionIndex = (currentId: string, newIndex: number) => { - const [fullId, percentile] = currentId.split('.'); + const [fullId, percentile, percentileDecimals] = currentId.split('.'); const idParts = fullId.split('-'); idParts[1] = String(newIndex); - return idParts.join('-') + (percentile ? `.${percentile}` : ''); + return idParts.join('-') + getAggIdPostFixForPercentile(percentile, percentileDecimals); }; function getExpressionForLayer( diff --git a/x-pack/plugins/lens/public/shared_components/flyout_container.tsx b/x-pack/plugins/lens/public/shared_components/flyout_container.tsx index 6b970a3e55f38..46a5c5ca39706 100644 --- a/x-pack/plugins/lens/public/shared_components/flyout_container.tsx +++ b/x-pack/plugins/lens/public/shared_components/flyout_container.tsx @@ -98,7 +98,7 @@ export function FlyoutContainer({ ref={panelContainerRef} role="dialog" aria-labelledby="lnsDimensionContainerTitle" - className="lnsDimensionContainer euiFlyout" + className="lnsDimensionContainer" onAnimationEnd={() => { if (isOpen) { // EuiFocusTrap interferes with animating elements with absolute position: diff --git a/x-pack/plugins/lens/public/shared_components/ignore_global_filter/data_view_picker_icon.tsx b/x-pack/plugins/lens/public/shared_components/ignore_global_filter/data_view_picker_icon.tsx index f45db2e7bfa9a..8363a2d0f6530 100644 --- a/x-pack/plugins/lens/public/shared_components/ignore_global_filter/data_view_picker_icon.tsx +++ b/x-pack/plugins/lens/public/shared_components/ignore_global_filter/data_view_picker_icon.tsx @@ -28,7 +28,7 @@ export const getIgnoreGlobalFilterIcon = ({ type={'filterIgnore'} color={color} css={css` - margin-top: 15px; + margin-top: 5px; `} /> ), diff --git a/x-pack/plugins/log_explorer/common/constants.ts b/x-pack/plugins/log_explorer/common/constants.ts index fc1c572ebae26..e0ffcafed69e1 100644 --- a/x-pack/plugins/log_explorer/common/constants.ts +++ b/x-pack/plugins/log_explorer/common/constants.ts @@ -9,4 +9,17 @@ export const LOG_EXPLORER_PROFILE_ID = 'log-explorer'; // Fields constants export const TIMESTAMP_FIELD = '@timestamp'; +export const HOST_NAME_FIELD = 'host.name'; export const MESSAGE_FIELD = 'message'; +export const SERVICE_NAME_FIELD = 'service.name'; + +// Sizing +export const DATA_GRID_COLUMN_WIDTH_SMALL = 240; +export const DATA_GRID_COLUMN_WIDTH_MEDIUM = 320; + +// UI preferences +export const DATA_GRID_DEFAULT_COLUMNS = [SERVICE_NAME_FIELD, HOST_NAME_FIELD, MESSAGE_FIELD]; +export const DATA_GRID_COLUMNS_PREFERENCES = { + [HOST_NAME_FIELD]: { width: DATA_GRID_COLUMN_WIDTH_MEDIUM }, + [SERVICE_NAME_FIELD]: { width: DATA_GRID_COLUMN_WIDTH_SMALL }, +}; diff --git a/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts b/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts index f2e467f15afff..1864a4a558dac 100644 --- a/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts +++ b/x-pack/plugins/log_explorer/public/state_machines/log_explorer_profile/src/url_state_storage_service.ts @@ -7,9 +7,13 @@ import { InvokeCreator } from 'xstate'; import { pick, mapValues } from 'lodash'; import deepEqual from 'fast-deep-equal'; -import { DiscoverStateContainer } from '@kbn/discover-plugin/public'; +import { DiscoverAppState, DiscoverStateContainer } from '@kbn/discover-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; -import { MESSAGE_FIELD } from '../../../../common/constants'; +import { ROWS_HEIGHT_OPTIONS } from '@kbn/unified-data-table'; +import { + DATA_GRID_COLUMNS_PREFERENCES, + DATA_GRID_DEFAULT_COLUMNS, +} from '../../../../common/constants'; import { AllDatasetSelection, decodeDatasetSelectionId, @@ -178,14 +182,27 @@ export const updateStateContainer = LogExplorerProfileEvent > => async () => { - const { columns } = stateContainer.appState.getState(); + const { columns, grid, rowHeight } = stateContainer.appState.getState(); + const stateUpdates: DiscoverAppState = {}; + // Update data grid columns list const shouldSetDefaultColumns = stateContainer.appState.isEmptyURL() || !columns || columns.length === 0; - if (shouldSetDefaultColumns) { - stateContainer.appState.update({ columns: [MESSAGE_FIELD] }, true); + stateUpdates.columns = DATA_GRID_DEFAULT_COLUMNS; } + + // Configure DataGrid columns preferences + const initialColumnsPreferences = grid?.columns ?? {}; + stateUpdates.grid = { + columns: { ...DATA_GRID_COLUMNS_PREFERENCES, ...initialColumnsPreferences }, + }; + + // Configure rowHeight preference + stateUpdates.rowHeight = rowHeight ?? ROWS_HEIGHT_OPTIONS.single; + + // Finally batch update state app state + stateContainer.appState.update(stateUpdates, true); }; /** diff --git a/x-pack/plugins/log_explorer/tsconfig.json b/x-pack/plugins/log_explorer/tsconfig.json index 756f4bd6b156a..9cfb123160983 100644 --- a/x-pack/plugins/log_explorer/tsconfig.json +++ b/x-pack/plugins/log_explorer/tsconfig.json @@ -20,6 +20,7 @@ "@kbn/data-plugin", "@kbn/unified-field-list", "@kbn/core-application-browser", + "@kbn/unified-data-table", ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts index 0178aca04c344..d4f95d0256870 100644 --- a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts @@ -59,11 +59,11 @@ describe('[Logs onboarding] Custom logs - configure step', () => { .type('myLogs.log'); cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').should( 'have.value', - 'myLogs' + 'mylogs' ); cy.getByTestSubj('obltOnboardingCustomLogsDatasetName').should( 'have.value', - 'myLogs' + 'mylogs' ); }); @@ -280,7 +280,7 @@ describe('[Logs onboarding] Custom logs - configure step', () => { }); it('installation fails', () => { - cy.getByTestSubj('obltOnboardingCustomIntegrationUnauthorized').should( + cy.getByTestSubj('obltOnboardingCustomIntegrationErrorCallout').should( 'exist' ); }); @@ -304,8 +304,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { }); it('installation succeed and user is redirected install elastic agent step', () => { - cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); - cy.url().should( 'include', '/app/observabilityOnboarding/customLogs/installElasticAgent' @@ -349,7 +347,7 @@ describe('[Logs onboarding] Custom logs - configure step', () => { }); it('user should see the error displayed', () => { - cy.getByTestSubj('obltOnboardingCustomIntegrationUnknownError').should( + cy.getByTestSubj('obltOnboardingCustomIntegrationErrorCallout').should( 'exist' ); }); diff --git a/x-pack/plugins/observability_onboarding/kibana.jsonc b/x-pack/plugins/observability_onboarding/kibana.jsonc index 0379aec27b496..5c1615c3a95ba 100644 --- a/x-pack/plugins/observability_onboarding/kibana.jsonc +++ b/x-pack/plugins/observability_onboarding/kibana.jsonc @@ -7,7 +7,7 @@ "server": true, "browser": true, "configPath": ["xpack", "observability_onboarding"], - "requiredPlugins": ["data", "observability", "observabilityShared", "discover", "share"], + "requiredPlugins": ["data", "observability", "observabilityShared", "discover", "share", "fleet"], "optionalPlugins": ["cloud", "usageCollection"], "requiredBundles": ["kibanaReact"], "extraPublicDirs": ["common"] diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx index 798614365d6b0..9a6d83a3c84b3 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx @@ -7,10 +7,8 @@ import { EuiAccordion, - EuiButton, EuiButtonEmpty, EuiButtonIcon, - EuiCallOut, EuiFieldText, EuiFlexGroup, EuiFlexItem, @@ -27,13 +25,15 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; -import { isEmpty } from 'lodash'; import React, { useCallback, useState } from 'react'; import { - IntegrationError, - IntegrationOptions, - useCreateIntegration, -} from '../../../../hooks/use_create_integration'; + ConnectedCustomIntegrationsButton, + ConnectedCustomIntegrationsForm, + useConsumerCustomIntegrations, + CustomIntegrationsProvider, + Callbacks, +} from '@kbn/custom-integrations'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; import { useWizard } from '.'; import { OptionalFormRow } from '../../../shared/optional_form_row'; import { @@ -42,23 +42,78 @@ import { StepPanelFooter, } from '../../../shared/step_panel'; import { BackButton } from './back_button'; -import { getFilename, replaceSpecialChars } from './get_filename'; +import { getFilename } from './get_filename'; + +const customIntegrationsTestSubjects = { + create: { + integrationName: 'obltOnboardingCustomLogsIntegrationsName', + datasetName: 'obltOnboardingCustomLogsDatasetName', + errorCallout: { + callout: 'obltOnboardingCustomIntegrationErrorCallout', + }, + }, + button: 'obltOnboardingCustomLogsContinue', +}; export function ConfigureLogs() { - const [datasetNameTouched, setDatasetNameTouched] = useState(false); + const { + services: { http }, + } = useKibana(); + + const { goToStep, setState, getState } = useWizard(); + const { integrationName, datasetName, lastCreatedIntegrationOptions } = + getState(); + + const onIntegrationCreation: Callbacks['onIntegrationCreation'] = ( + integrationOptions + ) => { + const { + integrationName: createdIntegrationName, + datasets: createdDatasets, + } = integrationOptions; + setState((state) => ({ + ...state, + integrationName: createdIntegrationName, + datasetName: createdDatasets[0].name, + lastCreatedIntegrationOptions: integrationOptions, + })); + goToStep('installElasticAgent'); + }; + + return ( + + + + ); +} + +export function ConfigureLogsContent() { + const { + dispatchableEvents: { updateCreateFields }, + } = useConsumerCustomIntegrations(); const { euiTheme } = useEuiTheme(); const xsFontSize = useEuiFontSize('xs').fontSize; - const { goToStep, goBack, getState, setState } = useWizard(); + const { goBack, getState, setState } = useWizard(); const wizardState = getState(); - const [integrationName, setIntegrationName] = useState( - wizardState.integrationName - ); - const [integrationNameTouched, setIntegrationNameTouched] = useState(false); - const [integrationError, setIntegrationError] = useState< - IntegrationError | undefined - >(); - const [datasetName, setDatasetName] = useState(wizardState.datasetName); const [serviceName, setServiceName] = useState(wizardState.serviceName); const [logFilePaths, setLogFilePaths] = useState(wizardState.logFilePaths); const [namespace, setNamespace] = useState(wizardState.namespace); @@ -67,63 +122,15 @@ export function ConfigureLogs() { ); const logFilePathNotConfigured = logFilePaths.every((filepath) => !filepath); - const onIntegrationCreationSuccess = useCallback( - (integration: IntegrationOptions) => { - setState((state) => ({ - ...state, - lastCreatedIntegration: integration, - })); - goToStep('installElasticAgent'); - }, - [goToStep, setState] - ); - - const onIntegrationCreationFailure = useCallback( - (error: IntegrationError) => { - setIntegrationError(error); - }, - [setIntegrationError] - ); - - const { createIntegration, createIntegrationRequest } = useCreateIntegration({ - onIntegrationCreationSuccess, - onIntegrationCreationFailure, - initialLastCreatedIntegration: wizardState.lastCreatedIntegration, - }); - - const isCreatingIntegration = createIntegrationRequest.state === 'pending'; - const hasFailedCreatingIntegration = - createIntegrationRequest.state === 'rejected'; - const onContinue = useCallback(() => { setState((state) => ({ ...state, - datasetName, - integrationName, serviceName, logFilePaths: logFilePaths.filter((filepath) => !!filepath), namespace, customConfigurations, })); - createIntegration({ - integrationName, - datasets: [ - { - name: datasetName, - type: 'logs' as const, - }, - ], - }); - }, [ - createIntegration, - customConfigurations, - datasetName, - integrationName, - logFilePaths, - namespace, - serviceName, - setState, - ]); + }, [customConfigurations, logFilePaths, namespace, serviceName, setState]); function addLogFilePath() { setLogFilePaths((prev) => [...prev, '']); @@ -143,60 +150,31 @@ export function ConfigureLogs() { ); if (index === 0) { - setIntegrationName(getFilename(filepath)); - setDatasetName(getFilename(filepath)); + if (updateCreateFields) { + updateCreateFields({ + integrationName: getFilename(filepath).toLowerCase(), + datasets: [ + { + name: getFilename(filepath).toLowerCase(), + type: 'logs' as const, + }, + ], + }); + } } } - const hasNamingCollision = - integrationError && integrationError.type === 'NamingCollision'; - - const isIntegrationNameInvalid = - (integrationNameTouched && - (isEmpty(integrationName) || !isLowerCase(integrationName))) || - hasNamingCollision; - - const integrationNameError = getIntegrationNameError( - integrationName, - integrationNameTouched, - integrationError - ); - - const isDatasetNameInvalid = - datasetNameTouched && (isEmpty(datasetName) || !isLowerCase(datasetName)); - - const datasetNameError = getDatasetNameError(datasetName, datasetNameTouched); - return ( , - - {isCreatingIntegration - ? i18n.translate( - 'xpack.observability_onboarding.steps.loading', - { - defaultMessage: 'Creating integration...', - } - ) - : i18n.translate( - 'xpack.observability_onboarding.steps.continue', - { - defaultMessage: 'Continue', - } - )} - , + testSubj={customIntegrationsTestSubjects.button} + />, ]} /> } @@ -478,214 +456,10 @@ export function ConfigureLogs() { - -

    - {i18n.translate( - 'xpack.observability_onboarding.configureLogs.configureIntegrationDescription', - { - defaultMessage: 'Configure integration', - } - )} -

    -
    - - - - - {i18n.translate( - 'xpack.observability_onboarding.configureLogs.integration.name', - { - defaultMessage: 'Integration name', - } - )} - - - - - - } - helpText={i18n.translate( - 'xpack.observability_onboarding.configureLogs.integration.helper', - { - defaultMessage: - "All lowercase, max 100 chars, special characters will be replaced with '_'.", - } - )} - isInvalid={isIntegrationNameInvalid} - error={integrationNameError} - > - - setIntegrationName(replaceSpecialChars(event.target.value)) - } - isInvalid={isIntegrationNameInvalid} - onInput={() => setIntegrationNameTouched(true)} - data-test-subj="obltOnboardingCustomLogsIntegrationsName" - /> - - - - {i18n.translate( - 'xpack.observability_onboarding.configureLogs.dataset.name', - { - defaultMessage: 'Dataset name', - } - )} - - - - - - } - helpText={i18n.translate( - 'xpack.observability_onboarding.configureLogs.dataset.helper', - { - defaultMessage: - "All lowercase, max 100 chars, special characters will be replaced with '_'.", - } - )} - isInvalid={isDatasetNameInvalid} - error={datasetNameError} - > - - setDatasetName(replaceSpecialChars(event.target.value)) - } - isInvalid={isDatasetNameInvalid} - onInput={() => setDatasetNameTouched(true)} - data-test-subj="obltOnboardingCustomLogsDatasetName" - /> - - - {hasFailedCreatingIntegration && integrationError && ( - <> - - {getIntegrationErrorCallout(integrationError)} - - )} + ); } - -const getIntegrationErrorCallout = (integrationError: IntegrationError) => { - const title = i18n.translate( - 'xpack.observability_onboarding.configureLogs.integrationCreation.error.title', - { defaultMessage: 'Sorry, there was an error' } - ); - - switch (integrationError.type) { - case 'AuthorizationError': - const authorizationDescription = i18n.translate( - 'xpack.observability_onboarding.configureLogs.integrationCreation.error.authorization.description', - { - defaultMessage: - 'This user does not have permissions to create an integration.', - } - ); - return ( - -

    {authorizationDescription}

    -
    - ); - case 'UnknownError': - return ( - -

    {integrationError.message}

    -
    - ); - } -}; - -const isLowerCase = (str: string) => str.toLowerCase() === str; - -const getIntegrationNameError = ( - integrationName: string, - touched: boolean, - integrationError?: IntegrationError -) => { - if (touched && isEmpty(integrationName)) { - return i18n.translate( - 'xpack.observability_onboarding.configureLogs.integration.emptyError', - { defaultMessage: 'An integration name is required.' } - ); - } - if (touched && !isLowerCase(integrationName)) { - return i18n.translate( - 'xpack.observability_onboarding.configureLogs.integration.lowercaseError', - { defaultMessage: 'An integration name should be lowercase.' } - ); - } - if (integrationError && integrationError.type === 'NamingCollision') { - return integrationError.message; - } -}; - -const getDatasetNameError = (datasetName: string, touched: boolean) => { - if (touched && isEmpty(datasetName)) { - return i18n.translate( - 'xpack.observability_onboarding.configureLogs.dataset.emptyError', - { defaultMessage: 'A dataset name is required.' } - ); - } - if (touched && !isLowerCase(datasetName)) { - return i18n.translate( - 'xpack.observability_onboarding.configureLogs.dataset.lowercaseError', - { defaultMessage: 'A dataset name should be lowercase.' } - ); - } -}; diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/index.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/index.tsx index fecd9c4de8384..9fb2f2ecf9536 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/index.tsx @@ -5,8 +5,8 @@ * 2.0. */ +import { CustomIntegrationOptions } from '@kbn/custom-integrations'; import { i18n } from '@kbn/i18n'; -import { IntegrationOptions } from '../../../../hooks/use_create_integration'; import { createWizardContext, Step, @@ -18,7 +18,7 @@ import { SelectLogs } from './select_logs'; interface WizardState { integrationName: string; - lastCreatedIntegration?: IntegrationOptions; + lastCreatedIntegrationOptions?: CustomIntegrationOptions; datasetName: string; serviceName: string; logFilePaths: string[]; diff --git a/x-pack/plugins/observability_onboarding/public/hooks/use_create_integration.ts b/x-pack/plugins/observability_onboarding/public/hooks/use_create_integration.ts deleted file mode 100644 index 15d383cb4aa42..0000000000000 --- a/x-pack/plugins/observability_onboarding/public/hooks/use_create_integration.ts +++ /dev/null @@ -1,123 +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 { useCallback, useState } from 'react'; -import deepEqual from 'react-fast-compare'; -import { useKibana } from '@kbn/kibana-react-plugin/public'; -import { useTrackedPromise } from '@kbn/use-tracked-promise'; -import { i18n } from '@kbn/i18n'; - -export interface IntegrationOptions { - integrationName: string; - datasets: Array<{ - name: string; - type: 'logs'; - }>; -} - -// Errors -const GENERIC_ERROR_MESSAGE = i18n.translate( - 'xpack.observability_onboarding.useCreateIntegration.integrationError.genericError', - { - defaultMessage: 'Unable to create an integration', - } -); - -type ErrorType = 'NamingCollision' | 'AuthorizationError' | 'UnknownError'; -export interface IntegrationError { - type: ErrorType; - message: string; -} - -export const useCreateIntegration = ({ - onIntegrationCreationSuccess, - onIntegrationCreationFailure, - initialLastCreatedIntegration, - deletePreviousIntegration = true, -}: { - integrationOptions?: IntegrationOptions; - onIntegrationCreationSuccess: (integration: IntegrationOptions) => void; - onIntegrationCreationFailure: (error: IntegrationError) => void; - initialLastCreatedIntegration?: IntegrationOptions; - deletePreviousIntegration?: boolean; -}) => { - const { - services: { http }, - } = useKibana(); - const [lastCreatedIntegration, setLastCreatedIntegration] = useState< - IntegrationOptions | undefined - >(initialLastCreatedIntegration); - - const [createIntegrationRequest, callCreateIntegration] = useTrackedPromise( - { - cancelPreviousOn: 'creation', - createPromise: async (integrationOptions) => { - if (lastCreatedIntegration && deletePreviousIntegration) { - await http?.delete( - `/api/fleet/epm/packages/${lastCreatedIntegration.integrationName}/1.0.0`, - {} - ); - } - await http?.post('/api/fleet/epm/custom_integrations', { - body: JSON.stringify(integrationOptions), - }); - - return integrationOptions; - }, - onResolve: (integrationOptions: IntegrationOptions) => { - setLastCreatedIntegration(integrationOptions); - onIntegrationCreationSuccess(integrationOptions!); - }, - onReject: (requestError: any) => { - if (requestError?.body?.statusCode === 409) { - onIntegrationCreationFailure({ - type: 'NamingCollision' as const, - message: requestError.body.message, - }); - } else if (requestError?.body?.statusCode === 403) { - onIntegrationCreationFailure({ - type: 'AuthorizationError' as const, - message: requestError?.body?.message, - }); - } else { - onIntegrationCreationFailure({ - type: 'UnknownError' as const, - message: requestError?.body?.message ?? GENERIC_ERROR_MESSAGE, - }); - } - }, - }, - [ - lastCreatedIntegration, - deletePreviousIntegration, - onIntegrationCreationSuccess, - onIntegrationCreationFailure, - setLastCreatedIntegration, - ] - ); - - const createIntegration = useCallback( - (integrationOptions: IntegrationOptions) => { - // Bypass creating the integration again - if (deepEqual(integrationOptions, lastCreatedIntegration)) { - onIntegrationCreationSuccess(integrationOptions); - } else { - callCreateIntegration(integrationOptions); - } - }, - [ - callCreateIntegration, - lastCreatedIntegration, - onIntegrationCreationSuccess, - ] - ); - - return { - createIntegration, - createIntegrationRequest, - }; -}; diff --git a/x-pack/plugins/observability_onboarding/tsconfig.json b/x-pack/plugins/observability_onboarding/tsconfig.json index d2b4d9a223a2b..3188e63982483 100644 --- a/x-pack/plugins/observability_onboarding/tsconfig.json +++ b/x-pack/plugins/observability_onboarding/tsconfig.json @@ -33,6 +33,7 @@ "@kbn/data-views-plugin", "@kbn/es-query", "@kbn/use-tracked-promise", + "@kbn/custom-integrations", "@kbn/share-plugin", "@kbn/utility-types", ], diff --git a/x-pack/plugins/observability_shared/kibana.jsonc b/x-pack/plugins/observability_shared/kibana.jsonc index 4206097c764e8..f4e97551031bf 100644 --- a/x-pack/plugins/observability_shared/kibana.jsonc +++ b/x-pack/plugins/observability_shared/kibana.jsonc @@ -7,7 +7,7 @@ "server": false, "browser": true, "configPath": ["xpack", "observability_shared"], - "requiredPlugins": ["cases", "guidedOnboarding", "uiActions"], + "requiredPlugins": ["cases", "guidedOnboarding", "uiActions", "embeddable"], "optionalPlugins": [], "requiredBundles": ["data", "inspector", "kibanaReact", "kibanaUtils"], "extraPublicDirs": ["common"] diff --git a/x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx new file mode 100644 index 0000000000000..1fa1356f3f868 --- /dev/null +++ b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/embeddable_flamegraph.tsx @@ -0,0 +1,63 @@ +/* + * 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, { useEffect, useRef, useState } from 'react'; +import type { BaseFlameGraph } from '@kbn/profiling-utils'; +import { css } from '@emotion/react'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { ObservabilitySharedStart } from '../../../plugin'; +import { EMBEDDABLE_FLAMEGRAPH } from '.'; + +interface Props { + data?: BaseFlameGraph; + height?: string; + isLoading: boolean; +} + +export function EmbeddableFlamegraph({ data, height, isLoading }: Props) { + const { embeddable: embeddablePlugin } = useKibana().services; + const [embeddable, setEmbeddable] = useState(); + const embeddableRoot: React.RefObject = useRef(null); + + useEffect(() => { + async function createEmbeddable() { + const factory = embeddablePlugin?.getEmbeddableFactory(EMBEDDABLE_FLAMEGRAPH); + const input = { id: 'embeddable_profiling', data, isLoading }; + const embeddableObject = await factory?.create(input); + setEmbeddable(embeddableObject); + } + createEmbeddable(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + if (embeddableRoot.current && embeddable) { + embeddable.render(embeddableRoot.current); + } + }, [embeddable, embeddableRoot]); + + useEffect(() => { + if (embeddable) { + embeddable.updateInput({ data, isLoading }); + embeddable.reload(); + } + }, [data, embeddable, isLoading]); + + return ( +
    + ); +} diff --git a/x-pack/plugins/observability_shared/public/components/profiling/embeddables/index.ts b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/index.ts new file mode 100644 index 0000000000000..05b3ac25b8e18 --- /dev/null +++ b/x-pack/plugins/observability_shared/public/components/profiling/embeddables/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. + */ + +/** Profiling flamegraph embeddable key */ +export const EMBEDDABLE_FLAMEGRAPH = 'EMBEDDABLE_FLAMEGRAPH'; diff --git a/x-pack/plugins/observability_shared/public/index.ts b/x-pack/plugins/observability_shared/public/index.ts index 7308265827d09..a94851d20139f 100644 --- a/x-pack/plugins/observability_shared/public/index.ts +++ b/x-pack/plugins/observability_shared/public/index.ts @@ -77,3 +77,6 @@ export { casesFeatureId, sloFeatureId, } from '../common'; + +export { EMBEDDABLE_FLAMEGRAPH } from './components/profiling/embeddables'; +export { EmbeddableFlamegraph } from './components/profiling/embeddables/embeddable_flamegraph'; diff --git a/x-pack/plugins/observability_shared/public/plugin.ts b/x-pack/plugins/observability_shared/public/plugin.ts index 2e982f27dd35a..b2f886a2368d7 100644 --- a/x-pack/plugins/observability_shared/public/plugin.ts +++ b/x-pack/plugins/observability_shared/public/plugin.ts @@ -11,6 +11,7 @@ import type { CoreStart, Plugin } from '@kbn/core/public'; import type { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public'; import { CasesUiStart } from '@kbn/cases-plugin/public'; import { SpacesPluginStart } from '@kbn/spaces-plugin/public'; +import type { EmbeddableStart } from '@kbn/embeddable-plugin/public'; import { createNavigationRegistry } from './components/page_template/helpers/navigation_registry'; import { createLazyObservabilityPageTemplate } from './components/page_template'; import { updateGlobalNavigation } from './services/update_global_navigation'; @@ -20,6 +21,7 @@ export interface ObservabilitySharedStart { cases: CasesUiStart; guidedOnboarding: GuidedOnboardingPluginStart; setIsSidebarEnabled: (isEnabled: boolean) => void; + embeddable: EmbeddableStart; } export type ObservabilitySharedPluginSetup = ReturnType; diff --git a/x-pack/plugins/observability_shared/tsconfig.json b/x-pack/plugins/observability_shared/tsconfig.json index 6a49b5e24b9f6..f5ca4094ee961 100644 --- a/x-pack/plugins/observability_shared/tsconfig.json +++ b/x-pack/plugins/observability_shared/tsconfig.json @@ -32,6 +32,8 @@ "@kbn/rison", "@kbn/kibana-utils-plugin", "@kbn/shared-ux-router", + "@kbn/embeddable-plugin", + "@kbn/profiling-utils" ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts b/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts index 9205668d6f73d..b4f89e7701dd8 100644 --- a/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts +++ b/x-pack/plugins/osquery/common/api/packs/create_pack_route.ts @@ -13,7 +13,7 @@ export const createPackRequestBodySchema = t.type({ description: t.union([t.string, t.undefined]), enabled: t.union([t.boolean, t.undefined]), policy_ids: t.union([t.array(t.string), t.undefined]), - shards: t.record(t.string, toNumberRt), + shards: t.union([t.record(t.string, toNumberRt), t.undefined]), queries: t.record( t.string, t.type({ diff --git a/x-pack/plugins/osquery/cypress/tasks/inventory.ts b/x-pack/plugins/osquery/cypress/tasks/inventory.ts index 30ffdede7a347..8ba6fc0702d21 100644 --- a/x-pack/plugins/osquery/cypress/tasks/inventory.ts +++ b/x-pack/plugins/osquery/cypress/tasks/inventory.ts @@ -9,7 +9,7 @@ export const triggerLoadData = () => { cy.getBySel('infraWaffleTimeControlsAutoRefreshButton').should('exist'); cy.wait(1000); cy.getBySel('infraWaffleTimeControlsAutoRefreshButton').click(); - cy.getBySel('nodeContainer').eq(2).should('exist'); + cy.getBySel('nodeContainer').last().should('exist'); cy.getBySel('infraWaffleTimeControlsStopRefreshingButton').click(); - cy.getBySel('nodeContainer').eq(2).click(); + cy.getBySel('nodeContainer').last().click(); }; diff --git a/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts b/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts index 8429e7a91f68b..ea94b8783bd45 100644 --- a/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts +++ b/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts @@ -67,7 +67,7 @@ export const createPackRoute = (router: IRouter, osqueryContext: OsqueryAppConte const currentUser = await osqueryContext.security.authc.getCurrentUser(request)?.username; // eslint-disable-next-line @typescript-eslint/naming-convention - const { name, description, queries, enabled, policy_ids, shards } = request.body; + const { name, description, queries, enabled, policy_ids, shards = {} } = request.body; const conflictingEntries = await savedObjectsClient.find({ type: packSavedObjectType, filter: `${packSavedObjectType}.attributes.name: "${name}"`, diff --git a/x-pack/plugins/profiling/common/__fixtures__/README.md b/x-pack/plugins/profiling/common/__fixtures__/README.md new file mode 100644 index 0000000000000..1a26bca590668 --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/README.md @@ -0,0 +1,17 @@ +The stacktrace fixtures in this directory are originally from Elasticsearch's +`POST /_profiling/stacktraces` endpoint. They were subsequently filtered +through the `shrink_stacktrace_response.js` command in `x-pack/plugins/profiling/scripts/` +to reduce the size without losing sampling fidelity (see the script for further +details). + +The naming convention for each stacktrace fixture follows this pattern: + +``` +stacktraces_{seconds}s_{upsampling rate}x.json +``` + +where `seconds` is the time span of the original query and `upsampling rate` is +the reciprocal of the sampling rate returned from the original query. + +To add a new stacktrace fixture to the test suite, update `stacktraces.ts` +appropriately. \ No newline at end of file diff --git a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces.ts b/x-pack/plugins/profiling/common/__fixtures__/stacktraces.ts similarity index 93% rename from x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces.ts rename to x-pack/plugins/profiling/common/__fixtures__/stacktraces.ts index 4873435e81f49..d831f5f20d48c 100644 --- a/x-pack/plugins/profiling_data_access/common/__fixtures__/stacktraces.ts +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { StackTraceResponse } from '../stack_traces'; +import type { StackTraceResponse } from '@kbn/profiling-utils'; import stackTraces1x from './stacktraces_60s_1x.json'; import stackTraces5x from './stacktraces_3600s_5x.json'; diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_3600s_5x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_3600s_5x.json new file mode 100644 index 0000000000000..cad5ac24c7a7e --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_3600s_5x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"-njmbjRUBOZR5EgXpUQdRw":42,"ztDY3GPoIfO7CjHQxmyZ-Q":115,"Y8CwPu4zFwOz0m86XYzkGw":256,"QiwsJA6NJ0Q3f2M4DT-dxA":1192,"9_06LL00QkYIeiFNCWu0XQ":1033,"GApi1ybrprUZdnGMiSfUPA":675,"QpRRwD9tRNNrUmJ_2oOuSg":385,"43tbk4XHS6h_eSSkozr2lQ":480,"nORl1I4BGh3mzZiFR21ijQ":342,"ONNtRKFUjSc8lLm64B4nVQ":604,"IgUYn71JvS5hV0IssAqJCA":415,"u31aX9a6CI2OuomWQHSx1Q":486,"ZBYtP3yTV5OAbePvOl3arg":500,"ztbi9NfSFBK5AxpIlylSew":478,"-s21TvA-EsTWbfCutQG83Q":402,"APcbPjShNMH1PkL1e22JYg":381,"sGdKDAzt2D3ZK2brqGj4vQ":551,"hecRkAhRG62NML7wI512zA":225,"yqosCJmye4YNNxuB2s8zdQ":181,"JEl8c8qrwRMDRhl_VlTpFQ":234,"TFvQpP8OVc3AdHSKmIUBAA":218,"eUMH9Wf36CVzdkAZsN9itA":242,"57NvBalQc9mIcBwC1lPObg":229,"qaTBBEzEjIyGmsWUYfCBpA":189,"y7Mdo_ee9-4XsWhpA4MB0g":271,"vODIlh-kDOyM2hWSJhdfpA":235,"QKuCwkwTUdmVpouD1TSb6g":167,"zQ3yVnMIXoz1yUFx6SaSlA":146,"PfGJvpI_t-0Eiwgl8k31BA":148,"P-lVr6eiwDBuO8eZBdsdMQ":144,"KxQngfXsErVAsVuASxix6w":138,"NDxOvbKIocbTk6FkHrLlqQ":107,"2GP6bCEH-XkrLdH6ox0E3Q":95,"NYEjWS7muJ8dsj9z5lNehg":52,"Nr5XZDDmb-nXg0BzTFzdFA":44,"JVvUxIunvr6V68Rt99rK9w":38,"tagsGmBta7BnDHBzEbH9eQ":28,"CjP83pplY09FGl9PBMeqCg":13,"SQ6jhz-Ee7WHXLMOHOsDcQ":18,"eM1ATYEKUIN4nyPylmr13A":20,"9vNu8RjYClbqhYYGUiWI7A":12,"CU-T9AvnxmWd1TTRjgV01Q":17,"hoJT-ObO7MDFTgt9UeFJfg":9,"us5XzJaFA8Y8a8Jhq7VWzQ":34,"tWPDa1sBMePW-YFiahrHBA":9,"KKjaO47Ew4fmVCY-lBFkLg":6,"zxyQebekMWvnWWEuWSzR9Q":8,"UI-7Z494NKAWuv1FuNlxoQ":4,"6yHX0lcyWmly8MshBzd78Q":7,"uEL43HtanLRCO2rLB4ttzQ":3,"mXgK2ekWZ4qH-uHB8QaLtA":7,"1twYzjHR6hCfJqQLvJ81XA":5,"f-LRF9Sfj675yc68DOXczw":2,"p24lyWOwFjGMsQaWybQUMA":1,"KHat1RLkyP8wPwwR1uD04A":4,"B-OQjwP7KzSb4f6cXUL1bA":2,"kOWftL0Ttias8Z1isZi9oA":4,"JzGylmBPluUmIML9XnagKw":3,"tTw0tfSnPtZhbcyzyVHHpg":2,"E_F-N51BcZ4iQ9oPaHFKXw":2,"d04G8ZHV3kYQ0ekQBw1VYQ":3,"I-DofAMUQgh7q14tBJcZlA":3,"tGGi0acvAmmxOR5DbuF3dg":4,"Ws9TqFMz-kHv_-7zrBFdKw":3,"nBHRVpYV5wUL_UAb5ff6Zg":1,"vfw5EN0FEHQCAj0w-N2avQ":1,"lyeLQDjWsQDYEJbcY4aFJA":3,"cqzgaW0F-6gZ8uHz_Pf3hQ":1,"b89Eo7vMfG4HsPSBVvjiKQ":5,"5_-zAnLDYAi4FySmVgS6iw":2,"zOI_cRK31hVrh4Typ0-Fxg":5,"4U9ayDnwvWmqJPhn_AOKew":8,"Jt6CexOHLEwUl4IeTgASBQ":4,"8Rif7kuKG2cfhEYF2fJXmA":4,"cCjn5miDmyezrnBAe2jDww":12,"f8AFYpSQOpjCNbhqUuR3Rg":9,"dGMvgpGXk-ajX6PRi92qdg":9,"OxrG9ZVAzX9GwGtxUtIQNg":3,"QoW8uF5K3OBNL2DXI66leA":9,"zV-93oQDbZK9zB7UMAcCmw":5,"9CQVJEfCfL1rSnUaxlAfqg":3,"mGGvLNOYB74ofk9FRrMxxQ":2,"pnLCuJVNeqGwwFeJQIrkPw":2,"R77Zz6fBvENVXyt4GVb9dQ":1,"tgL-t2GJJjItpLjnwjc4zQ":1,"XNCSlgkv_bOXDIYn6zwekw":5,"jPN_jNGPJguImYjakYlBcA":1,"4K-SlZ4j8NjsVBpqyPj2dw":1,"W8IRlEZMfFJdYSgUQXDnMg":2,"qytuJG9brvKSB9NJCHV9fQ":1,"b116myovN7_XXb1AVLPH0g":1,"dNwgDmnCM1dIIF5EZm4ZgA":1,"KEdXtWOmrUdpIHsjndtg_A":1,"V2K_ZjA6rol7KyINtV45_A":1},"stack_traces":{"-njmbjRUBOZR5EgXpUQdRw":{"address_or_lines":[1277056],"file_ids":["G68hjsyagwq6LpWrMjDdng"],"frame_ids":["G68hjsyagwq6LpWrMjDdngAAAAAAE3yA"],"type_ids":[3]},"ztDY3GPoIfO7CjHQxmyZ-Q":{"address_or_lines":[4643458,4456960],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtqC","B8JRxL079xbhqQBqGvksAgAAAAAARAIA"],"type_ids":[3,3]},"Y8CwPu4zFwOz0m86XYzkGw":{"address_or_lines":[4597989,4390116,4390542],"file_ids":["6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w"],"frame_ids":["6kzBY4yj-1Fh1NCTZA3z0wAAAAAARijl","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQvzk","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQv6O"],"type_ids":[3,3,3]},"QiwsJA6NJ0Q3f2M4DT-dxA":{"address_or_lines":[4597989,4307812,4320019,4321918],"file_ids":["6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w","6kzBY4yj-1Fh1NCTZA3z0w"],"frame_ids":["6kzBY4yj-1Fh1NCTZA3z0wAAAAAARijl","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQbtk","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQesT","6kzBY4yj-1Fh1NCTZA3z0wAAAAAAQfJ-"],"type_ids":[3,3,3,3]},"9_06LL00QkYIeiFNCWu0XQ":{"address_or_lines":[4643592,4325284,4339923,4341903,4293837],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjjT","B8JRxL079xbhqQBqGvksAgAAAAAAQkCP","B8JRxL079xbhqQBqGvksAgAAAAAAQYTN"],"type_ids":[3,3,3,3,3]},"GApi1ybrprUZdnGMiSfUPA":{"address_or_lines":[18434496,18109958,18105083,18107109,18183090,18183229],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABFFYG","j8DVIOTu7Btj9lgFefJ84AAAAAABFEL7","j8DVIOTu7Btj9lgFefJ84AAAAAABFErl","j8DVIOTu7Btj9lgFefJ84AAAAAABFXOy","j8DVIOTu7Btj9lgFefJ84AAAAAABFXQ9"],"type_ids":[3,3,3,3,3,3]},"QpRRwD9tRNNrUmJ_2oOuSg":{"address_or_lines":[4644672,40444780,40465086,40468873,40476239,4250662,4249714],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARt9A","B56YkhsK1JwqD-8F8sjS3AAAAAACaSNs","B56YkhsK1JwqD-8F8sjS3AAAAAACaXK-","B56YkhsK1JwqD-8F8sjS3AAAAAACaYGJ","B56YkhsK1JwqD-8F8sjS3AAAAAACaZ5P","B56YkhsK1JwqD-8F8sjS3AAAAAAAQNwm","B56YkhsK1JwqD-8F8sjS3AAAAAAAQNhy"],"type_ids":[3,3,3,3,3,3,3]},"43tbk4XHS6h_eSSkozr2lQ":{"address_or_lines":[18515232,22597677,22574090,22556393,22530363,22106663,22101077,22107662],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHQK","v6HIzNa4K6G4nRP9032RIAAAAAABWC7p","v6HIzNa4K6G4nRP9032RIAAAAAABV8k7","v6HIzNa4K6G4nRP9032RIAAAAAABUVIn","v6HIzNa4K6G4nRP9032RIAAAAAABUTxV","v6HIzNa4K6G4nRP9032RIAAAAAABUVYO"],"type_ids":[3,3,3,3,3,3,3,3]},"nORl1I4BGh3mzZiFR21ijQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271908,4256166,4255110,4288975,4287865],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qfk","FWZ9q3TQKZZok58ua1HDsgAAAAAAQPGm","FWZ9q3TQKZZok58ua1HDsgAAAAAAQO2G","FWZ9q3TQKZZok58ua1HDsgAAAAAAQXHP","FWZ9q3TQKZZok58ua1HDsgAAAAAAQW15"],"type_ids":[3,3,3,3,3,3,3,3,3]},"ONNtRKFUjSc8lLm64B4nVQ":{"address_or_lines":[4641312,7081613,7060969,4425906,7064267,7057968,6093476,6025643,4305623,4278829],"file_ids":["gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w","gNW12BepH17pXwK-ZuYt3w"],"frame_ids":["gNW12BepH17pXwK-ZuYt3wAAAAAARtIg","gNW12BepH17pXwK-ZuYt3wAAAAAAbA6N","gNW12BepH17pXwK-ZuYt3wAAAAAAa73p","gNW12BepH17pXwK-ZuYt3wAAAAAAQ4iy","gNW12BepH17pXwK-ZuYt3wAAAAAAa8rL","gNW12BepH17pXwK-ZuYt3wAAAAAAa7Iw","gNW12BepH17pXwK-ZuYt3wAAAAAAXPqk","gNW12BepH17pXwK-ZuYt3wAAAAAAW_Gr","gNW12BepH17pXwK-ZuYt3wAAAAAAQbLX","gNW12BepH17pXwK-ZuYt3wAAAAAAQUot"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"IgUYn71JvS5hV0IssAqJCA":{"address_or_lines":[4636100,4452920,4453106,4487396,4487396,4651100,10485923,16743,1136873,1113241,4849252],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARr3E","B56YkhsK1JwqD-8F8sjS3AAAAAAAQ_I4","B56YkhsK1JwqD-8F8sjS3AAAAAAAQ_Ly","B56YkhsK1JwqD-8F8sjS3AAAAAAARHjk","B56YkhsK1JwqD-8F8sjS3AAAAAAARHjk","B56YkhsK1JwqD-8F8sjS3AAAAAAARvhc","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEVjp","piWSMQrh4r040D0BPNaJvwAAAAAAEPyZ","piWSMQrh4r040D0BPNaJvwAAAAAASf5k"],"type_ids":[3,3,3,3,3,3,4,4,4,4,4]},"u31aX9a6CI2OuomWQHSx1Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265796,7372663,7364083],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcH93","B8JRxL079xbhqQBqGvksAgAAAAAAcF3z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3]},"ZBYtP3yTV5OAbePvOl3arg":{"address_or_lines":[4636226,4469356,4468068,4466980,4460377,4459271,4243432,4415957,4652642,10485923,16743,1221731,1219038],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","B56YkhsK1JwqD-8F8sjS3A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARr5C","B56YkhsK1JwqD-8F8sjS3AAAAAAARDJs","B56YkhsK1JwqD-8F8sjS3AAAAAAARC1k","B56YkhsK1JwqD-8F8sjS3AAAAAAARCkk","B56YkhsK1JwqD-8F8sjS3AAAAAAARA9Z","B56YkhsK1JwqD-8F8sjS3AAAAAAARAsH","B56YkhsK1JwqD-8F8sjS3AAAAAAAQL_o","B56YkhsK1JwqD-8F8sjS3AAAAAAAQ2HV","B56YkhsK1JwqD-8F8sjS3AAAAAAARv5i","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEqRj","piWSMQrh4r040D0BPNaJvwAAAAAAEpne"],"type_ids":[3,3,3,3,3,3,3,3,3,4,4,4,4]},"ztbi9NfSFBK5AxpIlylSew":{"address_or_lines":[4594466,4444524,4443160,4438546,4391572,4609107,10485923,16807,2756288,2755416,2744627,2792698,4867725,4855327],"file_ids":["kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["kajOqZqz7V1y0BdYQLFQrwAAAAAARhsi","kajOqZqz7V1y0BdYQLFQrwAAAAAAQ9Fs","kajOqZqz7V1y0BdYQLFQrwAAAAAAQ8wY","kajOqZqz7V1y0BdYQLFQrwAAAAAAQ7oS","kajOqZqz7V1y0BdYQLFQrwAAAAAAQwKU","kajOqZqz7V1y0BdYQLFQrwAAAAAARlRT","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAKpz6","A2oiHVwisByxRn5RDT4LjAAAAAAASkaN","A2oiHVwisByxRn5RDT4LjAAAAAAAShYf"],"type_ids":[3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"-s21TvA-EsTWbfCutQG83Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10733818,10618404,10387225,4547736,4658752],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8j6","FWZ9q3TQKZZok58ua1HDsgAAAAAAogYk","FWZ9q3TQKZZok58ua1HDsgAAAAAAnn8Z","FWZ9q3TQKZZok58ua1HDsgAAAAAARWSY","FWZ9q3TQKZZok58ua1HDsgAAAAAARxZA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"APcbPjShNMH1PkL1e22JYg":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54546893,54560984,44458726,43610833,43327941,43735894],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFHN","MNBJ5seVz_ocW6tcr1HSmwAAAAADQIjY","MNBJ5seVz_ocW6tcr1HSmwAAAAACpmLm","MNBJ5seVz_ocW6tcr1HSmwAAAAACmXLR","MNBJ5seVz_ocW6tcr1HSmwAAAAAClSHF","MNBJ5seVz_ocW6tcr1HSmwAAAAACm1tW"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"sGdKDAzt2D3ZK2brqGj4vQ":{"address_or_lines":[4652224,22354871,22382638,22364302,56672751,58471189,58268669,58227812,58241853,31197476,7372151,7373114,7373997,4536145,4264900,4265340,4655641],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYMHv","-pk6w5puGcp-wKnQ61BZzQAAAAADfDMV","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Akk","-pk6w5puGcp-wKnQ61BZzQAAAAAAcH13","-pk6w5puGcp-wKnQ61BZzQAAAAAAcIE6","-pk6w5puGcp-wKnQ61BZzQAAAAAAcISt","-pk6w5puGcp-wKnQ61BZzQAAAAAARTdR","-pk6w5puGcp-wKnQ61BZzQAAAAAAQRPE","-pk6w5puGcp-wKnQ61BZzQAAAAAAQRV8","-pk6w5puGcp-wKnQ61BZzQAAAAAARwoZ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"hecRkAhRG62NML7wI512zA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961373,27940684],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqgd","v6HIzNa4K6G4nRP9032RIAAAAAABqldM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"yqosCJmye4YNNxuB2s8zdQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961653,27949894,18928855],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqk1","v6HIzNa4K6G4nRP9032RIAAAAAABqntG","v6HIzNa4K6G4nRP9032RIAAAAAABINTX"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"JEl8c8qrwRMDRhl_VlTpFQ":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59181690,58121321,58026161,58173220,58175116,7294148,7295421,7297245,7300762,7297188,7304836,7297413,7309604,7298328,5114154],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwp6","B8JRxL079xbhqQBqGvksAgAAAAADdtxp","B8JRxL079xbhqQBqGvksAgAAAAADdWix","B8JRxL079xbhqQBqGvksAgAAAAADd6ck","B8JRxL079xbhqQBqGvksAgAAAAADd66M","B8JRxL079xbhqQBqGvksAgAAAAAAb0zE","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1mF","B8JRxL079xbhqQBqGvksAgAAAAAAb4kk","B8JRxL079xbhqQBqGvksAgAAAAAAb10Y","B8JRxL079xbhqQBqGvksAgAAAAAATgkq"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"TFvQpP8OVc3AdHSKmIUBAA":{"address_or_lines":[4652224,22357367,22385134,22366798,57092143,58893857,58677085,58641545,58657509,31313785,7372944,7295421,7297245,7300762,7297188,7304836,7297188,7306724,5132868,4625639,4289536],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZygv","B8JRxL079xbhqQBqGvksAgAAAAADgqYh","B8JRxL079xbhqQBqGvksAgAAAAADf1dd","B8JRxL079xbhqQBqGvksAgAAAAADfsyJ","B8JRxL079xbhqQBqGvksAgAAAAADfwrl","B8JRxL079xbhqQBqGvksAgAAAAAB3c95","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb33k","B8JRxL079xbhqQBqGvksAgAAAAAATlJE","B8JRxL079xbhqQBqGvksAgAAAAAARpTn","B8JRxL079xbhqQBqGvksAgAAAAAAQXQA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"eUMH9Wf36CVzdkAZsN9itA":{"address_or_lines":[32443680,43151402,43152149,43153397,41329281,41441892,41443480,41222389,41225442,41240900,40679166,40714972,40707458,40707880,40710748,40690621,40679204,40688196,40679204,40688166,40644014,41210644],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7w0g","QvG8QEGAld88D676NL_Y2QAAAAACknAq","QvG8QEGAld88D676NL_Y2QAAAAACknMV","QvG8QEGAld88D676NL_Y2QAAAAACknf1","QvG8QEGAld88D676NL_Y2QAAAAACdqKB","QvG8QEGAld88D676NL_Y2QAAAAACeFpk","QvG8QEGAld88D676NL_Y2QAAAAACeGCY","QvG8QEGAld88D676NL_Y2QAAAAACdQD1","QvG8QEGAld88D676NL_Y2QAAAAACdQzi","QvG8QEGAld88D676NL_Y2QAAAAACdUlE","QvG8QEGAld88D676NL_Y2QAAAAACbLb-","QvG8QEGAld88D676NL_Y2QAAAAACbULc","QvG8QEGAld88D676NL_Y2QAAAAACbSWC","QvG8QEGAld88D676NL_Y2QAAAAACbSco","QvG8QEGAld88D676NL_Y2QAAAAACbTJc","QvG8QEGAld88D676NL_Y2QAAAAACbOO9","QvG8QEGAld88D676NL_Y2QAAAAACbLck","QvG8QEGAld88D676NL_Y2QAAAAACbNpE","QvG8QEGAld88D676NL_Y2QAAAAACbLck","QvG8QEGAld88D676NL_Y2QAAAAACbNom","QvG8QEGAld88D676NL_Y2QAAAAACbC2u","QvG8QEGAld88D676NL_Y2QAAAAACdNMU"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"57NvBalQc9mIcBwC1lPObg":{"address_or_lines":[4652224,31040261,31054565,31056612,31058888,31450411,30791748,25539462,25519688,25480413,25483943,25484196,4951332,4960527,4959954,4897957,4893996,4627954,4660663,10485923,16807,3103640,3100879],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAAB2aMF","B8JRxL079xbhqQBqGvksAgAAAAAB2drl","B8JRxL079xbhqQBqGvksAgAAAAAB2eLk","B8JRxL079xbhqQBqGvksAgAAAAAB2evI","B8JRxL079xbhqQBqGvksAgAAAAAB3-Ur","B8JRxL079xbhqQBqGvksAgAAAAAB1dhE","B8JRxL079xbhqQBqGvksAgAAAAABhbOG","B8JRxL079xbhqQBqGvksAgAAAAABhWZI","B8JRxL079xbhqQBqGvksAgAAAAABhMzd","B8JRxL079xbhqQBqGvksAgAAAAABhNqn","B8JRxL079xbhqQBqGvksAgAAAAABhNuk","B8JRxL079xbhqQBqGvksAgAAAAAAS40k","B8JRxL079xbhqQBqGvksAgAAAAAAS7EP","B8JRxL079xbhqQBqGvksAgAAAAAAS67S","B8JRxL079xbhqQBqGvksAgAAAAAASryl","B8JRxL079xbhqQBqGvksAgAAAAAASq0s","B8JRxL079xbhqQBqGvksAgAAAAAARp3y","B8JRxL079xbhqQBqGvksAgAAAAAARx23","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAL1uY","A2oiHVwisByxRn5RDT4LjAAAAAAAL1DP"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4]},"qaTBBEzEjIyGmsWUYfCBpA":{"address_or_lines":[4652224,31040261,31054565,31056612,31058888,31450411,30791748,25539462,25520823,25502704,25503492,25480821,25481061,4953508,4960780,4898318,4893650,4898160,4745321,4757831,4219698,4219725,10485923,16755],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAAB2aMF","B8JRxL079xbhqQBqGvksAgAAAAAB2drl","B8JRxL079xbhqQBqGvksAgAAAAAB2eLk","B8JRxL079xbhqQBqGvksAgAAAAAB2evI","B8JRxL079xbhqQBqGvksAgAAAAAB3-Ur","B8JRxL079xbhqQBqGvksAgAAAAAB1dhE","B8JRxL079xbhqQBqGvksAgAAAAABhbOG","B8JRxL079xbhqQBqGvksAgAAAAABhWq3","B8JRxL079xbhqQBqGvksAgAAAAABhSPw","B8JRxL079xbhqQBqGvksAgAAAAABhScE","B8JRxL079xbhqQBqGvksAgAAAAABhM51","B8JRxL079xbhqQBqGvksAgAAAAABhM9l","B8JRxL079xbhqQBqGvksAgAAAAAAS5Wk","B8JRxL079xbhqQBqGvksAgAAAAAAS7IM","B8JRxL079xbhqQBqGvksAgAAAAAASr4O","B8JRxL079xbhqQBqGvksAgAAAAAASqvS","B8JRxL079xbhqQBqGvksAgAAAAAASr1w","B8JRxL079xbhqQBqGvksAgAAAAAASGhp","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEFz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4]},"y7Mdo_ee9-4XsWhpA4MB0g":{"address_or_lines":[4652224,58223725,10400868,10401064,10401333,10401661,58236869,58227432,58120068,58163344,58184537,58041720,57725674,57726188,57066632,22280836,22281116,22396783,22397566,22398116,5362852,5363370,4271546,4264588,4299069],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAADeGxt","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrRk","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrUo","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrY1","6auiCMWq5cA-hAbqSYvdQQAAAAAAnrd9","6auiCMWq5cA-hAbqSYvdQQAAAAADeJ_F","6auiCMWq5cA-hAbqSYvdQQAAAAADeHro","6auiCMWq5cA-hAbqSYvdQQAAAAADdteE","6auiCMWq5cA-hAbqSYvdQQAAAAADd4CQ","6auiCMWq5cA-hAbqSYvdQQAAAAADd9NZ","6auiCMWq5cA-hAbqSYvdQQAAAAADdaV4","6auiCMWq5cA-hAbqSYvdQQAAAAADcNLq","6auiCMWq5cA-hAbqSYvdQQAAAAADcNTs","6auiCMWq5cA-hAbqSYvdQQAAAAADZsSI","6auiCMWq5cA-hAbqSYvdQQAAAAABU_qE","6auiCMWq5cA-hAbqSYvdQQAAAAABU_uc","6auiCMWq5cA-hAbqSYvdQQAAAAABVb9v","6auiCMWq5cA-hAbqSYvdQQAAAAABVcJ-","6auiCMWq5cA-hAbqSYvdQQAAAAABVcSk","6auiCMWq5cA-hAbqSYvdQQAAAAAAUdSk","6auiCMWq5cA-hAbqSYvdQQAAAAAAUdaq","6auiCMWq5cA-hAbqSYvdQQAAAAAAQS26","6auiCMWq5cA-hAbqSYvdQQAAAAAAQRKM","6auiCMWq5cA-hAbqSYvdQQAAAAAAQZk9"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"vODIlh-kDOyM2hWSJhdfpA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19976893,19927481,19928567,19983876,19943049,19984068,19944276,19984260,19945213,19982696,19937907,19982884,19142858],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNK9","v6HIzNa4K6G4nRP9032RIAAAAAABMBG5","v6HIzNa4K6G4nRP9032RIAAAAAABMBX3","v6HIzNa4K6G4nRP9032RIAAAAAABMO4E","v6HIzNa4K6G4nRP9032RIAAAAAABME6J","v6HIzNa4K6G4nRP9032RIAAAAAABMO7E","v6HIzNa4K6G4nRP9032RIAAAAAABMFNU","v6HIzNa4K6G4nRP9032RIAAAAAABMO-E","v6HIzNa4K6G4nRP9032RIAAAAAABMFb9","v6HIzNa4K6G4nRP9032RIAAAAAABMOlo","v6HIzNa4K6G4nRP9032RIAAAAAABMDpz","v6HIzNa4K6G4nRP9032RIAAAAAABMOok","v6HIzNa4K6G4nRP9032RIAAAAAABJBjK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"QKuCwkwTUdmVpouD1TSb6g":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895453,19846041,19847127,19902436,19861609,19902628,19862836,19902820,19863773,19901256,19856467,19901444,19858562,18659470],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5Sd","j8DVIOTu7Btj9lgFefJ84AAAAAABLtOZ","j8DVIOTu7Btj9lgFefJ84AAAAAABLtfX","j8DVIOTu7Btj9lgFefJ84AAAAAABL6_k","j8DVIOTu7Btj9lgFefJ84AAAAAABLxBp","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Ck","j8DVIOTu7Btj9lgFefJ84AAAAAABLxU0","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Fk","j8DVIOTu7Btj9lgFefJ84AAAAAABLxjd","j8DVIOTu7Btj9lgFefJ84AAAAAABL6tI","j8DVIOTu7Btj9lgFefJ84AAAAAABLvxT","j8DVIOTu7Btj9lgFefJ84AAAAAABL6wE","j8DVIOTu7Btj9lgFefJ84AAAAAABLwSC","j8DVIOTu7Btj9lgFefJ84AAAAAABHLiO"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"zQ3yVnMIXoz1yUFx6SaSlA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528467,54488242,54489352,54492882,44042020,44050554,43824563,43838109,43282962,43282989,10485923,16807,2741196,2827770,2817934],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQAnT","MNBJ5seVz_ocW6tcr1HSmwAAAAADP2yy","MNBJ5seVz_ocW6tcr1HSmwAAAAADP3EI","MNBJ5seVz_ocW6tcr1HSmwAAAAADP37S","MNBJ5seVz_ocW6tcr1HSmwAAAAACoAck","MNBJ5seVz_ocW6tcr1HSmwAAAAACoCh6","MNBJ5seVz_ocW6tcr1HSmwAAAAACnLWz","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOqd","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv-O"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"PfGJvpI_t-0Eiwgl8k31BA":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708921,24712242,24698684,24696100,20084020,20086666,20084847,20085083,18040582,18049603],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQc5","j8DVIOTu7Btj9lgFefJ84AAAAAABeRQy","j8DVIOTu7Btj9lgFefJ84AAAAAABeN88","j8DVIOTu7Btj9lgFefJ84AAAAAABeNUk","j8DVIOTu7Btj9lgFefJ84AAAAAABMnU0","j8DVIOTu7Btj9lgFefJ84AAAAAABMn-K","j8DVIOTu7Btj9lgFefJ84AAAAAABMnhv","j8DVIOTu7Btj9lgFefJ84AAAAAABMnlb","j8DVIOTu7Btj9lgFefJ84AAAAAABE0cG","j8DVIOTu7Btj9lgFefJ84AAAAAABE2pD"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"P-lVr6eiwDBuO8eZBdsdMQ":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528745,54499864,54500494,54477482,44044054,44044293,44044676,44051020,43988398,43982642,43988240,43826825,43837959,43282962,43282989,10485923,16755],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQArp","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5oY","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5yO","MNBJ5seVz_ocW6tcr1HSmwAAAAADP0Kq","MNBJ5seVz_ocW6tcr1HSmwAAAAACoA8W","MNBJ5seVz_ocW6tcr1HSmwAAAAACoBAF","MNBJ5seVz_ocW6tcr1HSmwAAAAACoBGE","MNBJ5seVz_ocW6tcr1HSmwAAAAACoCpM","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzWu","MNBJ5seVz_ocW6tcr1HSmwAAAAACnx8y","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzUQ","MNBJ5seVz_ocW6tcr1HSmwAAAAACnL6J","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEFz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4]},"KxQngfXsErVAsVuASxix6w":{"address_or_lines":[4652224,11645454,31861537,31858282,31847101,59040776,58304471,58312462,31457395,31076505,31042101,31058818,31448215,30842852,30845380,30848778,30847620,4952886,4953125,4953508,4960780,4898318,4893650,4898125,4628233,4660663,10485923,16807,3104019,8528279,936364],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAAAsbIO","6auiCMWq5cA-hAbqSYvdQQAAAAAB5ish","6auiCMWq5cA-hAbqSYvdQQAAAAAB5h5q","6auiCMWq5cA-hAbqSYvdQQAAAAAB5fK9","6auiCMWq5cA-hAbqSYvdQQAAAAADhOQI","6auiCMWq5cA-hAbqSYvdQQAAAAADeafX","6auiCMWq5cA-hAbqSYvdQQAAAAADeccO","6auiCMWq5cA-hAbqSYvdQQAAAAAB4ABz","6auiCMWq5cA-hAbqSYvdQQAAAAAB2jCZ","6auiCMWq5cA-hAbqSYvdQQAAAAAB2ao1","6auiCMWq5cA-hAbqSYvdQQAAAAAB2euC","6auiCMWq5cA-hAbqSYvdQQAAAAAB39yX","6auiCMWq5cA-hAbqSYvdQQAAAAAB1p_k","6auiCMWq5cA-hAbqSYvdQQAAAAAB1qnE","6auiCMWq5cA-hAbqSYvdQQAAAAAB1rcK","6auiCMWq5cA-hAbqSYvdQQAAAAAB1rKE","6auiCMWq5cA-hAbqSYvdQQAAAAAAS5M2","6auiCMWq5cA-hAbqSYvdQQAAAAAAS5Ql","6auiCMWq5cA-hAbqSYvdQQAAAAAAS5Wk","6auiCMWq5cA-hAbqSYvdQQAAAAAAS7IM","6auiCMWq5cA-hAbqSYvdQQAAAAAASr4O","6auiCMWq5cA-hAbqSYvdQQAAAAAASqvS","6auiCMWq5cA-hAbqSYvdQQAAAAAASr1N","6auiCMWq5cA-hAbqSYvdQQAAAAAARp8J","6auiCMWq5cA-hAbqSYvdQQAAAAAARx23","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAL10T","ew01Dk0sWZctP-VaEpavqQAAAAAAgiGX","ew01Dk0sWZctP-VaEpavqQAAAAAADkms"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"NDxOvbKIocbTk6FkHrLlqQ":{"address_or_lines":[4652224,58222957,10400868,10401064,10401333,10401661,58236101,58226664,58119300,58162576,58183769,58040952,57724906,57725420,57065864,22280836,22281206,22412958,22408242,22413668,22416921,22341332,22109092,22108612,11325304,11325700,10718668,11154818,57469092,57466065,4552751,4263429],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADeGlt","B8JRxL079xbhqQBqGvksAgAAAAAAnrRk","B8JRxL079xbhqQBqGvksAgAAAAAAnrUo","B8JRxL079xbhqQBqGvksAgAAAAAAnrY1","B8JRxL079xbhqQBqGvksAgAAAAAAnrd9","B8JRxL079xbhqQBqGvksAgAAAAADeJzF","B8JRxL079xbhqQBqGvksAgAAAAADeHfo","B8JRxL079xbhqQBqGvksAgAAAAADdtSE","B8JRxL079xbhqQBqGvksAgAAAAADd32Q","B8JRxL079xbhqQBqGvksAgAAAAADd9BZ","B8JRxL079xbhqQBqGvksAgAAAAADdaJ4","B8JRxL079xbhqQBqGvksAgAAAAADcM_q","B8JRxL079xbhqQBqGvksAgAAAAADcNHs","B8JRxL079xbhqQBqGvksAgAAAAADZsGI","B8JRxL079xbhqQBqGvksAgAAAAABU_qE","B8JRxL079xbhqQBqGvksAgAAAAABU_v2","B8JRxL079xbhqQBqGvksAgAAAAABVf6e","B8JRxL079xbhqQBqGvksAgAAAAABVewy","B8JRxL079xbhqQBqGvksAgAAAAABVgFk","B8JRxL079xbhqQBqGvksAgAAAAABVg4Z","B8JRxL079xbhqQBqGvksAgAAAAABVObU","B8JRxL079xbhqQBqGvksAgAAAAABUVuk","B8JRxL079xbhqQBqGvksAgAAAAABUVnE","B8JRxL079xbhqQBqGvksAgAAAAAArM94","B8JRxL079xbhqQBqGvksAgAAAAAArNEE","B8JRxL079xbhqQBqGvksAgAAAAAAo43M","B8JRxL079xbhqQBqGvksAgAAAAAAqjWC","B8JRxL079xbhqQBqGvksAgAAAAADbOik","B8JRxL079xbhqQBqGvksAgAAAAADbNzR","B8JRxL079xbhqQBqGvksAgAAAAAARXgv","B8JRxL079xbhqQBqGvksAgAAAAAAQQ4F"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"2GP6bCEH-XkrLdH6ox0E3Q":{"address_or_lines":[4623648,7066994,7068484,7069849,7058446,10002970,10005676,10124500,9016547,11291366,9016547,24500423,24494926,9016547,10689293,10690744,9016547,24494153,24444068,9016547,24526481,9016547,12769368,12762703,6837766,6838366,6839304,5651373,5585348,5510696,4903076,4768780,4778619],"file_ids":["JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA"],"frame_ids":["JsObMPhfT_zO2Q_B1cPLxAAAAAAARo0g","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9Vy","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9tE","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-CZ","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa7QO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKIa","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKys","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmnzU","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAArErm","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABddjH","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcNO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoxsN","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoyC4","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcBJ","JsObMPhfT_zO2Q_B1cPLxAAAAAABdPyk","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdj6R","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAwthY","JsObMPhfT_zO2Q_B1cPLxAAAAAAAwr5P","JsObMPhfT_zO2Q_B1cPLxAAAAAAAaFYG","JsObMPhfT_zO2Q_B1cPLxAAAAAAAaFhe","JsObMPhfT_zO2Q_B1cPLxAAAAAAAaFwI","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVjut","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVTnE","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVBYo","JsObMPhfT_zO2Q_B1cPLxAAAAAAAStCk","JsObMPhfT_zO2Q_B1cPLxAAAAAAASMQM","JsObMPhfT_zO2Q_B1cPLxAAAAAAASOp7"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"NYEjWS7muJ8dsj9z5lNehg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19908516,19901477,19920683,18932457,18907996,18882195],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6wl","v6HIzNa4K6G4nRP9032RIAAAAAABL_cr","v6HIzNa4K6G4nRP9032RIAAAAAABIOLp","v6HIzNa4K6G4nRP9032RIAAAAAABIINc","v6HIzNa4K6G4nRP9032RIAAAAAABIB6T"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Nr5XZDDmb-nXg0BzTFzdFA":{"address_or_lines":[4652224,22354871,22382638,22364302,56669071,58509234,58268669,58227812,58241853,31197553,31197973,31304315,4873273,4873930,4883062,4875761,4874468,8925121,8860356,8860667,8476967,4872825,5688954,8906989,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16890,16350,1408382],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYLOP","-pk6w5puGcp-wKnQ61BZzQAAAAADfMey","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Alx","-pk6w5puGcp-wKnQ61BZzQAAAAAB3AsV","-pk6w5puGcp-wKnQ61BZzQAAAAAB3ap7","-pk6w5puGcp-wKnQ61BZzQAAAAAASlw5","-pk6w5puGcp-wKnQ61BZzQAAAAAASl7K","-pk6w5puGcp-wKnQ61BZzQAAAAAASoJ2","-pk6w5puGcp-wKnQ61BZzQAAAAAASmXx","-pk6w5puGcp-wKnQ61BZzQAAAAAASmDk","-pk6w5puGcp-wKnQ61BZzQAAAAAAiC_B","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzLE","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzP7","-pk6w5puGcp-wKnQ61BZzQAAAAAAgVkn","-pk6w5puGcp-wKnQ61BZzQAAAAAASlp5","-pk6w5puGcp-wKnQ61BZzQAAAAAAVs56","-pk6w5puGcp-wKnQ61BZzQAAAAAAh-jt","-pk6w5puGcp-wKnQ61BZzQAAAAAAVUwE","-pk6w5puGcp-wKnQ61BZzQAAAAAAVATI","-pk6w5puGcp-wKnQ61BZzQAAAAAASsLk","-pk6w5puGcp-wKnQ61BZzQAAAAAASHZk","-pk6w5puGcp-wKnQ61BZzQAAAAAASJlH","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEH6","piWSMQrh4r040D0BPNaJvwAAAAAAAD_e","piWSMQrh4r040D0BPNaJvwAAAAAAFX1-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4]},"JVvUxIunvr6V68Rt99rK9w":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19045737,19044484,19054298,18859716,18879913,10485923,16807,2741196,2827770,2817385,2759858,2758809,2558430,2672376],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp1p","v6HIzNa4K6G4nRP9032RIAAAAAABIpiE","v6HIzNa4K6G4nRP9032RIAAAAAABIr7a","v6HIzNa4K6G4nRP9032RIAAAAAABH8bE","v6HIzNa4K6G4nRP9032RIAAAAAABIBWp","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv1p","A2oiHVwisByxRn5RDT4LjAAAAAAAKhyy","A2oiHVwisByxRn5RDT4LjAAAAAAAKhiZ","A2oiHVwisByxRn5RDT4LjAAAAAAAJwne","A2oiHVwisByxRn5RDT4LjAAAAAAAKMb4"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"tagsGmBta7BnDHBzEbH9eQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19977269,22569935,22570653,19208948,22544340,19208919,19208225,22608882,19754692,19668808,19001325,18870508,18879802,10485923,16807,2756848,2756092,2745322,6715782,6715626,7927445,6732427,882422,8542429],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNQ1","v6HIzNa4K6G4nRP9032RIAAAAAABWGPP","v6HIzNa4K6G4nRP9032RIAAAAAABWGad","v6HIzNa4K6G4nRP9032RIAAAAAABJRr0","v6HIzNa4K6G4nRP9032RIAAAAAABV__U","v6HIzNa4K6G4nRP9032RIAAAAAABJRrX","v6HIzNa4K6G4nRP9032RIAAAAAABJRgh","v6HIzNa4K6G4nRP9032RIAAAAAABWPvy","v6HIzNa4K6G4nRP9032RIAAAAAABLW7E","v6HIzNa4K6G4nRP9032RIAAAAAABLB9I","v6HIzNa4K6G4nRP9032RIAAAAAABIe_t","v6HIzNa4K6G4nRP9032RIAAAAAABH_Ds","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw","ew01Dk0sWZctP-VaEpavqQAAAAAAKg38","ew01Dk0sWZctP-VaEpavqQAAAAAAKePq","ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG","ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq","ew01Dk0sWZctP-VaEpavqQAAAAAAePaV","ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL","ew01Dk0sWZctP-VaEpavqQAAAAAADXb2","ew01Dk0sWZctP-VaEpavqQAAAAAAgljd"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"CjP83pplY09FGl9PBMeqCg":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895829,22487599,22488317,19128052,22462004,19128023,19127329,22526546,19673252,19587368,18920557,18789740,18799034,10485923,16743,2752800,2752044,2741274,6650246,6650090,7860129,6674998,6706857,2411027,2395208],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5YV","j8DVIOTu7Btj9lgFefJ84AAAAAABVyIv","j8DVIOTu7Btj9lgFefJ84AAAAAABVyT9","j8DVIOTu7Btj9lgFefJ84AAAAAABI970","j8DVIOTu7Btj9lgFefJ84AAAAAABVr40","j8DVIOTu7Btj9lgFefJ84AAAAAABI97X","j8DVIOTu7Btj9lgFefJ84AAAAAABI9wh","j8DVIOTu7Btj9lgFefJ84AAAAAABV7pS","j8DVIOTu7Btj9lgFefJ84AAAAAABLDCk","j8DVIOTu7Btj9lgFefJ84AAAAAABKuEo","j8DVIOTu7Btj9lgFefJ84AAAAAABILRt","j8DVIOTu7Btj9lgFefJ84AAAAAABHrVs","j8DVIOTu7Btj9lgFefJ84AAAAAABHtm6","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgEg","piWSMQrh4r040D0BPNaJvwAAAAAAKf4s","piWSMQrh4r040D0BPNaJvwAAAAAAKdQa","piWSMQrh4r040D0BPNaJvwAAAAAAZXmG","piWSMQrh4r040D0BPNaJvwAAAAAAZXjq","piWSMQrh4r040D0BPNaJvwAAAAAAd--h","piWSMQrh4r040D0BPNaJvwAAAAAAZdo2","piWSMQrh4r040D0BPNaJvwAAAAAAZlap","piWSMQrh4r040D0BPNaJvwAAAAAAJMoT","piWSMQrh4r040D0BPNaJvwAAAAAAJIxI"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"SQ6jhz-Ee7WHXLMOHOsDcQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,6715099,4221812],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAZnbb","ew01Dk0sWZctP-VaEpavqQAAAAAAQGt0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"eM1ATYEKUIN4nyPylmr13A":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440021,7478164],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYaV","ew01Dk0sWZctP-VaEpavqQAAAAAAchuU"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"9vNu8RjYClbqhYYGUiWI7A":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,51380,55074,37132,20242,23612,47200,14250,1480561,1970211,1481652,1480953,2600004,1079669,52860,1480561,1970211,1481652,1480953,2600004,1079483,6166,60608,20250,65302,10604,14228,1479868,2600004,1079483,29728,14228,1479868,2600004,1069332,47952],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","ktj-IOmkEpvZJouiJkQjTg","O_h7elJSxPO7SiCsftYRZg","DxQN3aM1Ddn1lUwovx75wQ","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAMi0","U4Le8nh-beog_B7jq7uTIAAAAAAAANci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAJEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAE8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAFw8","W8AFtEsepzrJ6AasHrCttwAAAAAAALhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAADeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAM58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","kSaNXrGzSS3BnDNNWezzMAAAAAAAABgW","ne8F__HPIVgxgycJADVSzAAAAAAAAOzA","ktj-IOmkEpvZJouiJkQjTgAAAAAAAE8a","O_h7elJSxPO7SiCsftYRZgAAAAAAAP8W","DxQN3aM1Ddn1lUwovx75wQAAAAAAACls","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAAHQg","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEFEU","--q8cwZVXbHL2zOM_p3RlQAAAAAAALtQ"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,1,1,3,3,3,1]},"CU-T9AvnxmWd1TTRjgV01Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7508830,6761766,2559050],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe","9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m","9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"hoJT-ObO7MDFTgt9UeFJfg":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2822585,3001783,2924437,3111967,3095700,156159,136664,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1344317,1318852,1317318,469350,452199,518055,511351],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","9HZ7GQCC6G9fZlRD7aGzXQ","9HZ7GQCC6G9fZlRD7aGzXQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxG5","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3wf","-p9BlJh9JZMPPNjY_j92ngAAAAAALzyU","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhXY","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBnG","huWyXZbCBWCe2ZtK9BiokQAAAAAABylm","huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB813"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"us5XzJaFA8Y8a8Jhq7VWzQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7439971,6798378,6797926,6797556,2726254,449444],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0","ew01Dk0sWZctP-VaEpavqQAAAAAAKZlu","ew01Dk0sWZctP-VaEpavqQAAAAAABtuk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"tWPDa1sBMePW-YFiahrHBA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10489481,12583132,6878809,6871998,6871380,7366427,7371724,7390232,7379824,6863646,7218707,7217709,6862495,13713],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","5OhlekN4HU3KaqhG_GtinA"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J","9LzzIocepYcOjnUsLlgOjgAAAAAAwADc","9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ","9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-","9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU","9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb","9LzzIocepYcOjnUsLlgOjgAAAAAAcHvM","9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY","9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw","9LzzIocepYcOjnUsLlgOjgAAAAAAaLse","9LzzIocepYcOjnUsLlgOjgAAAAAAbiYT","9LzzIocepYcOjnUsLlgOjgAAAAAAbiIt","9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf","5OhlekN4HU3KaqhG_GtinAAAAAAAADWR"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"KKjaO47Ew4fmVCY-lBFkLg":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2823003,3007344,3001783,2924437,3112045,3104142,1417998,1456694,1456323,1393341,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1344317,1318852,1317297,1335062,1334886,452199,517552],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxNb","-p9BlJh9JZMPPNjY_j92ngAAAAAALeNw","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3xt","-p9BlJh9JZMPPNjY_j92ngAAAAAAL12O","huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD","huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBmx","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF5m","huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-Ww"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"zxyQebekMWvnWWEuWSzR9Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265873,31266293,31372635,4873273,4873930,4883062,4875761,4874468,8927681,8862916,8863227,8479623,4872825,5688954,8909549,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16807,2756288,2755416,2744627,6715329,7926130,7925524,6772762,6770749,6770671,7937674,6744271,7917830,882422,8541549],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RRR","B8JRxL079xbhqQBqGvksAgAAAAAB3RX1","B8JRxL079xbhqQBqGvksAgAAAAAB3rVb","B8JRxL079xbhqQBqGvksAgAAAAAASlw5","B8JRxL079xbhqQBqGvksAgAAAAAASl7K","B8JRxL079xbhqQBqGvksAgAAAAAASoJ2","B8JRxL079xbhqQBqGvksAgAAAAAASmXx","B8JRxL079xbhqQBqGvksAgAAAAAASmDk","B8JRxL079xbhqQBqGvksAgAAAAAAiDnB","B8JRxL079xbhqQBqGvksAgAAAAAAhzzE","B8JRxL079xbhqQBqGvksAgAAAAAAhz37","B8JRxL079xbhqQBqGvksAgAAAAAAgWOH","B8JRxL079xbhqQBqGvksAgAAAAAASlp5","B8JRxL079xbhqQBqGvksAgAAAAAAVs56","B8JRxL079xbhqQBqGvksAgAAAAAAh_Lt","B8JRxL079xbhqQBqGvksAgAAAAAAVUwE","B8JRxL079xbhqQBqGvksAgAAAAAAVATI","B8JRxL079xbhqQBqGvksAgAAAAAASsLk","B8JRxL079xbhqQBqGvksAgAAAAAASHZk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB","A2oiHVwisByxRn5RDT4LjAAAAAAAePFy","A2oiHVwisByxRn5RDT4LjAAAAAAAeO8U","A2oiHVwisByxRn5RDT4LjAAAAAAAZ1ga","A2oiHVwisByxRn5RDT4LjAAAAAAAZ1A9","A2oiHVwisByxRn5RDT4LjAAAAAAAZ0_v","A2oiHVwisByxRn5RDT4LjAAAAAAAeR6K","A2oiHVwisByxRn5RDT4LjAAAAAAAZujP","A2oiHVwisByxRn5RDT4LjAAAAAAAeNEG","A2oiHVwisByxRn5RDT4LjAAAAAAADXb2","A2oiHVwisByxRn5RDT4LjAAAAAAAglVt"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"UI-7Z494NKAWuv1FuNlxoQ":{"address_or_lines":[4652224,59049454,56939078,10401064,10401333,10401661,56939173,56937529,56937108,38310942,29802677,29803353,29746360,8752265,4268420,4265510,4264588,4297532,10488398,10493154,585663,12583132,6882905,21536,6881628,6877992,6877443,6876950,7370944,7369391,7367054,7370328,7370195,7369770,7552115,7547124,7496717,7491196,7486785,7507864,7393057,7394424,7384016,6867742,7222899,7221901,6866591,13650],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","R3YNZBiWt7Z3ZpFfTh6XyQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","R3YNZBiWt7Z3ZpFfTh6XyQ"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADhQXu","B8JRxL079xbhqQBqGvksAgAAAAADZNJG","B8JRxL079xbhqQBqGvksAgAAAAAAnrUo","B8JRxL079xbhqQBqGvksAgAAAAAAnrY1","B8JRxL079xbhqQBqGvksAgAAAAAAnrd9","B8JRxL079xbhqQBqGvksAgAAAAADZNKl","B8JRxL079xbhqQBqGvksAgAAAAADZMw5","B8JRxL079xbhqQBqGvksAgAAAAADZMqU","B8JRxL079xbhqQBqGvksAgAAAAACSJQe","B8JRxL079xbhqQBqGvksAgAAAAABxsC1","B8JRxL079xbhqQBqGvksAgAAAAABxsNZ","B8JRxL079xbhqQBqGvksAgAAAAABxeS4","B8JRxL079xbhqQBqGvksAgAAAAAAhYyJ","B8JRxL079xbhqQBqGvksAgAAAAAAQSGE","B8JRxL079xbhqQBqGvksAgAAAAAAQRYm","B8JRxL079xbhqQBqGvksAgAAAAAAQRKM","B8JRxL079xbhqQBqGvksAgAAAAAAQZM8","A2oiHVwisByxRn5RDT4LjAAAAAAAoApO","A2oiHVwisByxRn5RDT4LjAAAAAAAoBzi","A2oiHVwisByxRn5RDT4LjAAAAAAACO-_","A2oiHVwisByxRn5RDT4LjAAAAAAAwADc","A2oiHVwisByxRn5RDT4LjAAAAAAAaQZZ","R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAAFQg","A2oiHVwisByxRn5RDT4LjAAAAAAAaQFc","A2oiHVwisByxRn5RDT4LjAAAAAAAaPMo","A2oiHVwisByxRn5RDT4LjAAAAAAAaPED","A2oiHVwisByxRn5RDT4LjAAAAAAAaO8W","A2oiHVwisByxRn5RDT4LjAAAAAAAcHjA","A2oiHVwisByxRn5RDT4LjAAAAAAAcHKv","A2oiHVwisByxRn5RDT4LjAAAAAAAcGmO","A2oiHVwisByxRn5RDT4LjAAAAAAAcHZY","A2oiHVwisByxRn5RDT4LjAAAAAAAcHXT","A2oiHVwisByxRn5RDT4LjAAAAAAAcHQq","A2oiHVwisByxRn5RDT4LjAAAAAAAczxz","A2oiHVwisByxRn5RDT4LjAAAAAAAcyj0","A2oiHVwisByxRn5RDT4LjAAAAAAAcmQN","A2oiHVwisByxRn5RDT4LjAAAAAAAck58","A2oiHVwisByxRn5RDT4LjAAAAAAAcj1B","A2oiHVwisByxRn5RDT4LjAAAAAAAco-Y","A2oiHVwisByxRn5RDT4LjAAAAAAAcM8h","A2oiHVwisByxRn5RDT4LjAAAAAAAcNR4","A2oiHVwisByxRn5RDT4LjAAAAAAAcKvQ","A2oiHVwisByxRn5RDT4LjAAAAAAAaMse","A2oiHVwisByxRn5RDT4LjAAAAAAAbjZz","A2oiHVwisByxRn5RDT4LjAAAAAAAbjKN","A2oiHVwisByxRn5RDT4LjAAAAAAAaMaf","R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAADVS"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"6yHX0lcyWmly8MshBzd78Q":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,3132,30816,59306,1480561,1970211,1481652,1480953,2600004,1079483,36350,56142,27276,48820,6316,1479960,1494280,2600004,1079483,31058,15346,1479960,2600004,1079483,44156,54044,53948,63380,1479868,2600004,1079483,8496,63380,1479868,2600004,1056891,26970,28876,2143205,2040020],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","GdaBUD9IUEkKxIBryNqV2w","QU8QLoFK6ojrywKrBFfTzA","V558DAsp4yi8bwa8eYwk5Q","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","cHp4MwXaY5FCuFRuAA6tWw","-9oyoP4Jj2iRkwEezqId-g","3FRCbvQLPuJyn2B-2wELGw","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAAw8","W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","EFJHOn-GACfHXgae-R1yDAAAAAAAAI3-","GdaBUD9IUEkKxIBryNqV2wAAAAAAANtO","QU8QLoFK6ojrywKrBFfTzAAAAAAAAGqM","V558DAsp4yi8bwa8eYwk5QAAAAAAAL60","tuTnMBfyc9UiPsI0QyvErAAAAAAAABis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","cHp4MwXaY5FCuFRuAA6tWwAAAAAAAKx8","-9oyoP4Jj2iRkwEezqId-gAAAAAAANMc","3FRCbvQLPuJyn2B-2wELGwAAAAAAANK8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAACEw","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAECB7","--q8cwZVXbHL2zOM_p3RlQAAAAAAAGla","yaTrLhUSIq2WitrTHLBy3QAAAAAAAHDM","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAILPl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHyDU"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,1,1,1,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,3,3]},"uEL43HtanLRCO2rLB4ttzQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,64358,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,11986,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,51652,2573747,2594708,1091475,13186,2790352,1482889,1482415,2595076,1069851,33394,1493754,2595076,1049998,50014,45950,2995046,2994923,3072326,3072096,3066615,1917744],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","8EY5iPD5-FtlXFBTyb6lkw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","dCCKy6JoX0PADOFic8hRNQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","7RLN3PNgotUSmdQVMRTSvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","43vJVfBcAahhLMzDSC-H0g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","RRFdsCrJw1U2erb6qtrrzQ","_zH-ed4x-42m0B4z2RmcdQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","dCCKy6JoX0PADOFic8hRNQAAAAAAAC7S","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","7RLN3PNgotUSmdQVMRTSvAAAAAAAAMnE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","43vJVfBcAahhLMzDSC-H0gAAAAAAADOC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFMb","ik6PIX946fW_erE7uBJlVQAAAAAAAIJy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsr6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAWO","RRFdsCrJw1U2erb6qtrrzQAAAAAAAMNe","_zH-ed4x-42m0B4z2RmcdQAAAAAAALN-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALbNm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALbLr","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuFG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuBg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsr3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUMw"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,1,1,3,3,3,3,3,3]},"mXgK2ekWZ4qH-uHB8QaLtA":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,824,116,12,8,54,12,46,22,1091612,1804498,665668,663668,1112453,1232178,833111,2265137,2264574,2258679],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","IlUL618nbeW5Kz4uyGZLrQ","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","oN7OWDJeuc8DmI2f_earDQ","Yj7P3-Rt3nirG6apRl4A7A","pz3Evn9laHNJFMwOKIXbsw","7aaw2O1Vn7-6eR8XuUWQZQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4","IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2","Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM","pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu","7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW","G68hjsyagwq6LpWrMjDdngAAAAAAEKgc","G68hjsyagwq6LpWrMjDdngAAAAAAG4jS","G68hjsyagwq6LpWrMjDdngAAAAAACihE","G68hjsyagwq6LpWrMjDdngAAAAAACiB0","G68hjsyagwq6LpWrMjDdngAAAAAAEPmF","G68hjsyagwq6LpWrMjDdngAAAAAAEs0y","G68hjsyagwq6LpWrMjDdngAAAAAADLZX","G68hjsyagwq6LpWrMjDdngAAAAAAIpAx","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInb3"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"1twYzjHR6hCfJqQLvJ81XA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,50892,43744,57354,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1075570,17430,40768,26744,7590,63980,23014,47110,19666,47110,34306,44426,44426,44426,44426,44426,44426,44426,44334,47110,46588,46966,1670488,3072326,3072096,3066777,1745028],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","O_h7elJSxPO7SiCsftYRZg","ZLTqiSLOmv4Ej_7d8yKLmw","qLiwuFhv6DIyQ0OgaSMXCg","ka2IKJhpWbD6PA3J3v624w","e8Lb_MV93AH-OkvHPPDitg","ka2IKJhpWbD6PA3J3v624w","1vivUE5hL65442lQ9a_ylg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","ka2IKJhpWbD6PA3J3v624w","fCsVLBj60GK9Hf8VtnMcgA","ka2IKJhpWbD6PA3J3v624w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAMbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGly","kSaNXrGzSS3BnDNNWezzMAAAAAAAAEQW","ne8F__HPIVgxgycJADVSzAAAAAAAAJ9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAAGh4","O_h7elJSxPO7SiCsftYRZgAAAAAAAB2m","ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAPns","qLiwuFhv6DIyQ0OgaSMXCgAAAAAAAFnm","ka2IKJhpWbD6PA3J3v624wAAAAAAALgG","e8Lb_MV93AH-OkvHPPDitgAAAAAAAEzS","ka2IKJhpWbD6PA3J3v624wAAAAAAALgG","1vivUE5hL65442lQ9a_ylgAAAAAAAIYC","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK0u","ka2IKJhpWbD6PA3J3v624wAAAAAAALgG","fCsVLBj60GK9Hf8VtnMcgAAAAAAAALX8","ka2IKJhpWbD6PA3J3v624wAAAAAAALd2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGX1Y","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuFG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuBg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsuZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGqCE"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3]},"f-LRF9Sfj675yc68DOXczw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,56302,2790352,1482889,1482415,2595076,1079144,25326,27384,368,1760,1481694,1828960,2573747,2594708,1091475,16910,2790352,1482889,1482415,2595076,1079144,25326,27384,368,1760,1481694,1828960,2573747,2594708,1073425,16424,24340,2572553,2928589,1108138,1105869,1310238,1245752,1200236,1192099,1183786,1104144,1103499,2268402,1775000,1761295,1048342],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","cfc92_adXFZraMPGbgbcDg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","WLefmNR3IpykzCX3WWNnMw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","IvJrzqPEgeoowZySdwFq3w","vkeP2ntYyoFN0A16x9eliw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","cfc92_adXFZraMPGbgbcDgAAAAAAANvu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","WLefmNR3IpykzCX3WWNnMwAAAAAAAEIO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","IvJrzqPEgeoowZySdwFq3wAAAAAAAEAo","vkeP2ntYyoFN0A16x9eliwAAAAAAAF8U","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0EJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALK_N","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEOiq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEN_N","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAE_4e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEwI4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAElBs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEjCj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEhAq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAENkQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAENaL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxWY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_8W"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"p24lyWOwFjGMsQaWybQUMA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,36384,21728,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,0,2789627,1482889,1482415,2595076,1079485,54384,2918,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986447,1982493,1959028,1099442],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MXHCWLuAJw7Gg6T7hdrPHA","ecHSwk0KAG7gFkiYdAgIZw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAI4g","ecHSwk0KAG7gFkiYdAgIZwAAAAAAAFTg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeR0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEMay"],"type_ids":[3,3,3,3,3,3,1,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3]},"KHat1RLkyP8wPwwR1uD04A":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,40,38,174,104,68,80,38,174,104,68,60,38,174,104,68,382,38,174,104,68,24,38,174,104,68,28,38,174,104,68,0,1090933,1814182,788459,788130,1197048,1243240,1238413,1212345,1033898,429638],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","0cqvso24v07beLsmyC0nMw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","3WU6MO1xF7O0NmrHFj4y4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","x617yDiAG2Sqq3cLDkX4aA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZTmztUywGW_uHXPqWVr76w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZPAF8mJO2n0azNbxzkJ2rA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAo","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","0cqvso24v07beLsmyC0nMwAAAAAAAABQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","3WU6MO1xF7O0NmrHFj4y4AAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","x617yDiAG2Sqq3cLDkX4aAAAAAAAAAF-","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZTmztUywGW_uHXPqWVr76wAAAAAAAAAY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZPAF8mJO2n0azNbxzkJ2rAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvho","G68hjsyagwq6LpWrMjDdngAAAAAAEuWN","G68hjsyagwq6LpWrMjDdngAAAAAAEn-5","G68hjsyagwq6LpWrMjDdngAAAAAAD8aq","G68hjsyagwq6LpWrMjDdngAAAAAABo5G"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"B-OQjwP7KzSb4f6cXUL1bA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,3616,42208,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,0,2789627,1482889,1482415,2595076,1079485,50288,64358,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986405,1946637,1538878,2269465,2268402,1774938,1011120],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MXHCWLuAJw7Gg6T7hdrPHA","ecHSwk0KAG7gFkiYdAgIZw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAA4g","ecHSwk0KAG7gFkiYdAgIZwAAAAAAAKTg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAMRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAPtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk9l","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHbQN","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF3s-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIqEZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxVa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD22w"],"type_ids":[3,3,3,3,3,3,1,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3]},"kOWftL0Ttias8Z1isZi9oA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,58710,61916,19828,27444,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,12482,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,49534,2790352,1482889,1482415,2595076,1097615,37614,39672,12656,17976,49494,2722496,3251876,3237020,1748920],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SOSrvCNmbstVFKAcqHNCvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAADDC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","SOSrvCNmbstVFKAcqHNCvAAAAAAAAMF-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEL-P","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKYrA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMZ6k","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMWSc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGq-4"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,3,3,3,3]},"JzGylmBPluUmIML9XnagKw":{"address_or_lines":[2599636,1079669,2228,5922,53516,36626,36806,45836,18932,13860,58864,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,56398,58456,31408,16708,2578675,2599636,1091600,36298,2795776,1483241,1482767,2600004,1074397,56398,58456,31408,16708,2578675,2599636,1091600,46582,2795776,1483241,1482767,2600004,1073803,56398,58456,31408,16492,49494,45794,2852079,2851771,2849353,2846190,2849353,2846190,2847233,2838792],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","SD7uzoegJjRT3jYNpuQ5wQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAI_G","LF6DFcGHEMqhhhlptO_M_QAAAAAAALMM","Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAANxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY","J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAI3K","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAANxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY","J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","SD7uzoegJjRT3jYNpuQ5wQAAAAAAALX2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAANxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY","J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAALLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3IB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK1EI"],"type_ids":[3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3]},"tTw0tfSnPtZhbcyzyVHHpg":{"address_or_lines":[4622976,4423302,48950246,48930003,48929418,48931768,15219528,15219797,15220198,48932134,15224283,15224488,15224631,15220795,15220538,48932900,48934534,48924362,21171091,15443915,15441240,6695879,6686586,6688471,15292865,6927608,7025423,9353786,9296758,9312446,9317924,5671585,9381613,9295438,6263620,6258992,6257863,6068365,6003908,5935528,5054445,4702860,4711258,10485923,16743,2752800,2752044,2741274,6650246,6650083,7384662,7382442,7451553,7447772,7441688,7327025,7328392,7317984,6802313,6799580,6799223,6797958],"file_ids":["-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","-SVIyCZG9IbFKK-fe2Wh4g","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-SVIyCZG9IbFKK-fe2Wh4gAAAAAARoqA","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAQ36G","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6uvm","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6pzT","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6pqK","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6qO4","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6DtI","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6DxV","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6D3m","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6qUm","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6E3b","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6E6o","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6E83","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6EA7","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6D86","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6qgk","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6q6G","-SVIyCZG9IbFKK-fe2Wh4gAAAAAC6obK","-SVIyCZG9IbFKK-fe2Wh4gAAAAABQwuT","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA66fL","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA651Y","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAZivH","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAZgd6","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAZg7X","-SVIyCZG9IbFKK-fe2Wh4gAAAAAA6VnB","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAabT4","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAazMP","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjro6","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjdt2","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjhi-","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAji4k","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAVoqh","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjybt","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAjdZO","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAX5NE","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAX4Ew","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAX3zH","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAXJiN","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAW5zE","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAWpGo","-SVIyCZG9IbFKK-fe2Wh4gAAAAAATR_t","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAR8KM","-SVIyCZG9IbFKK-fe2Wh4gAAAAAAR-Na","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgEg","piWSMQrh4r040D0BPNaJvwAAAAAAKf4s","piWSMQrh4r040D0BPNaJvwAAAAAAKdQa","piWSMQrh4r040D0BPNaJvwAAAAAAZXmG","piWSMQrh4r040D0BPNaJvwAAAAAAZXjj","piWSMQrh4r040D0BPNaJvwAAAAAAcK5W","piWSMQrh4r040D0BPNaJvwAAAAAAcKWq","piWSMQrh4r040D0BPNaJvwAAAAAAcbOh","piWSMQrh4r040D0BPNaJvwAAAAAAcaTc","piWSMQrh4r040D0BPNaJvwAAAAAAcY0Y","piWSMQrh4r040D0BPNaJvwAAAAAAb80x","piWSMQrh4r040D0BPNaJvwAAAAAAb9KI","piWSMQrh4r040D0BPNaJvwAAAAAAb6ng","piWSMQrh4r040D0BPNaJvwAAAAAAZ8uJ","piWSMQrh4r040D0BPNaJvwAAAAAAZ8Dc","piWSMQrh4r040D0BPNaJvwAAAAAAZ793","piWSMQrh4r040D0BPNaJvwAAAAAAZ7qG"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"E_F-N51BcZ4iQ9oPaHFKXw":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,400,38,174,104,68,20,38,174,104,68,88,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044780,2041460,1171829,2265239,2264574,2258463,1015963,2256180],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","c-eM3dWacIPzBmA_7-OWBw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","w9AQfBE7-1YeE4mOMirPBg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAGQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","c-eM3dWacIPzBmA_7-OWBwAAAAAAAAAU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","w9AQfBE7-1YeE4mOMirPBgAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzNs","G68hjsyagwq6LpWrMjDdngAAAAAAHyZ0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAAD4Cb","G68hjsyagwq6LpWrMjDdngAAAAAAIm00"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3]},"d04G8ZHV3kYQ0ekQBw1VYQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,62806,476,36212,43828,42480,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,17614,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,41518,2790352,1482889,1482415,2595076,1076587,25326,27384,368,1592,16726,55682,2846655,2846347,2843929,2840766,2843929,2840766,2843929,2840692,1912597,3072400],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uo8E5My6tupMEt-pfV-uhA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAPVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAAHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAI10","xwuAPHgc12-8PZB3i-320gAAAAAAAKs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAETO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1h0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHS8V","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuGQ"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"I-DofAMUQgh7q14tBJcZlA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,30412,43744,6426,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1062336,60522,1844695,1847563,1481567,2595076,1079485,19388,48282,27404,1479608,1493928,2595076,1079485,63084,1479608,1493928,2595076,1079485,63346,48114,1479608,2595076,1079485,5750,41842,34364,63380,1479516,2595076,1079485,14544,63380,1479516,2595076,1056995,11370,55184,2188039,2032414,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAABka","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAAOxq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAEu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAALya","un9fLDZOLvDMO52ltZtuegAAAAAAAGsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAAPZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAABZ2","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy","7v-k2b21f_Xuf-3329jFywAAAAAAAIY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAADjQ","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAECDj","--q8cwZVXbHL2zOM_p3RlQAAAAAAACxq","yaTrLhUSIq2WitrTHLBy3QAAAAAAANeQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIWMH","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHwMe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,3,3,3]},"tGGi0acvAmmxOR5DbuF3dg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,49488,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,20126,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,12078,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1079144,65228,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1079144,28888,1480209,1827586,1940195,1986405,1946664,1775467,1749899,1745572,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N0GNsPaCLYzoFsPJWnIJtQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fq0ezjB8ddCA6Pk0BY9arQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","r1l-BTVp1g6dSvPPoOY_cg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAE6e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N0GNsPaCLYzoFsPJWnIJtQAAAAAAAC8u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","fq0ezjB8ddCA6Pk0BY9arQAAAAAAAP7M","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","r1l-BTVp1g6dSvPPoOY_cgAAAAAAAHDY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZrj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk9l","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHbQo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxdr","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGrOL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGqKk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3]},"Ws9TqFMz-kHv_-7zrBFdKw":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,188,38,174,104,68,60,38,174,104,68,98,38,174,104,68,8,38,174,104,68,36,38,174,104,14,32,166,1090933,19429,41240,50286],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","IcegEVkl4JzbMBhUeMqp0Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","tz0ps4QDYR1clO_q5ziJUQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M0gS5SrmklEEjlV4jbSIBA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","k5C4r96b77lEZ_fHFwCYkQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","EX9l-cE0x8X9W8uz4iKUfw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAAC8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","IcegEVkl4JzbMBhUeMqp0QAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","tz0ps4QDYR1clO_q5ziJUQAAAAAAAABi","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M0gS5SrmklEEjlV4jbSIBAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","k5C4r96b77lEZ_fHFwCYkQAAAAAAAAAk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","EX9l-cE0x8X9W8uz4iKUfwAAAAAAAEvl","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMRu"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"nBHRVpYV5wUL_UAb5ff6Zg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,33826,49772,35602,22316,60128,28682,1480209,1969795,1481300,1480601,2595076,1079144,51020,1480209,1969795,1481300,1480601,2595076,1062336,53402,1844695,1847563,1481567,2595076,1079485,35772,40874,43788,1479608,1493928,2595076,1079485,13932,1479608,1493928,2595076,1079485,63346,48114,1479608,2595076,1079485,1990,41842,34364,63380,1479516,2595076,1079485,8256,63380,1479516,2595076,1073749,4896,39178,32948,3149429,3144768,1903783,1765444,1761295,1048797],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","wXOyVgf5_nNg6CUH5kFBbg","zEgDK4qMawUAQZjg5YHyww","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAFcs","W8AFtEsepzrJ6AasHrCttwAAAAAAAOrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAHAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAMdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAANCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAJ-q","un9fLDZOLvDMO52ltZtuegAAAAAAAKsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAADZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAAAfG","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy","7v-k2b21f_Xuf-3329jFywAAAAAAAIY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAACBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAABMg","wXOyVgf5_nNg6CUH5kFBbgAAAAAAAJkK","zEgDK4qMawUAQZjg5YHywwAAAAAAAIC0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMA51","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAL_xA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHQyn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGvBE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEADd"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,1,3,3,3,3,3,3]},"vfw5EN0FEHQCAj0w-N2avQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,17004,2834,5462,8668,3444,60212,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,24902,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,21798,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,62098,2789627,1482889,1482415,2595076,1073425,9228,2567913,1848405,1837592,1848017,2712905,2221838,2208668,2039344],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","780bLUPADqfQ3x1T5lnVOg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","X0TUmWpd8saA6nnPGQi3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS","grZNsSElR5ITq8H2yHCNSwAAAAAAABVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAACHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAA10","xwuAPHgc12-8PZB3i-320gAAAAAAAOs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAGFG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","780bLUPADqfQ3x1T5lnVOgAAAAAAAFUm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","X0TUmWpd8saA6nnPGQi3nQAAAAAAAPKS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","Npep8JfxWDWZ3roJSD7jPgAAAAAAACQM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDLR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKWVJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIecO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIbOc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHx4w"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,3]},"lyeLQDjWsQDYEJbcY4aFJA":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,51380,55074,37132,20242,15420,47200,6058,1480561,1970211,1481652,1480953,2600004,1079669,52860,1480561,1970211,1481652,1480953,2600004,1062448,62522,1845095,1847963,1481919,2600004,1079483,44204,61562,19788,1479960,1494280,2600004,1079483,22700,1479960,1494280,2600004,1079483,31058,15346,1479960,2600004,1079483,54374,42194,5116,30612,1479868,2600004,1079483,16608,30612,1479868,2600004,1074397,28580,3123760,766784,10485923,16807,2741468,2828042,2817657,2760130,2759130,4216293],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","-T5rZCijT5TDJjmoEi8Kxg","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ","xLxcEbwnZ5oNrk99ZsxcSQ","Z_CHd3Zjsh2cWE2NSdbiNQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAMi0","U4Le8nh-beog_B7jq7uTIAAAAAAAANci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAJEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAE8S","grZNsSElR5ITq8H2yHCNSwAAAAAAADw8","W8AFtEsepzrJ6AasHrCttwAAAAAAALhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAM58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEDYw","kSaNXrGzSS3BnDNNWezzMAAAAAAAAPQ6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHCdn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDKb","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAKys","MYrgKQIxdDhr1gdpucfc-QAAAAAAAPB6","un9fLDZOLvDMO52ltZtuegAAAAAAAE1M","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","tuTnMBfyc9UiPsI0QyvErAAAAAAAAFis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","rTFMSHhLRlj86vHPR06zoQAAAAAAANRm","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKTS","-T5rZCijT5TDJjmoEi8KxgAAAAAAABP8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAAEDg","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","--q8cwZVXbHL2zOM_p3RlQAAAAAAAG-k","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAL6ow","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7NA","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc","ew01Dk0sWZctP-VaEpavqQAAAAAAKycK","ew01Dk0sWZctP-VaEpavqQAAAAAAKv55","ew01Dk0sWZctP-VaEpavqQAAAAAAKh3C","ew01Dk0sWZctP-VaEpavqQAAAAAAKhna","ew01Dk0sWZctP-VaEpavqQAAAAAAQFXl"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,3,3,4,4,4,4,4,4,4,4]},"cqzgaW0F-6gZ8uHz_Pf3hQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,188,38,174,104,68,60,38,174,104,68,86,38,174,104,68,4,38,174,104,68,0,38,174,104,68,0,714,34,1115045,1179023,833111,2265137,2264574,2261229,1175338],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","IcegEVkl4JzbMBhUeMqp0Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","tz0ps4QDYR1clO_q5ziJUQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","O2RGJIowquMzuET0HYQ6aQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","Ht79I_xqXv3bOgaClTNQ4w","T8-enlAkCZXqinPHW4B8sw","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAAC8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","IcegEVkl4JzbMBhUeMqp0QAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","tz0ps4QDYR1clO_q5ziJUQAAAAAAAABW","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","O2RGJIowquMzuET0HYQ6aQAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","Ht79I_xqXv3bOgaClTNQ4wAAAAAAAALK","T8-enlAkCZXqinPHW4B8swAAAAAAAAAi","G68hjsyagwq6LpWrMjDdngAAAAAAEQOl","G68hjsyagwq6LpWrMjDdngAAAAAAEf2P","G68hjsyagwq6LpWrMjDdngAAAAAADLZX","G68hjsyagwq6LpWrMjDdngAAAAAAIpAx","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAIoDt","G68hjsyagwq6LpWrMjDdngAAAAAAEe8q"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3]},"b89Eo7vMfG4HsPSBVvjiKQ":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,31334,49372,51700,46628,9712,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,12612,2578675,2599636,1091600,32150,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,12612,2578675,2599636,1091600,7938,2795051,1483241,1482767,2600004,1079483,28112,42150,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,12612,2578675,2599636,1079669,40672,1482046,1829360,2586325,1480953,1480561,1940968,1986911,1983192],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","3HhVgGD2yvuFLpoZq7RfKw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fDiQPd_MeGeyY9ZBOSU1Gg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAHpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAMDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAMn0","xwuAPHgc12-8PZB3i-320gAAAAAAALYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAH2W","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","3HhVgGD2yvuFLpoZq7RfKwAAAAAAAB8C","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAG3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAKSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","fDiQPd_MeGeyY9ZBOSU1GgAAAAAAAJ7g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHkLY"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3]},"5_-zAnLDYAi4FySmVgS6iw":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,61666,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,9122,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,8610,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,11838,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1079144,61238,1481694,1828960,2581297,2595076,1072525,49410,1646337,3072295,1865241,10489950,422647],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mP9Tk3T74fjOyYWKUaqdMQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","I4X8AC1-B0GuL4JyYemPzw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","b-3iFnlA7BmzAxDEzxShdA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","8jcOoolAg5RmmHop7NqzWQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2LABj1asXFICsosP2OrbVQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N1ZmsCOKFJHNThnHfFYo6Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","mP9Tk3T74fjOyYWKUaqdMQAAAAAAAPDi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","I4X8AC1-B0GuL4JyYemPzwAAAAAAACOi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","b-3iFnlA7BmzAxDEzxShdAAAAAAAACGi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","8jcOoolAg5RmmHop7NqzWQAAAAAAAC4-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","2LABj1asXFICsosP2OrbVQAAAAAAAO82","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEF2N","N1ZmsCOKFJHNThnHfFYo6QAAAAAAAMEC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGR8B","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuEn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe","A2oiHVwisByxRn5RDT4LjAAAAAAABnL3"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,4,4]},"zOI_cRK31hVrh4Typ0-Fxg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,16720,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,60990,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,44846,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,40354,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1079144,48884,1481694,1828960,2581397,1480601,1480209,1940568,1986405,1948474,1768216,1756070,1865241,10490014,423063,2283967,2281647,2098628,2098378,8541549],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N0GNsPaCLYzoFsPJWnIJtQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fq0ezjB8ddCA6Pk0BY9arQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-gDCCFjiBc58_iqAxti3Kw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAO4-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fq0ezjB8ddCA6Pk0BY9arQAAAAAAAJ2i","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","-gDCCFjiBc58_iqAxti3KwAAAAAAAL70","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk9l","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHbs6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGvsY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGsum","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAItCv","A2oiHVwisByxRn5RDT4LjAAAAAAAIAXE","A2oiHVwisByxRn5RDT4LjAAAAAAAIATK","A2oiHVwisByxRn5RDT4LjAAAAAAAglVt"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"4U9ayDnwvWmqJPhn_AOKew":{"address_or_lines":[38782,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,50350,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,10266,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,31478,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,4998,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986447,1982493,1959065,1765336,1761295,1048381],"file_ids":["GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","d4jl580PLMUwu5s3I4wcXg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","tKago5vqLnwIkezk_wTBpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rpq4cV1KPyFZcnKfWjKdZw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uFElJcsK9my-kA6ZYzT1uw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["GP7h96O0_ppGVtc-UpQQIQAAAAAAAJd-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","d4jl580PLMUwu5s3I4wcXgAAAAAAAMSu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","tKago5vqLnwIkezk_wTBpQAAAAAAACga","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","rpq4cV1KPyFZcnKfWjKdZwAAAAAAAHr2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uFElJcsK9my-kA6ZYzT1uwAAAAAAABOG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGu_Y","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_89"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3]},"Jt6CexOHLEwUl4IeTgASBQ":{"address_or_lines":[2795051,1483241,1482767,2600004,1079483,64976,13478,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1091600,57670,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1091600,51706,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1091600,59680,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,16708,2578675,2599636,1079669,0,1482046,1829360,2586325,1481195,1480561,1940968,1917658,1481652,1480953,2600004,1079483,41394,1480124,1827986,1940595,1986911,1983184],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","yp8MidCGMe4czbl-NigsYQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2noK4QoWxdzASRHkjOFwVA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","yO-OCNRiISNdCb_iVi4E_w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","mBpjyQvq6ftE7Wm1BUpcFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAP3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAADSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","yp8MidCGMe4czbl-NigsYQAAAAAAAOFG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2noK4QoWxdzASRHkjOFwVAAAAAAAAMn6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","yO-OCNRiISNdCb_iVi4E_wAAAAAAAOkg","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpnr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAKGy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpW8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-SS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZxz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHkLQ"],"type_ids":[3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3]},"8Rif7kuKG2cfhEYF2fJXmA":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,45806,47864,20848,34524,2573747,2594708,1091475,18066,2790352,1482889,1482415,2595076,1073749,45806,47864,20848,34524,2573747,2594708,1091475,53890,2789627,1482889,1482415,2595076,1073425,41996,2567913,1848405,1837592,1847724,1483518,1482415,2595076,1079144,6526,35438,63996,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,45806,47864,20848,34524,2573747,2594708,1091475,48638,2790352,1482889,1482415,2595076,1079485,45806,47864,20848,32520,56166,1479516,1828960,2573747,2594708,1091475,0,2789548,1848405,1837592,1848026,1002720],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2L4SW1rQgEVXRj3pZAI3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","bcwppGWOjTWw86zVNJE_Jg","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","NiCfOMPggzUjx-usqlmxvg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","Vot4T3F5OpUj8rbXhgpMDg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEaS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAANKC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","Npep8JfxWDWZ3roJSD7jPgAAAAAAAKQM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDGs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqL-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","bcwppGWOjTWw86zVNJE_JgAAAAAAABl-","TBeSzkyqIwKL8td602zDjAAAAAAAAIpu","NH3zvSjFAfTSy6bEocpNyQAAAAAAAPn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","NiCfOMPggzUjx-usqlmxvgAAAAAAAL3-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAALLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw","Vot4T3F5OpUj8rbXhgpMDgAAAAAAAH8I","eV_m28NnKeeTL60KO2H3SAAAAAAAANtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpCs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDLa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD0zg"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3]},"cCjn5miDmyezrnBAe2jDww":{"address_or_lines":[1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,46938,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,15022,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,57678,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1091600,1870,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,61764,2578675,2599636,1079669,19486,1482046,1829360,2586325,1480953,1480561,1940968,1986928],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","5nuRo5ZVtij8bTLlri7QXA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","hi5mlwAHRj-Yl1GNV_UEZQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","uSWUCgHgLPG4OFtPdUp0rg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","-BjW54fwMksXBor9R-YN9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","wuSmWRANn3Cl-syjEtxMoQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","5nuRo5ZVtij8bTLlri7QXAAAAAAAALda","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","hi5mlwAHRj-Yl1GNV_UEZQAAAAAAADqu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","uSWUCgHgLPG4OFtPdUp0rgAAAAAAAOFO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","-BjW54fwMksXBor9R-YN9wAAAAAAAAdO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","wuSmWRANn3Cl-syjEtxMoQAAAAAAAEwe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFw"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3]},"f8AFYpSQOpjCNbhqUuR3Rg":{"address_or_lines":[2578675,2599636,1091600,13686,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,50302,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,31414,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,43062,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,49476,2578675,2599636,1091600,38710,2795776,1483241,1482767,2600004,1079483,31822,33880,6648,14264,54464,42150,1479868,1829983,2783616,2800188,3063028,4240,5748,1213299,4101,76200,1213299,77886,46784,40082,37650],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","pv4wAezdMMO0SVuGgaEMTg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","qns5vQ3LMi6QrIMOgD_TwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","J_Lkq1OzUHxWQhnTgF6FwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","rEbhXoMLMee0rf6bwU9RPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","rBzW547V0L_mH4nnWK1FUQ","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","pv4wAezdMMO0SVuGgaEMTgAAAAAAADV2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAMR-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAHq2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAAKg2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","rEbhXoMLMee0rf6bwU9RPwAAAAAAAJc2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABn4","0S3htaCNkzxOYeavDR1GTQAAAAAAADe4","rBzW547V0L_mH4nnWK1FUQAAAAAAANTA","eV_m28NnKeeTL60KO2H3SAAAAAAAAKSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKnmA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKro8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALrz0","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAATA-","3nN3bymnZ8E42aLEtgglmAAAAAAAALbA","3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS","3nN3bymnZ8E42aLEtgglmAAAAAAAAJMS"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"dGMvgpGXk-ajX6PRi92qdg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,17442,33388,19218,62806,476,52596,11060,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,16746,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,23102,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,0,2789627,1482889,1482415,2595076,1079485,13424,27494,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1592,33110,55262,3227220,1488310,1480209,1940568,3236384],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","z1-LQiSwGmfJHZm7Q223fQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAPVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAAHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAM10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAEFq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","z1-LQiSwGmfJHZm7Q223fQAAAAAAAFo-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAANfe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMT5U","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFrW2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMWIg"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3]},"OxrG9ZVAzX9GwGtxUtIQNg":{"address_or_lines":[51762,2795051,1483241,1482767,2600004,1079483,36304,50342,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,49476,2578675,2599636,1091600,64822,2795051,1483241,1482767,2600004,1079483,36304,50342,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,49476,2578675,2599636,1091600,45750,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,49476,2578675,2599636,1091600,58410,2795776,1483241,1482767,2600004,1073803,40014,42072,15024,49260,33110,13026,2852079,2851771,2849353,2846190,2849353,2846190,2849408,2846190,2848321,2268450,1775400,1761695,1048471],"file_ids":["xDXQtI2vA5YySwpx7QFiwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fSQ747oLNh0c0zFQjsVRWg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","yp8MidCGMe4czbl-NigsYQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2noK4QoWxdzASRHkjOFwVA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xDXQtI2vA5YySwpx7QFiwAAAAAAAAMoy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fSQ747oLNh0c0zFQjsVRWgAAAAAAAP02","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","yp8MidCGMe4czbl-NigsYQAAAAAAALK2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2noK4QoWxdzASRHkjOFwVAAAAAAAAOQq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAADLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3qA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3ZB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIp0i","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGxco","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGuGf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAD_-X"],"type_ids":[1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3]},"QoW8uF5K3OBNL2DXI66leA":{"address_or_lines":[1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,44118,2789627,1482889,1482415,2595076,1079485,54384,2918,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,32266,2789627,1482889,1482415,2595076,1079485,54384,2918,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,0,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1079144,0,1481694,1828960,2581397,1480601,1480209,1940568,1986447,1982493,1959065,1765320],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Z-J8GEZK5aE8XNQ-3sO-Fg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","H-OlnUNurKAlPjkWfV0hTg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","Z-J8GEZK5aE8XNQ-3sO-FgAAAAAAAKxW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","H-OlnUNurKAlPjkWfV0hTgAAAAAAAH4K","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGu_I"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3]},"zV-93oQDbZK9zB7UMAcCmw":{"address_or_lines":[1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1091475,38166,2790352,1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1091475,63374,2790352,1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1091475,12690,2790352,1482889,1482415,2595076,1073749,41710,43768,16752,18140,2573747,2594708,1062336,11500,1844695,1837592,1847724,1483518,1482415,2595076,1079144,40398,15390,8700,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1079485,41710,43252,52070,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1072909,41710,43768,16752,18098,34934,1898256],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","pv4wAezdMMO0SVuGgaEMTg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","qns5vQ3LMi6QrIMOgD_TwQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J_Lkq1OzUHxWQhnTgF6FwA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","hrIwGgdEFsOBluJKOOs8Zg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","jhRfowFriqBKJWhZSTe7kg","B0e_Spx899MeGx2KSvzzow","v1UMuiFodNtdRCNi4iF0Rg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","yzJdtc2TQHpJ_IY5QdUQKA","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","pv4wAezdMMO0SVuGgaEMTgAAAAAAAJUW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAPeO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAADGS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","hrIwGgdEFsOBluJKOOs8ZgAAAAAAACzs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHAoY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDGs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqL-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","jhRfowFriqBKJWhZSTe7kgAAAAAAAJ3O","B0e_Spx899MeGx2KSvzzowAAAAAAADwe","v1UMuiFodNtdRCNi4iF0RgAAAAAAACH8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAMtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEF8N","ik6PIX946fW_erE7uBJlVQAAAAAAAKLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEay","yzJdtc2TQHpJ_IY5QdUQKAAAAAAAAIh2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHPcQ"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,3]},"9CQVJEfCfL1rSnUaxlAfqg":{"address_or_lines":[1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,27398,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,2830,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,16862,2789627,1482889,1482415,2595076,1079485,9328,23398,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1079144,7050,1481694,1828960,2581297,2595076,1079144,21502,39750,29852,29250,6740,37336,26240,24712,1480209,1940568,1934986,1933934,3072096,3066615,1918105,1787434,3064390],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VuJFonCXevADcEDW6NVbKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VFBd9VqCaQu0ZzjQ2K3pjg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PUSucJs4FC_WdMzOyH3QYw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","q_M8ZB6aihtZKYZfHGkluQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MAFaasFcVIeoQsejXrnp0w","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","zpgqltXEgKujOhJUj-jAhg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VuJFonCXevADcEDW6NVbKgAAAAAAAGsG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PUSucJs4FC_WdMzOyH3QYwAAAAAAAEHe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAACRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","q_M8ZB6aihtZKYZfHGkluQAAAAAAABuK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","MAFaasFcVIeoQsejXrnp0wAAAAAAAFP-","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAGaA","zpgqltXEgKujOhJUj-jAhgAAAAAAAGCI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHYaK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHYJu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuBg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsr3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG0Yq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALsJG"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3]},"mGGvLNOYB74ofk9FRrMxxQ":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,35918,37976,10928,49476,2578675,2599636,1091600,17196,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,49476,2578675,2599636,1091600,38014,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,49476,2578675,2599636,1091600,62622,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1073803,35918,37976,10928,49260,33110,13026,2852079,2851771,2849353,2846190,2849443,2846638,1439925,1865540],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ihsoi5zicXHpPrWRA9bTnA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","HbU9j_4D3UaJfjASj-JljA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","awUBhCYYZvWyN4rrVw-u5A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","ihsoi5zicXHpPrWRA9bTnAAAAAAAAEMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","HbU9j_4D3UaJfjASj-JljAAAAAAAAJR-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","awUBhCYYZvWyN4rrVw-u5AAAAAAAAPSe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAMBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAADLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3qj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2-u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFfi1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHdE"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3]},"pnLCuJVNeqGwwFeJQIrkPw":{"address_or_lines":[2795776,1483241,1482767,2600004,1079483,52302,53844,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1079483,52302,53844,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,24900,2578675,2599636,1091600,63066,2795051,1483241,1482767,2600004,1079483,48592,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,24900,2578675,2599636,1091600,62622,2795051,1483241,1482767,2600004,1079483,48592,62630,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,24900,2578675,2599636,1079669,27496,1482046,1829360,2586325,1480953,1480561,1940968,1986911,1982943],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","akZOzI9XwsEixvkTDGeDPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","d1LNRHMzWQ5PvB10hYiN3g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PmkUsVBZlaSEgaFwCOKZlg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","akZOzI9XwsEixvkTDGeDPwAAAAAAAPZa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAL3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","d1LNRHMzWQ5PvB10hYiN3gAAAAAAAPSe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAL3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","PmkUsVBZlaSEgaFwCOKZlgAAAAAAAGto","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlFf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHkHf"],"type_ids":[3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3]},"R77Zz6fBvENVXyt4GVb9dQ":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,94,6,108,36,24,4,28,693765,935741],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","VIK6i3XoO6nxn9WkNabugA","SGPpASrxkViIc4Sq7x-WYQ","9xG1GRY3A4PQMfXDNvrOxQ","4xH83ZXxs_KV95Ur8Z59WQ","PWlQ4X4jsNu5q7FFJqlo_Q","LSxiso_u1cO_pWDBw25Egg","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAABe","VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG","SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs","9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAk","4xH83ZXxs_KV95Ur8Z59WQAAAAAAAAAY","PWlQ4X4jsNu5q7FFJqlo_QAAAAAAAAAE","LSxiso_u1cO_pWDBw25EggAAAAAAAAAc","G68hjsyagwq6LpWrMjDdngAAAAAACpYF","G68hjsyagwq6LpWrMjDdngAAAAAADkc9"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3]},"tgL-t2GJJjItpLjnwjc4zQ":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,40902,49932,35316,46628,9712,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20804,2578675,2599636,1091600,40322,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20804,2578675,2599636,1091600,6862,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20804,2578675,2599636,1091600,45714,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,20588,33110,49802,19187,41240,51007],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","780bLUPADqfQ3x1T5lnVOg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","f3fxdcTCg7rbloZ6VtA0_Q","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAJ_G","LF6DFcGHEMqhhhlptO_M_QAAAAAAAMMM","Af6E3BeG383JVVbu67NJ0QAAAAAAAIn0","xwuAPHgc12-8PZB3i-320gAAAAAAALYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAJ2C","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","780bLUPADqfQ3x1T5lnVOgAAAAAAABrO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","f3fxdcTCg7rbloZ6VtA0_QAAAAAAALKS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMc_"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"XNCSlgkv_bOXDIYn6zwekw":{"address_or_lines":[2578675,2599636,1091600,10822,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,45380,2578675,2599636,1091600,40982,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,45380,2578675,2599636,1091600,6678,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,45380,2578675,2599636,1074067,39072,35338,13252,2577481,2934013,1108250,1105981,1310350,1245864,1200348,1190613,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165561,1146206,1245475,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165783,1162744,1226823,1225457,1224431,1198830,1177316,1176308,1173405,1172510,1172373,1102592],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","uU7rISh8R_xr6YYB3RgLuA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","vQQdLrWHLywJs9twt3EH2Q","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PUIH740KQXWx70DXM4ZvgQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","dsOcslker2-lnNTIC5yERA","zUlsQG278t98_u2KV_JLSQ","vkeP2ntYyoFN0A16x9eliw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","uU7rISh8R_xr6YYB3RgLuAAAAAAAACpG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","vQQdLrWHLywJs9twt3EH2QAAAAAAAKAW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","PUIH740KQXWx70DXM4ZvgQAAAAAAABoW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGOT","dsOcslker2-lnNTIC5yERAAAAAAAAJig","zUlsQG278t98_u2KV_JLSQAAAAAAAIoK","vkeP2ntYyoFN0A16x9eliwAAAAAAADPE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1RJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALMT9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOA9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAE_6O","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwKo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAElDc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEirV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEX1e","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwEj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcnX","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEb34","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErhH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErLx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEq7v","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeQe","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeOV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAENMA"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"jPN_jNGPJguImYjakYlBcA":{"address_or_lines":[19534,21592,60080,53572,2578675,2599636,1091600,12394,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,53572,2578675,2599636,1091600,39546,2795776,1483241,1482767,2600004,1079669,19534,21418,26368,41208,8202,42532,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,55198,34238,39164,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,53572,2578675,2599636,1091600,33554,2795776,1483241,1482767,2600004,1073803,19534,21592,60080,53356,33110,17122,2852079,2851771,2849353,2846190,2849353,2846190,2849353,2846190,2845695,2033924,2033070,1865524],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2L4SW1rQgEVXRj3pZAI3nQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7bd6QJSfWZZfOOpDMHqLMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2L4SW1rQgEVXRj3pZAI3nQAAAAAAADBq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAJp6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4","h0l-9tGi18mC40qpcJbyDwAAAAAAACAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAANee","TBeSzkyqIwKL8td602zDjAAAAAAAAIW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAAIMS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAELi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2v_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHwkE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHwWu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHc0"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3]},"4K-SlZ4j8NjsVBpqyPj2dw":{"address_or_lines":[1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,6714,2790352,1482889,1482415,2595076,1079144,29422,31306,36256,31544,18122,5412,1481694,1829583,2567913,1848405,1978470,1481567,1493928,2595076,1079144,54286,19054,47612,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,60034,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,64446,2790352,1482889,1482415,2595076,1079485,29422,31480,4280,11896,52064,39782,1479516,1829583,2778192,2794764,3057572,4240,5748,1213299,4101,76200,1213299,77886,46784,40082,37750],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","7bd6QJSfWZZfOOpDMHqLMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J3wpF3Lf_vPkis4aNGKFbw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zo4mnjDJ1PlZka7jS9k2BA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","rBzW547V0L_mH4nnWK1FUQ","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","7bd6QJSfWZZfOOpDMHqLMAAAAAAAABo6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4","h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHjBm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO","TBeSzkyqIwKL8td602zDjAAAAAAAAEpu","NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","J3wpF3Lf_vPkis4aNGKFbwAAAAAAAOqC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPu-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABC4","0S3htaCNkzxOYeavDR1GTQAAAAAAAC54","rBzW547V0L_mH4nnWK1FUQAAAAAAAMtg","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKmRQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKqUM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALqek","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAATA-","3nN3bymnZ8E42aLEtgglmAAAAAAAALbA","3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS","3nN3bymnZ8E42aLEtgglmAAAAAAAAJN2"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"W8IRlEZMfFJdYSgUQXDnMg":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,72,38,174,104,68,88,38,174,104,68,124,38,38,10,38,174,104,68,72,38,174,104,68,120,38,174,104,68,276,6,108,20,50,50,2970,50,2970,50,1360,24,788130,1197115,1222867,1212996,1212720],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qkYSh95E1urNTie_gKbr7w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","V8ldXm9NGXsJ182jEHEsUw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xVaa0cBWNcFeS-8zFezQgA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","UBINlIxj95Sa_x2_k5IddA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gRRk0W_9P4SGZLXFJ5KU8Q","VIK6i3XoO6nxn9WkNabugA","SGPpASrxkViIc4Sq7x-WYQ","9xG1GRY3A4PQMfXDNvrOxQ","cbxfeE2AkqKne6oKUxdB6g","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","iLW1ehST1pGQ3S8RoqM9Qg","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qkYSh95E1urNTie_gKbr7wAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAEU","VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG","SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs","9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU","cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAVQ","iLW1ehST1pGQ3S8RoqM9QgAAAAAAAAAY","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkQ7","G68hjsyagwq6LpWrMjDdngAAAAAAEqjT","G68hjsyagwq6LpWrMjDdngAAAAAAEoJE","G68hjsyagwq6LpWrMjDdngAAAAAAEoEw"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3]},"qytuJG9brvKSB9NJCHV9fQ":{"address_or_lines":[1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,53572,2578675,2599636,1091600,45506,2795051,1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,53572,2578675,2599636,1091600,10626,2795051,1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,53572,2578675,2599636,1091600,54118,2795776,1483241,1482767,2600004,1073803,23630,25688,64176,53356,16726,17122,2852079,2851771,2849353,2846190,2849353,2846190,2849762,2846638,1439925,1865641,10490014,423063,2284223,2281903,2098884,2098647,2097658],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","9NWoah56eYULAP_zGE9Puw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","IKrIDHd5n47PpDQsRXxvvg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oG7568kMJujZxPJfj7VMjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","9NWoah56eYULAP_zGE9PuwAAAAAAALHC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","IKrIDHd5n47PpDQsRXxvvgAAAAAAACmC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","oG7568kMJujZxPJfj7VMjAAAAAAAANNm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAANBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAELi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3vi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2-u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFfi1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHep","ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe","ew01Dk0sWZctP-VaEpavqQAAAAAABnSX","ew01Dk0sWZctP-VaEpavqQAAAAAAItq_","ew01Dk0sWZctP-VaEpavqQAAAAAAItGv","ew01Dk0sWZctP-VaEpavqQAAAAAAIAbE","ew01Dk0sWZctP-VaEpavqQAAAAAAIAXX","ew01Dk0sWZctP-VaEpavqQAAAAAAIAH6"],"type_ids":[3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"b116myovN7_XXb1AVLPH0g":{"address_or_lines":[1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,21010,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,32886,2790352,1482889,1482415,2595076,1079485,25326,26868,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,8770,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52386,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1097633,38284,39750,58524,57922,35412,472,59182,472,59182,472,59182,472,59182,472,55416,2915906,959782,10485923,16807,2315878,2315735,2315122,2305825,2551628],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAAFIS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAIB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAMyi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEL-h","MsEmysGbXhMvgdbwhcZDCgAAAAAAAJWM","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAOSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAOJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAIpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAANh4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALH5C","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADqUm","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAI1Zm","A2oiHVwisByxRn5RDT4LjAAAAAAAI1XX","A2oiHVwisByxRn5RDT4LjAAAAAAAI1Ny","A2oiHVwisByxRn5RDT4LjAAAAAAAIy8h","A2oiHVwisByxRn5RDT4LjAAAAAAAJu9M"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,4,4,4,4,4,4,4]},"dNwgDmnCM1dIIF5EZm4ZgA":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,132,38,174,104,68,16,38,38,10,38,174,104,68,4,38,174,104,68,8,38,38,10,38,38,10,38,174,104,68,16,140,10,38,174,104,68,20,140,10,38,174,104,68,92,1090933,1814182,788459,788130,1197048,1243240,1238413,1212345,1033898,428752],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iwnHqwtnoHjA-XW01rxhpw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","53nvYhJfd2eJh-qREaeFBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zwRZ32H5_95LpRJHzXkqVA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","JJab8JrsPDK66yfOtCG3zQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1XUiDryPjyncBxkTlbVecg","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","OIy8IFqaTWz5UoN3FSH-wQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iwnHqwtnoHjA-XW01rxhpwAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","53nvYhJfd2eJh-qREaeFBQAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zwRZ32H5_95LpRJHzXkqVAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","JJab8JrsPDK66yfOtCG3zQAAAAAAAAAQ","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1XUiDryPjyncBxkTlbVecgAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","OIy8IFqaTWz5UoN3FSH-wQAAAAAAAABc","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvho","G68hjsyagwq6LpWrMjDdngAAAAAAEuWN","G68hjsyagwq6LpWrMjDdngAAAAAAEn-5","G68hjsyagwq6LpWrMjDdngAAAAAAD8aq","G68hjsyagwq6LpWrMjDdngAAAAAABorQ"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"KEdXtWOmrUdpIHsjndtg_A":{"address_or_lines":[13038,15096,53616,1756,2573747,2594708,1091475,37514,2789627,1482889,1482415,2595076,1079485,9328,23398,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,33834,2790352,1482889,1482415,2595076,1079144,13038,14922,19872,15160,1738,54564,1481694,1829583,2567913,1848405,1978470,1481567,1493928,2595076,1079144,37902,2670,31228,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,20530,2790352,1482889,1482415,2595076,1076587,13038,15096,53616,1592,16726,2434,2846655,2846347,2843929,2840766,2843929,2840766,2844278,2841214,1439429,1865241,10489950,423063,2283967,2281306,2510155,2414579,2398792,2385273,8471622],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2L4SW1rQgEVXRj3pZAI3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","7bd6QJSfWZZfOOpDMHqLMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J3wpF3Lf_vPkis4aNGKFbw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAJKK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAACRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAIQq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAE2g","8R2Lkqe-tYqq-plJ22QNzAAAAAAAADs4","h0l-9tGi18mC40qpcJbyDwAAAAAAAAbK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAANUk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHjBm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","705jmHYNd7I4Z4L4c0vfiAAAAAAAAJQO","TBeSzkyqIwKL8td602zDjAAAAAAAAApu","NH3zvSjFAfTSy6bEocpNyQAAAAAAAHn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","J3wpF3Lf_vPkis4aNGKFbwAAAAAAAFAy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAAmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2Z2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a","A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L","A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz","A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI","A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5","A2oiHVwisByxRn5RDT4LjAAAAAAAgURG"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"V2K_ZjA6rol7KyINtV45_A":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,24,140,10,38,174,104,68,178,1090933,1814182,788459,788130,1197048,1243204,1201241,1245991,1245236,1171829,2265239,2264574,2258463,922614,2256180],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","-gq3a70QOgdn9HetYyf2Og","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","-gq3a70QOgdn9HetYyf2OgAAAAAAAACy","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvhE","G68hjsyagwq6LpWrMjDdngAAAAAAElRZ","G68hjsyagwq6LpWrMjDdngAAAAAAEwMn","G68hjsyagwq6LpWrMjDdngAAAAAAEwA0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAADhP2","G68hjsyagwq6LpWrMjDdngAAAAAAIm00"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEVjp":{"file_name":[],"function_name":["__x64_sys_nanosleep"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEPyZ":{"file_name":[],"function_name":["get_timespec64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAASf5k":{"file_name":[],"function_name":["_copy_from_user"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEqRj":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEpne":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKpz6":{"file_name":[],"function_name":["pipe_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAASkaN":{"file_name":[],"function_name":["copy_page_to_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAShYf":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAL1uY":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAL1DP":{"file_name":[],"function_name":["ep_insert"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEFz":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv-O":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAL10T":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgiGX":{"file_name":[],"function_name":["__mutex_lock.isra.7"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADkms":{"file_name":[],"function_name":["mutex_spin_on_owner"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEH6":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAD_e":{"file_name":[],"function_name":["syscall_slow_exit_work"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAFX1-":{"file_name":[],"function_name":["__audit_syscall_exit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv1p":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKhyy":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKhiZ":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJwne":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKMb4":{"file_name":[],"function_name":["memcg_kmem_get_cache"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg38":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKePq":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAePaV":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL":{"file_name":[],"function_name":["sock_def_readable"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADXb2":{"file_name":[],"function_name":["__wake_up_common_lock"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgljd":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgEg":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKf4s":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKdQa":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAd--h":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZdo2":{"file_name":[],"function_name":["sock_alloc_send_pskb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZlap":{"file_name":[],"function_name":["alloc_skb_with_frags"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJMoT":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJIxI":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnbb":{"file_name":[],"function_name":["sock_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQGt0":{"file_name":[],"function_name":["security_socket_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYaV":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAchuU":{"file_name":[],"function_name":["tcp_rcv_space_adjust"],"function_offset":[],"line_number":[]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5":{"file_name":["../csu/libc-start.c"],"function_name":["__libc_start_main"],"function_offset":[],"line_number":[308]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAANci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAJEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAE8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAALhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAADeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAM58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAABgW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAOzA":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"ktj-IOmkEpvZJouiJkQjTgAAAAAAAE8a":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[117],"line_number":[854]},"O_h7elJSxPO7SiCsftYRZgAAAAAAAP8W":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"DxQN3aM1Ddn1lUwovx75wQAAAAAAACls":{"file_name":["client.py"],"function_name":["_load_service_endpoints_ruleset"],"function_offset":[1],"line_number":[193]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAHQg":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAALtQ":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKglI":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdME8":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK":{"file_name":[],"function_name":["kmem_cache_alloc_node"],"function_offset":[],"line_number":[]},"eOfhJQFIxbIEScd007tROwAAAAAAAHRK":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/nptl/pthread_create.c"],"function_name":["start_thread"],"function_offset":[],"line_number":[465]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_connect"],"function_offset":[],"line_number":[345]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhXY":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_get_server_certificate"],"function_offset":[],"line_number":[1234]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_d2i"],"function_offset":[],"line_number":[154]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_ex_d2i"],"function_offset":[],"line_number":[553]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[478]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_ex_d2i"],"function_offset":[],"line_number":[623]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_noexp_d2i"],"function_offset":[],"line_number":[735]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[266]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_ex_d2i"],"function_offset":[],"line_number":[235]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBnG":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_canon"],"function_offset":[],"line_number":[380]},"huWyXZbCBWCe2ZtK9BiokQAAAAAABylm":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/objects/obj_lib.c"],"function_name":["OBJ_dup"],"function_offset":[],"line_number":[83]},"huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/mem.c"],"function_name":["CRYPTO_malloc"],"function_offset":[],"line_number":[346]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["__GI___libc_malloc"],"function_offset":[],"line_number":[3068]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB813":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["_int_malloc"],"function_offset":[],"line_number":[3995]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKZlu":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABtuk":{"file_name":[],"function_name":["__virt_addr_valid"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J":{"file_name":[],"function_name":["do_softirq_own_stack"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-":{"file_name":[],"function_name":["process_backlog"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU":{"file_name":[],"function_name":["__netif_receive_skb_one_core"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb":{"file_name":[],"function_name":["ip_rcv"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcHvM":{"file_name":[],"function_name":["ip_forward"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaLse":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbiYT":{"file_name":[],"function_name":["__qdisc_run"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbiIt":{"file_name":[],"function_name":["sch_direct_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"5OhlekN4HU3KaqhG_GtinAAAAAAAADWR":{"file_name":[],"function_name":["ena_start_xmit"],"function_offset":[],"line_number":[]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_d2.c"],"function_name":["X509_STORE_load_locations"],"function_offset":[],"line_number":[94]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["by_file_ctrl"],"function_offset":[],"line_number":[117]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["X509_load_cert_crl_file"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/pem/pem_info.c"],"function_name":["PEM_X509_INFO_read_bio"],"function_offset":[],"line_number":[248]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBmx":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_canon"],"function_offset":[],"line_number":[377]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["ASN1_item_new"],"function_offset":[],"line_number":[76]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF5m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["asn1_item_ex_combine_new"],"function_offset":[],"line_number":[179]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-Ww":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["__GI___libc_malloc"],"function_offset":[],"line_number":[3031]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePFy":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeO8U":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ1ga":{"file_name":[],"function_name":["consume_skb"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ1A9":{"file_name":[],"function_name":["skb_release_all"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ0_v":{"file_name":[],"function_name":["skb_release_head_state"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeR6K":{"file_name":[],"function_name":["unix_destruct_scm"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZujP":{"file_name":[],"function_name":["sock_wfree"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeNEG":{"file_name":[],"function_name":["unix_write_space"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAADXb2":{"file_name":[],"function_name":["__wake_up_common_lock"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAglVt":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoApO":{"file_name":[],"function_name":["ret_from_intr"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBzi":{"file_name":[],"function_name":["do_IRQ"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAACO-_":{"file_name":[],"function_name":["irq_exit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaQZZ":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAAFQg":{"file_name":[],"function_name":["ena_io_poll"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaQFc":{"file_name":[],"function_name":["napi_complete_done"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaPMo":{"file_name":[],"function_name":["gro_normal_list.part.132"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaPED":{"file_name":[],"function_name":["netif_receive_skb_list_internal"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaO8W":{"file_name":[],"function_name":["__netif_receive_skb_list_core"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHjA":{"file_name":[],"function_name":["ip_list_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHKv":{"file_name":[],"function_name":["ip_sublist_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcGmO":{"file_name":[],"function_name":["ip_sublist_rcv_finish"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHZY":{"file_name":[],"function_name":["ip_local_deliver"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHXT":{"file_name":[],"function_name":["ip_local_deliver_finish"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcHQq":{"file_name":[],"function_name":["ip_protocol_deliver_rcu"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAczxz":{"file_name":[],"function_name":["tcp_v4_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcyj0":{"file_name":[],"function_name":["tcp_v4_do_rcv"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcmQN":{"file_name":[],"function_name":["tcp_rcv_state_process"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAck58":{"file_name":[],"function_name":["tcp_data_queue"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcj1B":{"file_name":[],"function_name":["tcp_fin"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAco-Y":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcM8h":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcNR4":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAcKvQ":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaMse":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAbjZz":{"file_name":[],"function_name":["__qdisc_run"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAbjKN":{"file_name":[],"function_name":["sch_direct_xmit"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAaMaf":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"R3YNZBiWt7Z3ZpFfTh6XyQAAAAAAADVS":{"file_name":[],"function_name":["ena_start_xmit"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAJci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAAw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAI3-":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"GdaBUD9IUEkKxIBryNqV2wAAAAAAANtO":{"file_name":["clidriver.py"],"function_name":["create_parser"],"function_offset":[4],"line_number":[635]},"QU8QLoFK6ojrywKrBFfTzAAAAAAAAGqM":{"file_name":["clidriver.py"],"function_name":["_get_command_table"],"function_offset":[3],"line_number":[580]},"V558DAsp4yi8bwa8eYwk5QAAAAAAAL60":{"file_name":["clidriver.py"],"function_name":["_create_command_table"],"function_offset":[18],"line_number":[615]},"tuTnMBfyc9UiPsI0QyvErAAAAAAAABis":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[700]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAHlS":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"cHp4MwXaY5FCuFRuAA6tWwAAAAAAAKx8":{"file_name":["waiters.py"],"function_name":["add_waiters"],"function_offset":[11],"line_number":[36]},"-9oyoP4Jj2iRkwEezqId-gAAAAAAANMc":{"file_name":["waiters.py"],"function_name":["get_waiter_model_from_service_model"],"function_offset":[5],"line_number":[48]},"3FRCbvQLPuJyn2B-2wELGwAAAAAAANK8":{"file_name":["session.py"],"function_name":["get_waiter_model"],"function_offset":[4],"line_number":[527]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAACEw":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAGla":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAAHDM":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm":{"file_name":["pyi_rth_pkgutil.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"ik6PIX946fW_erE7uBJlVQAAAAAAAILu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"dCCKy6JoX0PADOFic8hRNQAAAAAAAC7S":{"file_name":["pkgutil.py"],"function_name":[""],"function_offset":[315],"line_number":[316]},"7RLN3PNgotUSmdQVMRTSvAAAAAAAAMnE":{"file_name":["_bootstrap.py"],"function_name":["exec_module"],"function_offset":[5],"line_number":[982]},"43vJVfBcAahhLMzDSC-H0gAAAAAAADOC":{"file_name":["util.py"],"function_name":[""],"function_offset":[266],"line_number":[267]},"ik6PIX946fW_erE7uBJlVQAAAAAAAIJy":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"RRFdsCrJw1U2erb6qtrrzQAAAAAAAMNe":{"file_name":["_bootstrap.py"],"function_name":["__enter__"],"function_offset":[2],"line_number":[171]},"_zH-ed4x-42m0B4z2RmcdQAAAAAAALN-":{"file_name":["_bootstrap.py"],"function_name":["_get_module_lock"],"function_offset":[34],"line_number":[213]},"a5aMcPOeWx28QSVng73nBQAAAAAAAAAw":{"file_name":["aws"],"function_name":[""],"function_offset":[5],"line_number":[19]},"OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[5],"line_number":[1007]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[19],"line_number":[986]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[21],"line_number":[680]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[499]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[49],"line_number":[62]},"gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc":{"file_name":["core.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[5],"line_number":[18]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[5],"line_number":[972]},"zP58DjIs7uq1cghmzykyNAAAAAAAAAAK":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[228]},"9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4":{"file_name":["application.py"],"function_name":[""],"function_offset":[114],"line_number":[115]},"IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0":{"file_name":["application.py"],"function_name":["Application"],"function_offset":[91],"line_number":[206]},"U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[3],"line_number":[274]},"bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[354]},"oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2":{"file_name":["typing.py"],"function_name":["Union"],"function_offset":[32],"line_number":[466]},"Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM":{"file_name":["typing.py"],"function_name":[""],"function_offset":[0],"line_number":[466]},"pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu":{"file_name":["typing.py"],"function_name":["_type_check"],"function_offset":[18],"line_number":[155]},"7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW":{"file_name":["typing.py"],"function_name":["_type_convert"],"function_offset":[4],"line_number":[132]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAMbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAOAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAEQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAJ9A":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAAGh4":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"O_h7elJSxPO7SiCsftYRZgAAAAAAAB2m":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAPns":{"file_name":["client.py"],"function_name":["_get_client_args"],"function_offset":[15],"line_number":[295]},"qLiwuFhv6DIyQ0OgaSMXCgAAAAAAAFnm":{"file_name":["args.py"],"function_name":["get_client_args"],"function_offset":[72],"line_number":[118]},"ka2IKJhpWbD6PA3J3v624wAAAAAAALgG":{"file_name":["copy.py"],"function_name":["copy"],"function_offset":[35],"line_number":[101]},"e8Lb_MV93AH-OkvHPPDitgAAAAAAAEzS":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[6],"line_number":[344]},"1vivUE5hL65442lQ9a_ylgAAAAAAAIYC":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[8],"line_number":[486]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK2K":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAK0u":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fCsVLBj60GK9Hf8VtnMcgAAAAAAAALX8":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[5],"line_number":[35]},"ka2IKJhpWbD6PA3J3v624wAAAAAAALd2":{"file_name":["copy.py"],"function_name":["copy"],"function_offset":[35],"line_number":[101]},"cfc92_adXFZraMPGbgbcDgAAAAAAANvu":{"file_name":["pyi_rth_inspect.py"],"function_name":[""],"function_offset":[43],"line_number":[44]},"ik6PIX946fW_erE7uBJlVQAAAAAAAGLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbg":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"WLefmNR3IpykzCX3WWNnMwAAAAAAAEIO":{"file_name":["inspect.py"],"function_name":[""],"function_offset":[1707],"line_number":[1708]},"IvJrzqPEgeoowZySdwFq3wAAAAAAAEAo":{"file_name":["dis.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"vkeP2ntYyoFN0A16x9eliwAAAAAAAF8U":{"file_name":["__init__.py"],"function_name":["namedtuple"],"function_offset":[164],"line_number":[512]},"MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAI4g":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":[""],"function_offset":[13],"line_number":[14]},"ecHSwk0KAG7gFkiYdAgIZwAAAAAAAFTg":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":["_pyi_rth_multiprocessing"],"function_offset":[94],"line_number":[107]},"ik6PIX946fW_erE7uBJlVQAAAAAAAOLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAANRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAAtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[8],"line_number":[21]},"mHiYHSEggclUi1ELZIxq4AAAAAAAAABA":{"file_name":["session.py"],"function_name":[""],"function_offset":[13],"line_number":[27]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAo":{"file_name":["client.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"0cqvso24v07beLsmyC0nMwAAAAAAAABQ":{"file_name":["args.py"],"function_name":[""],"function_offset":[15],"line_number":[28]},"3WU6MO1xF7O0NmrHFj4y4AAAAAAAAAA8":{"file_name":["regions.py"],"function_name":[""],"function_offset":[12],"line_number":[25]},"x617yDiAG2Sqq3cLDkX4aAAAAAAAAAF-":{"file_name":["auth.py"],"function_name":[""],"function_offset":[660],"line_number":[674]},"ZTmztUywGW_uHXPqWVr76wAAAAAAAAAY":{"file_name":["auth.py"],"function_name":[""],"function_offset":[3],"line_number":[17]},"ZPAF8mJO2n0azNbxzkJ2rAAAAAAAAAAc":{"file_name":["auth.py"],"function_name":[""],"function_offset":[9],"line_number":[10]},"MXHCWLuAJw7Gg6T7hdrPHAAAAAAAAA4g":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":[""],"function_offset":[13],"line_number":[14]},"ecHSwk0KAG7gFkiYdAgIZwAAAAAAAKTg":{"file_name":["pyi_rth_multiprocessing.py"],"function_name":["_pyi_rth_multiprocessing"],"function_offset":[94],"line_number":[107]},"ik6PIX946fW_erE7uBJlVQAAAAAAANLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAMRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAPtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAE10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAGs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAJLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAADDC":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"SOSrvCNmbstVFKAcqHNCvAAAAAAAAMF-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[89],"line_number":[90]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAABci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAI_G":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAALMM":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAADYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"LEy-wm0GIvRoYVAga55HiwAAAAAAANxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAORY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAEFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAI3K":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"SD7uzoegJjRT3jYNpuQ5wQAAAAAAALX2":{"file_name":["configure.py"],"function_name":[""],"function_offset":[56],"line_number":[57]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAEBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAALLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjj":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcK5W":{"file_name":[],"function_name":["tcp_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcKWq":{"file_name":[],"function_name":["tcp_sendmsg_locked"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcbOh":{"file_name":[],"function_name":["__tcp_push_pending_frames"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcaTc":{"file_name":[],"function_name":["tcp_write_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcY0Y":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb80x":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb9KI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb6ng":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ8uJ":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ8Dc":{"file_name":[],"function_name":["validate_xmit_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ793":{"file_name":[],"function_name":["netif_skb_features"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ7qG":{"file_name":[],"function_name":["skb_network_protocol"],"function_offset":[],"line_number":[]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAGQ":{"file_name":["application.py"],"function_name":[""],"function_offset":[58],"line_number":[59]},"c-eM3dWacIPzBmA_7-OWBwAAAAAAAAAU":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"w9AQfBE7-1YeE4mOMirPBgAAAAAAAABY":{"file_name":["basic.py"],"function_name":[""],"function_offset":[13],"line_number":[15]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[13],"line_number":[482]},"NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[14],"line_number":[298]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[18],"line_number":[304]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAPVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAAHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAI10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAKs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAETO":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAABka":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAOxq":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAEu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAALya":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAGsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAAPZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"rTFMSHhLRlj86vHPR06zoQAAAAAAABZ2":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAIY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAADjQ":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAACxq":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAANeQ":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAE6e":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"N0GNsPaCLYzoFsPJWnIJtQAAAAAAAC8u":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[53],"line_number":[54]},"fq0ezjB8ddCA6Pk0BY9arQAAAAAAAP7M":{"file_name":["distro.py"],"function_name":[""],"function_offset":[608],"line_number":[609]},"r1l-BTVp1g6dSvPPoOY_cgAAAAAAAHDY":{"file_name":["typing.py"],"function_name":["__new__"],"function_offset":[55],"line_number":[2965]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAADU":{"file_name":["application.py"],"function_name":[""],"function_offset":[40],"line_number":[41]},"bAXCoU3-CU0WlRxl5l1tmwAAAAAAAAC8":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[32],"line_number":[33]},"IcegEVkl4JzbMBhUeMqp0QAAAAAAAAA8":{"file_name":["auto_suggest.py"],"function_name":[""],"function_offset":[18],"line_number":[19]},"tz0ps4QDYR1clO_q5ziJUQAAAAAAAABi":{"file_name":["document.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"M0gS5SrmklEEjlV4jbSIBAAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[18],"line_number":[19]},"k5C4r96b77lEZ_fHFwCYkQAAAAAAAAAk":{"file_name":["app.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[16],"line_number":[302]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFcs":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAOrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAHAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAMdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAANCa":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAJ-q":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAKsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAADZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"rTFMSHhLRlj86vHPR06zoQAAAAAAAAfG":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAACBA":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAABMg":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"wXOyVgf5_nNg6CUH5kFBbgAAAAAAAJkK":{"file_name":["loaders.py"],"function_name":[""],"function_offset":[0],"line_number":[273]},"zEgDK4qMawUAQZjg5YHywwAAAAAAAIC0":{"file_name":["genericpath.py"],"function_name":["isdir"],"function_offset":[6],"line_number":[45]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAABVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAACHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAA10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAOs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAADLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAANFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAGFG":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"780bLUPADqfQ3x1T5lnVOgAAAAAAAFUm":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"X0TUmWpd8saA6nnPGQi3nQAAAAAAAPKS":{"file_name":["addsteps.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAACQM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"grZNsSElR5ITq8H2yHCNSwAAAAAAADw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAPQ6":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAKys":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAPB6":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAE1M":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"tuTnMBfyc9UiPsI0QyvErAAAAAAAAFis":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[700]},"rTFMSHhLRlj86vHPR06zoQAAAAAAANRm":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAKTS":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"-T5rZCijT5TDJjmoEi8KxgAAAAAAABP8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[533]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAEDg":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAG-k":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKycK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKv55":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKh3C":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhna":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQFXl":{"file_name":[],"function_name":["security_file_alloc"],"function_offset":[],"line_number":[]},"tz0ps4QDYR1clO_q5ziJUQAAAAAAAABW":{"file_name":["document.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"O2RGJIowquMzuET0HYQ6aQAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"Ht79I_xqXv3bOgaClTNQ4wAAAAAAAALK":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[131],"line_number":[310]},"T8-enlAkCZXqinPHW4B8swAAAAAAAAAi":{"file_name":["enum.py"],"function_name":["__setattr__"],"function_offset":[11],"line_number":[473]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAMDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAMn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAALYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAH2W":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"3HhVgGD2yvuFLpoZq7RfKwAAAAAAAB8C":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[179],"line_number":[180]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAG3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAKSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"fDiQPd_MeGeyY9ZBOSU1GgAAAAAAAJ7g":{"file_name":["hashes.py"],"function_name":[""],"function_offset":[245],"line_number":[246]},"mP9Tk3T74fjOyYWKUaqdMQAAAAAAAPDi":{"file_name":["client.py"],"function_name":[""],"function_offset":[119],"line_number":[120]},"I4X8AC1-B0GuL4JyYemPzwAAAAAAACOi":{"file_name":["args.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"b-3iFnlA7BmzAxDEzxShdAAAAAAAACGi":{"file_name":["config.py"],"function_name":[""],"function_offset":[24],"line_number":[25]},"8jcOoolAg5RmmHop7NqzWQAAAAAAAC4-":{"file_name":["endpoint.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"2LABj1asXFICsosP2OrbVQAAAAAAAO82":{"file_name":["hooks.py"],"function_name":["httpchecksum"],"function_offset":[67],"line_number":[68]},"N1ZmsCOKFJHNThnHfFYo6QAAAAAAAMEC":{"file_name":["hooks.py"],"function_name":["HierarchicalEmitter"],"function_offset":[155],"line_number":[321]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe":{"file_name":[],"function_name":["page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnL3":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAO4-":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[53],"line_number":[54]},"fq0ezjB8ddCA6Pk0BY9arQAAAAAAAJ2i":{"file_name":["distro.py"],"function_name":[""],"function_offset":[608],"line_number":[609]},"-gDCCFjiBc58_iqAxti3KwAAAAAAAL70":{"file_name":["argparse.py"],"function_name":[""],"function_offset":[817],"line_number":[818]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItm_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItCv":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIAXE":{"file_name":[],"function_name":["__lru_cache_add"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIATK":{"file_name":[],"function_name":["pagevec_lru_move_fn"],"function_offset":[],"line_number":[]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAJd-":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"d4jl580PLMUwu5s3I4wcXgAAAAAAAMSu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"tKago5vqLnwIkezk_wTBpQAAAAAAACga":{"file_name":["package.py"],"function_name":[""],"function_offset":[31],"line_number":[32]},"rpq4cV1KPyFZcnKfWjKdZwAAAAAAAHr2":{"file_name":["s3uploader.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"uFElJcsK9my-kA6ZYzT1uwAAAAAAABOG":{"file_name":["manager.py"],"function_name":[""],"function_offset":[46],"line_number":[47]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAP3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAADSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"yp8MidCGMe4czbl-NigsYQAAAAAAAOFG":{"file_name":["connection.py"],"function_name":[""],"function_offset":[524],"line_number":[525]},"2noK4QoWxdzASRHkjOFwVAAAAAAAAMn6":{"file_name":["tempfile.py"],"function_name":[""],"function_offset":[547],"line_number":[548]},"yO-OCNRiISNdCb_iVi4E_wAAAAAAAOkg":{"file_name":["shutil.py"],"function_name":[""],"function_offset":[2003],"line_number":[2004]},"mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAKGy":{"file_name":["abc.py"],"function_name":["__new__"],"function_offset":[3],"line_number":[108]},"ik6PIX946fW_erE7uBJlVQAAAAAAALLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAALr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAFFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEaS":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"OlTvyWQFXjOweJcs3kiGygAAAAAAANKC":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAKQM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"bcwppGWOjTWw86zVNJE_JgAAAAAAABl-":{"file_name":["six.py"],"function_name":["__get__"],"function_offset":[9],"line_number":[104]},"TBeSzkyqIwKL8td602zDjAAAAAAAAIpu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAPn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"NiCfOMPggzUjx-usqlmxvgAAAAAAAL3-":{"file_name":["queue.py"],"function_name":[""],"function_offset":[62],"line_number":[63]},"Vot4T3F5OpUj8rbXhgpMDgAAAAAAAH8I":{"file_name":["_bootstrap_external.py"],"function_name":["exec_module"],"function_offset":[4],"line_number":[938]},"eV_m28NnKeeTL60KO2H3SAAAAAAAANtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"5nuRo5ZVtij8bTLlri7QXAAAAAAAALda":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[29],"line_number":[30]},"hi5mlwAHRj-Yl1GNV_UEZQAAAAAAADqu":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[30],"line_number":[31]},"uSWUCgHgLPG4OFtPdUp0rgAAAAAAAOFO":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"-BjW54fwMksXBor9R-YN9wAAAAAAAAdO":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[575],"line_number":[576]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAALSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wuSmWRANn3Cl-syjEtxMoQAAAAAAAEwe":{"file_name":["ec.py"],"function_name":[""],"function_offset":[339],"line_number":[340]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAADV2":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAMFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAMR-":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAHq2":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAKg2":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"rEbhXoMLMee0rf6bwU9RPwAAAAAAAJc2":{"file_name":["hashlib.py"],"function_name":[""],"function_offset":[300],"line_number":[301]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABn4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAADe4":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"rBzW547V0L_mH4nnWK1FUQAAAAAAANTA":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[6],"line_number":[1237]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["__dlopen"],"function_offset":[],"line_number":[87]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlerror.c"],"function_name":["_dlerror_run"],"function_offset":[],"line_number":[163]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-error-skeleton.c"],"function_name":["__GI__dl_catch_error"],"function_offset":[],"line_number":[198]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["dlopen_doit"],"function_offset":[],"line_number":[66]},"3nN3bymnZ8E42aLEtgglmAAAAAAAASmo":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["_dl_open"],"function_offset":[],"line_number":[649]},"3nN3bymnZ8E42aLEtgglmAAAAAAAATA-":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["dl_open_worker"],"function_offset":[],"line_number":[424]},"3nN3bymnZ8E42aLEtgglmAAAAAAAALbA":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-reloc.c"],"function_name":["_dl_relocate_object"],"function_offset":[],"line_number":[160]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["_dl_lookup_symbol_x"],"function_offset":[],"line_number":[833]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJMS":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["do_lookup_x"],"function_offset":[],"line_number":[413]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAM10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAACs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"ik6PIX946fW_erE7uBJlVQAAAAAAAELu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAEFq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"z1-LQiSwGmfJHZm7Q223fQAAAAAAAFo-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[18],"line_number":[19]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAANfe":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"xDXQtI2vA5YySwpx7QFiwAAAAAAAAMoy":{"file_name":["popen_forkserver.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"fSQ747oLNh0c0zFQjsVRWgAAAAAAAP02":{"file_name":["forkserver.py"],"function_name":[""],"function_offset":[80],"line_number":[81]},"yp8MidCGMe4czbl-NigsYQAAAAAAALK2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[524],"line_number":[525]},"2noK4QoWxdzASRHkjOFwVAAAAAAAAOQq":{"file_name":["tempfile.py"],"function_name":[""],"function_offset":[547],"line_number":[548]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAMBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAADLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"Z-J8GEZK5aE8XNQ-3sO-FgAAAAAAAKxW":{"file_name":["adaptive.py"],"function_name":[""],"function_offset":[34],"line_number":[35]},"H-OlnUNurKAlPjkWfV0hTgAAAAAAAH4K":{"file_name":["standard.py"],"function_name":[""],"function_offset":[279],"line_number":[280]},"ik6PIX946fW_erE7uBJlVQAAAAAAAKLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAEFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAAJUW":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAPeO":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAADGS":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"hrIwGgdEFsOBluJKOOs8ZgAAAAAAACzs":{"file_name":["docstringparser.py"],"function_name":[""],"function_offset":[172],"line_number":[173]},"jhRfowFriqBKJWhZSTe7kgAAAAAAAJ3O":{"file_name":["six.py"],"function_name":["__get__"],"function_offset":[9],"line_number":[100]},"B0e_Spx899MeGx2KSvzzowAAAAAAADwe":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[115]},"v1UMuiFodNtdRCNi4iF0RgAAAAAAACH8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[83]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAKj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAMtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEay":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"yzJdtc2TQHpJ_IY5QdUQKAAAAAAAAIh2":{"file_name":["posixpath.py"],"function_name":["dirname"],"function_offset":[8],"line_number":[158]},"VuJFonCXevADcEDW6NVbKgAAAAAAAGsG":{"file_name":["devcommands.py"],"function_name":[""],"function_offset":[49],"line_number":[50]},"VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO":{"file_name":["factory.py"],"function_name":[""],"function_offset":[57],"line_number":[58]},"PUSucJs4FC_WdMzOyH3QYwAAAAAAAEHe":{"file_name":["layout.py"],"function_name":[""],"function_offset":[130],"line_number":[131]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAACRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"q_M8ZB6aihtZKYZfHGkluQAAAAAAABuK":{"file_name":["core.py"],"function_name":[""],"function_offset":[331],"line_number":[332]},"MAFaasFcVIeoQsejXrnp0wAAAAAAAFP-":{"file_name":["core.py"],"function_name":["TemplateStep"],"function_offset":[40],"line_number":[240]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAGaA":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"zpgqltXEgKujOhJUj-jAhgAAAAAAAGCI":{"file_name":["_parser.py"],"function_name":["__getitem__"],"function_offset":[3],"line_number":[165]},"ihsoi5zicXHpPrWRA9bTnAAAAAAAAEMs":{"file_name":["base_events.py"],"function_name":[""],"function_offset":[190],"line_number":[191]},"HbU9j_4D3UaJfjASj-JljAAAAAAAAJR-":{"file_name":["staggered.py"],"function_name":[""],"function_offset":[1],"line_number":[2]},"awUBhCYYZvWyN4rrVw-u5AAAAAAAAPSe":{"file_name":["locks.py"],"function_name":[""],"function_offset":[114],"line_number":[115]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAPSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAGFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"akZOzI9XwsEixvkTDGeDPwAAAAAAAPZa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAL3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"d1LNRHMzWQ5PvB10hYiN3gAAAAAAAPSe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[9],"line_number":[10]},"PmkUsVBZlaSEgaFwCOKZlgAAAAAAAGto":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[166],"line_number":[167]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU":{"file_name":["client.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[25],"line_number":[1058]},"CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc":{"file_name":["waiter.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE":{"file_name":["service.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc":{"file_name":["compat.py"],"function_name":[""],"function_offset":[17],"line_number":[31]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[10],"line_number":[11]},"r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[15],"line_number":[982]},"JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[24],"line_number":[925]},"MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[2],"line_number":[192]},"yWt46REABLfKH6PXLAE18AAAAAAAAABk":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[16],"line_number":[431]},"VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[1],"line_number":[121]},"Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[2],"line_number":[87]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI":{"file_name":["client.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg":{"file_name":["parser.py"],"function_name":[""],"function_offset":[7],"line_number":[12]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAABe":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[28],"line_number":[33]},"VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG":{"file_name":["re.py"],"function_name":["compile"],"function_offset":[2],"line_number":[252]},"SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs":{"file_name":["re.py"],"function_name":["_compile"],"function_offset":[15],"line_number":[304]},"9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAk":{"file_name":["sre_compile.py"],"function_name":["compile"],"function_offset":[9],"line_number":[768]},"4xH83ZXxs_KV95Ur8Z59WQAAAAAAAAAY":{"file_name":["sre_compile.py"],"function_name":["_code"],"function_offset":[6],"line_number":[604]},"PWlQ4X4jsNu5q7FFJqlo_QAAAAAAAAAE":{"file_name":["sre_compile.py"],"function_name":["_compile_info"],"function_offset":[4],"line_number":[540]},"LSxiso_u1cO_pWDBw25EggAAAAAAAAAc":{"file_name":["sre_parse.py"],"function_name":["getwidth"],"function_offset":[5],"line_number":[179]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJ_G":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAMMM":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAIn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAExO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAJ2C":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"780bLUPADqfQ3x1T5lnVOgAAAAAAABrO":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"f3fxdcTCg7rbloZ6VtA0_QAAAAAAALKS":{"file_name":["hbase.py"],"function_name":[""],"function_offset":[96],"line_number":[97]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAFBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"uU7rISh8R_xr6YYB3RgLuAAAAAAAACpG":{"file_name":["s3.py"],"function_name":[""],"function_offset":[38],"line_number":[39]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAALFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"vQQdLrWHLywJs9twt3EH2QAAAAAAAKAW":{"file_name":["subcommands.py"],"function_name":[""],"function_offset":[833],"line_number":[834]},"PUIH740KQXWx70DXM4ZvgQAAAAAAABoW":{"file_name":["s3handler.py"],"function_name":[""],"function_offset":[273],"line_number":[274]},"dsOcslker2-lnNTIC5yERAAAAAAAAJig":{"file_name":["results.py"],"function_name":[""],"function_offset":[550],"line_number":[551]},"zUlsQG278t98_u2KV_JLSQAAAAAAAIoK":{"file_name":["results.py"],"function_name":["_create_new_result_cls"],"function_offset":[10],"line_number":[48]},"vkeP2ntYyoFN0A16x9eliwAAAAAAADPE":{"file_name":["__init__.py"],"function_name":["namedtuple"],"function_offset":[164],"line_number":[512]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAANFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAADBq":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAJp6":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAACAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAIW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"fj70ljef7nDHOqVJGSIoEQAAAAAAAIMS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAANBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAELi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAAHLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAABo6":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAEpu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"J3wpF3Lf_vPkis4aNGKFbwAAAAAAAOqC":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPu-":{"file_name":["ssl.py"],"function_name":[""],"function_offset":[780],"line_number":[781]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABC4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAAC54":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"rBzW547V0L_mH4nnWK1FUQAAAAAAAMtg":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[6],"line_number":[1237]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJN2":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["do_lookup_x"],"function_offset":[],"line_number":[420]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"qkYSh95E1urNTie_gKbr7wAAAAAAAABY":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[11],"line_number":[12]},"V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8":{"file_name":["connection.py"],"function_name":[""],"function_offset":[14],"line_number":[15]},"xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAEU":{"file_name":["url.py"],"function_name":[""],"function_offset":[61],"line_number":[62]},"9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU":{"file_name":["sre_compile.py"],"function_name":["compile"],"function_offset":[5],"line_number":[764]},"cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["parse"],"function_offset":[11],"line_number":[948]},"aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["_parse_sub"],"function_offset":[8],"line_number":[443]},"MebnOxK5WOhP29sl19JefwAAAAAAAAua":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[341],"line_number":[834]},"MebnOxK5WOhP29sl19JefwAAAAAAAAVQ":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[171],"line_number":[664]},"iLW1ehST1pGQ3S8RoqM9QgAAAAAAAAAY":{"file_name":["sre_parse.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[166]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAISm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"9NWoah56eYULAP_zGE9PuwAAAAAAALHC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[101],"line_number":[102]},"IKrIDHd5n47PpDQsRXxvvgAAAAAAACmC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[81],"line_number":[82]},"oG7568kMJujZxPJfj7VMjAAAAAAAANNm":{"file_name":["frontend.py"],"function_name":[""],"function_offset":[390],"line_number":[391]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAItq_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAItGv":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIAbE":{"file_name":[],"function_name":["__lru_cache_add"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIAXX":{"file_name":[],"function_name":["pagevec_lru_move_fn"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIAH6":{"file_name":[],"function_name":["release_pages"],"function_offset":[],"line_number":[]},"OlTvyWQFXjOweJcs3kiGygAAAAAAAFIS":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAIB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAItm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAMyi":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAJWM":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAOSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAOJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAIpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAAHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAOcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAANh4":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"A2oiHVwisByxRn5RDT4LjAAAAAAAI1Zm":{"file_name":[],"function_name":["__x64_sys_munmap"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAI1XX":{"file_name":[],"function_name":["__vm_munmap"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAI1Ny":{"file_name":[],"function_name":["__do_munmap"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIy8h":{"file_name":[],"function_name":["remove_vma"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJu9M":{"file_name":[],"function_name":["kmem_cache_free"],"function_offset":[],"line_number":[]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACE":{"file_name":["compat.py"],"function_name":[""],"function_offset":[15],"line_number":[29]},"iwnHqwtnoHjA-XW01rxhpwAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[16]},"53nvYhJfd2eJh-qREaeFBQAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[7]},"zwRZ32H5_95LpRJHzXkqVAAAAAAAAAAI":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[7],"line_number":[10]},"JJab8JrsPDK66yfOtCG3zQAAAAAAAAAQ":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"1XUiDryPjyncBxkTlbVecgAAAAAAAAAU":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[9],"line_number":[10]},"OIy8IFqaTWz5UoN3FSH-wQAAAAAAAABc":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[37],"line_number":[41]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAJKK":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAIQq":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAE2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAADs4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAAbK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAANUk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAAJQO":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAApu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAHn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"J3wpF3Lf_vPkis4aNGKFbwAAAAAAAFAy":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAAmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L":{"file_name":[],"function_name":["alloc_pages_vma"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5":{"file_name":[],"function_name":["prep_new_page"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgURG":{"file_name":[],"function_name":["clear_page_erms"],"function_offset":[],"line_number":[]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[21],"line_number":[26]},"-gq3a70QOgdn9HetYyf2OgAAAAAAAACy":{"file_name":["errors.py"],"function_name":[""],"function_offset":[45],"line_number":[50]}},"executables":{"G68hjsyagwq6LpWrMjDdng":"libpython3.9.so.1.0","B8JRxL079xbhqQBqGvksAg":"kubelet","6kzBY4yj-1Fh1NCTZA3z0w":"aws-k8s-agent","j8DVIOTu7Btj9lgFefJ84A":"dockerd","B56YkhsK1JwqD-8F8sjS3A":"prometheus","v6HIzNa4K6G4nRP9032RIA":"dockerd","FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","gNW12BepH17pXwK-ZuYt3w":"node_exporter","piWSMQrh4r040D0BPNaJvw":"vmlinux","kajOqZqz7V1y0BdYQLFQrw":"containerd-shim-runc-v2","A2oiHVwisByxRn5RDT4LjA":"vmlinux","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","-pk6w5puGcp-wKnQ61BZzQ":"kubelet","QvG8QEGAld88D676NL_Y2Q":"filebeat","6auiCMWq5cA-hAbqSYvdQQ":"kubelet","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","JsObMPhfT_zO2Q_B1cPLxA":"coredns","SbPwzb_Kog2bWn8uc7xhDQ":"aws","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","xLxcEbwnZ5oNrk99ZsxcSQ":"libpython3.11.so.1.0","9LzzIocepYcOjnUsLlgOjg":"vmlinux","eOfhJQFIxbIEScd007tROw":"libpthread-2.26.so","-p9BlJh9JZMPPNjY_j92ng":"awsagent","9HZ7GQCC6G9fZlRD7aGzXQ":"libssl.so.1.0.2k","huWyXZbCBWCe2ZtK9BiokQ":"libcrypto.so.1.0.2k","5OhlekN4HU3KaqhG_GtinA":"ena","R3YNZBiWt7Z3ZpFfTh6XyQ":"ena","WpYcHtr4qx88B8CBJZ2GTw":"aws","-Z7SlEXhuy5tL2BF-xmy3g":"libpython3.11.so.1.0","-SVIyCZG9IbFKK-fe2Wh4g":"cluster-autoscaler","EX9l-cE0x8X9W8uz4iKUfw":"zlib.cpython-39-x86_64-linux-gnu.so","jaBVtokSUzfS97d-XKjijg":"libz.so.1","PVZV2uq5ZRt-FFaczL10BA":"libdl-2.26.so","3nN3bymnZ8E42aLEtgglmA":"ld-2.26.so","ASi9f26ltguiwFajNwOaZw":"zlib.cpython-311-x86_64-linux-gnu.so"},"total_frames":172380,"sampling_rate":0.2} diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_604800s_625x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_604800s_625x.json new file mode 100644 index 0000000000000..75ad39e9298d2 --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_604800s_625x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"oxpVfjjIF44Ceg6SK1UUdQ":43,"JTDxAdxqnTYIS6qzFXvK3g":100,"5tZzmji29IcMEbLCg170Tw":294,"0CNUMdOdpmKJxWeUmvWvXg":1343,"9_06LL00QkYIeiFNCWu0XQ":1109,"OtKh8npcfHhiQ7ynFMPOeQ":622,"TCJ8_VmEK5hAZOYdmPHyug":487,"OCdksb_5DbnTD8RB0r1Hmw":460,"2Ov4wSepfExdnFvsJSSjog":411,"668oRSTLMVtOeHPjJ80fWg":574,"VmRA1Zd-R_saxzv9stOlrw":519,"u31aX9a6CI2OuomWQHSx1Q":614,"oHTQoPZFXrc9eFjCRWW_BA":570,"tIRMz0rwuOf8rRZlytIuAQ":481,"-s21TvA-EsTWbfCutQG83Q":528,"LuHRiiYB6iq-QXoGUFYVXA":457,"5oh0023XVeE3U9ZP60NzUA":505,"hecRkAhRG62NML7wI512zA":286,"P-5EQ3lfGgit0Oj6qTKYqw":210,"fRxnoZgNqB73ndCJkUzrxg":263,"iww2NcKTwMO4dUHXUrsfKA":297,"dP8WPiIXitz7dopr2cbyrg":302,"c84Ph1EEsEpt9KFMdSQvtA":307,"DkjcsUWzUMWlzGIG7vWPLA":251,"O7XAt57p5nvwpgeB2KrNbw":312,"Oam9nmQfwQpA_10YTKZCkg":255,"gM71DK9QAb25Em9dhlNNXA":231,"VoyVx3eKZvx3I7o9LV75WA":180,"6MfMhGSHuQ0CLUxktz5OVg":175,"9pWzAEbyffmwRrKvRecyaQ":174,"DK4Iffrk3v05Awun60ygow":152,"4r_hCJ268ciweOwgH0Qwzw":129,"VC42Hg55_L_IfaF_actjIw":104,"7l18-g5emVzljYbZzZJDRA":62,"PkHiro08_uzuUWpeantpNA":42,"9EcGjMrQwznPlnAdDi9Lxw":38,"tagsGmBta7BnDHBzEbH9eQ":27,"euPXE4-KNZJD0T6j_TMfYw":24,"cL14TWzNnz1qK2PUYdE9bg":20,"9wXZUZEeGMQm83C5yXCZ2g":15,"bz1cYNqu8MBH2xCXTMEiAg":16,"fCScXsJaisrZL_JXgS4qQg":33,"V-MDb_Yh073ps9Vw4ypmDQ":17,"wAujHiFN47_oNUI63d6EtA":26,"zMMsPlSW5HOq5bsuVRh3KA":6,"pLdowTKUS5KSwivHyl5AgA":10,"_ef-NJahpYK_FzFC-KdtYQ":11,"omG-i9KffSi3YT8q0rYOiw":3,"XiONbb-veQ1sAuFD6_Fv0A":12,"krdohOL0KiVMtm4q-6fmjg":8,"N2LqhupgLi4T_B9D7JaDDQ":6,"7TvODt8WtQ5KXTmYPsDI3A":5,"u1L6jqeUaTNx1a2aJ9yFwA":2,"8uzy4VW9n0Z8KokUdeadfg":2,"EeUwhr9vbcywMBkIYZRfCw":3,"x443zjuudYI-A7cRu2DIGg":3,"rrrvnakD3SpJqProBGqoCQ":3,"sDfHX0MKzztQSqC8kl_-sg":2,"WmwSnxyphedkasVyGbhNdg":3,"NU5so_CJJJwGJM_hiEcxgQ":1,"A9B6bwuKQl9pC0MIYqtAgg":1,"X86DUuQ7tHAxGBaWu4tZLg":4,"T3fWxJzHMwU-oUs7rgXCcg":2,"vq75CDVua5N-eDXnfyZYMA":2,"oKVObqTWF9QIjxgKf8UkTw":6,"DaDdc6eLo0hc-QxL2XQh5Q":3,"YRZbUV2DChD6dl3Y2xjF8g":1,"EnsO3_jc7LnLdUHQbwkxMg":1,"V2XOOBv96QfYXHIIY7_OLA":6,"FTJM3wsT8Kc-UaiIK2yDMQ":4,"ivbgd9hswtvZ7aTts7HESw":3,"yXsgvY1JyekwdCV5rJdspg":7,"_TjN4epIphuKUiHZJZdqxQ":3,"ZQdwkmvvmLjNzNpTA4PPhw":8,"ssC7MBcE9kfM3yTim7UrNQ":12,"-yH5iqJp4uVN6clNHuFusA":7,"SrSwvDbs2pmPg3SRfXJBCA":13,"n5nFiHsDS01AKuzFKvQXdA":4,"XbtNNAnLtuHwAR-P2ynwqA":4,"Rr1Z3cNxrq9AQiD8wZZ1dA":9,"gESQTq4qRn3wnW-FPfxOfA":7,"CSpdzACT53hVs5DyKY8X5A":5,"AlH3zgnqwh5sdMMzX8AXxg":6,"ysEqok7gFOl9eLMLBwFm1g":3,"7B48NKNivOFEka6-8dK3Qg":1,"OC533YmmMZSw8TjJz41YiQ":1,"X6-W250nbzzPy4NasjncWg":1,"gi6S4ODPtJ-ERYxlMd4WHA":2,"EGm59IOxpyqZq7sEwgZb1g":1,"y7cw8NxReMWOs4KtDlMCFA":1,"L1ZLG1mjktr2Zy0xiQnH0w":1},"stack_traces":{"oxpVfjjIF44Ceg6SK1UUdQ":{"address_or_lines":[2357],"file_ids":["edNJ10OjHiWc5nzuTQdvig"],"frame_ids":["edNJ10OjHiWc5nzuTQdvigAAAAAAAAk1"],"type_ids":[3]},"JTDxAdxqnTYIS6qzFXvK3g":{"address_or_lines":[4636840,4373888],"file_ids":["LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g"],"frame_ids":["LvhLWomlc0dSPYzQ8C620gAAAAAARsCo","LvhLWomlc0dSPYzQ8C620gAAAAAAQr2A"],"type_ids":[3,3]},"5tZzmji29IcMEbLCg170Tw":{"address_or_lines":[18425733,18110445,18122515],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGSeF","j8DVIOTu7Btj9lgFefJ84AAAAAABFFft","j8DVIOTu7Btj9lgFefJ84AAAAAABFIcT"],"type_ids":[3,3,3]},"0CNUMdOdpmKJxWeUmvWvXg":{"address_or_lines":[32434917,32101228,32115955,32118104],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7url","QvG8QEGAld88D676NL_Y2QAAAAAB6dNs","QvG8QEGAld88D676NL_Y2QAAAAAB6gzz","QvG8QEGAld88D676NL_Y2QAAAAAB6hVY"],"type_ids":[3,3,3,3]},"9_06LL00QkYIeiFNCWu0XQ":{"address_or_lines":[4643592,4325284,4339923,4341903,4293837],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjjT","B8JRxL079xbhqQBqGvksAgAAAAAAQkCP","B8JRxL079xbhqQBqGvksAgAAAAAAQYTN"],"type_ids":[3,3,3,3,3]},"OtKh8npcfHhiQ7ynFMPOeQ":{"address_or_lines":[4643458,4477392,4476996,4475762,4469018,4457110],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtqC","B8JRxL079xbhqQBqGvksAgAAAAAARFHQ","B8JRxL079xbhqQBqGvksAgAAAAAARFBE","B8JRxL079xbhqQBqGvksAgAAAAAAREty","B8JRxL079xbhqQBqGvksAgAAAAAARDEa","B8JRxL079xbhqQBqGvksAgAAAAAARAKW"],"type_ids":[3,3,3,3,3,3]},"TCJ8_VmEK5hAZOYdmPHyug":{"address_or_lines":[4652224,11517676,25223155,25230084,11538500,11501274,4847689],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAAAr77s","wfA2BgwfDNXUWsxkJ083RwAAAAABgN_z","wfA2BgwfDNXUWsxkJ083RwAAAAABgPsE","wfA2BgwfDNXUWsxkJ083RwAAAAAAsBBE","wfA2BgwfDNXUWsxkJ083RwAAAAAAr37a","wfA2BgwfDNXUWsxkJ083RwAAAAAASfhJ"],"type_ids":[3,3,3,3,3,3,3]},"OCdksb_5DbnTD8RB0r1Hmw":{"address_or_lines":[18515232,25399653,25432667,25428452,25361060,18103588,18097915,18123257],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABg5Fl","v6HIzNa4K6G4nRP9032RIAAAAAABhBJb","v6HIzNa4K6G4nRP9032RIAAAAAABhAHk","v6HIzNa4K6G4nRP9032RIAAAAAABgvqk","v6HIzNa4K6G4nRP9032RIAAAAAABFD0k","v6HIzNa4K6G4nRP9032RIAAAAAABFCb7","v6HIzNa4K6G4nRP9032RIAAAAAABFIn5"],"type_ids":[3,3,3,3,3,3,3,3]},"2Ov4wSepfExdnFvsJSSjog":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9504548,5043327],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQck","FWZ9q3TQKZZok58ua1HDsgAAAAAATPR_"],"type_ids":[3,3,3,3,3,3,3,3,3]},"668oRSTLMVtOeHPjJ80fWg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9506710,10521925,4547584],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQ-W","FWZ9q3TQKZZok58ua1HDsgAAAAAAoI1F","FWZ9q3TQKZZok58ua1HDsgAAAAAARWQA"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"VmRA1Zd-R_saxzv9stOlrw":{"address_or_lines":[4650848,9850853,9880398,9883181,9807044,9827268,9781937,9782483,9784009,9784300,9829781],"file_ids":["QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg"],"frame_ids":["QaIvzvU8UoclQMd_OMt-PgAAAAAARvdg","QaIvzvU8UoclQMd_OMt-PgAAAAAAlk_l","QaIvzvU8UoclQMd_OMt-PgAAAAAAlsNO","QaIvzvU8UoclQMd_OMt-PgAAAAAAls4t","QaIvzvU8UoclQMd_OMt-PgAAAAAAlaTE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlfPE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUKx","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUTT","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUrJ","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUvs","QaIvzvU8UoclQMd_OMt-PgAAAAAAlf2V"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3]},"u31aX9a6CI2OuomWQHSx1Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265796,7372663,7364083],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcH93","B8JRxL079xbhqQBqGvksAgAAAAAAcF3z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3]},"oHTQoPZFXrc9eFjCRWW_BA":{"address_or_lines":[4646312,4475111,4248744,4416245,4662882,10485923,16807,1222099,1219772,1208264,769619,768516,8542429],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWo","FWZ9q3TQKZZok58ua1HDsgAAAAAAREjn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQNSo","FWZ9q3TQKZZok58ua1HDsgAAAAAAQ2L1","FWZ9q3TQKZZok58ua1HDsgAAAAAARyZi","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT","ew01Dk0sWZctP-VaEpavqQAAAAAAEpy8","ew01Dk0sWZctP-VaEpavqQAAAAAAEm_I","ew01Dk0sWZctP-VaEpavqQAAAAAAC75T","ew01Dk0sWZctP-VaEpavqQAAAAAAC7oE","ew01Dk0sWZctP-VaEpavqQAAAAAAgljd"],"type_ids":[3,3,3,3,3,4,4,4,4,4,4,4,4]},"tIRMz0rwuOf8rRZlytIuAQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10734948,4245427,4255110,4288384],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo81k","FWZ9q3TQKZZok58ua1HDsgAAAAAAQMez","FWZ9q3TQKZZok58ua1HDsgAAAAAAQO2G","FWZ9q3TQKZZok58ua1HDsgAAAAAAQW-A"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-s21TvA-EsTWbfCutQG83Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10733818,10618404,10387225,4547736,4658752],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8j6","FWZ9q3TQKZZok58ua1HDsgAAAAAAogYk","FWZ9q3TQKZZok58ua1HDsgAAAAAAnn8Z","FWZ9q3TQKZZok58ua1HDsgAAAAAARWSY","FWZ9q3TQKZZok58ua1HDsgAAAAAARxZA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"LuHRiiYB6iq-QXoGUFYVXA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41428636,40303236,22534565,19333914,19319593],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCac","v6HIzNa4K6G4nRP9032RIAAAAAACZvqE","v6HIzNa4K6G4nRP9032RIAAAAAABV9ml","v6HIzNa4K6G4nRP9032RIAAAAAABJwMa","v6HIzNa4K6G4nRP9032RIAAAAAABJssp"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"5oh0023XVeE3U9ZP60NzUA":{"address_or_lines":[4610335,4610076,4612877,4490724,4492388,4499312,4241704,4392309,4610754,10485923,16807,1221667,1219340,1207832,769603,768500,8537181],"file_ids":["kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["kajOqZqz7V1y0BdYQLFQrwAAAAAARlkf","kajOqZqz7V1y0BdYQLFQrwAAAAAARlgc","kajOqZqz7V1y0BdYQLFQrwAAAAAARmMN","kajOqZqz7V1y0BdYQLFQrwAAAAAARIXk","kajOqZqz7V1y0BdYQLFQrwAAAAAARIxk","kajOqZqz7V1y0BdYQLFQrwAAAAAARKdw","kajOqZqz7V1y0BdYQLFQrwAAAAAAQLko","kajOqZqz7V1y0BdYQLFQrwAAAAAAQwV1","kajOqZqz7V1y0BdYQLFQrwAAAAAARlrC","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAEqQj","9LzzIocepYcOjnUsLlgOjgAAAAAAEpsM","9LzzIocepYcOjnUsLlgOjgAAAAAAEm4Y","9LzzIocepYcOjnUsLlgOjgAAAAAAC75D","9LzzIocepYcOjnUsLlgOjgAAAAAAC7n0","9LzzIocepYcOjnUsLlgOjgAAAAAAgkRd"],"type_ids":[3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"hecRkAhRG62NML7wI512zA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961373,27940684],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqgd","v6HIzNa4K6G4nRP9032RIAAAAAABqldM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"P-5EQ3lfGgit0Oj6qTKYqw":{"address_or_lines":[43732576,69263145,69263545,54339630,54340167,54179273,54179969,54177426,50376971,50377819,50384113,50377819,43742470,43723999,43620502,43619092,43672236,43616946,43623742],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIN8p","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIOC5","MNBJ5seVz_ocW6tcr1HSmwAAAAADPSgu","MNBJ5seVz_ocW6tcr1HSmwAAAAADPSpH","MNBJ5seVz_ocW6tcr1HSmwAAAAADOrXJ","MNBJ5seVz_ocW6tcr1HSmwAAAAADOriB","MNBJ5seVz_ocW6tcr1HSmwAAAAADOq6S","MNBJ5seVz_ocW6tcr1HSmwAAAAADALEL","MNBJ5seVz_ocW6tcr1HSmwAAAAADALRb","MNBJ5seVz_ocW6tcr1HSmwAAAAADAMzx","MNBJ5seVz_ocW6tcr1HSmwAAAAADALRb","MNBJ5seVz_ocW6tcr1HSmwAAAAACm3UG","MNBJ5seVz_ocW6tcr1HSmwAAAAACmyzf","MNBJ5seVz_ocW6tcr1HSmwAAAAACmZiW","MNBJ5seVz_ocW6tcr1HSmwAAAAACmZMU","MNBJ5seVz_ocW6tcr1HSmwAAAAACmmKs","MNBJ5seVz_ocW6tcr1HSmwAAAAACmYqy","MNBJ5seVz_ocW6tcr1HSmwAAAAACmaU-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"fRxnoZgNqB73ndCJkUzrxg":{"address_or_lines":[4652224,22354871,22382638,22364302,56669071,58509234,58268669,58227812,58241853,31197476,7372432,7294909,7296733,7300250,7296676,7304324,7296733,7300250,7296901,7319678],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYLOP","-pk6w5puGcp-wKnQ61BZzQAAAAADfMey","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Akk","-pk6w5puGcp-wKnQ61BZzQAAAAAAcH6Q","-pk6w5puGcp-wKnQ61BZzQAAAAAAb0-9","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1bd","-pk6w5puGcp-wKnQ61BZzQAAAAAAb2Sa","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1ak","-pk6w5puGcp-wKnQ61BZzQAAAAAAb3SE","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1bd","-pk6w5puGcp-wKnQ61BZzQAAAAAAb2Sa","-pk6w5puGcp-wKnQ61BZzQAAAAAAb1eF","-pk6w5puGcp-wKnQ61BZzQAAAAAAb7B-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"iww2NcKTwMO4dUHXUrsfKA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528745,54499864,54500494,54477482,44043537,44060985,43329158,43326819],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQArp","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5oY","MNBJ5seVz_ocW6tcr1HSmwAAAAADP5yO","MNBJ5seVz_ocW6tcr1HSmwAAAAADP0Kq","MNBJ5seVz_ocW6tcr1HSmwAAAAACoA0R","MNBJ5seVz_ocW6tcr1HSmwAAAAACoFE5","MNBJ5seVz_ocW6tcr1HSmwAAAAAClSaG","MNBJ5seVz_ocW6tcr1HSmwAAAAAClR1j"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"dP8WPiIXitz7dopr2cbyrg":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59179681,31752932,6709512,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16807,2741196,2827770,2817684,2805156,3383048,8438368],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwKh","B8JRxL079xbhqQBqGvksAgAAAAAB5ILk","B8JRxL079xbhqQBqGvksAgAAAAAAZmEI","B8JRxL079xbhqQBqGvksAgAAAAAAS40k","B8JRxL079xbhqQBqGvksAgAAAAAAS7A6","B8JRxL079xbhqQBqGvksAgAAAAAASFtz","B8JRxL079xbhqQBqGvksAgAAAAAASJnd","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U","A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k","A2oiHVwisByxRn5RDT4LjAAAAAAAM58I","A2oiHVwisByxRn5RDT4LjAAAAAAAgMJg"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"c84Ph1EEsEpt9KFMdSQvtA":{"address_or_lines":[152249,135481,144741,190122,831754,827742,928935,925466,103752,102294,97206,439344,486674,922914,10485923,16807,2756288,2755416,2924693,3066448,4344,2925966,8437662],"file_ids":["w5zBqPf1_9mIVEf-Rn7EdA","Z_CHd3Zjsh2cWE2NSdbiNQ","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","LHNvPtcKBt87cCBX8aTNhQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAlK5","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAjVl","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAuaq","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADLEK","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADKFe","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADiyn","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADh8a","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAXu2","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAABrQw","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB20S","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADhUi","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAALKCV","A2oiHVwisByxRn5RDT4LjAAAAAAALspQ","LHNvPtcKBt87cCBX8aTNhQAAAAAAABD4","A2oiHVwisByxRn5RDT4LjAAAAAAALKWO","A2oiHVwisByxRn5RDT4LjAAAAAAAgL-e"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"DkjcsUWzUMWlzGIG7vWPLA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54556506,44024036,44026008,44007166,43828228,43837959,43282962,43282989,10485923,16807,2845749,2845580,2841596,3335577,3325166,699747],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHda","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8Dk","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8iY","MNBJ5seVz_ocW6tcr1HSmwAAAAACn37-","MNBJ5seVz_ocW6tcr1HSmwAAAAACnMQE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1","A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM","A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8","A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ","A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu","A2oiHVwisByxRn5RDT4LjAAAAAAACq1j"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"O7XAt57p5nvwpgeB2KrNbw":{"address_or_lines":[12540096,19004791,19032250,19014236,19907031,31278974,31279321,31305795,31279321,31290406,31279321,31317002,19907351,21668882,21654434,21097575,20766142,16277099,16285669,16307614,16278212,12403428,12120854,12121189,12544111],"file_ids":["67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg"],"frame_ids":["67s2TwiMngM0yin5Y8pvEgAAAAAAv1jA","67s2TwiMngM0yin5Y8pvEgAAAAABIf13","67s2TwiMngM0yin5Y8pvEgAAAAABImi6","67s2TwiMngM0yin5Y8pvEgAAAAABIiJc","67s2TwiMngM0yin5Y8pvEgAAAAABL8HX","67s2TwiMngM0yin5Y8pvEgAAAAAB3Ud-","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3bBD","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3XQm","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3dwK","67s2TwiMngM0yin5Y8pvEgAAAAABL8MX","67s2TwiMngM0yin5Y8pvEgAAAAABSqQS","67s2TwiMngM0yin5Y8pvEgAAAAABSmui","67s2TwiMngM0yin5Y8pvEgAAAAABQexn","67s2TwiMngM0yin5Y8pvEgAAAAABPN2-","67s2TwiMngM0yin5Y8pvEgAAAAAA-F5r","67s2TwiMngM0yin5Y8pvEgAAAAAA-H_l","67s2TwiMngM0yin5Y8pvEgAAAAAA-NWe","67s2TwiMngM0yin5Y8pvEgAAAAAA-GLE","67s2TwiMngM0yin5Y8pvEgAAAAAAvULk","67s2TwiMngM0yin5Y8pvEgAAAAAAuPMW","67s2TwiMngM0yin5Y8pvEgAAAAAAuPRl","67s2TwiMngM0yin5Y8pvEgAAAAAAv2hv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Oam9nmQfwQpA_10YTKZCkg":{"address_or_lines":[4652224,58596086,58544235,10401064,10401333,10401661,58561029,58544882,58545860,58550052,58558939,56502167,58377199,58374713,5176491,5212551,5201562,5198538,12589080,12593882,12537260,12591620,12402541,12450679,4552007,4551401],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAADfhr2","wfA2BgwfDNXUWsxkJ083RwAAAAADfVBr","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrUo","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrY1","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrd9","wfA2BgwfDNXUWsxkJ083RwAAAAADfZIF","wfA2BgwfDNXUWsxkJ083RwAAAAADfVLy","wfA2BgwfDNXUWsxkJ083RwAAAAADfVbE","wfA2BgwfDNXUWsxkJ083RwAAAAADfWck","wfA2BgwfDNXUWsxkJ083RwAAAAADfYnb","wfA2BgwfDNXUWsxkJ083RwAAAAADXieX","wfA2BgwfDNXUWsxkJ083RwAAAAADesPv","wfA2BgwfDNXUWsxkJ083RwAAAAADero5","wfA2BgwfDNXUWsxkJ083RwAAAAAATvyr","wfA2BgwfDNXUWsxkJ083RwAAAAAAT4mH","wfA2BgwfDNXUWsxkJ083RwAAAAAAT16a","wfA2BgwfDNXUWsxkJ083RwAAAAAAT1LK","wfA2BgwfDNXUWsxkJ083RwAAAAAAwBgY","wfA2BgwfDNXUWsxkJ083RwAAAAAAwCra","wfA2BgwfDNXUWsxkJ083RwAAAAAAv02s","wfA2BgwfDNXUWsxkJ083RwAAAAAAwCIE","wfA2BgwfDNXUWsxkJ083RwAAAAAAvT9t","wfA2BgwfDNXUWsxkJ083RwAAAAAAvft3","wfA2BgwfDNXUWsxkJ083RwAAAAAARXVH","wfA2BgwfDNXUWsxkJ083RwAAAAAARXLp"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"gM71DK9QAb25Em9dhlNNXA":{"address_or_lines":[4602912,7755816,7756100,7759920,7760733,7744869,8376791,8749164,8618561,8132341,8137261,8133828,8067381,8671283,5977431,5085785,5087348,4663256,4670457,4680028,4694485,10485923,16807,2795169,2795020,2794811,2794363],"file_ids":["kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","kajOqZqz7V1y0BdYQLFQrw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["kajOqZqz7V1y0BdYQLFQrwAAAAAARjwg","kajOqZqz7V1y0BdYQLFQrwAAAAAAdlgo","kajOqZqz7V1y0BdYQLFQrwAAAAAAdllE","kajOqZqz7V1y0BdYQLFQrwAAAAAAdmgw","kajOqZqz7V1y0BdYQLFQrwAAAAAAdmtd","kajOqZqz7V1y0BdYQLFQrwAAAAAAdi1l","kajOqZqz7V1y0BdYQLFQrwAAAAAAf9HX","kajOqZqz7V1y0BdYQLFQrwAAAAAAhYBs","kajOqZqz7V1y0BdYQLFQrwAAAAAAg4JB","kajOqZqz7V1y0BdYQLFQrwAAAAAAfBb1","kajOqZqz7V1y0BdYQLFQrwAAAAAAfCot","kajOqZqz7V1y0BdYQLFQrwAAAAAAfBzE","kajOqZqz7V1y0BdYQLFQrwAAAAAAexk1","kajOqZqz7V1y0BdYQLFQrwAAAAAAhFAz","kajOqZqz7V1y0BdYQLFQrwAAAAAAWzVX","kajOqZqz7V1y0BdYQLFQrwAAAAAATZpZ","kajOqZqz7V1y0BdYQLFQrwAAAAAATaB0","kajOqZqz7V1y0BdYQLFQrwAAAAAARyfY","kajOqZqz7V1y0BdYQLFQrwAAAAAAR0P5","kajOqZqz7V1y0BdYQLFQrwAAAAAAR2lc","kajOqZqz7V1y0BdYQLFQrwAAAAAAR6HV","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKqah","9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM","9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7","9LzzIocepYcOjnUsLlgOjgAAAAAAKqN7"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4]},"VoyVx3eKZvx3I7o9LV75WA":{"address_or_lines":[4652224,22354373,22356417,22043891,9840916,9838765,4872825,5688954,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16807,2756288,2755416,2744627,6715329,7926130,7924288,7914841,6798266,6797590,6797444,2726038],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVRnF","B8JRxL079xbhqQBqGvksAgAAAAABVSHB","B8JRxL079xbhqQBqGvksAgAAAAABUFzz","B8JRxL079xbhqQBqGvksAgAAAAAAlikU","B8JRxL079xbhqQBqGvksAgAAAAAAliCt","B8JRxL079xbhqQBqGvksAgAAAAAASlp5","B8JRxL079xbhqQBqGvksAgAAAAAAVs56","B8JRxL079xbhqQBqGvksAgAAAAAAVUwE","B8JRxL079xbhqQBqGvksAgAAAAAAVATI","B8JRxL079xbhqQBqGvksAgAAAAAASsLk","B8JRxL079xbhqQBqGvksAgAAAAAASHZk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB","A2oiHVwisByxRn5RDT4LjAAAAAAAePFy","A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA","A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE","A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"6MfMhGSHuQ0CLUxktz5OVg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901252,19907431,18154044,18082996],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8Nn","v6HIzNa4K6G4nRP9032RIAAAAAABFQI8","v6HIzNa4K6G4nRP9032RIAAAAAABE-y0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"9pWzAEbyffmwRrKvRecyaQ":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895453,19846041,19847127,19902436,19861609,19902628,19862836,19902820,19863773,19901256,19856467,19901444,19858041,18647118,18648496,18406502,18049625],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5Sd","j8DVIOTu7Btj9lgFefJ84AAAAAABLtOZ","j8DVIOTu7Btj9lgFefJ84AAAAAABLtfX","j8DVIOTu7Btj9lgFefJ84AAAAAABL6_k","j8DVIOTu7Btj9lgFefJ84AAAAAABLxBp","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Ck","j8DVIOTu7Btj9lgFefJ84AAAAAABLxU0","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Fk","j8DVIOTu7Btj9lgFefJ84AAAAAABLxjd","j8DVIOTu7Btj9lgFefJ84AAAAAABL6tI","j8DVIOTu7Btj9lgFefJ84AAAAAABLvxT","j8DVIOTu7Btj9lgFefJ84AAAAAABL6wE","j8DVIOTu7Btj9lgFefJ84AAAAAABLwJ5","j8DVIOTu7Btj9lgFefJ84AAAAAABHIhO","j8DVIOTu7Btj9lgFefJ84AAAAAABHI2w","j8DVIOTu7Btj9lgFefJ84AAAAAABGNxm","j8DVIOTu7Btj9lgFefJ84AAAAAABE2pZ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"DK4Iffrk3v05Awun60ygow":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41460538,41453510,39933561,34157889,34191237,32888264,25716990,34278084,34202797,25717430,25848062,25843154,25848772,25852175,25783796,25513444,25512912,32939143,32929768,24984119,18131287],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeKM6","v6HIzNa4K6G4nRP9032RIAAAAAACeIfG","v6HIzNa4K6G4nRP9032RIAAAAAACYVZ5","v6HIzNa4K6G4nRP9032RIAAAAAACCTVB","v6HIzNa4K6G4nRP9032RIAAAAAACCbeF","v6HIzNa4K6G4nRP9032RIAAAAAAB9dXI","v6HIzNa4K6G4nRP9032RIAAAAAABiGj-","v6HIzNa4K6G4nRP9032RIAAAAAACCwrE","v6HIzNa4K6G4nRP9032RIAAAAAACCeSt","v6HIzNa4K6G4nRP9032RIAAAAAABiGq2","v6HIzNa4K6G4nRP9032RIAAAAAABimj-","v6HIzNa4K6G4nRP9032RIAAAAAABilXS","v6HIzNa4K6G4nRP9032RIAAAAAABimvE","v6HIzNa4K6G4nRP9032RIAAAAAABinkP","v6HIzNa4K6G4nRP9032RIAAAAAABiW30","v6HIzNa4K6G4nRP9032RIAAAAAABhU3k","v6HIzNa4K6G4nRP9032RIAAAAAABhUvQ","v6HIzNa4K6G4nRP9032RIAAAAAAB9pyH","v6HIzNa4K6G4nRP9032RIAAAAAAB9nfo","v6HIzNa4K6G4nRP9032RIAAAAAABfTo3","v6HIzNa4K6G4nRP9032RIAAAAAABFKlX"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"4r_hCJ268ciweOwgH0Qwzw":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19046138,19039453,18993092,18869484,18879802,10485923,16807,2756169,2891746,2888851],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp76","v6HIzNa4K6G4nRP9032RIAAAAAABIoTd","v6HIzNa4K6G4nRP9032RIAAAAAABIc_E","v6HIzNa4K6G4nRP9032RIAAAAAABH-zs","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg5J","A2oiHVwisByxRn5RDT4LjAAAAAAALB_i","A2oiHVwisByxRn5RDT4LjAAAAAAALBST"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"VC42Hg55_L_IfaF_actjIw":{"address_or_lines":[4652224,30971941,30986245,30988292,30990568,31382091,30723428,25540326,25548827,25550707,25503568,25504356,25481468,25481277,25484807,25485060,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16743,2737420,2823946,2813708,2804875,2803431,2801020,2796664,2900191,2900031],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAAB2Jgl","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NAF","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NgE","-pk6w5puGcp-wKnQ61BZzQAAAAAB2ODo","-pk6w5puGcp-wKnQ61BZzQAAAAAB3tpL","-pk6w5puGcp-wKnQ61BZzQAAAAAB1M1k","-pk6w5puGcp-wKnQ61BZzQAAAAABhbbm","-pk6w5puGcp-wKnQ61BZzQAAAAABhdgb","-pk6w5puGcp-wKnQ61BZzQAAAAABhd9z","-pk6w5puGcp-wKnQ61BZzQAAAAABhSdQ","-pk6w5puGcp-wKnQ61BZzQAAAAABhSpk","-pk6w5puGcp-wKnQ61BZzQAAAAABhND8","-pk6w5puGcp-wKnQ61BZzQAAAAABhNA9","-pk6w5puGcp-wKnQ61BZzQAAAAABhN4H","-pk6w5puGcp-wKnQ61BZzQAAAAABhN8E","-pk6w5puGcp-wKnQ61BZzQAAAAAAS40k","-pk6w5puGcp-wKnQ61BZzQAAAAAAS7A6","-pk6w5puGcp-wKnQ61BZzQAAAAAASFtz","-pk6w5puGcp-wKnQ61BZzQAAAAAASJnd","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu8M","piWSMQrh4r040D0BPNaJvwAAAAAAKsyL","piWSMQrh4r040D0BPNaJvwAAAAAAKsbn","piWSMQrh4r040D0BPNaJvwAAAAAAKr18","piWSMQrh4r040D0BPNaJvwAAAAAAKqx4","piWSMQrh4r040D0BPNaJvwAAAAAALEDf","piWSMQrh4r040D0BPNaJvwAAAAAALEA_"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"7l18-g5emVzljYbZzZJDRA":{"address_or_lines":[4652224,57367531,57370109,31789066,31776683,58631656,57895320,57890805,57903406,31388307,31007417,30973013,30989730,30933387,30773764,30777712,30779690,30778532,4952297,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16743,2737420,2823946,2813708,2804913,2798877,3355670,8461220],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAADa1vr","-pk6w5puGcp-wKnQ61BZzQAAAAADa2X9","-pk6w5puGcp-wKnQ61BZzQAAAAAB5RAK","-pk6w5puGcp-wKnQ61BZzQAAAAAB5N-r","-pk6w5puGcp-wKnQ61BZzQAAAAADfqXo","-pk6w5puGcp-wKnQ61BZzQAAAAADc2mY","-pk6w5puGcp-wKnQ61BZzQAAAAADc1f1","-pk6w5puGcp-wKnQ61BZzQAAAAADc4ku","-pk6w5puGcp-wKnQ61BZzQAAAAAB3vKT","-pk6w5puGcp-wKnQ61BZzQAAAAAB2SK5","-pk6w5puGcp-wKnQ61BZzQAAAAAB2JxV","-pk6w5puGcp-wKnQ61BZzQAAAAAB2N2i","-pk6w5puGcp-wKnQ61BZzQAAAAAB2AGL","-pk6w5puGcp-wKnQ61BZzQAAAAAB1ZIE","-pk6w5puGcp-wKnQ61BZzQAAAAAB1aFw","-pk6w5puGcp-wKnQ61BZzQAAAAAB1akq","-pk6w5puGcp-wKnQ61BZzQAAAAAB1aSk","-pk6w5puGcp-wKnQ61BZzQAAAAAAS5Dp","-pk6w5puGcp-wKnQ61BZzQAAAAAAS40k","-pk6w5puGcp-wKnQ61BZzQAAAAAAS7A6","-pk6w5puGcp-wKnQ61BZzQAAAAAASFtz","-pk6w5puGcp-wKnQ61BZzQAAAAAASJnd","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu8M","piWSMQrh4r040D0BPNaJvwAAAAAAKsyx","piWSMQrh4r040D0BPNaJvwAAAAAAKrUd","piWSMQrh4r040D0BPNaJvwAAAAAAMzQW","piWSMQrh4r040D0BPNaJvwAAAAAAgRuk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"PkHiro08_uzuUWpeantpNA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19977269,22569935,22570653,19208948,22544340,19208919,19208225,22608882,19754692,19668808,19001325,18870508,18879802,10485923,16807,2756848,2756092,2745322,6715782,6715626,7927405,7924037],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNQ1","v6HIzNa4K6G4nRP9032RIAAAAAABWGPP","v6HIzNa4K6G4nRP9032RIAAAAAABWGad","v6HIzNa4K6G4nRP9032RIAAAAAABJRr0","v6HIzNa4K6G4nRP9032RIAAAAAABV__U","v6HIzNa4K6G4nRP9032RIAAAAAABJRrX","v6HIzNa4K6G4nRP9032RIAAAAAABJRgh","v6HIzNa4K6G4nRP9032RIAAAAAABWPvy","v6HIzNa4K6G4nRP9032RIAAAAAABLW7E","v6HIzNa4K6G4nRP9032RIAAAAAABLB9I","v6HIzNa4K6G4nRP9032RIAAAAAABIe_t","v6HIzNa4K6G4nRP9032RIAAAAAABH_Ds","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw","ew01Dk0sWZctP-VaEpavqQAAAAAAKg38","ew01Dk0sWZctP-VaEpavqQAAAAAAKePq","ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG","ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq","ew01Dk0sWZctP-VaEpavqQAAAAAAePZt","ew01Dk0sWZctP-VaEpavqQAAAAAAeOlF"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"9EcGjMrQwznPlnAdDi9Lxw":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901252,19908516,19901309,19904117,19988362,19897796,19899069,19901309,19904677,19901380,19901069],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7Z1","v6HIzNa4K6G4nRP9032RIAAAAAABMP-K","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6vE","v6HIzNa4K6G4nRP9032RIAAAAAABL6qN"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"tagsGmBta7BnDHBzEbH9eQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19977269,22569935,22570653,19208948,22544340,19208919,19208225,22608882,19754692,19668808,19001325,18870508,18879802,10485923,16807,2756848,2756092,2745322,6715782,6715626,7927445,6732427,882422,8542429],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNQ1","v6HIzNa4K6G4nRP9032RIAAAAAABWGPP","v6HIzNa4K6G4nRP9032RIAAAAAABWGad","v6HIzNa4K6G4nRP9032RIAAAAAABJRr0","v6HIzNa4K6G4nRP9032RIAAAAAABV__U","v6HIzNa4K6G4nRP9032RIAAAAAABJRrX","v6HIzNa4K6G4nRP9032RIAAAAAABJRgh","v6HIzNa4K6G4nRP9032RIAAAAAABWPvy","v6HIzNa4K6G4nRP9032RIAAAAAABLW7E","v6HIzNa4K6G4nRP9032RIAAAAAABLB9I","v6HIzNa4K6G4nRP9032RIAAAAAABIe_t","v6HIzNa4K6G4nRP9032RIAAAAAABH_Ds","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw","ew01Dk0sWZctP-VaEpavqQAAAAAAKg38","ew01Dk0sWZctP-VaEpavqQAAAAAAKePq","ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG","ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq","ew01Dk0sWZctP-VaEpavqQAAAAAAePaV","ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL","ew01Dk0sWZctP-VaEpavqQAAAAAADXb2","ew01Dk0sWZctP-VaEpavqQAAAAAAgljd"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"euPXE4-KNZJD0T6j_TMfYw":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1091600,7046,2795776,1483241,1482767,2600004,1074397,11342,13400,51888,12612,2578675,2599636,1091600,7744,52134,33264,2795776,1483241,1482767,2600004,1073803,11342,13400,51888,12396,16726,41698,2852079,2851771,2850043,1501120,1495723],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","lLD39yzd4Cg8F13tcGpzGQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","dCCKy6JoX0PADOFic8hRNQ","9w9lF96vJW7ZhBoZ8ETsBw","xUQuo4OgBaS_Le-fdAwt8A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","lLD39yzd4Cg8F13tcGpzGQAAAAAAABuG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAACxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAADRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAMqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","dCCKy6JoX0PADOFic8hRNQAAAAAAAB5A","9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAMum","xUQuo4OgBaS_Le-fdAwt8AAAAAAAAIHw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAACxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAADRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAMqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAKLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3z7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFufA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFtKr"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3]},"cL14TWzNnz1qK2PUYdE9bg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791289,24794610,24781052,24778417,19046138,19039453,18993092,18869484,18879802,10485923,16807,2756560,2755688,2744899,3827767,3827522,2050302,4868077,4855697,8473771],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekj5","v6HIzNa4K6G4nRP9032RIAAAAAABelXy","v6HIzNa4K6G4nRP9032RIAAAAAABeiD8","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp76","v6HIzNa4K6G4nRP9032RIAAAAAABIoTd","v6HIzNa4K6G4nRP9032RIAAAAAABIc_E","v6HIzNa4K6G4nRP9032RIAAAAAABH-zs","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3","ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC","ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-","ew01Dk0sWZctP-VaEpavqQAAAAAASkft","ew01Dk0sWZctP-VaEpavqQAAAAAASheR","ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"9wXZUZEeGMQm83C5yXCZ2g":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708823,24695729,24696049,18965430,18965669,18966052,18973868,18911086,18905330,18910928,18783663,18799034,10485923,16900,15534,703491,2755412,3875596,3765212,3542694,3677893],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbX","j8DVIOTu7Btj9lgFefJ84AAAAAABeNOx","j8DVIOTu7Btj9lgFefJ84AAAAAABeNTx","j8DVIOTu7Btj9lgFefJ84AAAAAABIWO2","j8DVIOTu7Btj9lgFefJ84AAAAAABIWSl","j8DVIOTu7Btj9lgFefJ84AAAAAABIWYk","j8DVIOTu7Btj9lgFefJ84AAAAAABIYSs","j8DVIOTu7Btj9lgFefJ84AAAAAABII9u","j8DVIOTu7Btj9lgFefJ84AAAAAABIHjy","j8DVIOTu7Btj9lgFefJ84AAAAAABII7Q","j8DVIOTu7Btj9lgFefJ84AAAAAABHp2v","j8DVIOTu7Btj9lgFefJ84AAAAAABHtm6","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEIE","piWSMQrh4r040D0BPNaJvwAAAAAAADyu","piWSMQrh4r040D0BPNaJvwAAAAAACrwD","piWSMQrh4r040D0BPNaJvwAAAAAAKgtU","piWSMQrh4r040D0BPNaJvwAAAAAAOyMM","piWSMQrh4r040D0BPNaJvwAAAAAAOXPc","piWSMQrh4r040D0BPNaJvwAAAAAANg6m","piWSMQrh4r040D0BPNaJvwAAAAAAOB7F"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"bz1cYNqu8MBH2xCXTMEiAg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7507990,7549300],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpAW","ew01Dk0sWZctP-VaEpavqQAAAAAAczF0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"fCScXsJaisrZL_JXgS4qQg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7436960,6766701,6769642,2098164],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg","9LzzIocepYcOjnUsLlgOjgAAAAAAZ0Bt","9LzzIocepYcOjnUsLlgOjgAAAAAAZ0vq","9LzzIocepYcOjnUsLlgOjgAAAAAAIAP0"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"V-MDb_Yh073ps9Vw4ypmDQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7439971,6798378,6797702,6797556,2726148],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7mG","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0","ew01Dk0sWZctP-VaEpavqQAAAAAAKZkE"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"wAujHiFN47_oNUI63d6EtA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7513502,6765905,6759805,2574033,2218596],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe","ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R","ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9","ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR","ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"zMMsPlSW5HOq5bsuVRh3KA":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2822585,3001783,2924437,3111967,3095700,156159,136830,285452,1430646,1449979,1447865,1447752,1446446,1188192,1188137,220151,219438,219438,219438,219438,219438,219425,219589,1446206],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","9HZ7GQCC6G9fZlRD7aGzXQ","9HZ7GQCC6G9fZlRD7aGzXQ","9HZ7GQCC6G9fZlRD7aGzXQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","huWyXZbCBWCe2ZtK9BiokQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxG5","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3wf","-p9BlJh9JZMPPNjY_j92ngAAAAAALzyU","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_","9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhZ-","9HZ7GQCC6G9fZlRD7aGzXQAAAAAABFsM","huWyXZbCBWCe2ZtK9BiokQAAAAAAFdR2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFh_7","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhe5","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhdI","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhIu","huWyXZbCBWCe2ZtK9BiokQAAAAAAEiFg","huWyXZbCBWCe2ZtK9BiokQAAAAAAEiEp","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1v3","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1kh","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1nF","huWyXZbCBWCe2ZtK9BiokQAAAAAAFhE-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"pLdowTKUS5KSwivHyl5AgA":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2823003,3007344,3001783,2924437,3112045,3104142,1417998,1456694,1456323,1393341,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1344317,1318852,1317790,1316548,1337360,1338921,1188023],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxNb","-p9BlJh9JZMPPNjY_j92ngAAAAAALeNw","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3xt","-p9BlJh9JZMPPNjY_j92ngAAAAAAL12O","huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD","huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBue","huWyXZbCBWCe2ZtK9BiokQAAAAAAFBbE","huWyXZbCBWCe2ZtK9BiokQAAAAAAFGgQ","huWyXZbCBWCe2ZtK9BiokQAAAAAAFG4p","huWyXZbCBWCe2ZtK9BiokQAAAAAAEiC3"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"_ef-NJahpYK_FzFC-KdtYQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,29942,33148,3444,27444,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1072174,33518,35576,8560,17976,49494,22596,3272936,3254825,1481992,1534257,3238809,3051716,67008,10485923,16807,2756288,2755416,2744627,3827463,3827218,2049230,2042319,2040147,2469374],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","eOfhJQFIxbIEScd007tROw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAAIF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAA10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFwu","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAFhE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMfDo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMaop","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp0I","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF2kx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMWuZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALpDE","eOfhJQFIxbIEScd007tROwAAAAAAAQXA","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAOmcH","A2oiHVwisByxRn5RDT4LjAAAAAAAOmYS","A2oiHVwisByxRn5RDT4LjAAAAAAAH0TO","A2oiHVwisByxRn5RDT4LjAAAAAAAHynP","A2oiHVwisByxRn5RDT4LjAAAAAAAHyFT","A2oiHVwisByxRn5RDT4LjAAAAAAAJa3-"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"omG-i9KffSi3YT8q0rYOiw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508344,7393457,7394824,7384416,6869315,6866863,2620,6841654,6841533],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","6miIyyucTZf5zXHCk7PT1g","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4","ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx","ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI","ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g","ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD","ew01Dk0sWZctP-VaEpavqQAAAAAAaMev","6miIyyucTZf5zXHCk7PT1gAAAAAAAAo8","ew01Dk0sWZctP-VaEpavqQAAAAAAaGU2","ew01Dk0sWZctP-VaEpavqQAAAAAAaGS9"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"XiONbb-veQ1sAuFD6_Fv0A":{"address_or_lines":[48,38,174,104,68,200,38,174,104,68,60,38,174,104,68,92,38,174,104,68,4,38,174,104,10,10,38,174,104,68,20,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044807,2041460,1171829,2265239,2264574,2258601,1016100],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5sij7Z672VAK_gGoPDPJBg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","PCeTYI0HN2oKNST6e1IaQQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","U4FmFVJMlNKhF1hVl3Xj1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","JR7ekk9KGQJKKPohpdwCLQ","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rpRn_rYC3CgtEgBAUrkZZg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAADI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5sij7Z672VAK_gGoPDPJBgAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","PCeTYI0HN2oKNST6e1IaQQAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","U4FmFVJMlNKhF1hVl3Xj1AAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","JR7ekk9KGQJKKPohpdwCLQAAAAAAAAAK","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rpRn_rYC3CgtEgBAUrkZZgAAAAAAAAAU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzOH","G68hjsyagwq6LpWrMjDdngAAAAAAHyZ0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInap","G68hjsyagwq6LpWrMjDdngAAAAAAD4Ek"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3]},"krdohOL0KiVMtm4q-6fmjg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,5836,10976,12298,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1079144,37910,8000,46852,32076,49840,40252,33434,32730,43978,37948,30428,26428,19370,1480209,1940645,1970099,1481300,1480695,2595076,1079144,20016,37192,1480141,1913750],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","okehWevKsEA4q6dk779jgw","-IuadWGT89NVzIyF_Emodw","XXJY7v4esGWnaxtMW3FA0g","FbrXdcA4j750RyQ3q9JXMw","pL34QuyxyP6XYzGDBMK_5w","IoAk4kM-M4DsDPp7ia5QXw","uHLoBslr3h6S7ooNeXzEbw","iRoTPXvR_cRsnzDO-aurpQ","fB79lJck2X90l-j7VqPR-Q","gbMheDI1NZ3NY96J0seddg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GquRfhZBLBKr9rIBPuH3nA","_DA_LSFNMjbu9L2Dcselpw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAABbM","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW","ne8F__HPIVgxgycJADVSzAAAAAAAAB9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE","okehWevKsEA4q6dk779jgwAAAAAAAH1M","-IuadWGT89NVzIyF_EmodwAAAAAAAMKw","XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08","FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa","pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a","IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK","uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8","iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc","fB79lJck2X90l-j7VqPR-QAAAAAAAGc8","gbMheDI1NZ3NY96J0seddgAAAAAAAEuq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpf3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w","_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpXN","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHTOW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,1,3,3]},"N2LqhupgLi4T_B9D7JaDDQ":{"address_or_lines":[4623648,7066994,7068484,7069849,7058446,10002970,10005676,10124500,9016547,11291366,9016547,24500423,24494926,9016547,10689293,10690744,9016547,24494153,24444068,9016547,24526481,9016547,12769612,10684953,24495408,10128820,7327937,7071629,7072042,7142576,5627718,5631637,5512164,4910105,4760761,4777496,4778618,10485923,16743,6659981,6654519,6650911,6650061,8052504,7525822,7331115,7324128,6674998,6706722,6700261,2539310],"file_ids":["JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","JsObMPhfT_zO2Q_B1cPLxA","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["JsObMPhfT_zO2Q_B1cPLxAAAAAAARo0g","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9Vy","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa9tE","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-CZ","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa7QO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKIa","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmKys","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmnzU","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAArErm","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABddjH","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcNO","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoxsN","JsObMPhfT_zO2Q_B1cPLxAAAAAAAoyC4","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcBJ","JsObMPhfT_zO2Q_B1cPLxAAAAAABdPyk","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAABdj6R","JsObMPhfT_zO2Q_B1cPLxAAAAAAAiZTj","JsObMPhfT_zO2Q_B1cPLxAAAAAAAwtlM","JsObMPhfT_zO2Q_B1cPLxAAAAAAAowoZ","JsObMPhfT_zO2Q_B1cPLxAAAAAABdcUw","JsObMPhfT_zO2Q_B1cPLxAAAAAAAmo20","JsObMPhfT_zO2Q_B1cPLxAAAAAAAb9DB","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-eN","JsObMPhfT_zO2Q_B1cPLxAAAAAAAa-kq","JsObMPhfT_zO2Q_B1cPLxAAAAAAAbPyw","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVd9G","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVe6V","JsObMPhfT_zO2Q_B1cPLxAAAAAAAVBvk","JsObMPhfT_zO2Q_B1cPLxAAAAAAASuwZ","JsObMPhfT_zO2Q_B1cPLxAAAAAAASKS5","JsObMPhfT_zO2Q_B1cPLxAAAAAAASOYY","JsObMPhfT_zO2Q_B1cPLxAAAAAAASOp6","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAZZ-N","piWSMQrh4r040D0BPNaJvwAAAAAAZYo3","piWSMQrh4r040D0BPNaJvwAAAAAAZXwf","piWSMQrh4r040D0BPNaJvwAAAAAAZXjN","piWSMQrh4r040D0BPNaJvwAAAAAAet8Y","piWSMQrh4r040D0BPNaJvwAAAAAActW-","piWSMQrh4r040D0BPNaJvwAAAAAAb90r","piWSMQrh4r040D0BPNaJvwAAAAAAb8Hg","piWSMQrh4r040D0BPNaJvwAAAAAAZdo2","piWSMQrh4r040D0BPNaJvwAAAAAAZlYi","piWSMQrh4r040D0BPNaJvwAAAAAAZjzl","piWSMQrh4r040D0BPNaJvwAAAAAAJr8u"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"7TvODt8WtQ5KXTmYPsDI3A":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,54988,10976,61450,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1079144,21526,8000,30022,59542,29542,18986,21536,54462,53814,11024,12030,61026,21014,45460,42632,1480209,3459845,1479516,2595076,1050939,23882,1371605,2194798,2100556,2032414,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","cBO14nNDW8EW0oaZDaZipw","C64RiOp1JIPwHLB_iHDa0A","xvApUwdY2y4sFaZRNrMv5g","vsalcPHh9qLgsdKtk190IA","QsuqlohtoJfpo6vQ6tHa2A","8ep9l3WIVYErRiHtmAdvew","nPWpQrEmCn54Ou0__aZyJA","-xcELApECIipEESUIWed9w","L_saUsdri-UdXCut6Tdtng","uHLoBslr3h6S7ooNeXzEbw","p19NBQ2pky4eRJM7tgeenw","55ABUc9FqQ0uj-yn-sTq2A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1msFlmxT18lYvJkx-hfGPg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAANbM","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAPAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAAFQW","ne8F__HPIVgxgycJADVSzAAAAAAAAB9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAAHVG","cBO14nNDW8EW0oaZDaZipwAAAAAAAOiW","C64RiOp1JIPwHLB_iHDa0AAAAAAAAHNm","xvApUwdY2y4sFaZRNrMv5gAAAAAAAEoq","vsalcPHh9qLgsdKtk190IAAAAAAAAFQg","QsuqlohtoJfpo6vQ6tHa2AAAAAAAANS-","8ep9l3WIVYErRiHtmAdvewAAAAAAANI2","nPWpQrEmCn54Ou0__aZyJAAAAAAAACsQ","-xcELApECIipEESUIWed9wAAAAAAAC7-","L_saUsdri-UdXCut6TdtngAAAAAAAO5i","uHLoBslr3h6S7ooNeXzEbwAAAAAAAFIW","p19NBQ2pky4eRJM7tgeenwAAAAAAALGU","55ABUc9FqQ0uj-yn-sTq2AAAAAAAAKaI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANMsF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAk7","1msFlmxT18lYvJkx-hfGPgAAAAAAAF1K","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFO3V","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIX1u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIA1M","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHwMe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3]},"u1L6jqeUaTNx1a2aJ9yFwA":{"address_or_lines":[74,6,18,8,18,80,24,4,84,38,174,104,68,128,38,174,104,68,64,38,174,104,68,84,38,174,104,68,100,140,10,38,174,104,68,60,38,174,104,14,32,38,32,786829,1090933,2561389,794630,788130,1197115,2578326,1109790,1111453,1034624],"file_ids":["a5aMcPOeWx28QSVng73nBQ","inI9W0bfekFTCpu0ceKTHg","RPwdw40HEBL87wRkKV2ozw","pT2bgvKv3bKR6LMAYtKFRw","Rsr7q4vCSh2ppRtyNkwZAA","cKQfWSgZRgu_1Goz5QGSHw","T2fhmP8acUvRZslK7YRDPw","lrxXzNEmAlflj7bCNDjxdA","SMoSw8cr-PdrIATvljOPrQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xaCec3W8F6xlvd_EISI7vw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","GYpj0RgmHJTfD-_w_Fx69w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","b78FoZPzgl20nGrU0Zu24g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5ZxW56RI3EOJxqCWjdkdHg","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","7l7IlhF_Z6_Ribw1CW945Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","imaY9TOf2pKX0_q1vRTskQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAABK","inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG","RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS","pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI","Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS","cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ","T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY","lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE","SMoSw8cr-PdrIATvljOPrQAAAAAAAABU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xaCec3W8F6xlvd_EISI7vwAAAAAAAACA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","GYpj0RgmHJTfD-_w_Fx69wAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","b78FoZPzgl20nGrU0Zu24gAAAAAAAABU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5ZxW56RI3EOJxqCWjdkdHgAAAAAAAABk","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","7l7IlhF_Z6_Ribw1CW945QAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAAm","imaY9TOf2pKX0_q1vRTskQAAAAAAAAAg","G68hjsyagwq6LpWrMjDdngAAAAAADAGN","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAJxVt","G68hjsyagwq6LpWrMjDdngAAAAAADCAG","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkQ7","G68hjsyagwq6LpWrMjDdngAAAAAAJ1eW","G68hjsyagwq6LpWrMjDdngAAAAAAEO8e","G68hjsyagwq6LpWrMjDdngAAAAAAEPWd","G68hjsyagwq6LpWrMjDdngAAAAAAD8mA"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3]},"8uzy4VW9n0Z8KokUdeadfg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,17004,2834,14028,27360,55578,1480209,1969795,1481300,1480601,2595076,1079485,18126,36558,2460,42724,46700,1479608,1493928,2595076,1079485,30578,15346,1479608,2595076,1079485,57180,32508,1276,30612,1479516,2595076,1079485,63696,30612,1479516,2595076,1073749,60436,3118304,766784,10485923,16807,2741196,2827770,2817684,2804657,2869654],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","GdaBUD9IUEkKxIBryNqV2w","QU8QLoFK6ojrywKrBFfTzA","V558DAsp4yi8bwa8eYwk5Q","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","cHp4MwXaY5FCuFRuAA6tWw","-9oyoP4Jj2iRkwEezqId-g","Kq9d0b1CBVEQZUtuJtmlJg","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS","grZNsSElR5ITq8H2yHCNSwAAAAAAADbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAANka","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","EFJHOn-GACfHXgae-R1yDAAAAAAAAEbO","GdaBUD9IUEkKxIBryNqV2wAAAAAAAI7O","QU8QLoFK6ojrywKrBFfTzAAAAAAAAAmc","V558DAsp4yi8bwa8eYwk5QAAAAAAAKbk","grikUXlisBLUbeL_OWixIwAAAAAAALZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","cHp4MwXaY5FCuFRuAA6tWwAAAAAAAN9c","-9oyoP4Jj2iRkwEezqId-gAAAAAAAH78","Kq9d0b1CBVEQZUtuJtmlJgAAAAAAAAT8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAPjQ","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAAOwU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAL5Tg","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7NA","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U","A2oiHVwisByxRn5RDT4LjAAAAAAAKsux","A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,1,1,1,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,3,3,4,4,4,4,4,4,4]},"EeUwhr9vbcywMBkIYZRfCw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,46796,43744,53258,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1079144,13334,40862,834,1480209,1969795,1481300,1480601,2595076,1069341,58136,12466,1587508,1079485,50582,26272,1479608,1493928,2595076,1079211,60348,34084,42798,54954,4836,40660,62188,43850,13372,5488,20256,1924997],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","wpss7yv4AvkSwbtctTl0JA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SLUxdgyFrTF3l4NU1VRO_w","ZOgaFnYiv38tVz-8Hafu3w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","u1Za6xFXDX1Ys5Qeh_gy9Q","uq4_q8agTQ0rkhJvygJ3QA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","pK0zxAMiW-X23QjQRVzm5w","OP7EiuTwTtWCf_B7a-Zpig","WyVrojmISSgbkYAxEOnpQw","JdWBEAqhrU7LJg0YDuYO0w","cwZEcJVCN5Q4BJdAS3o8fw","iLNvi1vqLkBP_ehg4QlqeA","guXM5tmjJlv0Ehde0y1DFw","avBEfFKeFSrhKf93SLNe0Q","uHLoBslr3h6S7ooNeXzEbw","iRoTPXvR_cRsnzDO-aurpQ","aAagm2yDcrnYaqBPCwyu8Q","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAALbM","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAANAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAADQW","ne8F__HPIVgxgycJADVSzAAAAAAAAJ-e","wpss7yv4AvkSwbtctTl0JAAAAAAAAANC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFEd","SLUxdgyFrTF3l4NU1VRO_wAAAAAAAOMY","ZOgaFnYiv38tVz-8Hafu3wAAAAAAADCy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGDk0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","u1Za6xFXDX1Ys5Qeh_gy9QAAAAAAAMWW","uq4_q8agTQ0rkhJvygJ3QAAAAAAAAGag","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHer","pK0zxAMiW-X23QjQRVzm5wAAAAAAAOu8","OP7EiuTwTtWCf_B7a-ZpigAAAAAAAIUk","WyVrojmISSgbkYAxEOnpQwAAAAAAAKcu","JdWBEAqhrU7LJg0YDuYO0wAAAAAAANaq","cwZEcJVCN5Q4BJdAS3o8fwAAAAAAABLk","iLNvi1vqLkBP_ehg4QlqeAAAAAAAAJ7U","guXM5tmjJlv0Ehde0y1DFwAAAAAAAPLs","avBEfFKeFSrhKf93SLNe0QAAAAAAAKtK","uHLoBslr3h6S7ooNeXzEbwAAAAAAADQ8","iRoTPXvR_cRsnzDO-aurpQAAAAAAABVw","aAagm2yDcrnYaqBPCwyu8QAAAAAAAE8g","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHV-F"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,1,1,3,3,1,1,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,3]},"x443zjuudYI-A7cRu2DIGg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,49094,58124,2548,13860,42480,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,28996,2578675,2599636,1091600,48574,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,28996,2578675,2599636,1091600,63674,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,28780,342,57994,19187,38198,48990],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","lpUCR1NQj5NOLBg7mvzlqg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAL_G","LF6DFcGHEMqhhhlptO_M_QAAAAAAAOMM","Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAL2-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","lpUCR1NQj5NOLBg7mvzlqgAAAAAAAPi6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAOKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAJU2","jaBVtokSUzfS97d-XKjijgAAAAAAAL9e"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"rrrvnakD3SpJqProBGqoCQ":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,1270,4476,19828,27444,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,19382,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,60558,2790352,1482889,1482415,2595076,1079144,8942,10826,15776,45470,57908,19178,5946,1481694,1535004,2095808],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","08DBZKRu4nC_Oi_uT40UHw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","n74P5OxFm1hAo5ZWtgcKHQ","zXbqXCWr0lCbi_b24hNBRQ","AOM_-6oRTyAxK8W79Wo5aQ","yaTrLhUSIq2WitrTHLBy3Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAAT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAABF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAEu2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","08DBZKRu4nC_Oi_uT40UHwAAAAAAAOyO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAD2g","n74P5OxFm1hAo5ZWtgcKHQAAAAAAALGe","zXbqXCWr0lCbi_b24hNBRQAAAAAAAOI0","AOM_-6oRTyAxK8W79Wo5aQAAAAAAAErq","yaTrLhUSIq2WitrTHLBy3QAAAAAAABc6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF2wc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAH_rA"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3]},"sDfHX0MKzztQSqC8kl_-sg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,16720,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,52894,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,44846,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,32258,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50744,16726,2346,19187,41240,50359],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N0GNsPaCLYzoFsPJWnIJtQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fq0ezjB8ddCA6Pk0BY9arQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAM6e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fq0ezjB8ddCA6Pk0BY9arQAAAAAAAH4C","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAAkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMS3"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"WmwSnxyphedkasVyGbhNdg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,23142,41180,18932,30244,42480,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,29418,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,58990,2795776,1483241,1482767,2600004,1073803,3150,5208,43696,4204,342,33506,2852079,2851771,2849353,2846190,2846190,2845732],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","l97YFeEKpeLfa-lEAZVNcA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0","xwuAPHgc12-8PZB3i-320gAAAAAAAHYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2wk"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3]},"NU5so_CJJJwGJM_hiEcxgQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,4,38,174,104,68,16,38,174,104,68,256,140,10,38,174,104,68,0,12,8,28,12,8,54,12,120,1169291,1109342,1109180],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZBnr-5IlLVGCdkX_lTNKmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RDOEyok4432cuMjL10_tug","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_____________________w","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","25JFhMXA0rvP5hfyUpf34w","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","oN7OWDJeuc8DmI2f_earDQ","Yj7P3-Rt3nirG6apRl4A7A","pz3Evn9laHNJFMwOKIXbsw","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RDOEyok4432cuMjL10_tugAAAAAAAAEA","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_____________________wAAAAAAAAAA","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","25JFhMXA0rvP5hfyUpf34wAAAAAAAAAc","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2","Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM","pz3Evn9laHNJFMwOKIXbswAAAAAAAAB4","G68hjsyagwq6LpWrMjDdngAAAAAAEdeL","G68hjsyagwq6LpWrMjDdngAAAAAAEO1e","G68hjsyagwq6LpWrMjDdngAAAAAAEOy8"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3]},"A9B6bwuKQl9pC0MIYqtAgg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,34996,38690,20748,3858,37276,30816,26538,1480561,1970211,1481652,1480953,2600004,1079669,36476,1480561,1970211,1481652,1480953,2600004,1079669,13542,44224,26138,5558,16780,64790,18774,36466,18774,17314,43978,43978,43978,43978,43978,43978,43978,43886,18774,13462,1480561,1940968,1917658,1481652,1480953,2600004,1079669,27396,1480561,1827986,1940595,1909209,1934862,3077552,3072233,1745406,3070488],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","ktj-IOmkEpvZJouiJkQjTg","O_h7elJSxPO7SiCsftYRZg","ZLTqiSLOmv4Ej_7d8yKLmw","v_WV3HQYVe0q1Ob-1gtx1A","ka2IKJhpWbD6PA3J3v624w","e8Lb_MV93AH-OkvHPPDitg","ka2IKJhpWbD6PA3J3v624w","1vivUE5hL65442lQ9a_ylg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","fh_7rTxpgngJ2cX2lBjVdg","ka2IKJhpWbD6PA3J3v624w","fCsVLBj60GK9Hf8VtnMcgA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","54xjnvwS2UtwpSVJMemggA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAJci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAJGc","W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAGeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAI58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","kSaNXrGzSS3BnDNNWezzMAAAAAAAADTm","ne8F__HPIVgxgycJADVSzAAAAAAAAKzA","ktj-IOmkEpvZJouiJkQjTgAAAAAAAGYa","O_h7elJSxPO7SiCsftYRZgAAAAAAABW2","ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAEGM","v_WV3HQYVe0q1Ob-1gtx1AAAAAAAAP0W","ka2IKJhpWbD6PA3J3v624wAAAAAAAElW","e8Lb_MV93AH-OkvHPPDitgAAAAAAAI5y","ka2IKJhpWbD6PA3J3v624wAAAAAAAElW","1vivUE5hL65442lQ9a_ylgAAAAAAAEOi","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK","fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKtu","ka2IKJhpWbD6PA3J3v624wAAAAAAAElW","fCsVLBj60GK9Hf8VtnMcgAAAAAAAADSW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","54xjnvwS2UtwpSVJMemggAAAAAAAAGsE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-SS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZxz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHSHZ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHYYO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALvWw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALuDp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGqH-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALtoY"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3]},"X86DUuQ7tHAxGBaWu4tZLg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,19046,37084,2548,13860,26096,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,64610,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,39726,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,0,2794972,1848805,1837992,1848417,2718329,2222078,2208786],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","780bLUPADqfQ3x1T5lnVOg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqXc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHAuo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDRh","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKXp5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIef-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIbQS"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3]},"T3fWxJzHMwU-oUs7rgXCcg":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,228,38,174,104,68,4,38,174,104,68,92,38,174,104,68,8,38,174,104,68,172,669638,1091944,956540,2223054,995645,1276144],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qordvIiilnF7CmkWCAd7eA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iWpqwwcHV8E8OOnqGCYj9g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M61AJsljWf0TM7wD6IJVZw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","okgAOHfDrcA806m5xh4DMA","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qordvIiilnF7CmkWCAd7eAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","okgAOHfDrcA806m5xh4DMAAAAAAAAACs","G68hjsyagwq6LpWrMjDdngAAAAAACjfG","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAADph8","G68hjsyagwq6LpWrMjDdngAAAAAAIevO","G68hjsyagwq6LpWrMjDdngAAAAAADzE9","G68hjsyagwq6LpWrMjDdngAAAAAAE3jw"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3]},"vq75CDVua5N-eDXnfyZYMA":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,620,51986,58710,61916,36212,43828,42480,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,12034,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,38490,2790352,1482889,1482415,2595076,1076587,49902,51960,24944,34360,342,51586,2846655,2846347,2843929,2840766,2843954,2840766,2842897,2268402,1775000,1761295,1048455],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","aRRT4_vBG9Q4nqyirWo5FA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAI10","xwuAPHgc12-8PZB3i-320gAAAAAAAKs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAC8C","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","aRRT4_vBG9Q4nqyirWo5FAAAAAAAAJZa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2Uy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2ER","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxWY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_-H"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3]},"oKVObqTWF9QIjxgKf8UkTw":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1091600,51328,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,50170,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,13752,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41068,49494,4746,19187,41141,49404],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","08Dc0vnMK9C_nl7yQB6ZKQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","zuPG_tF81PcJTwjfBwKlDg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKC1","jaBVtokSUzfS97d-XKjijgAAAAAAAMD8"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"DaDdc6eLo0hc-QxL2XQh5Q":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,336,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,28326,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,51274,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,43126,2790352,1482889,1482415,2595076,1073749,49902,51960,24944,34524,2573747,2594708,1091475,0,2790352,1482889,1482415,2595076,1071215,49902,51786,56736,43360,44552,32102],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","auEGiAr7C6IfT0eiHbOlyA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ZyAwfhB8pqBFv6xiDVdvPQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","9alsKcnSosScCQ3ntwGT5w","xAINw9zPBhJlledr3DAcGA","xVweU0pD8q051c2YgF4PTw"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAAFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAG6m","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","auEGiAr7C6IfT0eiHbOlyAAAAAAAAMhK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","ZyAwfhB8pqBFv6xiDVdvPQAAAAAAAKh2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFhv","ik6PIX946fW_erE7uBJlVQAAAAAAAMLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAN2g","9alsKcnSosScCQ3ntwGT5wAAAAAAAKlg","xAINw9zPBhJlledr3DAcGAAAAAAAAK4I","xVweU0pD8q051c2YgF4PTwAAAAAAAH1m"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1]},"YRZbUV2DChD6dl3Y2xjF8g":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,49772,35602,38230,41436,19828,27444,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,57358,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,33966,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,59370,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,17976,49494,31018,19187,41240,50308],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","d4jl580PLMUwu5s3I4wcXg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","tKago5vqLnwIkezk_wTBpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAJVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAKHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAAGs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAOAO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","d4jl580PLMUwu5s3I4wcXgAAAAAAAISu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","tKago5vqLnwIkezk_wTBpQAAAAAAAOfq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAHkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSE"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"EnsO3_jc7LnLdUHQbwkxMg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,336,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,24230,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,47162,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,37090,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,41914,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34360,342,39210,19187,41240,51115],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","auEGiAr7C6IfT0eiHbOlyA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mP9Tk3T74fjOyYWKUaqdMQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","I4X8AC1-B0GuL4JyYemPzw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAAFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAF6m","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","auEGiAr7C6IfT0eiHbOlyAAAAAAAALg6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","mP9Tk3T74fjOyYWKUaqdMQAAAAAAAJDi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","I4X8AC1-B0GuL4JyYemPzwAAAAAAAKO6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAJkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMer"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"V2XOOBv96QfYXHIIY7_OLA":{"address_or_lines":[3150,5208,43696,12612,2578675,2599636,1091600,42546,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,12274,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,15838,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,37594,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1079669,12698,1482046,1829360,2586225,2600004,1054235,21784,1973936,2600004,1051035,60416,55140,1372101,2194686,2080131],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Gp9aOxUrrpSVBx4-ftlTOA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","y9R94bQUxts02WzRWfV7xg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","uI6css-d8SGQRK6a_Ntl-A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","SlnkBp0IIJFLHVOe4KbxwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7wBb3xHP1JZHNBpMGh4EdA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","u3fGdgL6eAYjYSRbRUri0g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","aG0mH34tM6si5c1l397JVQ","GC-VoGaqaEobPzimayHQTQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAKYy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","y9R94bQUxts02WzRWfV7xgAAAAAAAC_y","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","uI6css-d8SGQRK6a_Ntl-AAAAAAAAD3e","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","SlnkBp0IIJFLHVOe4KbxwQAAAAAAAJLa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","7wBb3xHP1JZHNBpMGh4EdAAAAAAAADGa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEBYb","u3fGdgL6eAYjYSRbRUri0gAAAAAAAFUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHh6w","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEAmb","aG0mH34tM6si5c1l397JVQAAAAAAAOwA","GC-VoGaqaEobPzimayHQTQAAAAAAANdk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFO_F","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIXz-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAH72D"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,1,1,3,3,3]},"FTJM3wsT8Kc-UaiIK2yDMQ":{"address_or_lines":[33018,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,32502,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,6654,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,9126,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,27090,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1079144,39334,1481694,1828960,2581397,1480843,1480209,1940568,1917230,1844695,1996687],"file_ids":["PmhxUKv5sePRxhCBONca8g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","UfGck3qA2qF0xFB5gpY4Hg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","G9ShE3ODivDEFyHVdsnZ_g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","6AsJ0dA2BUqaic-ScDJBMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fr52ZDCgnkPZlzTNdLTQ5w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uqoEOAkLp1toolLH0q5LVw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["PmhxUKv5sePRxhCBONca8gAAAAAAAID6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","UfGck3qA2qF0xFB5gpY4HgAAAAAAAH72","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","G9ShE3ODivDEFyHVdsnZ_gAAAAAAABn-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","6AsJ0dA2BUqaic-ScDJBMAAAAAAAACOm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fr52ZDCgnkPZlzTNdLTQ5wAAAAAAAGnS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","uqoEOAkLp1toolLH0q5LVwAAAAAAAJmm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUEu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHneP"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3]},"ivbgd9hswtvZ7aTts7HESw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,49488,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,40502,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1091475,9946,2790352,1482889,1482415,2595076,1079485,8942,11000,49520,61192,19302,1479516,1828960,2573747,2594708,1091475,51250,2790352,1482889,1482415,2595076,1073749,8942,11000,49520,50908,2573747,2594708,1079144,0,1481694,1828960,2581297,2595076,1087128,0,23366,42140,41576,9542,41540,41016,39548,3072796],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","WjtMXFj0eujpoknR_rynvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","Vot4T3F5OpUj8rbXhgpMDg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EPS0ql6FPdCQLe9KByvDQA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAJ42","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","WjtMXFj0eujpoknR_rynvAAAAAAAACba","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","Vot4T3F5OpUj8rbXhgpMDgAAAAAAAO8I","eV_m28NnKeeTL60KO2H3SAAAAAAAAEtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","EPS0ql6FPdCQLe9KByvDQAAAAAAAAMgy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAACLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEJaY","_____________________wAAAAAAAAAA","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAKSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAKJo","OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG","E2b-mzlh_8261-JxcySn-AAAAAAAAKJE","E2b-mzlh_8261-JxcySn-AAAAAAAAKA4","E2b-mzlh_8261-JxcySn-AAAAAAAAJp8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuMc"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,1,3]},"yXsgvY1JyekwdCV5rJdspg":{"address_or_lines":[2573747,2594708,1091475,43746,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,51994,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,18382,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,10738,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1079144,0,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1079485,46582,1479772,1827586,1940195,1986447,1982493,1959065,1765336,1761295,1048494],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XVsKc4e32xXUv-3uv2s-8Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","_____________________w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uPGvGNXBf1JXGeeDSsmGQA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAAKri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAMsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAAEfO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XVsKc4e32xXUv-3uv2s-8QAAAAAAACny","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","_____________________wAAAAAAAAAA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","uPGvGNXBf1JXGeeDSsmGQAAAAAAAALX2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpRc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZrj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHk-P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHkAd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHeSZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGu_Y","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_-u"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3]},"_TjN4epIphuKUiHZJZdqxQ":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,38,10,38,174,104,68,30,56,382,1034444],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","OwrnTUowquMzuETYoP67yQ","HmAocvtnsxREZJIec2I5gw","KHDki7BxJPyjGLtvY8M5lQ","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","OwrnTUowquMzuETYoP67yQAAAAAAAAAe","HmAocvtnsxREZJIec2I5gwAAAAAAAAA4","KHDki7BxJPyjGLtvY8M5lQAAAAAAAAF-","G68hjsyagwq6LpWrMjDdngAAAAAAD8jM"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3]},"ZQdwkmvvmLjNzNpTA4PPhw":{"address_or_lines":[25326,27384,368,1756,2573747,2594708,1091475,48726,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,64878,2789627,1482889,1482415,2595076,1079485,21616,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,27398,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,51982,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,58138,2790352,1482889,1482415,2595076,1067375,25326,27210,32160,46288],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XlQ19HBD_RNa2r3QWOR-nA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VuJFonCXevADcEDW6NVbKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VFBd9VqCaQu0ZzjQ2K3pjg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PUSucJs4FC_WdMzOyH3QYw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","it1vvnZdXdzy0fFROnaaOQ"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAL5W","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XlQ19HBD_RNa2r3QWOR-nAAAAAAAAP1u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAFRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VuJFonCXevADcEDW6NVbKgAAAAAAAGsG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAMsO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PUSucJs4FC_WdMzOyH3QYwAAAAAAAOMa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEElv","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAH2g","it1vvnZdXdzy0fFROnaaOQAAAAAAALTQ"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1]},"ssC7MBcE9kfM3yTim7UrNQ":{"address_or_lines":[4846,6904,45424,50908,2573747,2594708,1091475,58102,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,48494,2789627,1482889,1482415,2595076,1079485,1136,15206,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,27398,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,2830,2790352,1482889,1482415,2595076,1073749,4846,6904,45424,50908,2573747,2594708,1091475,4586,2790352,1482889,1482415,2595076,1067395,4846,6904,45240,53006,54142],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XlQ19HBD_RNa2r3QWOR-nA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VuJFonCXevADcEDW6NVbKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VFBd9VqCaQu0ZzjQ2K3pjg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PUSucJs4FC_WdMzOyH3QYw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","gZooqVYiItnHim-lK4feOg"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAOL2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XlQ19HBD_RNa2r3QWOR-nAAAAAAAAL1u","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAARw","eV_m28NnKeeTL60KO2H3SAAAAAAAADtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VuJFonCXevADcEDW6NVbKgAAAAAAAGsG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PUSucJs4FC_WdMzOyH3QYwAAAAAAABHq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEEmD","ik6PIX946fW_erE7uBJlVQAAAAAAABLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4","J1eggTwSzYdi9OsSu1q37gAAAAAAALC4","0S3htaCNkzxOYeavDR1GTQAAAAAAAM8O","gZooqVYiItnHim-lK4feOgAAAAAAANN-"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1]},"-yH5iqJp4uVN6clNHuFusA":{"address_or_lines":[2578675,2599636,1091600,5350,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,6974,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,5866,2795776,1483241,1482767,2600004,1079483,3150,4692,13478,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,58134,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12612,2578675,2599636,1091600,10246,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,12396,342,41610,19187,41240,50663],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","UfGck3qA2qF0xFB5gpY4Hg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","G9ShE3ODivDEFyHVdsnZ_g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","6AsJ0dA2BUqaic-ScDJBMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","VY0EiAO0DxwLRTE4PfFhdw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","A8AozG5gQfEN24i4IE7w5w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","UfGck3qA2qF0xFB5gpY4HgAAAAAAABTm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","G9ShE3ODivDEFyHVdsnZ_gAAAAAAABs-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","6AsJ0dA2BUqaic-ScDJBMAAAAAAAABbq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABJU","eV_m28NnKeeTL60KO2H3SAAAAAAAADSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","VY0EiAO0DxwLRTE4PfFhdwAAAAAAAOMW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","A8AozG5gQfEN24i4IE7w5wAAAAAAACgG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAADBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAKKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMXn"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"SrSwvDbs2pmPg3SRfXJBCA":{"address_or_lines":[1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10978,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,35610,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,11318,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,15678,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,250,2790352,1482889,1482415,2595076,1076587,29422,31480,4464,17976,33110,51586,2846655,2846347,2843929,2840766,2843907,2841214,1439462],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","NGbZlnLCqeq3LFq89r_SpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PmhxUKv5sePRxhCBONca8g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAACri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAIsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PmhxUKv5sePRxhCBONca8gAAAAAAAAD6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UD","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbm"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3]},"n5nFiHsDS01AKuzFKvQXdA":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,302,38,174,104,68,382,120,38,258,658,1111840,1034048],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","OPpnYj88CDOiKneikdGPHA","ZJjPF65K8mBuISvhCfKfBg","xLxhp_367a_SbgOYuEJjlw","QHotkhNTqx5C4Kjd2F2_6w","Ht79I_xqXv3bOgaClTNQ4w","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAEu","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","OPpnYj88CDOiKneikdGPHAAAAAAAAAF-","ZJjPF65K8mBuISvhCfKfBgAAAAAAAAB4","xLxhp_367a_SbgOYuEJjlwAAAAAAAAAm","QHotkhNTqx5C4Kjd2F2_6wAAAAAAAAEC","Ht79I_xqXv3bOgaClTNQ4wAAAAAAAAKS","G68hjsyagwq6LpWrMjDdngAAAAAAEPcg","G68hjsyagwq6LpWrMjDdngAAAAAAD8dA"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3]},"XbtNNAnLtuHwAR-P2ynwqA":{"address_or_lines":[1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,46454,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,17534,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,64182,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,22670,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1079669,35024,1482046,1829360,2586325,1480953,1480561,1940968,1986869,1946031,1991239,1990411,1912997,3078008,3077552,3072071,1641674,3069796],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","pv4wAezdMMO0SVuGgaEMTg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","qns5vQ3LMi6QrIMOgD_TwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","J_Lkq1OzUHxWQhnTgF6FwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","aD-GPAkaW-Swis8ybNgyMQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","pv4wAezdMMO0SVuGgaEMTgAAAAAAALV2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAER-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAPq2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAAFiO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","aD-GPAkaW-Swis8ybNgyMQAAAAAAAIjQ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlE1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHbGv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHmJH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHl8L","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHTCl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALvd4","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALvWw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALuBH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGQzK","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALtdk"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Rr1Z3cNxrq9AQiD8wZZ1dA":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,9150,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52246,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,48350,2789627,1482889,1482415,2595076,1079485,21616,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1079144,37050,1481694,1828960,2581297,2595076,1079144,2994,1480209,1940645,1970099,1481300,1480601,2595076,1067831,41714,39750,33948,33384,25926,33098,33348,34466,32098,39462],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","HENgRXYeEs7mDD8Gk_MNmg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fFS0upy5lIaT99RhlTN5LQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","lSdGU4igLMOpLhL_6XP15w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","QAp_Nt6XUeNsCXnAUgW7Xg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","20O937106XMbOD0LQR4SPw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","gPzb0fXoBe1225fbKepMRA","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","JrU1PwRIxl_8SXdnTESnog"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","HENgRXYeEs7mDD8Gk_MNmgAAAAAAACO-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fFS0upy5lIaT99RhlTN5LQAAAAAAAMwW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","lSdGU4igLMOpLhL_6XP15wAAAAAAALze","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAFRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","20O937106XMbOD0LQR4SPwAAAAAAAAuy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEEs3","gPzb0fXoBe1225fbKepMRAAAAAAAAKLy","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAISc","_lF8o5tJDcePvza_IYtgSQAAAAAAAIJo","OHQX9IWLaZElAgxGbX3P5gAAAAAAAGVG","E2b-mzlh_8261-JxcySn-AAAAAAAAIFK","E2b-mzlh_8261-JxcySn-AAAAAAAAIJE","E2b-mzlh_8261-JxcySn-AAAAAAAAIai","E2b-mzlh_8261-JxcySn-AAAAAAAAH1i","JrU1PwRIxl_8SXdnTESnogAAAAAAAJom"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1]},"gESQTq4qRn3wnW-FPfxOfA":{"address_or_lines":[2790352,1482889,1482415,2595076,1079485,62190,63732,7014,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,43746,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,2842,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,48542,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1050939,4144,1371605,1977020,2595076,1079485,8954,1479772,3459845,1479516,2595076,1072525,58674,1646337,3072295,1865241,10490014,423063,2283967,2281306,2510155,2414579,2398792,2385273,8471624],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","lTFhQHSZwvS4-s94KVv5mA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","IcJVDEq52FRv22q0yHVMaw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","BDtQyw375W96A0PA_Z7SDQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0","eV_m28NnKeeTL60KO2H3SAAAAAAAABtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAAKri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAAsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAAL2e","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAk7","lTFhQHSZwvS4-s94KVv5mAAAAAAAABAw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFO3V","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHiq8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","IcJVDEq52FRv22q0yHVMawAAAAAAACL6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpRc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANMsF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEF2N","BDtQyw375W96A0PA_Z7SDQAAAAAAAOUy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGR8B","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuEn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a","A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L","A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz","A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI","A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5","A2oiHVwisByxRn5RDT4LjAAAAAAAgURI"],"type_ids":[3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,1,3,3,3,3,3,1,3,3,3,4,4,4,4,4,4,4,4,4]},"CSpdzACT53hVs5DyKY8X5A":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,13654,16860,52596,11060,58864,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,36842,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,30778,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,47130,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,51886,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1592,33110,6110,3227324,1844695,1847563,1702665,1680736,1865128],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","skFt9oVHBFfMDC1On4IJhg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","g5zhfSuJlGbmNqPl5Qb2wg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","UoMth5MLnZ-vUHeTplwEvA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAADVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAEHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAM10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAI_q","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","skFt9oVHBFfMDC1On4IJhgAAAAAAAHg6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","g5zhfSuJlGbmNqPl5Qb2wgAAAAAAALga","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","UoMth5MLnZ-vUHeTplwEvAAAAAAAAMqu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAABfe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMT68","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGfsJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGaVg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3]},"AlH3zgnqwh5sdMMzX8AXxg":{"address_or_lines":[1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52130,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,61558,2790352,1482889,1482415,2595076,1079485,25326,26868,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,8770,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,17970,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1066158,3868,39750,21660,21058,64084,29144,22318,29144,18030,1840882,1970521,2595076,1049850,1910],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Gxt7_MN7XgUOe9547JcHVQ"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAAMui","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEESu","MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHBby","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhFZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAT6","Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,1]},"ysEqok7gFOl9eLMLBwFm1g":{"address_or_lines":[29422,31480,4464,18140,2573747,2594708,1091475,64774,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,18042,2789627,1482889,1482415,2595076,1079485,25712,39782,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,2618,2790352,1482889,1482415,2595076,1079144,29422,31306,36256,31544,18122,5412,1481694,1829583,2567913,1848405,1978470,1481567,1493928,2595076,1079144,54286,19054,47612,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1073749,55752,56134,25756,25504,3350479,3072521,1865128],"file_ids":["ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","XkOSW26Xa6_lkqHv5givKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2L4SW1rQgEVXRj3pZAI3nQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","7bd6QJSfWZZfOOpDMHqLMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","J3wpF3Lf_vPkis4aNGKFbw","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","XkOSW26Xa6_lkqHv5givKgAAAAAAAP0G","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEZ6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAAo6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4","h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-rP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy7p","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDRV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHjBm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO","TBeSzkyqIwKL8td602zDjAAAAAAAAEpu","NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","J3wpF3Lf_vPkis4aNGKFbwAAAAAAANnI","jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAGSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAGOg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMx_P","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuIJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHWo"],"type_ids":[1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,3,3,3]},"7B48NKNivOFEka6-8dK3Qg":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,8722,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,20598,2790352,1482889,1482415,2595076,1079485,33518,35060,43878,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,41538,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,40098,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1074318,25764,6982,46236,45634,23124,53720,46894,53720,46894,53720,46894,53720,47420,41028,1347096],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","zpgqltXEgKujOhJUj-jAhg","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAACIS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAAKJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGSO","MsEmysGbXhMvgdbwhcZDCgAAAAAAAGSk","jtp3NDFNJGnK6sK5oOFo8QAAAAAAABtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc","_lF8o5tJDcePvza_IYtgSQAAAAAAALJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALk8","zpgqltXEgKujOhJUj-jAhgAAAAAAAKBE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFI4Y"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3]},"OC533YmmMZSw8TjJz41YiQ":{"address_or_lines":[19534,21076,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,33092,2578675,2599636,1091600,27150,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,33092,2578675,2599636,1091600,42322,2795776,1483241,1482767,2600004,1079483,19534,21076,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1079483,19534,21076,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,33092,2578675,2599636,1091600,30298,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,32876,16726,62090,20547,1659254,1860268],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","6GGFIt18C0VByIn0h-PdeQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","SA64oIT_DC3uHXf7ZjFqkw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","akZOzI9XwsEixvkTDGeDPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","6GGFIt18C0VByIn0h-PdeQAAAAAAAGoO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","SA64oIT_DC3uHXf7ZjFqkwAAAAAAAKVS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","akZOzI9XwsEixvkTDGeDPwAAAAAAAHZa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAPKK","ASi9f26ltguiwFajNwOaZwAAAAAAAFBD","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGVF2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHGKs"],"type_ids":[1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"X6-W250nbzzPy4NasjncWg":{"address_or_lines":[23630,25514,30464,8440,12298,26148,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,38814,1470,22780,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,324,2578675,2599636,1091600,51026,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,324,2578675,2599636,1091600,47386,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,324,2578675,2599636,1091600,19506,2795051,1483241,1482767,2600004,1079483,19920,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1073803,23630,25688,64176,108,16726,29410,2852079,2851771,2849353,2846190,2849331,2846638,1439925,1865566,1029925,10490014,422731,937148],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","AtF9VdLKnFQvB9H1lsFPjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Pf1McBfrZjVj1CxRZBq6Yw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAAHcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAACD4","h0l-9tGi18mC40qpcJbyDwAAAAAAADAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAGYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAAJee","TBeSzkyqIwKL8td602zDjAAAAAAAAAW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAFj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAAMdS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","AtF9VdLKnFQvB9H1lsFPjAAAAAAAALka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","Pf1McBfrZjVj1CxRZBq6YwAAAAAAAEwy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs","p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAHLi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3oz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2-u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFfi1","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHde","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAD7cl","ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe","ew01Dk0sWZctP-VaEpavqQAAAAAABnNL","ew01Dk0sWZctP-VaEpavqQAAAAAADky8"],"type_ids":[1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,4,4,4]},"gi6S4ODPtJ-ERYxlMd4WHA":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,60494,62552,35504,61764,2578675,2599636,1091600,55462,2795776,1483241,1482767,2600004,1074397,60494,62552,35504,61764,2578675,2599636,1091600,63874,2795776,1483241,1482767,2600004,1074397,60494,62552,35504,61764,2578675,2599636,1074067,0,29636,2577481,2934013,1108250,1105981,1310350,1245864,1200348,1190613,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165561,1146206,1245475,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165783,1162744,1226823,1225457,1224431,1198830,1177316,1176308,1173405,1172711,1172023,1171335,1170723,1169827,1169015,1167328,1166449,1165323,1165909],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2L4SW1rQgEVXRj3pZAI3nQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","vkeP2ntYyoFN0A16x9eliw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAANim","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAPmC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGOT","_____________________wAAAAAAAAAA","vkeP2ntYyoFN0A16x9eliwAAAAAAAHPE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1RJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALMT9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEOA9","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAE_6O","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwKo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAElDc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEirV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEX1e","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEwEj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcnX","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEb34","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErhH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAErLx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEq7v","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEkru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfbk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEfL0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeed","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeTn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEeI3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd-H","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEd0j","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdmj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEdZ3","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEc_g","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcxx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcgL","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEcpV"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"EGm59IOxpyqZq7sEwgZb1g":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,36,38,174,104,68,16,140,10,38,174,104,68,48,1992440,1112453,1098694,1112047],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","H5LY_MytOVgyAawi8TymCg","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","kUJz0cDHgh-y1O5Hi8equA","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","H5LY_MytOVgyAawi8TymCgAAAAAAAAAQ","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","kUJz0cDHgh-y1O5Hi8equAAAAAAAAAAw","G68hjsyagwq6LpWrMjDdngAAAAAAHmb4","G68hjsyagwq6LpWrMjDdngAAAAAAEPmF","G68hjsyagwq6LpWrMjDdngAAAAAAEMPG","G68hjsyagwq6LpWrMjDdngAAAAAAEPfv"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"y7cw8NxReMWOs4KtDlMCFA":{"address_or_lines":[40014,41898,46848,24824,28682,42532,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,55198,17854,39164,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,28996,2578675,2599636,1091600,11362,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,28996,2578675,2599636,1091600,14618,2795776,1483241,1482767,2600004,1074397,40014,42072,15024,28996,2578675,2599636,1091600,22130,2795051,1483241,1482767,2600004,1079483,36304,50342,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1079669,40014,42072,15024,28780,33110,57790,1480561,1827950,3236393,1482344,1535086,3273255,1482344,1535086,3245980,67155,10485923,16964,15598,703171,2759460,3901948,3791884,3567755],"file_ids":["LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","AtF9VdLKnFQvB9H1lsFPjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Pf1McBfrZjVj1CxRZBq6Yw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","eOfhJQFIxbIEScd007tROw","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAALcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAGD4","h0l-9tGi18mC40qpcJbyDwAAAAAAAHAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAANee","TBeSzkyqIwKL8td602zDjAAAAAAAAEW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAACxi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","AtF9VdLKnFQvB9H1lsFPjAAAAAAAADka","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","Pf1McBfrZjVj1CxRZBq6YwAAAAAAAFZy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY","J1eggTwSzYdi9OsSu1q37gAAAAAAADqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAOG-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-Ru","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAMWIp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp5o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAF2xu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAMfIn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp5o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAF2xu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAMYec","eOfhJQFIxbIEScd007tROwAAAAAAAQZT","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEJE","ew01Dk0sWZctP-VaEpavqQAAAAAAADzu","ew01Dk0sWZctP-VaEpavqQAAAAAACrrD","ew01Dk0sWZctP-VaEpavqQAAAAAAKhsk","ew01Dk0sWZctP-VaEpavqQAAAAAAO4n8","ew01Dk0sWZctP-VaEpavqQAAAAAAOdwM","ew01Dk0sWZctP-VaEpavqQAAAAAANnCL"],"type_ids":[1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"L1ZLG1mjktr2Zy0xiQnH0w":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,24,140,10,38,174,104,68,178,1090933,1814182,788459,788130,1197048,1243204,1201241,1245991,1245236,1171829,2265239,2264574,2258463,1169067],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","-gq3a70QOgdn9HetYyf2Og","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","-gq3a70QOgdn9HetYyf2OgAAAAAAAACy","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvhE","G68hjsyagwq6LpWrMjDdngAAAAAAElRZ","G68hjsyagwq6LpWrMjDdngAAAAAAEwMn","G68hjsyagwq6LpWrMjDdngAAAAAAEwA0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAAEdar"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEpy8":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEm_I":{"file_name":[],"function_name":["futex_wake"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAC75T":{"file_name":[],"function_name":["wake_up_q"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAC7oE":{"file_name":[],"function_name":["try_to_wake_up"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgljd":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAEqQj":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAEpsM":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAEm4Y":{"file_name":[],"function_name":["futex_wake"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAC75D":{"file_name":[],"function_name":["wake_up_q"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAC7n0":{"file_name":[],"function_name":["try_to_wake_up"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAgkRd":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAM58I":{"file_name":[],"function_name":["kernfs_dop_revalidate"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgMJg":{"file_name":[],"function_name":["strcmp"],"function_offset":[],"line_number":[]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5":{"file_name":["../csu/libc-start.c"],"function_name":["__libc_start_main"],"function_offset":[],"line_number":[308]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI":{"file_name":["libmount/src/tab_parse.c"],"function_name":["__mnt_table_parse_mtab"],"function_offset":[],"line_number":[1102]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W":{"file_name":["libmount/src/tab_parse.c"],"function_name":["mnt_table_parse_file"],"function_offset":[],"line_number":[707]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAXu2":{"file_name":["libmount/src/tab_parse.c","libmount/src/tab_parse.c","/usr/include/bits/stdio.h"],"function_name":["mnt_table_parse_stream","mnt_table_parse_next","getline"],"function_offset":[],"line_number":[643,453,117]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAABrQw":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/libio/iogetdelim.c"],"function_name":["_IO_getdelim"],"function_offset":[],"line_number":[114]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB20S":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/libio/fileops.c"],"function_name":["_IO_new_file_underflow"],"function_offset":[],"line_number":[584]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALKCV":{"file_name":[],"function_name":["seq_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALspQ":{"file_name":[],"function_name":["show_mountinfo"],"function_offset":[],"line_number":[]},"LHNvPtcKBt87cCBX8aTNhQAAAAAAABD4":{"file_name":[],"function_name":["ovl_show_options"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALKWO":{"file_name":[],"function_name":["seq_escape"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgL-e":{"file_name":[],"function_name":["strlen"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1":{"file_name":[],"function_name":["__x64_sys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM":{"file_name":[],"function_name":["ksys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8":{"file_name":[],"function_name":["iterate_dir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ":{"file_name":[],"function_name":["proc_pid_readdir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu":{"file_name":[],"function_name":["next_tgid"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAACq1j":{"file_name":[],"function_name":["pid_nr_ns"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqah":{"file_name":[],"function_name":["__x64_sys_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM":{"file_name":[],"function_name":["do_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7":{"file_name":[],"function_name":["__do_pipe_flags"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqN7":{"file_name":[],"function_name":["create_pipe_files"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePFy":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ":{"file_name":[],"function_name":["unix_stream_read_actor"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg5J":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALB_i":{"file_name":[],"function_name":["__fdget_pos"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALBST":{"file_name":[],"function_name":["__fget_light"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKcUM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKxcK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKu8M":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsyL":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsbn":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKr18":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKqx4":{"file_name":[],"function_name":["follow_managed"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAALEDf":{"file_name":[],"function_name":["lookup_mnt"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAALEA_":{"file_name":[],"function_name":["__lookup_mnt"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsyx":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKrUd":{"file_name":[],"function_name":["inode_permission"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAMzQW":{"file_name":[],"function_name":["kernfs_iop_permission"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAgRuk":{"file_name":[],"function_name":["mutex_lock"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhDw":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg38":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKePq":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAePZt":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAeOlF":{"file_name":[],"function_name":["maybe_add_creds"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAePaV":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZrqL":{"file_name":[],"function_name":["sock_def_readable"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADXb2":{"file_name":[],"function_name":["__wake_up_common_lock"],"function_offset":[],"line_number":[]},"lLD39yzd4Cg8F13tcGpzGQAAAAAAABuG":{"file_name":["pyi_rth_pkgutil.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"LEy-wm0GIvRoYVAga55HiwAAAAAAACxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAADRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAMqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAADFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"dCCKy6JoX0PADOFic8hRNQAAAAAAAB5A":{"file_name":["pkgutil.py"],"function_name":[""],"function_offset":[315],"line_number":[316]},"9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAMum":{"file_name":["functools.py"],"function_name":["register"],"function_offset":[50],"line_number":[902]},"xUQuo4OgBaS_Le-fdAwt8AAAAAAAAIHw":{"file_name":["functools.py"],"function_name":["_is_union_type"],"function_offset":[2],"line_number":[843]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAADBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAKLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3":{"file_name":[],"function_name":["xfs_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC":{"file_name":[],"function_name":["xfs_file_buffered_aio_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-":{"file_name":[],"function_name":["generic_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASkft":{"file_name":[],"function_name":["copy_page_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASheR":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr":{"file_name":[],"function_name":["copy_user_generic_string"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEIE":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAADyu":{"file_name":[],"function_name":["exit_to_usermode_loop"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAACrwD":{"file_name":[],"function_name":["task_work_run"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgtU":{"file_name":[],"function_name":["__fput"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAOyMM":{"file_name":[],"function_name":["xfs_release"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAOXPc":{"file_name":[],"function_name":["xfs_free_eofblocks"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAANg6m":{"file_name":[],"function_name":["xfs_bmapi_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAOB7F":{"file_name":[],"function_name":["xfs_iext_lookup_extent"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpAW":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAczF0":{"file_name":[],"function_name":["tcp_v4_send_check"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKglI":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdME8":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZ0Bt":{"file_name":[],"function_name":["__kfree_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZ0vq":{"file_name":[],"function_name":["skb_release_data"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAIAP0":{"file_name":[],"function_name":["__put_page"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7mG":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7j0":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKZkE":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9":{"file_name":[],"function_name":["__kmalloc_reserve.isra.57"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR":{"file_name":[],"function_name":["__kmalloc_node_track_caller"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk":{"file_name":[],"function_name":["kmalloc_slab"],"function_offset":[],"line_number":[]},"eOfhJQFIxbIEScd007tROwAAAAAAAHRK":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/nptl/pthread_create.c"],"function_name":["start_thread"],"function_offset":[],"line_number":[465]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAmH_":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_connect"],"function_offset":[],"line_number":[345]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAAAhZ-":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/s3_clnt.c"],"function_name":["ssl3_get_server_certificate"],"function_offset":[],"line_number":[1255]},"9HZ7GQCC6G9fZlRD7aGzXQAAAAAABFsM":{"file_name":["/usr/src/debug/openssl-1.0.2k/ssl/ssl_cert.c"],"function_name":["ssl_verify_cert_chain"],"function_offset":[],"line_number":[759]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFdR2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_vfy.c"],"function_name":["X509_verify_cert"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFh_7":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["X509_STORE_CTX_get1_issuer"],"function_offset":[],"line_number":[617]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhe5":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["X509_STORE_get_by_subject"],"function_offset":[],"line_number":[306]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhdI":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["X509_OBJECT_retrieve_by_subject"],"function_offset":[],"line_number":[480]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhIu":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["x509_object_idx_cnt"],"function_offset":[],"line_number":[454]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAEiFg":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/stack/stack.c"],"function_name":["internal_find"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAEiEp":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/stack/stack.c"],"function_name":["sk_sort"],"function_offset":[],"line_number":[374]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1v3":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["__GI___qsort_r","msort_with_tmp"],"function_offset":[],"line_number":[297,45]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1ku":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["msort_with_tmp","msort_with_tmp"],"function_offset":[],"line_number":[53,159]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1kh":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["msort_with_tmp","msort_with_tmp"],"function_offset":[],"line_number":[54,159]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAA1nF":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/stdlib/msort.c"],"function_name":["msort_with_tmp"],"function_offset":[],"line_number":[83]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFhE-":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_lu.c"],"function_name":["x509_object_cmp"],"function_offset":[],"line_number":[168]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_d2.c"],"function_name":["X509_STORE_load_locations"],"function_offset":[],"line_number":[94]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["by_file_ctrl"],"function_offset":[],"line_number":[117]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["X509_load_cert_crl_file"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/pem/pem_info.c"],"function_name":["PEM_X509_INFO_read_bio"],"function_offset":[],"line_number":[248]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_d2i"],"function_offset":[],"line_number":[154]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_ex_d2i"],"function_offset":[],"line_number":[553]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[478]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_ex_d2i"],"function_offset":[],"line_number":[623]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_noexp_d2i"],"function_offset":[],"line_number":[735]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIM9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[266]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFB_E":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_ex_d2i"],"function_offset":[],"line_number":[235]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBue":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["x509_name_canon"],"function_offset":[],"line_number":[390]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFBbE":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/x_name.c"],"function_name":["i2d_name_canon"],"function_offset":[],"line_number":[508]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFGgQ":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_enc.c"],"function_name":["ASN1_item_ex_i2d"],"function_offset":[],"line_number":[148]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFG4p":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_enc.c"],"function_name":["asn1_template_ex_i2d"],"function_offset":[],"line_number":[360]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAEiC3":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/stack/stack.c"],"function_name":["sk_num"],"function_offset":[],"line_number":[344]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAMJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAIsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAIF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAA10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAGs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAILu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAFhE":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOmcH":{"file_name":[],"function_name":["xfs_file_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOmYS":{"file_name":[],"function_name":["xfs_file_buffered_aio_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAH0TO":{"file_name":[],"function_name":["generic_file_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAHynP":{"file_name":[],"function_name":["pagecache_get_page"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAHyFT":{"file_name":[],"function_name":["find_get_entry"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJa3-":{"file_name":[],"function_name":["PageHuge"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaMev":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"6miIyyucTZf5zXHCk7PT1gAAAAAAAAo8":{"file_name":[],"function_name":["veth_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaGU2":{"file_name":[],"function_name":["netif_rx"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaGS9":{"file_name":[],"function_name":["netif_rx_internal"],"function_offset":[],"line_number":[]},"a5aMcPOeWx28QSVng73nBQAAAAAAAAAw":{"file_name":["aws"],"function_name":[""],"function_offset":[5],"line_number":[19]},"OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[5],"line_number":[1007]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[19],"line_number":[986]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[21],"line_number":[680]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[499]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAADI":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[22],"line_number":[35]},"5sij7Z672VAK_gGoPDPJBgAAAAAAAAA8":{"file_name":["formatter.py"],"function_name":[""],"function_offset":[6],"line_number":[19]},"PCeTYI0HN2oKNST6e1IaQQAAAAAAAABc":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[50],"line_number":[51]},"U4FmFVJMlNKhF1hVl3Xj1AAAAAAAAAAE":{"file_name":["cyaml.py"],"function_name":[""],"function_offset":[0],"line_number":[3]},"JR7ekk9KGQJKKPohpdwCLQAAAAAAAAAK":{"file_name":["_bootstrap_external.py"],"function_name":["exec_module"],"function_offset":[2],"line_number":[1181]},"zP58DjIs7uq1cghmzykyNAAAAAAAAAAK":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[228]},"rpRn_rYC3CgtEgBAUrkZZgAAAAAAAAAU":{"file_name":["error.py"],"function_name":[""],"function_offset":[3],"line_number":[6]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[13],"line_number":[482]},"NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[14],"line_number":[298]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[18],"line_number":[304]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAABbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAACrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAB9A":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"okehWevKsEA4q6dk779jgwAAAAAAAH1M":{"file_name":["session.py"],"function_name":["get_credentials"],"function_offset":[12],"line_number":[445]},"-IuadWGT89NVzIyF_EmodwAAAAAAAMKw":{"file_name":["credentials.py"],"function_name":["load_credentials"],"function_offset":[18],"line_number":[1953]},"XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08":{"file_name":["credentials.py"],"function_name":["load"],"function_offset":[18],"line_number":[1009]},"FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa":{"file_name":["utils.py"],"function_name":["retrieve_iam_role_credentials"],"function_offset":[30],"line_number":[517]},"pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a":{"file_name":["utils.py"],"function_name":["_get_iam_role"],"function_offset":[1],"line_number":[524]},"IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK":{"file_name":["utils.py"],"function_name":["_get_request"],"function_offset":[32],"line_number":[435]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc":{"file_name":["connectionpool.py"],"function_name":["urlopen"],"function_offset":[361],"line_number":[894]},"fB79lJck2X90l-j7VqPR-QAAAAAAAGc8":{"file_name":["connectionpool.py"],"function_name":["_make_request"],"function_offset":[116],"line_number":[494]},"gbMheDI1NZ3NY96J0seddgAAAAAAAEuq":{"file_name":["client.py"],"function_name":["getresponse"],"function_offset":[58],"line_number":[1389]},"GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w":{"file_name":["client.py"],"function_name":["__init__"],"function_offset":[28],"line_number":[276]},"_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI":{"file_name":["socket.py"],"function_name":["makefile"],"function_offset":[40],"line_number":[343]},"piWSMQrh4r040D0BPNaJvwAAAAAAZZ-N":{"file_name":[],"function_name":["__sys_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZYo3":{"file_name":[],"function_name":["___sys_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXwf":{"file_name":[],"function_name":["____sys_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjN":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAet8Y":{"file_name":[],"function_name":["udpv6_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAActW-":{"file_name":[],"function_name":["udp_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb90r":{"file_name":[],"function_name":["ip_make_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb8Hg":{"file_name":[],"function_name":["__ip_append_data.isra.50"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZdo2":{"file_name":[],"function_name":["sock_alloc_send_pskb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZlYi":{"file_name":[],"function_name":["alloc_skb_with_frags"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZjzl":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJr8u":{"file_name":[],"function_name":["__ksize"],"function_offset":[],"line_number":[]},"grZNsSElR5ITq8H2yHCNSwAAAAAAANbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAPAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAFQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAAHVG":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"cBO14nNDW8EW0oaZDaZipwAAAAAAAOiW":{"file_name":["session.py"],"function_name":["_resolve_region_name"],"function_offset":[20],"line_number":[876]},"C64RiOp1JIPwHLB_iHDa0AAAAAAAAHNm":{"file_name":["session.py"],"function_name":["get_config_variable"],"function_offset":[4],"line_number":[253]},"xvApUwdY2y4sFaZRNrMv5gAAAAAAAEoq":{"file_name":["configprovider.py"],"function_name":["get_config_variable"],"function_offset":[19],"line_number":[316]},"vsalcPHh9qLgsdKtk190IAAAAAAAAFQg":{"file_name":["configprovider.py"],"function_name":["provide"],"function_offset":[11],"line_number":[416]},"QsuqlohtoJfpo6vQ6tHa2AAAAAAAANS-":{"file_name":["utils.py"],"function_name":["provide"],"function_offset":[3],"line_number":[116]},"8ep9l3WIVYErRiHtmAdvewAAAAAAANI2":{"file_name":["utils.py"],"function_name":["_get_instance_metadata_region"],"function_offset":[3],"line_number":[121]},"nPWpQrEmCn54Ou0__aZyJAAAAAAAACsQ":{"file_name":["utils.py"],"function_name":["retrieve_region"],"function_offset":[19],"line_number":[172]},"-xcELApECIipEESUIWed9wAAAAAAAC7-":{"file_name":["utils.py"],"function_name":["_get_region"],"function_offset":[9],"line_number":[185]},"L_saUsdri-UdXCut6TdtngAAAAAAAO5i":{"file_name":["utils.py"],"function_name":["_fetch_metadata_token"],"function_offset":[28],"line_number":[400]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAAFIW":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"p19NBQ2pky4eRJM7tgeenwAAAAAAALGU":{"file_name":["httpsession.py"],"function_name":["proxy_url_for"],"function_offset":[6],"line_number":[222]},"55ABUc9FqQ0uj-yn-sTq2AAAAAAAAKaI":{"file_name":["parse.py"],"function_name":["urlparse"],"function_offset":[28],"line_number":[393]},"1msFlmxT18lYvJkx-hfGPgAAAAAAAF1K":{"file_name":["parse.py"],"function_name":["urlsplit"],"function_offset":[49],"line_number":[481]},"a5aMcPOeWx28QSVng73nBQAAAAAAAABK":{"file_name":["aws"],"function_name":[""],"function_offset":[13],"line_number":[27]},"inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[2],"line_number":[166]},"Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[3],"line_number":[185]},"cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[8],"line_number":[97]},"T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[23],"line_number":[48]},"lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[1],"line_number":[62]},"SMoSw8cr-PdrIATvljOPrQAAAAAAAABU":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[8],"line_number":[76]},"xaCec3W8F6xlvd_EISI7vwAAAAAAAACA":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[16],"line_number":[29]},"GYpj0RgmHJTfD-_w_Fx69wAAAAAAAABA":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[7],"line_number":[20]},"b78FoZPzgl20nGrU0Zu24gAAAAAAAABU":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[22]},"5ZxW56RI3EOJxqCWjdkdHgAAAAAAAABk":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[12],"line_number":[17]},"fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[25],"line_number":[1058]},"7l7IlhF_Z6_Ribw1CW945QAAAAAAAAA8":{"file_name":["ec.py"],"function_name":[""],"function_offset":[8],"line_number":[13]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAAm":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[5],"line_number":[291]},"imaY9TOf2pKX0_q1vRTskQAAAAAAAAAg":{"file_name":["pyimod01_archive.py"],"function_name":["__enter__"],"function_offset":[8],"line_number":[87]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAADbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAANka":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAEbO":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"GdaBUD9IUEkKxIBryNqV2wAAAAAAAI7O":{"file_name":["clidriver.py"],"function_name":["create_parser"],"function_offset":[4],"line_number":[635]},"QU8QLoFK6ojrywKrBFfTzAAAAAAAAAmc":{"file_name":["clidriver.py"],"function_name":["_get_command_table"],"function_offset":[3],"line_number":[580]},"V558DAsp4yi8bwa8eYwk5QAAAAAAAKbk":{"file_name":["clidriver.py"],"function_name":["_create_command_table"],"function_offset":[18],"line_number":[615]},"grikUXlisBLUbeL_OWixIwAAAAAAALZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"cHp4MwXaY5FCuFRuAA6tWwAAAAAAAN9c":{"file_name":["waiters.py"],"function_name":["add_waiters"],"function_offset":[11],"line_number":[36]},"-9oyoP4Jj2iRkwEezqId-gAAAAAAAH78":{"file_name":["waiters.py"],"function_name":["get_waiter_model_from_service_model"],"function_offset":[5],"line_number":[48]},"Kq9d0b1CBVEQZUtuJtmlJgAAAAAAAAT8":{"file_name":["session.py"],"function_name":["get_waiter_model"],"function_offset":[4],"line_number":[526]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAPjQ":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAOwU":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKsux":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAALbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAANAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAADQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAJ-e":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"wpss7yv4AvkSwbtctTl0JAAAAAAAAANC":{"file_name":["clidriver.py"],"function_name":["_display_response"],"function_offset":[7],"line_number":[952]},"SLUxdgyFrTF3l4NU1VRO_wAAAAAAAOMY":{"file_name":["formatter.py"],"function_name":["__call__"],"function_offset":[23],"line_number":[91]},"ZOgaFnYiv38tVz-8Hafu3wAAAAAAADCy":{"file_name":["paginate.py"],"function_name":["build_full_result"],"function_offset":[43],"line_number":[487]},"u1Za6xFXDX1Ys5Qeh_gy9QAAAAAAAMWW":{"file_name":["paginate.py"],"function_name":["__iter__"],"function_offset":[16],"line_number":[251]},"uq4_q8agTQ0rkhJvygJ3QAAAAAAAAGag":{"file_name":["paginate.py"],"function_name":["_make_request"],"function_offset":[1],"line_number":[329]},"pK0zxAMiW-X23QjQRVzm5wAAAAAAAOu8":{"file_name":["client.py"],"function_name":["_api_call"],"function_offset":[4],"line_number":[337]},"OP7EiuTwTtWCf_B7a-ZpigAAAAAAAIUk":{"file_name":["client.py"],"function_name":["_make_api_call"],"function_offset":[58],"line_number":[699]},"WyVrojmISSgbkYAxEOnpQwAAAAAAAKcu":{"file_name":["client.py"],"function_name":["_make_request"],"function_offset":[3],"line_number":[704]},"JdWBEAqhrU7LJg0YDuYO0wAAAAAAANaq":{"file_name":["endpoint.py"],"function_name":["make_request"],"function_offset":[3],"line_number":[101]},"cwZEcJVCN5Q4BJdAS3o8fwAAAAAAABLk":{"file_name":["endpoint.py"],"function_name":["_send_request"],"function_offset":[28],"line_number":[157]},"iLNvi1vqLkBP_ehg4QlqeAAAAAAAAJ7U":{"file_name":["endpoint.py"],"function_name":["_get_response"],"function_offset":[18],"line_number":[177]},"guXM5tmjJlv0Ehde0y1DFwAAAAAAAPLs":{"file_name":["endpoint.py"],"function_name":["_do_get_response"],"function_offset":[48],"line_number":[232]},"avBEfFKeFSrhKf93SLNe0QAAAAAAAKtK":{"file_name":["endpoint.py"],"function_name":["_send"],"function_offset":[1],"line_number":[271]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAADQ8":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"iRoTPXvR_cRsnzDO-aurpQAAAAAAABVw":{"file_name":["connectionpool.py"],"function_name":["urlopen"],"function_offset":[361],"line_number":[894]},"aAagm2yDcrnYaqBPCwyu8QAAAAAAAE8g":{"file_name":["awsrequest.py"],"function_name":["copy"],"function_offset":[1],"line_number":[605]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAABci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAL_G":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAOMM":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAADYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAL2-":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"lpUCR1NQj5NOLBg7mvzlqgAAAAAAAPi6":{"file_name":["generatecliskeleton.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAHBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAOKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAAT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAABF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAE10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAACLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAMFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAEu2":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"08DBZKRu4nC_Oi_uT40UHwAAAAAAAOyO":{"file_name":["codecommit.py"],"function_name":[""],"function_offset":[156],"line_number":[157]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAACpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAD2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"n74P5OxFm1hAo5ZWtgcKHQAAAAAAALGe":{"file_name":["__init__.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[93]},"zXbqXCWr0lCbi_b24hNBRQAAAAAAAOI0":{"file_name":["pyimod02_importers.py"],"function_name":["find_spec"],"function_offset":[87],"line_number":[302]},"AOM_-6oRTyAxK8W79Wo5aQAAAAAAAErq":{"file_name":["pyimod02_importers.py"],"function_name":["get_filename"],"function_offset":[12],"line_number":[212]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAABc6":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"ik6PIX946fW_erE7uBJlVQAAAAAAABLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAABr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAM6e":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"N0GNsPaCLYzoFsPJWnIJtQAAAAAAAK8u":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[53],"line_number":[54]},"fq0ezjB8ddCA6Pk0BY9arQAAAAAAAH4C":{"file_name":["distro.py"],"function_name":[""],"function_offset":[608],"line_number":[609]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAMY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAAkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAFci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAHYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[49],"line_number":[62]},"gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc":{"file_name":["core.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[5],"line_number":[18]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[5],"line_number":[972]},"9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE":{"file_name":["application.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAAAQ":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"RDOEyok4432cuMjL10_tugAAAAAAAAEA":{"file_name":["base_events.py"],"function_name":[""],"function_offset":[44],"line_number":[45]},"U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[3],"line_number":[274]},"bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[354]},"25JFhMXA0rvP5hfyUpf34wAAAAAAAAAc":{"file_name":["typing.py"],"function_name":["Optional"],"function_offset":[7],"line_number":[479]},"oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2":{"file_name":["typing.py"],"function_name":["Union"],"function_offset":[32],"line_number":[466]},"Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM":{"file_name":["typing.py"],"function_name":[""],"function_offset":[0],"line_number":[466]},"pz3Evn9laHNJFMwOKIXbswAAAAAAAAB4":{"file_name":["typing.py"],"function_name":["_type_check"],"function_offset":[24],"line_number":[161]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAJci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAFEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAA8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJGc":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAHhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAGeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAI58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAADTm":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAKzA":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"ktj-IOmkEpvZJouiJkQjTgAAAAAAAGYa":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[117],"line_number":[854]},"O_h7elJSxPO7SiCsftYRZgAAAAAAABW2":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"ZLTqiSLOmv4Ej_7d8yKLmwAAAAAAAEGM":{"file_name":["client.py"],"function_name":["_get_client_args"],"function_offset":[15],"line_number":[295]},"v_WV3HQYVe0q1Ob-1gtx1AAAAAAAAP0W":{"file_name":["args.py"],"function_name":["get_client_args"],"function_offset":[72],"line_number":[118]},"ka2IKJhpWbD6PA3J3v624wAAAAAAAElW":{"file_name":["copy.py"],"function_name":["copy"],"function_offset":[35],"line_number":[101]},"e8Lb_MV93AH-OkvHPPDitgAAAAAAAI5y":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[6],"line_number":[344]},"1vivUE5hL65442lQ9a_ylgAAAAAAAEOi":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[8],"line_number":[486]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKvK":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fh_7rTxpgngJ2cX2lBjVdgAAAAAAAKtu":{"file_name":["hooks.py"],"function_name":["_recursive_copy"],"function_offset":[12],"line_number":[500]},"fCsVLBj60GK9Hf8VtnMcgAAAAAAAADSW":{"file_name":["hooks.py"],"function_name":["__copy__"],"function_offset":[5],"line_number":[35]},"54xjnvwS2UtwpSVJMemggAAAAAAAAGsE":{"file_name":[""],"function_name":[""],"function_offset":[0],"line_number":[1]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAADU":{"file_name":["application.py"],"function_name":[""],"function_offset":[40],"line_number":[41]},"bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"qordvIiilnF7CmkWCAd7eAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc":{"file_name":["base.py"],"function_name":[""],"function_offset":[8],"line_number":[9]},"M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"okgAOHfDrcA806m5xh4DMAAAAAAAAACs":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAOVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAPHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAI10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAKs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"ik6PIX946fW_erE7uBJlVQAAAAAAAMLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAC8C":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"aRRT4_vBG9Q4nqyirWo5FAAAAAAAAJZa":{"file_name":["codedeploy.py"],"function_name":[""],"function_offset":[49],"line_number":[50]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAAFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4":{"file_name":["abc.py"],"function_name":[""],"function_offset":[267],"line_number":[268]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAG6m":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"auEGiAr7C6IfT0eiHbOlyAAAAAAAAMhK":{"file_name":["session.py"],"function_name":[""],"function_offset":[184],"line_number":[185]},"ZyAwfhB8pqBFv6xiDVdvPQAAAAAAAKh2":{"file_name":["credentials.py"],"function_name":[""],"function_offset":[553],"line_number":[554]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAMpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAN2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"9alsKcnSosScCQ3ntwGT5wAAAAAAAKlg":{"file_name":["_bootstrap_external.py"],"function_name":["find_spec"],"function_offset":[22],"line_number":[1518]},"xAINw9zPBhJlledr3DAcGAAAAAAAAK4I":{"file_name":["_bootstrap_external.py"],"function_name":["_get_spec"],"function_offset":[29],"line_number":[1493]},"xVweU0pD8q051c2YgF4PTwAAAAAAAH1m":{"file_name":["_bootstrap_external.py"],"function_name":["find_spec"],"function_offset":[43],"line_number":[1647]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAKHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"ik6PIX946fW_erE7uBJlVQAAAAAAAJLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAOAO":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"d4jl580PLMUwu5s3I4wcXgAAAAAAAISu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"tKago5vqLnwIkezk_wTBpQAAAAAAAOfq":{"file_name":["package.py"],"function_name":[""],"function_offset":[31],"line_number":[32]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAHkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAANLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAF6m":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"auEGiAr7C6IfT0eiHbOlyAAAAAAAALg6":{"file_name":["session.py"],"function_name":[""],"function_offset":[184],"line_number":[185]},"mP9Tk3T74fjOyYWKUaqdMQAAAAAAAJDi":{"file_name":["client.py"],"function_name":[""],"function_offset":[119],"line_number":[120]},"I4X8AC1-B0GuL4JyYemPzwAAAAAAAKO6":{"file_name":["args.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAJkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAKYy":{"file_name":["auth.py"],"function_name":[""],"function_offset":[603],"line_number":[604]},"y9R94bQUxts02WzRWfV7xgAAAAAAAC_y":{"file_name":["auth.py"],"function_name":[""],"function_offset":[316],"line_number":[317]},"uI6css-d8SGQRK6a_Ntl-AAAAAAAAD3e":{"file_name":["auth.py"],"function_name":[""],"function_offset":[336],"line_number":[337]},"SlnkBp0IIJFLHVOe4KbxwQAAAAAAAJLa":{"file_name":["http.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"7wBb3xHP1JZHNBpMGh4EdAAAAAAAADGa":{"file_name":["io.py"],"function_name":[""],"function_offset":[408],"line_number":[409]},"u3fGdgL6eAYjYSRbRUri0gAAAAAAAFUY":{"file_name":["io.py"],"function_name":["SocketDomain"],"function_offset":[3],"line_number":[194]},"aG0mH34tM6si5c1l397JVQAAAAAAAOwA":{"file_name":["enum.py"],"function_name":["__setitem__"],"function_offset":[93],"line_number":[457]},"GC-VoGaqaEobPzimayHQTQAAAAAAANdk":{"file_name":["enum.py"],"function_name":["_is_sunder"],"function_offset":[4],"line_number":[62]},"PmhxUKv5sePRxhCBONca8gAAAAAAAID6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"ik6PIX946fW_erE7uBJlVQAAAAAAAPLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"UfGck3qA2qF0xFB5gpY4HgAAAAAAAH72":{"file_name":["base.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"G9ShE3ODivDEFyHVdsnZ_gAAAAAAABn-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[34],"line_number":[35]},"6AsJ0dA2BUqaic-ScDJBMAAAAAAAACOm":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[38],"line_number":[39]},"fr52ZDCgnkPZlzTNdLTQ5wAAAAAAAGnS":{"file_name":["base.py"],"function_name":[""],"function_offset":[167],"line_number":[168]},"uqoEOAkLp1toolLH0q5LVwAAAAAAAJmm":{"file_name":["mouse_events.py"],"function_name":[""],"function_offset":[63],"line_number":[64]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMFQ":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAJ42":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"WjtMXFj0eujpoknR_rynvAAAAAAAACba":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[800],"line_number":[801]},"Vot4T3F5OpUj8rbXhgpMDgAAAAAAAO8I":{"file_name":["_bootstrap_external.py"],"function_name":["exec_module"],"function_offset":[4],"line_number":[938]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAEtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"EPS0ql6FPdCQLe9KByvDQAAAAAAAAMgy":{"file_name":["traceback.py"],"function_name":[""],"function_offset":[328],"line_number":[329]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAKSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAKJo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAAKJE":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAKA4":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAJp8":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"V6gUZHzBRISi-Z25klK5DQAAAAAAAKri":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[37],"line_number":[38]},"ik6PIX946fW_erE7uBJlVQAAAAAAAELu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"zWNEoAKVTnnzSns045VKhwAAAAAAAMsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAAEfO":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"XVsKc4e32xXUv-3uv2s-8QAAAAAAACny":{"file_name":["defaults.py"],"function_name":["emacs_state"],"function_offset":[32],"line_number":[33]},"uPGvGNXBf1JXGeeDSsmGQAAAAAAAALX2":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[194],"line_number":[679]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[8],"line_number":[21]},"mHiYHSEggclUi1ELZIxq4AAAAAAAAABA":{"file_name":["session.py"],"function_name":[""],"function_offset":[13],"line_number":[27]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU":{"file_name":["client.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc":{"file_name":["waiter.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE":{"file_name":["service.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc":{"file_name":["compat.py"],"function_name":[""],"function_offset":[17],"line_number":[31]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[10],"line_number":[11]},"r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[15],"line_number":[982]},"JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[24],"line_number":[925]},"MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[2],"line_number":[192]},"yWt46REABLfKH6PXLAE18AAAAAAAAABk":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[16],"line_number":[431]},"VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[1],"line_number":[121]},"Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[2],"line_number":[87]},"OwrnTUowquMzuETYoP67yQAAAAAAAAAe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[4],"line_number":[5]},"HmAocvtnsxREZJIec2I5gwAAAAAAAAA4":{"file_name":["__init__.py"],"function_name":["HTTPStatus"],"function_offset":[41],"line_number":[46]},"KHDki7BxJPyjGLtvY8M5lQAAAAAAAAF-":{"file_name":["enum.py"],"function_name":["__setitem__"],"function_offset":[64],"line_number":[152]},"ik6PIX946fW_erE7uBJlVQAAAAAAAGLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAL5W":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"XlQ19HBD_RNa2r3QWOR-nAAAAAAAAP1u":{"file_name":["commands.py"],"function_name":[""],"function_offset":[127],"line_number":[128]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAFRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAItm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"VuJFonCXevADcEDW6NVbKgAAAAAAAGsG":{"file_name":["devcommands.py"],"function_name":[""],"function_offset":[49],"line_number":[50]},"VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAMsO":{"file_name":["factory.py"],"function_name":[""],"function_offset":[57],"line_number":[58]},"PUSucJs4FC_WdMzOyH3QYwAAAAAAAOMa":{"file_name":["layout.py"],"function_name":[""],"function_offset":[130],"line_number":[131]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAH2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"it1vvnZdXdzy0fFROnaaOQAAAAAAALTQ":{"file_name":["_bootstrap.py"],"function_name":["find_spec"],"function_offset":[28],"line_number":[950]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAOL2":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"XlQ19HBD_RNa2r3QWOR-nAAAAAAAAL1u":{"file_name":["commands.py"],"function_name":[""],"function_offset":[127],"line_number":[128]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAARw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAADtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"VFBd9VqCaQu0ZzjQ2K3pjgAAAAAAAAsO":{"file_name":["factory.py"],"function_name":[""],"function_offset":[57],"line_number":[58]},"PUSucJs4FC_WdMzOyH3QYwAAAAAAABHq":{"file_name":["layout.py"],"function_name":[""],"function_offset":[130],"line_number":[131]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALC4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAAM8O":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"gZooqVYiItnHim-lK4feOgAAAAAAANN-":{"file_name":["_bootstrap.py"],"function_name":["_init_module_attrs"],"function_offset":[70],"line_number":[563]},"UfGck3qA2qF0xFB5gpY4HgAAAAAAABTm":{"file_name":["base.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"G9ShE3ODivDEFyHVdsnZ_gAAAAAAABs-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[34],"line_number":[35]},"6AsJ0dA2BUqaic-ScDJBMAAAAAAAABbq":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[38],"line_number":[39]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAADSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"VY0EiAO0DxwLRTE4PfFhdwAAAAAAAOMW":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"A8AozG5gQfEN24i4IE7w5wAAAAAAACgG":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[21],"line_number":[22]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAKKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAAHLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"V6gUZHzBRISi-Z25klK5DQAAAAAAACri":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[37],"line_number":[38]},"zWNEoAKVTnnzSns045VKhwAAAAAAAIsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"PmhxUKv5sePRxhCBONca8gAAAAAAAAD6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAEu":{"file_name":["client.py"],"function_name":[""],"function_offset":[1396],"line_number":[1397]},"OPpnYj88CDOiKneikdGPHAAAAAAAAAF-":{"file_name":["ssl.py"],"function_name":[""],"function_offset":[138],"line_number":[142]},"ZJjPF65K8mBuISvhCfKfBgAAAAAAAAB4":{"file_name":["enum.py"],"function_name":["_convert_"],"function_offset":[27],"line_number":[555]},"xLxhp_367a_SbgOYuEJjlwAAAAAAAAAm":{"file_name":["enum.py"],"function_name":["__call__"],"function_offset":[28],"line_number":[386]},"QHotkhNTqx5C4Kjd2F2_6wAAAAAAAAEC":{"file_name":["enum.py"],"function_name":["_create_"],"function_offset":[35],"line_number":[510]},"Ht79I_xqXv3bOgaClTNQ4wAAAAAAAAKS":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[122],"line_number":[301]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAALV2":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAER-":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAAPq2":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAFiO":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"aD-GPAkaW-Swis8ybNgyMQAAAAAAAIjQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[455],"line_number":[456]},"HENgRXYeEs7mDD8Gk_MNmgAAAAAAACO-":{"file_name":["help.py"],"function_name":[""],"function_offset":[202],"line_number":[203]},"fFS0upy5lIaT99RhlTN5LQAAAAAAAMwW":{"file_name":["clidocs.py"],"function_name":[""],"function_offset":[399],"line_number":[400]},"lSdGU4igLMOpLhL_6XP15wAAAAAAALze":{"file_name":["argprocess.py"],"function_name":[""],"function_offset":[278],"line_number":[279]},"QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6":{"file_name":["shorthand.py"],"function_name":[""],"function_offset":[132],"line_number":[133]},"20O937106XMbOD0LQR4SPwAAAAAAAAuy":{"file_name":["shorthand.py"],"function_name":["ShorthandParser"],"function_offset":[257],"line_number":[379]},"gPzb0fXoBe1225fbKepMRAAAAAAAAKLy":{"file_name":["shorthand.py"],"function_name":["__init__"],"function_offset":[2],"line_number":[53]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAISc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAIJo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAAGVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAAIFK":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAIJE":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAIai":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAH1i":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"JrU1PwRIxl_8SXdnTESnogAAAAAAAJom":{"file_name":["_compiler.py"],"function_name":["_optimize_charset"],"function_offset":[138],"line_number":[379]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAABtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"zWNEoAKVTnnzSns045VKhwAAAAAAAAsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAAL2e":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"lTFhQHSZwvS4-s94KVv5mAAAAAAAABAw":{"file_name":["renderer.py"],"function_name":[""],"function_offset":[85],"line_number":[86]},"IcJVDEq52FRv22q0yHVMawAAAAAAACL6":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[6],"line_number":[351]},"BDtQyw375W96A0PA_Z7SDQAAAAAAAOUy":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[7],"line_number":[1557]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItm_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAIs9a":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJk1L":{"file_name":[],"function_name":["alloc_pages_vma"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJNfz":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJJpI":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAJGV5":{"file_name":[],"function_name":["prep_new_page"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgURI":{"file_name":[],"function_name":["clear_page_erms"],"function_offset":[],"line_number":[]},"grZNsSElR5ITq8H2yHCNSwAAAAAAADVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAEHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAM10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAACs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAOXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAI_q":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"skFt9oVHBFfMDC1On4IJhgAAAAAAAHg6":{"file_name":["ddb.py"],"function_name":[""],"function_offset":[26],"line_number":[27]},"g5zhfSuJlGbmNqPl5Qb2wgAAAAAAALga":{"file_name":["subcommands.py"],"function_name":[""],"function_offset":[64],"line_number":[65]},"UoMth5MLnZ-vUHeTplwEvAAAAAAAAMqu":{"file_name":["params.py"],"function_name":[""],"function_offset":[226],"line_number":[227]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAABfe":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"OlTvyWQFXjOweJcs3kiGygAAAAAAAMui":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2":{"file_name":["_parser.py"],"function_name":["__len__"],"function_offset":[1],"line_number":[159]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAP0G":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAEZ6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAAo6":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAI2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAHs4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAEbK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAABUk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANQO":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAEpu":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAALn8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"J3wpF3Lf_vPkis4aNGKFbwAAAAAAANnI":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAGSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAGOg":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OlTvyWQFXjOweJcs3kiGygAAAAAAACIS":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAAKJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAGSk":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAABtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAALJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALk8":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"zpgqltXEgKujOhJUj-jAhgAAAAAAAKBE":{"file_name":["_parser.py"],"function_name":["__getitem__"],"function_offset":[3],"line_number":[165]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAExO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"6GGFIt18C0VByIn0h-PdeQAAAAAAAGoO":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"SA64oIT_DC3uHXf7ZjFqkwAAAAAAAKVS":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[48],"line_number":[49]},"akZOzI9XwsEixvkTDGeDPwAAAAAAAHZa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAIBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAPKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAAHcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAACD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAADAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAGYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAAJee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAAW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAFj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"fj70ljef7nDHOqVJGSIoEQAAAAAAAMdS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"AtF9VdLKnFQvB9H1lsFPjAAAAAAAALka":{"file_name":["parser.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"Pf1McBfrZjVj1CxRZBq6YwAAAAAAAEwy":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[443],"line_number":[444]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAE3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAISm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAHLi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABnNL":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADky8":{"file_name":[],"function_name":["down_read_trylock"],"function_offset":[],"line_number":[]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAOxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAPRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAIqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAPFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"XkOSW26Xa6_lkqHv5givKgAAAAAAANim":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAPmC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"vkeP2ntYyoFN0A16x9eliwAAAAAAAHPE":{"file_name":["__init__.py"],"function_name":["namedtuple"],"function_offset":[164],"line_number":[512]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI":{"file_name":["client.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg":{"file_name":["parser.py"],"function_name":[""],"function_offset":[7],"line_number":[12]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAk":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[22],"line_number":[27]},"H5LY_MytOVgyAawi8TymCgAAAAAAAAAQ":{"file_name":["_policybase.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"kUJz0cDHgh-y1O5Hi8equAAAAAAAAAAw":{"file_name":["header.py"],"function_name":[""],"function_offset":[14],"line_number":[19]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAJxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAALcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAGD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAHAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAEW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAKRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"fj70ljef7nDHOqVJGSIoEQAAAAAAACxi":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"AtF9VdLKnFQvB9H1lsFPjAAAAAAAADka":{"file_name":["parser.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"Pf1McBfrZjVj1CxRZBq6YwAAAAAAAFZy":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[443],"line_number":[444]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAI3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAMSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAOG-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEJE":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAADzu":{"file_name":[],"function_name":["exit_to_usermode_loop"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACrrD":{"file_name":[],"function_name":["task_work_run"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKhsk":{"file_name":[],"function_name":["__fput"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAO4n8":{"file_name":[],"function_name":["xfs_release"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOdwM":{"file_name":[],"function_name":["xfs_free_eofblocks"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAANnCL":{"file_name":[],"function_name":["xfs_bmapi_read"],"function_offset":[],"line_number":[]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[21],"line_number":[26]},"-gq3a70QOgdn9HetYyf2OgAAAAAAAACy":{"file_name":["errors.py"],"function_name":[""],"function_offset":[45],"line_number":[50]}},"executables":{"edNJ10OjHiWc5nzuTQdvig":"linux-vdso.so.1","LvhLWomlc0dSPYzQ8C620g":"controller","j8DVIOTu7Btj9lgFefJ84A":"dockerd","QvG8QEGAld88D676NL_Y2Q":"filebeat","B8JRxL079xbhqQBqGvksAg":"kubelet","wfA2BgwfDNXUWsxkJ083Rw":"kubelet","v6HIzNa4K6G4nRP9032RIA":"dockerd","FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","QaIvzvU8UoclQMd_OMt-Pg":"elastic-operator","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","kajOqZqz7V1y0BdYQLFQrw":"containerd-shim-runc-v2","9LzzIocepYcOjnUsLlgOjg":"vmlinux","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","-pk6w5puGcp-wKnQ61BZzQ":"kubelet","A2oiHVwisByxRn5RDT4LjA":"vmlinux","w5zBqPf1_9mIVEf-Rn7EdA":"systemd","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","OTWX4UsOVMrSIF5cD4zUzg":"libmount.so.1.1.0","LHNvPtcKBt87cCBX8aTNhQ":"overlay","67s2TwiMngM0yin5Y8pvEg":"containerd","piWSMQrh4r040D0BPNaJvw":"vmlinux","SbPwzb_Kog2bWn8uc7xhDQ":"aws","xLxcEbwnZ5oNrk99ZsxcSQ":"libpython3.11.so.1.0","eOfhJQFIxbIEScd007tROw":"libpthread-2.26.so","-p9BlJh9JZMPPNjY_j92ng":"awsagent","9HZ7GQCC6G9fZlRD7aGzXQ":"libssl.so.1.0.2k","huWyXZbCBWCe2ZtK9BiokQ":"libcrypto.so.1.0.2k","WpYcHtr4qx88B8CBJZ2GTw":"aws","-Z7SlEXhuy5tL2BF-xmy3g":"libpython3.11.so.1.0","6miIyyucTZf5zXHCk7PT1g":"veth","G68hjsyagwq6LpWrMjDdng":"libpython3.9.so.1.0","JsObMPhfT_zO2Q_B1cPLxA":"coredns","ASi9f26ltguiwFajNwOaZw":"zlib.cpython-311-x86_64-linux-gnu.so","jaBVtokSUzfS97d-XKjijg":"libz.so.1","dGWvVtQJJ5wuqNyQVpi8lA":"zlib.cpython-311-x86_64-linux-gnu.so"},"total_frames":198526,"sampling_rate":0.0016000000000000003} diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_60s_1x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_60s_1x.json new file mode 100644 index 0000000000000..8a5c1acf7f93d --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_60s_1x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"YdDJxgmO4Qwjr0AEbbpw5g":3,"ARUlXLnccHmzguHUjXRt-A":7,"fsUmzqifyqwKCmzKO1INZQ":24,"z_Kbu_3KsKjzL49rf-CSTA":94,"RpSSZ069-ac11a4PUFolMA":101,"H4U5LLhN4L_4fDVbcrz30A":57,"8jSwzubV-3-vgAsXwII0kA":26,"43tbk4XHS6h_eSSkozr2lQ":33,"1Hf53oSb-zH-2QD2FYxgyA":27,"ER-x6xVv257WtFQAI5qb9g":47,"Hr1OSWigQhS4BD9n1H0fVw":40,"g1qDjUCVlmghGHVDrjeDvw":44,"XU0AYWfaWEgxn6HS3Npe0Q":42,"Xi_OuuwxmtjxVLfRnOKl-w":43,"j3pRZrJva_6zVfPpTrRgMQ":34,"B0rzVoKcdftibP3e40EU_g":39,"jHWwY4al2R105ljWitJf8Q":51,"JFrKrVm1b8YVyjTALHwFPQ":17,"UkNqUaLVbzZ-0N4mRSSfPA":7,"EH1ElzcXDEuDqu7McdrBdQ":17,"VyF1fKBkXgRmNRnKNEu8Fw":23,"naNkvUaKAyxw8L7AmrJp_A":25,"INCPC3idrKxHgrRrb5yK7w":18,"4-XWrzbKLiMzMN29SCKUhA":18,"oazzZOrFVKPzoEMEINIH2g":14,"bgW4z1P_qeyGZ-BNg-EtzA":21,"_7muG2H-TTX5D3mi3LROgw":17,"nKCqWW03DZONEM_Nq2LvwQ":6,"08TjeY9jNFfBuPDWZvzcGA":16,"41gF_giRSTRZMXWPVpvLYA":10,"CCCw9Z7XCAUBXfzhCKjvyQ":12,"RK2MfkyDuA83Ote1DRpnig":9,"E9YrFLZE6ytYTLr5nOdeqA":8,"OaI2ikXPfU9oPJVr7qHqRA":6,"BeervgrHDOwHnECUdx-R1Q":1,"_E7kI3XeP50ndUGgLwozRw":1,"PiAbunsxsTWIrlVv5AJCxQ":2,"gcylfs4yiiRtiY_AHc1fkQ":2,"2J6chKI2om9Kbvwi1SgqlA":1,"YX2R7C2iz4FGt5q5Tnk6TA":1,"--7TGRswVMtk5qWYdGBDUw":1,"iVZ81pgajC_4cYBykPWgBg":1,"dg33Fg5TLDtB9bOuPSPREA":1},"stack_traces":{"YdDJxgmO4Qwjr0AEbbpw5g":{"address_or_lines":[2371],"file_ids":["Ij7mO1SCteAnvtNe95RpEg"],"frame_ids":["Ij7mO1SCteAnvtNe95RpEgAAAAAAAAlD"],"type_ids":[3]},"ARUlXLnccHmzguHUjXRt-A":{"address_or_lines":[4651602,2352],"file_ids":["B56YkhsK1JwqD-8F8sjS3A","Ij7mO1SCteAnvtNe95RpEg"],"frame_ids":["B56YkhsK1JwqD-8F8sjS3AAAAAAARvpS","Ij7mO1SCteAnvtNe95RpEgAAAAAAAAkw"],"type_ids":[3,3]},"fsUmzqifyqwKCmzKO1INZQ":{"address_or_lines":[32434917,32101228,32118123],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7url","QvG8QEGAld88D676NL_Y2QAAAAAB6dNs","QvG8QEGAld88D676NL_Y2QAAAAAB6hVr"],"type_ids":[3,3,3]},"z_Kbu_3KsKjzL49rf-CSTA":{"address_or_lines":[4646312,4318297,4332979,4334816],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWo","FWZ9q3TQKZZok58ua1HDsgAAAAAAQeRZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAQh2z","FWZ9q3TQKZZok58ua1HDsgAAAAAAQiTg"],"type_ids":[3,3,3,3]},"RpSSZ069-ac11a4PUFolMA":{"address_or_lines":[4646178,4471372,4470064,4464366,4415263],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuUi","FWZ9q3TQKZZok58ua1HDsgAAAAAARDpM","FWZ9q3TQKZZok58ua1HDsgAAAAAARDUw","FWZ9q3TQKZZok58ua1HDsgAAAAAARB7u","FWZ9q3TQKZZok58ua1HDsgAAAAAAQ18f"],"type_ids":[3,3,3,3,3]},"H4U5LLhN4L_4fDVbcrz30A":{"address_or_lines":[12531204,12361900,12360536,12355924,12307483,12548548],"file_ids":["67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg"],"frame_ids":["67s2TwiMngM0yin5Y8pvEgAAAAAAvzYE","67s2TwiMngM0yin5Y8pvEgAAAAAAvKCs","67s2TwiMngM0yin5Y8pvEgAAAAAAvJtY","67s2TwiMngM0yin5Y8pvEgAAAAAAvIlU","67s2TwiMngM0yin5Y8pvEgAAAAAAu8wb","67s2TwiMngM0yin5Y8pvEgAAAAAAv3nE"],"type_ids":[3,3,3,3,3,3]},"8jSwzubV-3-vgAsXwII0kA":{"address_or_lines":[4635624,4317996,4333118,4324708,4325572,4330137,4587439],"file_ids":["-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw","-1kQFVGzdQWpzLSZ9TRmnw"],"frame_ids":["-1kQFVGzdQWpzLSZ9TRmnwAAAAAARrvo","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQeMs","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQh4-","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQf1k","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQgDE","-1kQFVGzdQWpzLSZ9TRmnwAAAAAAQhKZ","-1kQFVGzdQWpzLSZ9TRmnwAAAAAARf-v"],"type_ids":[3,3,3,3,3,3,3]},"43tbk4XHS6h_eSSkozr2lQ":{"address_or_lines":[18515232,22597677,22574090,22556393,22530363,22106663,22101077,22107662],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHQK","v6HIzNa4K6G4nRP9032RIAAAAAABWC7p","v6HIzNa4K6G4nRP9032RIAAAAAABV8k7","v6HIzNa4K6G4nRP9032RIAAAAAABUVIn","v6HIzNa4K6G4nRP9032RIAAAAAABUTxV","v6HIzNa4K6G4nRP9032RIAAAAAABUVYO"],"type_ids":[3,3,3,3,3,3,3,3]},"1Hf53oSb-zH-2QD2FYxgyA":{"address_or_lines":[4636706,4469836,4468509,4463096,4465892,4469227,4567193,4567640,5020934],"file_ids":["LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g","LvhLWomlc0dSPYzQ8C620g"],"frame_ids":["LvhLWomlc0dSPYzQ8C620gAAAAAARsAi","LvhLWomlc0dSPYzQ8C620gAAAAAARDRM","LvhLWomlc0dSPYzQ8C620gAAAAAARC8d","LvhLWomlc0dSPYzQ8C620gAAAAAARBn4","LvhLWomlc0dSPYzQ8C620gAAAAAARCTk","LvhLWomlc0dSPYzQ8C620gAAAAAARDHr","LvhLWomlc0dSPYzQ8C620gAAAAAARbCZ","LvhLWomlc0dSPYzQ8C620gAAAAAARbJY","LvhLWomlc0dSPYzQ8C620gAAAAAATJ0G"],"type_ids":[3,3,3,3,3,3,3,3,3]},"ER-x6xVv257WtFQAI5qb9g":{"address_or_lines":[4643592,4325284,4340382,4331972,4332836,4337401,4594856,4566419,4563908,4561911],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjqe","B8JRxL079xbhqQBqGvksAgAAAAAAQhnE","B8JRxL079xbhqQBqGvksAgAAAAAAQh0k","B8JRxL079xbhqQBqGvksAgAAAAAAQi75","B8JRxL079xbhqQBqGvksAgAAAAAARhyo","B8JRxL079xbhqQBqGvksAgAAAAAARa2T","B8JRxL079xbhqQBqGvksAgAAAAAARaPE","B8JRxL079xbhqQBqGvksAgAAAAAARZv3"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"Hr1OSWigQhS4BD9n1H0fVw":{"address_or_lines":[4646178,4471372,4470064,4464366,4415320,4209576,4209709,10485923,16807,3096172,3095028],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuUi","FWZ9q3TQKZZok58ua1HDsgAAAAAARDpM","FWZ9q3TQKZZok58ua1HDsgAAAAAARDUw","FWZ9q3TQKZZok58ua1HDsgAAAAAARB7u","FWZ9q3TQKZZok58ua1HDsgAAAAAAQ19Y","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDuo","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAALz5s","ew01Dk0sWZctP-VaEpavqQAAAAAALzn0"],"type_ids":[3,3,3,3,3,3,3,4,4,4,4]},"g1qDjUCVlmghGHVDrjeDvw":{"address_or_lines":[18425604,18258924,18257560,18253668,18248332,18043494,18206037,18442402,10485923,16743,1221731,1219041],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGScE","j8DVIOTu7Btj9lgFefJ84AAAAAABFpvs","j8DVIOTu7Btj9lgFefJ84AAAAAABFpaY","j8DVIOTu7Btj9lgFefJ84AAAAAABFodk","j8DVIOTu7Btj9lgFefJ84AAAAAABFnKM","j8DVIOTu7Btj9lgFefJ84AAAAAABE1Jm","j8DVIOTu7Btj9lgFefJ84AAAAAABFc1V","j8DVIOTu7Btj9lgFefJ84AAAAAABGWii","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEqRj","piWSMQrh4r040D0BPNaJvwAAAAAAEpnh"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4]},"XU0AYWfaWEgxn6HS3Npe0Q":{"address_or_lines":[18506340,18339660,18338296,18334404,18329068,18124198,18286773,18523138,10485923,16807,1222099,1220257,1210315],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGmJk","v6HIzNa4K6G4nRP9032RIAAAAAABF9dM","v6HIzNa4K6G4nRP9032RIAAAAAABF9H4","v6HIzNa4K6G4nRP9032RIAAAAAABF8LE","v6HIzNa4K6G4nRP9032RIAAAAAABF63s","v6HIzNa4K6G4nRP9032RIAAAAAABFI2m","v6HIzNa4K6G4nRP9032RIAAAAAABFwi1","v6HIzNa4K6G4nRP9032RIAAAAAABGqQC","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT","ew01Dk0sWZctP-VaEpavqQAAAAAAEp6h","ew01Dk0sWZctP-VaEpavqQAAAAAAEnfL"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4,4]},"Xi_OuuwxmtjxVLfRnOKl-w":{"address_or_lines":[4643332,4460312,4460498,4495428,4495848,4496542,4426254,4658837,10485923,16807,633597,633524,633342,631364],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARtoE","6auiCMWq5cA-hAbqSYvdQQAAAAAARA8Y","6auiCMWq5cA-hAbqSYvdQQAAAAAARA_S","6auiCMWq5cA-hAbqSYvdQQAAAAAARJhE","6auiCMWq5cA-hAbqSYvdQQAAAAAARJno","6auiCMWq5cA-hAbqSYvdQQAAAAAARJye","6auiCMWq5cA-hAbqSYvdQQAAAAAAQ4oO","6auiCMWq5cA-hAbqSYvdQQAAAAAARxaV","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAACar9","ew01Dk0sWZctP-VaEpavqQAAAAAACaq0","ew01Dk0sWZctP-VaEpavqQAAAAAACan-","ew01Dk0sWZctP-VaEpavqQAAAAAACaJE"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4,4,4]},"j3pRZrJva_6zVfPpTrRgMQ":{"address_or_lines":[4435309,4435559,4470649,4243696,4243480,4398678,4639074,10485923,16807,1222099,1220257,1210438,1210021,1207727,1205915],"file_ids":["gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","gfRL5jyxmWedM28UI08hFQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["gfRL5jyxmWedM28UI08hFQAAAAAAQ61t","gfRL5jyxmWedM28UI08hFQAAAAAAQ65n","gfRL5jyxmWedM28UI08hFQAAAAAARDd5","gfRL5jyxmWedM28UI08hFQAAAAAAQMDw","gfRL5jyxmWedM28UI08hFQAAAAAAQMAY","gfRL5jyxmWedM28UI08hFQAAAAAAQx5W","gfRL5jyxmWedM28UI08hFQAAAAAARsli","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT","ew01Dk0sWZctP-VaEpavqQAAAAAAEp6h","ew01Dk0sWZctP-VaEpavqQAAAAAAEnhG","ew01Dk0sWZctP-VaEpavqQAAAAAAEnal","ew01Dk0sWZctP-VaEpavqQAAAAAAEm2v","ew01Dk0sWZctP-VaEpavqQAAAAAAEmab"],"type_ids":[3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"B0rzVoKcdftibP3e40EU_g":{"address_or_lines":[4594276,4428280,4428466,4462056,4242611,4242276,4392174,4610690,10485923,16743,1221731,1219889,1210331,1133072,1132968,8474365],"file_ids":["1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","1QjX8mEQC0-5qYXzadOESA","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["1QjX8mEQC0-5qYXzadOESAAAAAAARhpk","1QjX8mEQC0-5qYXzadOESAAAAAAAQ5H4","1QjX8mEQC0-5qYXzadOESAAAAAAAQ5Ky","1QjX8mEQC0-5qYXzadOESAAAAAAARBXo","1QjX8mEQC0-5qYXzadOESAAAAAAAQLyz","1QjX8mEQC0-5qYXzadOESAAAAAAAQLtk","1QjX8mEQC0-5qYXzadOESAAAAAAAQwTu","1QjX8mEQC0-5qYXzadOESAAAAAAARlqC","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAEqRj","piWSMQrh4r040D0BPNaJvwAAAAAAEp0x","piWSMQrh4r040D0BPNaJvwAAAAAAEnfb","piWSMQrh4r040D0BPNaJvwAAAAAAEUoQ","piWSMQrh4r040D0BPNaJvwAAAAAAEUmo","piWSMQrh4r040D0BPNaJvwAAAAAAgU79"],"type_ids":[3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"jHWwY4al2R105ljWitJf8Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584294],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj6m"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"JFrKrVm1b8YVyjTALHwFPQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000312,40003155,27960932,18154776,18503217],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYls4","v6HIzNa4K6G4nRP9032RIAAAAAACYmZT","v6HIzNa4K6G4nRP9032RIAAAAAABqqZk","v6HIzNa4K6G4nRP9032RIAAAAAABFQUY","v6HIzNa4K6G4nRP9032RIAAAAAABGlYx"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"UkNqUaLVbzZ-0N4mRSSfPA":{"address_or_lines":[4652224,31039781,31054085,31056132,31058408,31449931,30791268,25539462,25547885,25549299,25502704,25503492,25480821,25481061,4953508,4960780,4898318,4893650,4898126],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAAB2aEl","wfA2BgwfDNXUWsxkJ083RwAAAAAB2dkF","wfA2BgwfDNXUWsxkJ083RwAAAAAB2eEE","wfA2BgwfDNXUWsxkJ083RwAAAAAB2eno","wfA2BgwfDNXUWsxkJ083RwAAAAAB3-NL","wfA2BgwfDNXUWsxkJ083RwAAAAAB1dZk","wfA2BgwfDNXUWsxkJ083RwAAAAABhbOG","wfA2BgwfDNXUWsxkJ083RwAAAAABhdRt","wfA2BgwfDNXUWsxkJ083RwAAAAABhdnz","wfA2BgwfDNXUWsxkJ083RwAAAAABhSPw","wfA2BgwfDNXUWsxkJ083RwAAAAABhScE","wfA2BgwfDNXUWsxkJ083RwAAAAABhM51","wfA2BgwfDNXUWsxkJ083RwAAAAABhM9l","wfA2BgwfDNXUWsxkJ083RwAAAAAAS5Wk","wfA2BgwfDNXUWsxkJ083RwAAAAAAS7IM","wfA2BgwfDNXUWsxkJ083RwAAAAAASr4O","wfA2BgwfDNXUWsxkJ083RwAAAAAASqvS","wfA2BgwfDNXUWsxkJ083RwAAAAAASr1O"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"EH1ElzcXDEuDqu7McdrBdQ":{"address_or_lines":[4652224,22357367,22385134,22366798,57076399,58917522,58676957,58636100,58650141,31265796,7372944,7295421,7297245,7300762,7297188,7304836,7297413,7309604,7297924,5094553],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZuqv","B8JRxL079xbhqQBqGvksAgAAAAADgwKS","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1mF","B8JRxL079xbhqQBqGvksAgAAAAAAb4kk","B8JRxL079xbhqQBqGvksAgAAAAAAb1uE","B8JRxL079xbhqQBqGvksAgAAAAAATbyZ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"VyF1fKBkXgRmNRnKNEu8Fw":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59179681,31752932,6709512,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16807,2741196,2827770,2817684,2805156,3382963],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwKh","B8JRxL079xbhqQBqGvksAgAAAAAB5ILk","B8JRxL079xbhqQBqGvksAgAAAAAAZmEI","B8JRxL079xbhqQBqGvksAgAAAAAAS40k","B8JRxL079xbhqQBqGvksAgAAAAAAS7A6","B8JRxL079xbhqQBqGvksAgAAAAAASFtz","B8JRxL079xbhqQBqGvksAgAAAAAASJnd","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM","A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6","A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U","A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k","A2oiHVwisByxRn5RDT4LjAAAAAAAM56z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"naNkvUaKAyxw8L7AmrJp_A":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602139,24420574,24417550,19100458,18003551],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8Xgb","j8DVIOTu7Btj9lgFefJ84AAAAAABdKDe","j8DVIOTu7Btj9lgFefJ84AAAAAABdJUO","j8DVIOTu7Btj9lgFefJ84AAAAAABI3Mq","j8DVIOTu7Btj9lgFefJ84AAAAAABErZf"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"INCPC3idrKxHgrRrb5yK7w":{"address_or_lines":[4652224,22357367,22385134,22366798,57079599,58878037,58675517,58634660,58648701,31265316,7372944,7295421,7297245,7300762,7297188,7304836,7297245,7300762,7297188,7304836,7297413,7310803,7320503],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAABVSV3","wfA2BgwfDNXUWsxkJ083RwAAAAABVZHu","wfA2BgwfDNXUWsxkJ083RwAAAAABVUpO","wfA2BgwfDNXUWsxkJ083RwAAAAADZvcv","wfA2BgwfDNXUWsxkJ083RwAAAAADgmhV","wfA2BgwfDNXUWsxkJ083RwAAAAADf1E9","wfA2BgwfDNXUWsxkJ083RwAAAAADfrGk","wfA2BgwfDNXUWsxkJ083RwAAAAADfuh9","wfA2BgwfDNXUWsxkJ083RwAAAAAB3RIk","wfA2BgwfDNXUWsxkJ083RwAAAAAAcICQ","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1G9","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1jd","wfA2BgwfDNXUWsxkJ083RwAAAAAAb2aa","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1ik","wfA2BgwfDNXUWsxkJ083RwAAAAAAb3aE","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1jd","wfA2BgwfDNXUWsxkJ083RwAAAAAAb2aa","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1ik","wfA2BgwfDNXUWsxkJ083RwAAAAAAb3aE","wfA2BgwfDNXUWsxkJ083RwAAAAAAb1mF","wfA2BgwfDNXUWsxkJ083RwAAAAAAb43T","wfA2BgwfDNXUWsxkJ083RwAAAAAAb7O3"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"4-XWrzbKLiMzMN29SCKUhA":{"address_or_lines":[4652224,31041029,31055333,31057380,31059656,31451286,31449907,25120346,25115948,4970003,4971223,4754617,4757981,4219698,4219725,10485923,16807,2777344,2775602,2826949,2809805,2807527,2804929,2869997],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAAB2aYF","6auiCMWq5cA-hAbqSYvdQQAAAAAB2d3l","6auiCMWq5cA-hAbqSYvdQQAAAAAB2eXk","6auiCMWq5cA-hAbqSYvdQQAAAAAB2e7I","6auiCMWq5cA-hAbqSYvdQQAAAAAB3-iW","6auiCMWq5cA-hAbqSYvdQQAAAAAB3-Mz","6auiCMWq5cA-hAbqSYvdQQAAAAABf05a","6auiCMWq5cA-hAbqSYvdQQAAAAABfz0s","6auiCMWq5cA-hAbqSYvdQQAAAAAAS9YT","6auiCMWq5cA-hAbqSYvdQQAAAAAAS9rX","6auiCMWq5cA-hAbqSYvdQQAAAAAASIy5","6auiCMWq5cA-hAbqSYvdQQAAAAAASJnd","6auiCMWq5cA-hAbqSYvdQQAAAAAAQGMy","6auiCMWq5cA-hAbqSYvdQQAAAAAAQGNN","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKmEA","ew01Dk0sWZctP-VaEpavqQAAAAAAKloy","ew01Dk0sWZctP-VaEpavqQAAAAAAKyLF","ew01Dk0sWZctP-VaEpavqQAAAAAAKt_N","ew01Dk0sWZctP-VaEpavqQAAAAAAKtbn","ew01Dk0sWZctP-VaEpavqQAAAAAAKszB","ew01Dk0sWZctP-VaEpavqQAAAAAAK8rt"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"oazzZOrFVKPzoEMEINIH2g":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708823,24695729,24696100,20084005,20770646,20784592],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbX","j8DVIOTu7Btj9lgFefJ84AAAAAABeNOx","j8DVIOTu7Btj9lgFefJ84AAAAAABeNUk","j8DVIOTu7Btj9lgFefJ84AAAAAABMnUl","j8DVIOTu7Btj9lgFefJ84AAAAAABPO9W","j8DVIOTu7Btj9lgFefJ84AAAAAABPSXQ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"bgW4z1P_qeyGZ-BNg-EtzA":{"address_or_lines":[43732576,54345578,54346325,54347573,52524033,52636324,52637912,52417621,52420674,52436132,51874398,51910204,51902690,51903112,51905980,51885853,51874436,51883428,51874436,51883428,51874436,51883398,51839246,52405829,52404692,44450492],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAADPT9q","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUJV","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUc1","MNBJ5seVz_ocW6tcr1HSmwAAAAADIXQB","MNBJ5seVz_ocW6tcr1HSmwAAAAADIyqk","MNBJ5seVz_ocW6tcr1HSmwAAAAADIzDY","MNBJ5seVz_ocW6tcr1HSmwAAAAADH9RV","MNBJ5seVz_ocW6tcr1HSmwAAAAADH-BC","MNBJ5seVz_ocW6tcr1HSmwAAAAADIByk","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4pe","MNBJ5seVz_ocW6tcr1HSmwAAAAADGBY8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_ji","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_qI","MNBJ5seVz_ocW6tcr1HSmwAAAAADGAW8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF7cd","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4qE","MNBJ5seVz_ocW6tcr1HSmwAAAAADF62k","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4qE","MNBJ5seVz_ocW6tcr1HSmwAAAAADF62k","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4qE","MNBJ5seVz_ocW6tcr1HSmwAAAAADF62G","MNBJ5seVz_ocW6tcr1HSmwAAAAADFwEO","MNBJ5seVz_ocW6tcr1HSmwAAAAADH6ZF","MNBJ5seVz_ocW6tcr1HSmwAAAAADH6HU","MNBJ5seVz_ocW6tcr1HSmwAAAAACpkK8"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"_7muG2H-TTX5D3mi3LROgw":{"address_or_lines":[4652224,31041029,31055333,31057380,31059656,31451179,30792516,25540230,25548731,25550840,25503472,25504260,25481372,25481181,25484711,25484964,4951332,4960527,4959954,4897957,4893996,4627954,4660663,10485923,16807,3103928,3101167],"file_ids":["6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","6auiCMWq5cA-hAbqSYvdQQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["6auiCMWq5cA-hAbqSYvdQQAAAAAARvzA","6auiCMWq5cA-hAbqSYvdQQAAAAAB2aYF","6auiCMWq5cA-hAbqSYvdQQAAAAAB2d3l","6auiCMWq5cA-hAbqSYvdQQAAAAAB2eXk","6auiCMWq5cA-hAbqSYvdQQAAAAAB2e7I","6auiCMWq5cA-hAbqSYvdQQAAAAAB3-gr","6auiCMWq5cA-hAbqSYvdQQAAAAAB1dtE","6auiCMWq5cA-hAbqSYvdQQAAAAABhbaG","6auiCMWq5cA-hAbqSYvdQQAAAAABhde7","6auiCMWq5cA-hAbqSYvdQQAAAAABhd_4","6auiCMWq5cA-hAbqSYvdQQAAAAABhSbw","6auiCMWq5cA-hAbqSYvdQQAAAAABhSoE","6auiCMWq5cA-hAbqSYvdQQAAAAABhNCc","6auiCMWq5cA-hAbqSYvdQQAAAAABhM_d","6auiCMWq5cA-hAbqSYvdQQAAAAABhN2n","6auiCMWq5cA-hAbqSYvdQQAAAAABhN6k","6auiCMWq5cA-hAbqSYvdQQAAAAAAS40k","6auiCMWq5cA-hAbqSYvdQQAAAAAAS7EP","6auiCMWq5cA-hAbqSYvdQQAAAAAAS67S","6auiCMWq5cA-hAbqSYvdQQAAAAAASryl","6auiCMWq5cA-hAbqSYvdQQAAAAAASq0s","6auiCMWq5cA-hAbqSYvdQQAAAAAARp3y","6auiCMWq5cA-hAbqSYvdQQAAAAAARx23","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAL1y4","ew01Dk0sWZctP-VaEpavqQAAAAAAL1Hv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4]},"nKCqWW03DZONEM_Nq2LvwQ":{"address_or_lines":[12540096,19004791,19032250,19014236,19907031,31278974,31279321,31305795,31279321,31290406,31279321,31317002,19907351,21668882,21654220,21663244,21662923,16321295,16318241,16372475,15847297,16321906,16318704,15818442,15818729,12152742,12151794,12187561],"file_ids":["67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg","67s2TwiMngM0yin5Y8pvEg"],"frame_ids":["67s2TwiMngM0yin5Y8pvEgAAAAAAv1jA","67s2TwiMngM0yin5Y8pvEgAAAAABIf13","67s2TwiMngM0yin5Y8pvEgAAAAABImi6","67s2TwiMngM0yin5Y8pvEgAAAAABIiJc","67s2TwiMngM0yin5Y8pvEgAAAAABL8HX","67s2TwiMngM0yin5Y8pvEgAAAAAB3Ud-","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3bBD","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3XQm","67s2TwiMngM0yin5Y8pvEgAAAAAB3UjZ","67s2TwiMngM0yin5Y8pvEgAAAAAB3dwK","67s2TwiMngM0yin5Y8pvEgAAAAABL8MX","67s2TwiMngM0yin5Y8pvEgAAAAABSqQS","67s2TwiMngM0yin5Y8pvEgAAAAABSmrM","67s2TwiMngM0yin5Y8pvEgAAAAABSo4M","67s2TwiMngM0yin5Y8pvEgAAAAABSozL","67s2TwiMngM0yin5Y8pvEgAAAAAA-QsP","67s2TwiMngM0yin5Y8pvEgAAAAAA-P8h","67s2TwiMngM0yin5Y8pvEgAAAAAA-dL7","67s2TwiMngM0yin5Y8pvEgAAAAAA8c-B","67s2TwiMngM0yin5Y8pvEgAAAAAA-Q1y","67s2TwiMngM0yin5Y8pvEgAAAAAA-QDw","67s2TwiMngM0yin5Y8pvEgAAAAAA8V7K","67s2TwiMngM0yin5Y8pvEgAAAAAA8V_p","67s2TwiMngM0yin5Y8pvEgAAAAAAuW-m","67s2TwiMngM0yin5Y8pvEgAAAAAAuWvy","67s2TwiMngM0yin5Y8pvEgAAAAAAufep"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"08TjeY9jNFfBuPDWZvzcGA":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708845,24702901,19816356,19817629,19819812,19827076,19819869,19823237,19819812,19819076],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbt","j8DVIOTu7Btj9lgFefJ84AAAAAABeO-1","j8DVIOTu7Btj9lgFefJ84AAAAAABLl-k","j8DVIOTu7Btj9lgFefJ84AAAAAABLmSd","j8DVIOTu7Btj9lgFefJ84AAAAAABLm0k","j8DVIOTu7Btj9lgFefJ84AAAAAABLomE","j8DVIOTu7Btj9lgFefJ84AAAAAABLm1d","j8DVIOTu7Btj9lgFefJ84AAAAAABLnqF","j8DVIOTu7Btj9lgFefJ84AAAAAABLm0k","j8DVIOTu7Btj9lgFefJ84AAAAAABLmpE"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"41gF_giRSTRZMXWPVpvLYA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19907099,19901069],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8Ib","v6HIzNa4K6G4nRP9032RIAAAAAABL6qN"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"CCCw9Z7XCAUBXfzhCKjvyQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778468,20166836,20169482,20167663,20167859,19086136,19109575,19098127,19092114,19079610],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehbk","v6HIzNa4K6G4nRP9032RIAAAAAABM7i0","v6HIzNa4K6G4nRP9032RIAAAAAABM8MK","v6HIzNa4K6G4nRP9032RIAAAAAABM7vv","v6HIzNa4K6G4nRP9032RIAAAAAABM7yz","v6HIzNa4K6G4nRP9032RIAAAAAABIzs4","v6HIzNa4K6G4nRP9032RIAAAAAABI5bH","v6HIzNa4K6G4nRP9032RIAAAAAABI2oP","v6HIzNa4K6G4nRP9032RIAAAAAABI1KS","v6HIzNa4K6G4nRP9032RIAAAAAABIyG6"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"RK2MfkyDuA83Ote1DRpnig":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901252,19908516,19901309,19904677,19901477,19914228,19923006],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6wl","v6HIzNa4K6G4nRP9032RIAAAAAABL930","v6HIzNa4K6G4nRP9032RIAAAAAABMAA-"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"E9YrFLZE6ytYTLr5nOdeqA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16755],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEFz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4]},"OaI2ikXPfU9oPJVr7qHqRA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19045737,19044484,19054298,18859716,18879913,10485923,16807,2741468,2828042,2818852,4377977,4376240],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp1p","v6HIzNa4K6G4nRP9032RIAAAAAABIpiE","v6HIzNa4K6G4nRP9032RIAAAAAABIr7a","v6HIzNa4K6G4nRP9032RIAAAAAABH8bE","v6HIzNa4K6G4nRP9032RIAAAAAABIBWp","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc","ew01Dk0sWZctP-VaEpavqQAAAAAAKycK","ew01Dk0sWZctP-VaEpavqQAAAAAAKwMk","ew01Dk0sWZctP-VaEpavqQAAAAAAQs15","ew01Dk0sWZctP-VaEpavqQAAAAAAQsaw"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4]},"BeervgrHDOwHnECUdx-R1Q":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54548081,54524484,54525381,54528188,54495447,54497074,54477482,44043465,44042020,44050767,44050194,43988037,43983308,43704594,43741015,10485923,16807,3103112,3099892,3094686,3393841,3393734,3091863,2557902,2671840],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFZx","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_pE","MNBJ5seVz_ocW6tcr1HSmwAAAAADP_3F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQAi8","MNBJ5seVz_ocW6tcr1HSmwAAAAADP4jX","MNBJ5seVz_ocW6tcr1HSmwAAAAADP48y","MNBJ5seVz_ocW6tcr1HSmwAAAAADP0Kq","MNBJ5seVz_ocW6tcr1HSmwAAAAACoAzJ","MNBJ5seVz_ocW6tcr1HSmwAAAAACoAck","MNBJ5seVz_ocW6tcr1HSmwAAAAACoClP","MNBJ5seVz_ocW6tcr1HSmwAAAAACoCcS","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzRF","MNBJ5seVz_ocW6tcr1HSmwAAAAACnyHM","MNBJ5seVz_ocW6tcr1HSmwAAAAACmuES","MNBJ5seVz_ocW6tcr1HSmwAAAAACm29X","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAL1mI","9LzzIocepYcOjnUsLlgOjgAAAAAAL0z0","9LzzIocepYcOjnUsLlgOjgAAAAAALzie","9LzzIocepYcOjnUsLlgOjgAAAAAAM8kx","9LzzIocepYcOjnUsLlgOjgAAAAAAM8jG","9LzzIocepYcOjnUsLlgOjgAAAAAALy2X","9LzzIocepYcOjnUsLlgOjgAAAAAAJwfO","9LzzIocepYcOjnUsLlgOjgAAAAAAKMTg"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"_E7kI3XeP50ndUGgLwozRw":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226539,39801748,39804999,39805475,40019662,39816300,32602256,32687470,24708823,24695729,24696049,18964841,18963588,18973402,18778948,18799145,10485923,16743,2737420,2823946,2813708,2804875,2803431,2800833,2865890],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdREr","j8DVIOTu7Btj9lgFefJ84AAAAAACX1OU","j8DVIOTu7Btj9lgFefJ84AAAAAACX2BH","j8DVIOTu7Btj9lgFefJ84AAAAAACX2Ij","j8DVIOTu7Btj9lgFefJ84AAAAAACYqbO","j8DVIOTu7Btj9lgFefJ84AAAAAACX4xs","j8DVIOTu7Btj9lgFefJ84AAAAAAB8XiQ","j8DVIOTu7Btj9lgFefJ84AAAAAAB8sVu","j8DVIOTu7Btj9lgFefJ84AAAAAABeQbX","j8DVIOTu7Btj9lgFefJ84AAAAAABeNOx","j8DVIOTu7Btj9lgFefJ84AAAAAABeNTx","j8DVIOTu7Btj9lgFefJ84AAAAAABIWFp","j8DVIOTu7Btj9lgFefJ84AAAAAABIVyE","j8DVIOTu7Btj9lgFefJ84AAAAAABIYLa","j8DVIOTu7Btj9lgFefJ84AAAAAABHotE","j8DVIOTu7Btj9lgFefJ84AAAAAABHtop","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu8M","piWSMQrh4r040D0BPNaJvwAAAAAAKsyL","piWSMQrh4r040D0BPNaJvwAAAAAAKsbn","piWSMQrh4r040D0BPNaJvwAAAAAAKrzB","piWSMQrh4r040D0BPNaJvwAAAAAAK7ri"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"PiAbunsxsTWIrlVv5AJCxQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7441528],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYx4"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"gcylfs4yiiRtiY_AHc1fkQ":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508562],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpJS"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"2J6chKI2om9Kbvwi1SgqlA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7441584,6770797,6773738,2395067],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYyw","ew01Dk0sWZctP-VaEpavqQAAAAAAZ1Bt","ew01Dk0sWZctP-VaEpavqQAAAAAAZ1vq","ew01Dk0sWZctP-VaEpavqQAAAAAAJIu7"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"YX2R7C2iz4FGt5q5Tnk6TA":{"address_or_lines":[18434496,22515341,22492438,22512730,32109966,22497902,40241913,34110888,40114070,40112026,41252858,41226601,40103401,19895453,19846041,19847127,19902436,19861609,19902628,19862836,19902820,19863773,19901256,19856467,19901444,19858248,18713630,18723524,18720816,19859472,18001099,10488398,10493154,585983,12583132,6817209,21184,6815932,6812296,6811747,6811254,7304819,7302120],"file_ids":["j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","j8DVIOTu7Btj9lgFefJ84A","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","_3bHXKBtA1BrvZVdhZK3vg","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["j8DVIOTu7Btj9lgFefJ84AAAAAABGUnA","j8DVIOTu7Btj9lgFefJ84AAAAAABV46N","j8DVIOTu7Btj9lgFefJ84AAAAAABVzUW","j8DVIOTu7Btj9lgFefJ84AAAAAABV4Ra","j8DVIOTu7Btj9lgFefJ84AAAAAAB6fWO","j8DVIOTu7Btj9lgFefJ84AAAAAABV0pu","j8DVIOTu7Btj9lgFefJ84AAAAAACZgr5","j8DVIOTu7Btj9lgFefJ84AAAAAACCH2o","j8DVIOTu7Btj9lgFefJ84AAAAAACZBeW","j8DVIOTu7Btj9lgFefJ84AAAAAACZA-a","j8DVIOTu7Btj9lgFefJ84AAAAAACdXf6","j8DVIOTu7Btj9lgFefJ84AAAAAACdRFp","j8DVIOTu7Btj9lgFefJ84AAAAAACY-3p","j8DVIOTu7Btj9lgFefJ84AAAAAABL5Sd","j8DVIOTu7Btj9lgFefJ84AAAAAABLtOZ","j8DVIOTu7Btj9lgFefJ84AAAAAABLtfX","j8DVIOTu7Btj9lgFefJ84AAAAAABL6_k","j8DVIOTu7Btj9lgFefJ84AAAAAABLxBp","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Ck","j8DVIOTu7Btj9lgFefJ84AAAAAABLxU0","j8DVIOTu7Btj9lgFefJ84AAAAAABL7Fk","j8DVIOTu7Btj9lgFefJ84AAAAAABLxjd","j8DVIOTu7Btj9lgFefJ84AAAAAABL6tI","j8DVIOTu7Btj9lgFefJ84AAAAAABLvxT","j8DVIOTu7Btj9lgFefJ84AAAAAABL6wE","j8DVIOTu7Btj9lgFefJ84AAAAAABLwNI","j8DVIOTu7Btj9lgFefJ84AAAAAABHYwe","j8DVIOTu7Btj9lgFefJ84AAAAAABHbLE","j8DVIOTu7Btj9lgFefJ84AAAAAABHagw","j8DVIOTu7Btj9lgFefJ84AAAAAABLwgQ","j8DVIOTu7Btj9lgFefJ84AAAAAABEqzL","piWSMQrh4r040D0BPNaJvwAAAAAAoApO","piWSMQrh4r040D0BPNaJvwAAAAAAoBzi","piWSMQrh4r040D0BPNaJvwAAAAAACPD_","piWSMQrh4r040D0BPNaJvwAAAAAAwADc","piWSMQrh4r040D0BPNaJvwAAAAAAaAW5","_3bHXKBtA1BrvZVdhZK3vgAAAAAAAFLA","piWSMQrh4r040D0BPNaJvwAAAAAAaAC8","piWSMQrh4r040D0BPNaJvwAAAAAAZ_KI","piWSMQrh4r040D0BPNaJvwAAAAAAZ_Bj","piWSMQrh4r040D0BPNaJvwAAAAAAZ-52","piWSMQrh4r040D0BPNaJvwAAAAAAb3Zz","piWSMQrh4r040D0BPNaJvwAAAAAAb2vo"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"--7TGRswVMtk5qWYdGBDUw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7439971,6798378,6797926,4866621,4855697,8473771],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq","ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm","ew01Dk0sWZctP-VaEpavqQAAAAAASkI9","ew01Dk0sWZctP-VaEpavqQAAAAAASheR","ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"iVZ81pgajC_4cYBykPWgBg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508344,7393457,7394824,7384416,6869315,6866863,2643],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","6miIyyucTZf5zXHCk7PT1g"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4","ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx","ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI","ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g","ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD","ew01Dk0sWZctP-VaEpavqQAAAAAAaMev","6miIyyucTZf5zXHCk7PT1gAAAAAAAApT"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"dg33Fg5TLDtB9bOuPSPREA":{"address_or_lines":[980270,29770,3203438,1526226,1526293,1526410,1522622,1523799,453712,1320069,1900469,1899334,1898707,2062274,2293545,2285857,2284809,2485949,2472275,2784493,2826658,2823003,3007344,3001783,2924437,3112045,3104142,1417998,1456694,1456323,1393341,1348522,1348436,1345741,1348060,1347558,1345741,1348060,1347558,1345741,1348060,1347558,1345954,1343030,1342299,1335062,1334604,1334212,452199,518055,509958],"file_ids":["Z_CHd3Zjsh2cWE2NSdbiNQ","eOfhJQFIxbIEScd007tROw","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","-p9BlJh9JZMPPNjY_j92ng","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","huWyXZbCBWCe2ZtK9BiokQ","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ"],"frame_ids":["Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADvUu","eOfhJQFIxbIEScd007tROwAAAAAAAHRK","-p9BlJh9JZMPPNjY_j92ngAAAAAAMOFu","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0nS","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0oV","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0qK","-p9BlJh9JZMPPNjY_j92ngAAAAAAFzu-","-p9BlJh9JZMPPNjY_j92ngAAAAAAF0BX","-p9BlJh9JZMPPNjY_j92ngAAAAAABuxQ","-p9BlJh9JZMPPNjY_j92ngAAAAAAFCSF","-p9BlJh9JZMPPNjY_j92ngAAAAAAHP-1","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPtG","-p9BlJh9JZMPPNjY_j92ngAAAAAAHPjT","-p9BlJh9JZMPPNjY_j92ngAAAAAAH3fC","-p9BlJh9JZMPPNjY_j92ngAAAAAAIv8p","-p9BlJh9JZMPPNjY_j92ngAAAAAAIuEh","-p9BlJh9JZMPPNjY_j92ngAAAAAAIt0J","-p9BlJh9JZMPPNjY_j92ngAAAAAAJe69","-p9BlJh9JZMPPNjY_j92ngAAAAAAJblT","-p9BlJh9JZMPPNjY_j92ngAAAAAAKnzt","-p9BlJh9JZMPPNjY_j92ngAAAAAAKyGi","-p9BlJh9JZMPPNjY_j92ngAAAAAAKxNb","-p9BlJh9JZMPPNjY_j92ngAAAAAALeNw","-p9BlJh9JZMPPNjY_j92ngAAAAAALc23","-p9BlJh9JZMPPNjY_j92ngAAAAAALJ-V","-p9BlJh9JZMPPNjY_j92ngAAAAAAL3xt","-p9BlJh9JZMPPNjY_j92ngAAAAAAL12O","huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2","huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD","huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN","huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc","huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m","huWyXZbCBWCe2ZtK9BiokQAAAAAAFImi","huWyXZbCBWCe2ZtK9BiokQAAAAAAFH42","huWyXZbCBWCe2ZtK9BiokQAAAAAAFHtb","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W","huWyXZbCBWCe2ZtK9BiokQAAAAAAFF1M","huWyXZbCBWCe2ZtK9BiokQAAAAAAFFvE","huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB8gG"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAALz5s":{"file_name":[],"function_name":["__x64_sys_epoll_pwait"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAALzn0":{"file_name":[],"function_name":["do_epoll_wait"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEqRj":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEpnh":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEqXT":{"file_name":[],"function_name":["__x64_sys_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEp6h":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEnfL":{"file_name":[],"function_name":["futex_wait"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACar9":{"file_name":[],"function_name":["__x64_sys_tgkill"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACaq0":{"file_name":[],"function_name":["do_tkill"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACan-":{"file_name":[],"function_name":["do_send_specific"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAACaJE":{"file_name":[],"function_name":["do_send_sig_info"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEnhG":{"file_name":[],"function_name":["futex_wait"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEnal":{"file_name":[],"function_name":["futex_wait_setup"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEm2v":{"file_name":[],"function_name":["get_futex_key"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAEmab":{"file_name":[],"function_name":["get_futex_key_refs.isra.8"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEp0x":{"file_name":[],"function_name":["do_futex"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEnfb":{"file_name":[],"function_name":["futex_wait"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEUoQ":{"file_name":[],"function_name":["hrtimer_cancel"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEUmo":{"file_name":[],"function_name":["hrtimer_try_to_cancel"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAgU79":{"file_name":[],"function_name":["__lock_text_start"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKdPM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyX6":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKv6U":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKs2k":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAM56z":{"file_name":[],"function_name":["kernfs_dop_revalidate"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKmEA":{"file_name":[],"function_name":["__do_sys_newfstatat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKloy":{"file_name":[],"function_name":["vfs_statx"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKyLF":{"file_name":[],"function_name":["filename_lookup"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKt_N":{"file_name":[],"function_name":["path_lookupat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKtbn":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKszB":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAK8rt":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAL1y4":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAL1Hv":{"file_name":[],"function_name":["ep_insert"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEFz":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKdTc":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKycK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKwMk":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQs15":{"file_name":[],"function_name":["ima_file_check"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQsaw":{"file_name":[],"function_name":["process_measurement"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAL1mI":{"file_name":[],"function_name":["__x64_sys_epoll_ctl"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAL0z0":{"file_name":[],"function_name":["ep_insert"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAALzie":{"file_name":[],"function_name":["ep_item_poll.isra.15"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAM8kx":{"file_name":[],"function_name":["kernfs_fop_poll"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAM8jG":{"file_name":[],"function_name":["kernfs_generic_poll"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAALy2X":{"file_name":[],"function_name":["ep_ptable_queue_proc"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwfO":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKMTg":{"file_name":[],"function_name":["memcg_kmem_get_cache"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKcUM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKxcK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKu8M":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsyL":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKsbn":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKrzB":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAK7ri":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYx4":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpJS":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYyw":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ1Bt":{"file_name":[],"function_name":["__kfree_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ1vq":{"file_name":[],"function_name":["skb_release_data"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAJIu7":{"file_name":[],"function_name":["free_unref_page"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoApO":{"file_name":[],"function_name":["ret_from_intr"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoBzi":{"file_name":[],"function_name":["do_IRQ"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAACPD_":{"file_name":[],"function_name":["irq_exit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAaAW5":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"_3bHXKBtA1BrvZVdhZK3vgAAAAAAAFLA":{"file_name":[],"function_name":["ena_io_poll"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAaAC8":{"file_name":[],"function_name":["napi_complete_done"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ_KI":{"file_name":[],"function_name":["gro_normal_list.part.131"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ_Bj":{"file_name":[],"function_name":["netif_receive_skb_list_internal"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZ-52":{"file_name":[],"function_name":["__netif_receive_skb_list_core"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb3Zz":{"file_name":[],"function_name":["ip_list_rcv"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAb2vo":{"file_name":[],"function_name":["ip_rcv_core.isra.17"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYZj":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7wq":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZ7pm":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASkI9":{"file_name":[],"function_name":["_copy_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASheR":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAgUyr":{"file_name":[],"function_name":["copy_user_generic_string"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaNFD":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaMev":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"6miIyyucTZf5zXHCk7PT1gAAAAAAAApT":{"file_name":[],"function_name":["veth_xmit"],"function_offset":[],"line_number":[]},"eOfhJQFIxbIEScd007tROwAAAAAAAHRK":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/nptl/pthread_create.c"],"function_name":["start_thread"],"function_offset":[],"line_number":[465]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFaMO":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/x509_d2.c"],"function_name":["X509_STORE_load_locations"],"function_offset":[],"line_number":[94]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjo2":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["by_file_ctrl"],"function_offset":[],"line_number":[117]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFjjD":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/x509/by_file.c"],"function_name":["X509_load_cert_crl_file"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFUK9":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/pem/pem_info.c"],"function_name":["PEM_X509_INFO_read_bio"],"function_offset":[],"line_number":[248]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJOq":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_d2i"],"function_offset":[],"line_number":[154]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJNU":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["ASN1_item_ex_d2i"],"function_offset":[],"line_number":[553]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFIjN":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[478]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFJHc":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_ex_d2i"],"function_offset":[],"line_number":[623]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFI_m":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_template_noexp_d2i"],"function_offset":[],"line_number":[735]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFImi":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_item_ex_d2i"],"function_offset":[],"line_number":[261]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFH42":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_d2i_ex_primitive"],"function_offset":[],"line_number":[874]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFHtb":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_dec.c"],"function_name":["asn1_ex_c2i"],"function_offset":[],"line_number":[903]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF8W":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["ASN1_item_new"],"function_offset":[],"line_number":[76]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFF1M":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["asn1_item_ex_combine_new"],"function_offset":[],"line_number":[136]},"huWyXZbCBWCe2ZtK9BiokQAAAAAAFFvE":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/asn1/tasn_new.c"],"function_name":["ASN1_primitive_new"],"function_offset":[],"line_number":[342]},"huWyXZbCBWCe2ZtK9BiokQAAAAAABuZn":{"file_name":["/usr/src/debug/openssl-1.0.2k/crypto/mem.c"],"function_name":["CRYPTO_malloc"],"function_offset":[],"line_number":[346]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB-en":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["__GI___libc_malloc"],"function_offset":[],"line_number":[3068]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAB8gG":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/malloc/malloc.c"],"function_name":["_int_malloc"],"function_offset":[],"line_number":[3584]}},"executables":{"Ij7mO1SCteAnvtNe95RpEg":"linux-vdso.so.1","B56YkhsK1JwqD-8F8sjS3A":"prometheus","QvG8QEGAld88D676NL_Y2Q":"filebeat","FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","67s2TwiMngM0yin5Y8pvEg":"containerd","-1kQFVGzdQWpzLSZ9TRmnw":"kube-state-metrics","v6HIzNa4K6G4nRP9032RIA":"dockerd","LvhLWomlc0dSPYzQ8C620g":"controller","B8JRxL079xbhqQBqGvksAg":"kubelet","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","j8DVIOTu7Btj9lgFefJ84A":"dockerd","piWSMQrh4r040D0BPNaJvw":"vmlinux","6auiCMWq5cA-hAbqSYvdQQ":"kubelet","gfRL5jyxmWedM28UI08hFQ":"snapshot-controller","1QjX8mEQC0-5qYXzadOESA":"containerd-shim-runc-v2","wfA2BgwfDNXUWsxkJ083Rw":"kubelet","A2oiHVwisByxRn5RDT4LjA":"vmlinux","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","9LzzIocepYcOjnUsLlgOjg":"vmlinux","_3bHXKBtA1BrvZVdhZK3vg":"ena","6miIyyucTZf5zXHCk7PT1g":"veth","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","eOfhJQFIxbIEScd007tROw":"libpthread-2.26.so","-p9BlJh9JZMPPNjY_j92ng":"awsagent","huWyXZbCBWCe2ZtK9BiokQ":"libcrypto.so.1.0.2k"},"total_frames":13116,"sampling_rate":1} diff --git a/x-pack/plugins/profiling/common/__fixtures__/stacktraces_86400s_125x.json b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_86400s_125x.json new file mode 100644 index 0000000000000..35bdfd7883688 --- /dev/null +++ b/x-pack/plugins/profiling/common/__fixtures__/stacktraces_86400s_125x.json @@ -0,0 +1 @@ +{"stack_trace_events":{"clTcDPwSeibw16tpSQPVxA":38,"1sIZ88dgfmQewwimPWuaWw":80,"2gFeSnOvAhz1aSRiNEVnjQ":213,"0CNUMdOdpmKJxWeUmvWvXg":1062,"9_06LL00QkYIeiFNCWu0XQ":919,"StwAKCpFAmfI3NKtrFQDVg":494,"Jd0qjF7XxnghG2_AZCQTFA":408,"1Ez9iBhqi5bXK2tpNXVjRA":380,"2Ov4wSepfExdnFvsJSSjog":281,"DALs1IxJ3oi7BZ8FFjuM_Q":418,"VmRA1Zd-R_saxzv9stOlrw":364,"u31aX9a6CI2OuomWQHSx1Q":397,"7zatBTElj7KkoApkBS7dzw":438,"ErI-d7HGvspCKDUrR8E64A":371,"-s21TvA-EsTWbfCutQG83Q":373,"kryT_w4Id2yAnU578aXk1w":330,"AsgowTLQhiAbue_lxpHIHw":373,"hecRkAhRG62NML7wI512zA":230,"woPu0Q2DCHU5xpBNJFRNGw":179,"-t2pi-xr8qjFCfIHra96OA":203,"qbtMiMC37gp-mMp0u-WgYw":238,"ZZck2mgLZGHuLiBDFerx6w":244,"af-YU39AX7WoGwE66OjkRg":197,"DkjcsUWzUMWlzGIG7vWPLA":201,"9sZZ-MQWzCV4c64gJJBU6Q":261,"rQhVFvlTg_4aQXNpF_LGMQ":213,"-t0hOBsBrsbJ-S8NPXUTmg":175,"VoyVx3eKZvx3I7o9LV75WA":148,"SwXYsounAV_Jw1AjJobr2g":120,"Z84n0-wX6U6-iVSLGr0n7A":130,"PPkg_Kb06KioYNLVH5MUSw":114,"lMQPlrvTe5c5NiwvC7JXZg":102,"0BFlivqqa58juwW6lzxBVg":70,"cKHQmDxYocbgoxaTvYj6SA":53,"KnJHmq-Dv1WTEbftpdA5Zg":39,"2-DAEecFvG7qyB6YjY5nOg":38,"Ocoebh9gAlmO1k7rQilo0w":23,"XyR38J9TfiJQyusyqjnL0Q":12,"9s4s_y43ZAfUdYXm930H4A":9,"LeV2oAqU4BVeWoabuoh-cw":10,"2gcYNFzbFyKxWn73M5202w":12,"CU-T9AvnxmWd1TTRjgV01Q":27,"nnsc9UkL_oA5SAi5cs_ZPg":9,"wAujHiFN47_oNUI63d6EtA":15,"ia-QZTf1AEqK7KEggAUJSw":12,"YxsKA4n0U7pKfHmrePpfjA":2,"mqliNf10_gB69yQo7_zlzg":9,"24tLFB3hY9xz1zbZCjaBXA":1,"MLSOPRH6z6HuctKh5rsAnA":4,"krdohOL0KiVMtm4q-6fmjg":2,"FtHYpmBv9BwyjtHQeYFcCw":2,"FuFG7sSEAg94nZpDT4nzlA":3,"chida0TNeXOPGVvI0kALCQ":4,"UDWRHwtQcuK3KYw4Lj118w":3,"wQhKHV5i9LyZbGr1o38TMA":1,"TtsX1UxF45-CxViHFwbKJw":1,"iu7dYG1YyobzAXC7AJADOw":1,"WmwSnxyphedkasVyGbhNdg":2,"YWZby9VC56JtR6BAaYHEoA":1,"Hi8HEHDniMkBvPgm-_IXdg":2,"X86DUuQ7tHAxGBaWu4tZLg":3,"Tx8lhCcOjrVLOl1hWK6aBw":1,"oKVObqTWF9QIjxgKf8UkTw":3,"rsb7cL4OAenBHrp0F_Wcgg":2,"mWVVBnqMHfG9pWtaZUm47Q":1,"r1nqJ9JqsZyOKqlpBmuvLg":1,"5MDEZjYH98Woy4iHbcvgDg":1,"WYRZ4mSdJHjsW8s2yoKnfA":1,"C4ItszXjQjtRADEg560AUw":6,"8IBqDIuSolkkEHIjO_CfMw":5,"T2hqeT_yirkauwcO1cGJEw":4,"OIXgOJgQPE-F5rS7DPPzZA":2,"i0e78nPZCZ2CbzzLMEOcMw":4,"34DMF2kw8Djh_MjcdchMzw":6,"XG9tjujXJl2nWpbHppoRMA":6,"SrSwvDbs2pmPg3SRfXJBCA":8,"bcNRMcXtTRgNPl4vy6M5KQ":8,"XmiUdMqa5OViUnHQ_LS4Uw":3,"3odHGojcaqq4ImPnmLLSzw":6,"bRKRM4i4-XY2LCfN18mOow":8,"W936jUeelyxTrQQ2V9mn-w":3,"AlH3zgnqwh5sdMMzX8AXxg":3,"YHwQa4NMDpWa9cokfF0xqw":1,"AlRn0MJA_RCD0pN2OpIRZA":4,"inhNt-Ftru1dLAPaXB98Gw":2,"qaaAfLAUIerA8yhApFJRYQ":2,"cj3H8UtNXHeFFvSKCpbt_Q":1,"XT5dbBR70HCMmAkhladaCQ":1,"Kfnso_5TQwyEGb1cfr-n5A":1,"O3_UY4IxBGbcnXlHSqWz_w":2},"stack_traces":{"clTcDPwSeibw16tpSQPVxA":{"address_or_lines":[4646313],"file_ids":["FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWp"],"type_ids":[3]},"1sIZ88dgfmQewwimPWuaWw":{"address_or_lines":[4660883,2469],"file_ids":["B8JRxL079xbhqQBqGvksAg","edNJ10OjHiWc5nzuTQdvig"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARx6T","edNJ10OjHiWc5nzuTQdvigAAAAAAAAml"],"type_ids":[3,3]},"2gFeSnOvAhz1aSRiNEVnjQ":{"address_or_lines":[10486356,710610,1071113],"file_ids":["piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["piWSMQrh4r040D0BPNaJvwAAAAAAoAJU","piWSMQrh4r040D0BPNaJvwAAAAAACtfS","piWSMQrh4r040D0BPNaJvwAAAAAAEFgJ"],"type_ids":[4,4,4]},"0CNUMdOdpmKJxWeUmvWvXg":{"address_or_lines":[32434917,32101228,32115955,32118104],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7url","QvG8QEGAld88D676NL_Y2QAAAAAB6dNs","QvG8QEGAld88D676NL_Y2QAAAAAB6gzz","QvG8QEGAld88D676NL_Y2QAAAAAB6hVY"],"type_ids":[3,3,3,3]},"9_06LL00QkYIeiFNCWu0XQ":{"address_or_lines":[4643592,4325284,4339923,4341903,4293837],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARtsI","B8JRxL079xbhqQBqGvksAgAAAAAAQf-k","B8JRxL079xbhqQBqGvksAgAAAAAAQjjT","B8JRxL079xbhqQBqGvksAgAAAAAAQkCP","B8JRxL079xbhqQBqGvksAgAAAAAAQYTN"],"type_ids":[3,3,3,3,3]},"StwAKCpFAmfI3NKtrFQDVg":{"address_or_lines":[4646312,4600750,4594821,4561903,4559144,4562383],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARuWo","FWZ9q3TQKZZok58ua1HDsgAAAAAARjOu","FWZ9q3TQKZZok58ua1HDsgAAAAAARhyF","FWZ9q3TQKZZok58ua1HDsgAAAAAARZvv","FWZ9q3TQKZZok58ua1HDsgAAAAAARZEo","FWZ9q3TQKZZok58ua1HDsgAAAAAARZ3P"],"type_ids":[3,3,3,3,3,3]},"Jd0qjF7XxnghG2_AZCQTFA":{"address_or_lines":[43723813,43390308,43405438,43397462,43398148,43406419,43408369],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACmywl","MNBJ5seVz_ocW6tcr1HSmwAAAAAClhVk","MNBJ5seVz_ocW6tcr1HSmwAAAAACllB-","MNBJ5seVz_ocW6tcr1HSmwAAAAACljFW","MNBJ5seVz_ocW6tcr1HSmwAAAAACljQE","MNBJ5seVz_ocW6tcr1HSmwAAAAACllRT","MNBJ5seVz_ocW6tcr1HSmwAAAAACllvx"],"type_ids":[3,3,3,3,3,3,3]},"1Ez9iBhqi5bXK2tpNXVjRA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9497568],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkOvg"],"type_ids":[3,3,3,3,3,3,3,3]},"2Ov4wSepfExdnFvsJSSjog":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9504548,5043327],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQck","FWZ9q3TQKZZok58ua1HDsgAAAAAATPR_"],"type_ids":[3,3,3,3,3,3,3,3,3]},"DALs1IxJ3oi7BZ8FFjuM_Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271933,15288920,9572292,9504218,4890989,4889187],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6Qf9","FWZ9q3TQKZZok58ua1HDsgAAAAAA6UpY","FWZ9q3TQKZZok58ua1HDsgAAAAAAkg_E","FWZ9q3TQKZZok58ua1HDsgAAAAAAkQXa","FWZ9q3TQKZZok58ua1HDsgAAAAAASqFt","FWZ9q3TQKZZok58ua1HDsgAAAAAASppj"],"type_ids":[3,3,3,3,3,3,3,3,3,3]},"VmRA1Zd-R_saxzv9stOlrw":{"address_or_lines":[4650848,9850853,9880398,9883181,9807044,9827268,9781937,9782483,9784009,9784300,9829781],"file_ids":["QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg","QaIvzvU8UoclQMd_OMt-Pg"],"frame_ids":["QaIvzvU8UoclQMd_OMt-PgAAAAAARvdg","QaIvzvU8UoclQMd_OMt-PgAAAAAAlk_l","QaIvzvU8UoclQMd_OMt-PgAAAAAAlsNO","QaIvzvU8UoclQMd_OMt-PgAAAAAAls4t","QaIvzvU8UoclQMd_OMt-PgAAAAAAlaTE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlfPE","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUKx","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUTT","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUrJ","QaIvzvU8UoclQMd_OMt-PgAAAAAAlUvs","QaIvzvU8UoclQMd_OMt-PgAAAAAAlf2V"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3]},"u31aX9a6CI2OuomWQHSx1Q":{"address_or_lines":[4652224,22357367,22385134,22366798,57080079,58879477,58676957,58636100,58650141,31265796,7372663,7364083],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZvkP","B8JRxL079xbhqQBqGvksAgAAAAADgm31","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcH93","B8JRxL079xbhqQBqGvksAgAAAAAAcF3z"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3]},"7zatBTElj7KkoApkBS7dzw":{"address_or_lines":[32443680,58256816,58381230,58319266,58327970,58359946,58318775,58321276,58323254,58419093,58425670,32747421,32699470],"file_ids":["QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q","QvG8QEGAld88D676NL_Y2Q"],"frame_ids":["QvG8QEGAld88D676NL_Y2QAAAAAB7w0g","QvG8QEGAld88D676NL_Y2QAAAAADeO2w","QvG8QEGAld88D676NL_Y2QAAAAADetOu","QvG8QEGAld88D676NL_Y2QAAAAADeeGi","QvG8QEGAld88D676NL_Y2QAAAAADegOi","QvG8QEGAld88D676NL_Y2QAAAAADeoCK","QvG8QEGAld88D676NL_Y2QAAAAADed-3","QvG8QEGAld88D676NL_Y2QAAAAADeel8","QvG8QEGAld88D676NL_Y2QAAAAADefE2","QvG8QEGAld88D676NL_Y2QAAAAADe2eV","QvG8QEGAld88D676NL_Y2QAAAAADe4FG","QvG8QEGAld88D676NL_Y2QAAAAAB86-d","QvG8QEGAld88D676NL_Y2QAAAAAB8vRO"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3]},"ErI-d7HGvspCKDUrR8E64A":{"address_or_lines":[152249,135481,144741,190122,831754,827742,928935,925466,103752,102294,100426,61069,75059,73332],"file_ids":["w5zBqPf1_9mIVEf-Rn7EdA","Z_CHd3Zjsh2cWE2NSdbiNQ","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","w5zBqPf1_9mIVEf-Rn7EdA","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg","OTWX4UsOVMrSIF5cD4zUzg"],"frame_ids":["w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAlK5","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAjVl","w5zBqPf1_9mIVEf-Rn7EdAAAAAAAAuaq","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADLEK","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADKFe","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADiyn","w5zBqPf1_9mIVEf-Rn7EdAAAAAAADh8a","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAYhK","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAO6N","OTWX4UsOVMrSIF5cD4zUzgAAAAAAASUz","OTWX4UsOVMrSIF5cD4zUzgAAAAAAAR50"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-s21TvA-EsTWbfCutQG83Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10733159,10733818,10618404,10387225,4547736,4658752],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Zn","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8j6","FWZ9q3TQKZZok58ua1HDsgAAAAAAogYk","FWZ9q3TQKZZok58ua1HDsgAAAAAAnn8Z","FWZ9q3TQKZZok58ua1HDsgAAAAAARWSY","FWZ9q3TQKZZok58ua1HDsgAAAAAARxZA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"kryT_w4Id2yAnU578aXk1w":{"address_or_lines":[4652224,22357367,22385134,22366798,57089650,58932906,58679635,58644118,58665750,31406998,7372944,7295421,7297188,7304836,7297245,5131680],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZx5y","B8JRxL079xbhqQBqGvksAgAAAAADgz6q","B8JRxL079xbhqQBqGvksAgAAAAADf2FT","B8JRxL079xbhqQBqGvksAgAAAAADftaW","B8JRxL079xbhqQBqGvksAgAAAAADfysW","B8JRxL079xbhqQBqGvksAgAAAAAB3zuW","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAATk2g"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"AsgowTLQhiAbue_lxpHIHw":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41460538,41453510,39934947,37247976,34247181,33672088,18131287],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeKM6","v6HIzNa4K6G4nRP9032RIAAAAAACeIfG","v6HIzNa4K6G4nRP9032RIAAAAAACYVvj","v6HIzNa4K6G4nRP9032RIAAAAAACOFvo","v6HIzNa4K6G4nRP9032RIAAAAAACCpIN","v6HIzNa4K6G4nRP9032RIAAAAAACAcuY","v6HIzNa4K6G4nRP9032RIAAAAAABFKlX"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"hecRkAhRG62NML7wI512zA":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961373,27940684],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqgd","v6HIzNa4K6G4nRP9032RIAAAAAABqldM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"woPu0Q2DCHU5xpBNJFRNGw":{"address_or_lines":[43732576,54345578,54346325,54347573,52524033,52636324,52637912,52417621,52420674,52436132,51874398,51910204,51902690,51903112,51905980,51885853,51874212,51875084,44164621],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAADPT9q","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUJV","MNBJ5seVz_ocW6tcr1HSmwAAAAADPUc1","MNBJ5seVz_ocW6tcr1HSmwAAAAADIXQB","MNBJ5seVz_ocW6tcr1HSmwAAAAADIyqk","MNBJ5seVz_ocW6tcr1HSmwAAAAADIzDY","MNBJ5seVz_ocW6tcr1HSmwAAAAADH9RV","MNBJ5seVz_ocW6tcr1HSmwAAAAADH-BC","MNBJ5seVz_ocW6tcr1HSmwAAAAADIByk","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4pe","MNBJ5seVz_ocW6tcr1HSmwAAAAADGBY8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_ji","MNBJ5seVz_ocW6tcr1HSmwAAAAADF_qI","MNBJ5seVz_ocW6tcr1HSmwAAAAADGAW8","MNBJ5seVz_ocW6tcr1HSmwAAAAADF7cd","MNBJ5seVz_ocW6tcr1HSmwAAAAADF4mk","MNBJ5seVz_ocW6tcr1HSmwAAAAADF40M","MNBJ5seVz_ocW6tcr1HSmwAAAAACoeYN"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-t2pi-xr8qjFCfIHra96OA":{"address_or_lines":[4620832,23557195,23527051,9749435,9749637,9750553,9750935,9746779,9746522,23527477,23529910,23522407,10849724,10839125,10834845,10836246,10842317,4508401,4247613,4282212],"file_ids":["hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg","hc6JHMKlLXjOZcU9MGxvfg"],"frame_ids":["hc6JHMKlLXjOZcU9MGxvfgAAAAAARoIg","hc6JHMKlLXjOZcU9MGxvfgAAAAABZ3RL","hc6JHMKlLXjOZcU9MGxvfgAAAAABZv6L","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMO7","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMSF","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMgZ","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlMmX","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlLlb","hc6JHMKlLXjOZcU9MGxvfgAAAAAAlLha","hc6JHMKlLXjOZcU9MGxvfgAAAAABZwA1","hc6JHMKlLXjOZcU9MGxvfgAAAAABZwm2","hc6JHMKlLXjOZcU9MGxvfgAAAAABZuxn","hc6JHMKlLXjOZcU9MGxvfgAAAAAApY28","hc6JHMKlLXjOZcU9MGxvfgAAAAAApWRV","hc6JHMKlLXjOZcU9MGxvfgAAAAAApVOd","hc6JHMKlLXjOZcU9MGxvfgAAAAAApVkW","hc6JHMKlLXjOZcU9MGxvfgAAAAAApXDN","hc6JHMKlLXjOZcU9MGxvfgAAAAAARMrx","hc6JHMKlLXjOZcU9MGxvfgAAAAAAQNA9","hc6JHMKlLXjOZcU9MGxvfgAAAAAAQVdk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"qbtMiMC37gp-mMp0u-WgYw":{"address_or_lines":[4652224,22357367,22385134,22366798,57076399,58917522,58676957,58636100,58650141,31265796,7372944,7295421,7297245,7300762,7297188,7304836,7297188,7305194,5143289,5150220,5146267],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZuqv","B8JRxL079xbhqQBqGvksAgAAAAADgwKS","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3fq","B8JRxL079xbhqQBqGvksAgAAAAAATnr5","B8JRxL079xbhqQBqGvksAgAAAAAATpYM","B8JRxL079xbhqQBqGvksAgAAAAAAToab"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"ZZck2mgLZGHuLiBDFerx6w":{"address_or_lines":[4652224,22357367,22385134,22366798,57076399,58917522,58676957,58636100,58650141,31265796,7372944,7295421,7297245,7300762,7297188,7304836,7297188,7304836,7297188,7304836,7297188,7303473],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVSV3","B8JRxL079xbhqQBqGvksAgAAAAABVZHu","B8JRxL079xbhqQBqGvksAgAAAAABVUpO","B8JRxL079xbhqQBqGvksAgAAAAADZuqv","B8JRxL079xbhqQBqGvksAgAAAAADgwKS","B8JRxL079xbhqQBqGvksAgAAAAADf1bd","B8JRxL079xbhqQBqGvksAgAAAAADfrdE","B8JRxL079xbhqQBqGvksAgAAAAADfu4d","B8JRxL079xbhqQBqGvksAgAAAAAB3RQE","B8JRxL079xbhqQBqGvksAgAAAAAAcICQ","B8JRxL079xbhqQBqGvksAgAAAAAAb1G9","B8JRxL079xbhqQBqGvksAgAAAAAAb1jd","B8JRxL079xbhqQBqGvksAgAAAAAAb2aa","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3aE","B8JRxL079xbhqQBqGvksAgAAAAAAb1ik","B8JRxL079xbhqQBqGvksAgAAAAAAb3Ex"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"af-YU39AX7WoGwE66OjkRg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000356,39998369,27959205,27961306,27960060,27907285,27885784,27888182,18793031,27888361],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYltk","v6HIzNa4K6G4nRP9032RIAAAAAACYlOh","v6HIzNa4K6G4nRP9032RIAAAAAABqp-l","v6HIzNa4K6G4nRP9032RIAAAAAABqqfa","v6HIzNa4K6G4nRP9032RIAAAAAABqqL8","v6HIzNa4K6G4nRP9032RIAAAAAABqdTV","v6HIzNa4K6G4nRP9032RIAAAAAABqYDY","v6HIzNa4K6G4nRP9032RIAAAAAABqYo2","v6HIzNa4K6G4nRP9032RIAAAAAABHsJH","v6HIzNa4K6G4nRP9032RIAAAAAABqYrp"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"DkjcsUWzUMWlzGIG7vWPLA":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54556506,44024036,44026008,44007166,43828228,43837959,43282962,43282989,10485923,16807,2845749,2845580,2841596,3335577,3325166,699747],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHda","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8Dk","MNBJ5seVz_ocW6tcr1HSmwAAAAACn8iY","MNBJ5seVz_ocW6tcr1HSmwAAAAACn37-","MNBJ5seVz_ocW6tcr1HSmwAAAAACnMQE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1","A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM","A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8","A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ","A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu","A2oiHVwisByxRn5RDT4LjAAAAAAACq1j"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"9sZZ-MQWzCV4c64gJJBU6Q":{"address_or_lines":[4652224,59362286,59048854,59078134,59085018,59179681,31752932,6709540,4933796,4937114,4970099,4971610,4754617,4757981,4219698,4219725,10485923,16807,2777072,2775330,2826677,2809572,2808699,2807483,2863936],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAADicvu","B8JRxL079xbhqQBqGvksAgAAAAADhQOW","B8JRxL079xbhqQBqGvksAgAAAAADhXX2","B8JRxL079xbhqQBqGvksAgAAAAADhZDa","B8JRxL079xbhqQBqGvksAgAAAAADhwKh","B8JRxL079xbhqQBqGvksAgAAAAAB5ILk","B8JRxL079xbhqQBqGvksAgAAAAAAZmEk","B8JRxL079xbhqQBqGvksAgAAAAAAS0ik","B8JRxL079xbhqQBqGvksAgAAAAAAS1Wa","B8JRxL079xbhqQBqGvksAgAAAAAAS9Zz","B8JRxL079xbhqQBqGvksAgAAAAAAS9xa","B8JRxL079xbhqQBqGvksAgAAAAAASIy5","B8JRxL079xbhqQBqGvksAgAAAAAASJnd","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKl_w","A2oiHVwisByxRn5RDT4LjAAAAAAAKlki","A2oiHVwisByxRn5RDT4LjAAAAAAAKyG1","A2oiHVwisByxRn5RDT4LjAAAAAAAKt7k","A2oiHVwisByxRn5RDT4LjAAAAAAAKtt7","A2oiHVwisByxRn5RDT4LjAAAAAAAKta7","A2oiHVwisByxRn5RDT4LjAAAAAAAK7NA"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"rQhVFvlTg_4aQXNpF_LGMQ":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41428732,20150746,19897796,19899069,19901252,19906953,20160590,19897796,19899069,19901252,19910358,18737412,18488391,18154825,18129756],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCb8","v6HIzNa4K6G4nRP9032RIAAAAAABM3na","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8GJ","v6HIzNa4K6G4nRP9032RIAAAAAABM6BO","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL87W","v6HIzNa4K6G4nRP9032RIAAAAAABHekE","v6HIzNa4K6G4nRP9032RIAAAAAABGhxH","v6HIzNa4K6G4nRP9032RIAAAAAABFQVJ","v6HIzNa4K6G4nRP9032RIAAAAAABFKNc"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"-t0hOBsBrsbJ-S8NPXUTmg":{"address_or_lines":[4652224,22033901,21942103,21951046,9844260,9839268,22072132,22072395,5590500,5508424,4907789,4749540,4757831,4219698,4219725,10485923,16807,2756576,2755820,2745050,6715782,6715626,7926696,6795731,4869416,4855393,8472925],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABUDXt","B8JRxL079xbhqQBqGvksAgAAAAABTs9X","B8JRxL079xbhqQBqGvksAgAAAAABTvJG","B8JRxL079xbhqQBqGvksAgAAAAAAljYk","B8JRxL079xbhqQBqGvksAgAAAAAAliKk","B8JRxL079xbhqQBqGvksAgAAAAABUMtE","B8JRxL079xbhqQBqGvksAgAAAAABUMxL","B8JRxL079xbhqQBqGvksAgAAAAAAVU3k","B8JRxL079xbhqQBqGvksAgAAAAAAVA1I","B8JRxL079xbhqQBqGvksAgAAAAAASuMN","B8JRxL079xbhqQBqGvksAgAAAAAASHjk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg_g","A2oiHVwisByxRn5RDT4LjAAAAAAAKgzs","A2oiHVwisByxRn5RDT4LjAAAAAAAKeLa","A2oiHVwisByxRn5RDT4LjAAAAAAAZnmG","A2oiHVwisByxRn5RDT4LjAAAAAAAZnjq","A2oiHVwisByxRn5RDT4LjAAAAAAAePOo","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7HT","A2oiHVwisByxRn5RDT4LjAAAAAAASk0o","A2oiHVwisByxRn5RDT4LjAAAAAAAShZh","A2oiHVwisByxRn5RDT4LjAAAAAAAgUld"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"VoyVx3eKZvx3I7o9LV75WA":{"address_or_lines":[4652224,22354373,22356417,22043891,9840916,9838765,4872825,5688954,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16807,2756288,2755416,2744627,6715329,7926130,7924288,7914841,6798266,6797590,6797444,2726038],"file_ids":["B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","B8JRxL079xbhqQBqGvksAg","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["B8JRxL079xbhqQBqGvksAgAAAAAARvzA","B8JRxL079xbhqQBqGvksAgAAAAABVRnF","B8JRxL079xbhqQBqGvksAgAAAAABVSHB","B8JRxL079xbhqQBqGvksAgAAAAABUFzz","B8JRxL079xbhqQBqGvksAgAAAAAAlikU","B8JRxL079xbhqQBqGvksAgAAAAAAliCt","B8JRxL079xbhqQBqGvksAgAAAAAASlp5","B8JRxL079xbhqQBqGvksAgAAAAAAVs56","B8JRxL079xbhqQBqGvksAgAAAAAAVUwE","B8JRxL079xbhqQBqGvksAgAAAAAAVATI","B8JRxL079xbhqQBqGvksAgAAAAAASsLk","B8JRxL079xbhqQBqGvksAgAAAAAASHZk","B8JRxL079xbhqQBqGvksAgAAAAAASJlH","B8JRxL079xbhqQBqGvksAgAAAAAAQGMy","B8JRxL079xbhqQBqGvksAgAAAAAAQGNN","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz","A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB","A2oiHVwisByxRn5RDT4LjAAAAAAAePFy","A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA","A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW","A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE","A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"SwXYsounAV_Jw1AjJobr2g":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791289,24794610,24781052,24778417,19045737,19044484,19054298,18859588,18399464,18130636],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekj5","v6HIzNa4K6G4nRP9032RIAAAAAABelXy","v6HIzNa4K6G4nRP9032RIAAAAAABeiD8","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp1p","v6HIzNa4K6G4nRP9032RIAAAAAABIpiE","v6HIzNa4K6G4nRP9032RIAAAAAABIr7a","v6HIzNa4K6G4nRP9032RIAAAAAABH8ZE","v6HIzNa4K6G4nRP9032RIAAAAAABGMDo","v6HIzNa4K6G4nRP9032RIAAAAAABFKbM"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"Z84n0-wX6U6-iVSLGr0n7A":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19907213,19923168],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8KN","v6HIzNa4K6G4nRP9032RIAAAAAABMADg"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"PPkg_Kb06KioYNLVH5MUSw":{"address_or_lines":[43732576,69269321,69269937,69272583,69273587,69274533,75195556,54542596,54557252,54545733,54547559,54558277,54570436,44043866,44037437,43989636,43829252,43837959,43282962,43282989,10485923,16807,2756288,2755416,2924231,3319181,3316454,2921821,2921711,8455053,8481479],"file_ids":["MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","MNBJ5seVz_ocW6tcr1HSmw","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["MNBJ5seVz_ocW6tcr1HSmwAAAAACm05g","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPdJ","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIPmx","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQQH","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQfz","MNBJ5seVz_ocW6tcr1HSmwAAAAAEIQul","MNBJ5seVz_ocW6tcr1HSmwAAAAAEe2Sk","MNBJ5seVz_ocW6tcr1HSmwAAAAADQEEE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQHpE","MNBJ5seVz_ocW6tcr1HSmwAAAAADQE1F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQFRn","MNBJ5seVz_ocW6tcr1HSmwAAAAADQH5F","MNBJ5seVz_ocW6tcr1HSmwAAAAADQK3E","MNBJ5seVz_ocW6tcr1HSmwAAAAACoA5a","MNBJ5seVz_ocW6tcr1HSmwAAAAACn_U9","MNBJ5seVz_ocW6tcr1HSmwAAAAACnzqE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnMgE","MNBJ5seVz_ocW6tcr1HSmwAAAAACnOoH","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIS","MNBJ5seVz_ocW6tcr1HSmwAAAAAClHIt","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A","A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY","A2oiHVwisByxRn5RDT4LjAAAAAAALJ7H","A2oiHVwisByxRn5RDT4LjAAAAAAAMqWN","A2oiHVwisByxRn5RDT4LjAAAAAAAMprm","A2oiHVwisByxRn5RDT4LjAAAAAAALJVd","A2oiHVwisByxRn5RDT4LjAAAAAAALJTv","A2oiHVwisByxRn5RDT4LjAAAAAAAgQON","A2oiHVwisByxRn5RDT4LjAAAAAAAgWrH"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"lMQPlrvTe5c5NiwvC7JXZg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429353,40304297,19976893,19927481,19928567,19983876,19943049,19984068,19944276,19984260,19945213,19982696,19937907,19983876,19943049,19984068,19944276,19982696,19937907,19935862,19142858],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeClp","v6HIzNa4K6G4nRP9032RIAAAAAACZv6p","v6HIzNa4K6G4nRP9032RIAAAAAABMNK9","v6HIzNa4K6G4nRP9032RIAAAAAABMBG5","v6HIzNa4K6G4nRP9032RIAAAAAABMBX3","v6HIzNa4K6G4nRP9032RIAAAAAABMO4E","v6HIzNa4K6G4nRP9032RIAAAAAABME6J","v6HIzNa4K6G4nRP9032RIAAAAAABMO7E","v6HIzNa4K6G4nRP9032RIAAAAAABMFNU","v6HIzNa4K6G4nRP9032RIAAAAAABMO-E","v6HIzNa4K6G4nRP9032RIAAAAAABMFb9","v6HIzNa4K6G4nRP9032RIAAAAAABMOlo","v6HIzNa4K6G4nRP9032RIAAAAAABMDpz","v6HIzNa4K6G4nRP9032RIAAAAAABMO4E","v6HIzNa4K6G4nRP9032RIAAAAAABME6J","v6HIzNa4K6G4nRP9032RIAAAAAABMO7E","v6HIzNa4K6G4nRP9032RIAAAAAABMFNU","v6HIzNa4K6G4nRP9032RIAAAAAABMOlo","v6HIzNa4K6G4nRP9032RIAAAAAABMDpz","v6HIzNa4K6G4nRP9032RIAAAAAABMDJ2","v6HIzNa4K6G4nRP9032RIAAAAAABJBjK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"0BFlivqqa58juwW6lzxBVg":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791213,24785269,19897796,19899069,19901252,19908516,19901309,19904677,19901252,19908516,19901477,19920683,18932457,18903037],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekit","v6HIzNa4K6G4nRP9032RIAAAAAABejF1","v6HIzNa4K6G4nRP9032RIAAAAAABL53E","v6HIzNa4K6G4nRP9032RIAAAAAABL6K9","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6t9","v6HIzNa4K6G4nRP9032RIAAAAAABL7il","v6HIzNa4K6G4nRP9032RIAAAAAABL6tE","v6HIzNa4K6G4nRP9032RIAAAAAABL8ek","v6HIzNa4K6G4nRP9032RIAAAAAABL6wl","v6HIzNa4K6G4nRP9032RIAAAAAABL_cr","v6HIzNa4K6G4nRP9032RIAAAAAABIOLp","v6HIzNa4K6G4nRP9032RIAAAAAABIG_9"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"cKHQmDxYocbgoxaTvYj6SA":{"address_or_lines":[4652224,58814799,10400775,10401064,10401333,10401661,58829797,58814910,58812516,58789549,58791347,58770754,58772726,13824541,13825258,13823212,13823370,4964628,4731769,4742286,4757722,4219698,4219725,10485923,16807,2795169,2795020,2794811,2794650,2760034,2759532,2759330,2758281,2557765],"file_ids":["wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","wfA2BgwfDNXUWsxkJ083Rw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["wfA2BgwfDNXUWsxkJ083RwAAAAAARvzA","wfA2BgwfDNXUWsxkJ083RwAAAAADgXFP","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrQH","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrUo","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrY1","wfA2BgwfDNXUWsxkJ083RwAAAAAAnrd9","wfA2BgwfDNXUWsxkJ083RwAAAAADgavl","wfA2BgwfDNXUWsxkJ083RwAAAAADgXG-","wfA2BgwfDNXUWsxkJ083RwAAAAADgWhk","wfA2BgwfDNXUWsxkJ083RwAAAAADgQ6t","wfA2BgwfDNXUWsxkJ083RwAAAAADgRWz","wfA2BgwfDNXUWsxkJ083RwAAAAADgMVC","wfA2BgwfDNXUWsxkJ083RwAAAAADgMz2","wfA2BgwfDNXUWsxkJ083RwAAAAAA0vId","wfA2BgwfDNXUWsxkJ083RwAAAAAA0vTq","wfA2BgwfDNXUWsxkJ083RwAAAAAA0uzs","wfA2BgwfDNXUWsxkJ083RwAAAAAA0u2K","wfA2BgwfDNXUWsxkJ083RwAAAAAAS8EU","wfA2BgwfDNXUWsxkJ083RwAAAAAASDN5","wfA2BgwfDNXUWsxkJ083RwAAAAAASFyO","wfA2BgwfDNXUWsxkJ083RwAAAAAASJja","wfA2BgwfDNXUWsxkJ083RwAAAAAAQGMy","wfA2BgwfDNXUWsxkJ083RwAAAAAAQGNN","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKqah","9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM","9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7","9LzzIocepYcOjnUsLlgOjgAAAAAAKqSa","9LzzIocepYcOjnUsLlgOjgAAAAAAKh1i","9LzzIocepYcOjnUsLlgOjgAAAAAAKhts","9LzzIocepYcOjnUsLlgOjgAAAAAAKhqi","9LzzIocepYcOjnUsLlgOjgAAAAAAKhaJ","9LzzIocepYcOjnUsLlgOjgAAAAAAJwdF"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"KnJHmq-Dv1WTEbftpdA5Zg":{"address_or_lines":[4652224,30971941,30986245,30988292,30990568,30935955,30723428,25540326,25548591,25550478,25503568,25504356,25481468,25481277,25484807,25485060,4951332,4960314,4742003,4757981,4219698,4219725,10485923,16743,2737420,2823946,2813561,2756082,2755033,2554964,2554477,2553932,2551218,2411027,2394415],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAAB2Jgl","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NAF","-pk6w5puGcp-wKnQ61BZzQAAAAAB2NgE","-pk6w5puGcp-wKnQ61BZzQAAAAAB2ODo","-pk6w5puGcp-wKnQ61BZzQAAAAAB2AuT","-pk6w5puGcp-wKnQ61BZzQAAAAAB1M1k","-pk6w5puGcp-wKnQ61BZzQAAAAABhbbm","-pk6w5puGcp-wKnQ61BZzQAAAAABhdcv","-pk6w5puGcp-wKnQ61BZzQAAAAABhd6O","-pk6w5puGcp-wKnQ61BZzQAAAAABhSdQ","-pk6w5puGcp-wKnQ61BZzQAAAAABhSpk","-pk6w5puGcp-wKnQ61BZzQAAAAABhND8","-pk6w5puGcp-wKnQ61BZzQAAAAABhNA9","-pk6w5puGcp-wKnQ61BZzQAAAAABhN4H","-pk6w5puGcp-wKnQ61BZzQAAAAABhN8E","-pk6w5puGcp-wKnQ61BZzQAAAAAAS40k","-pk6w5puGcp-wKnQ61BZzQAAAAAAS7A6","-pk6w5puGcp-wKnQ61BZzQAAAAAASFtz","-pk6w5puGcp-wKnQ61BZzQAAAAAASJnd","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKcUM","piWSMQrh4r040D0BPNaJvwAAAAAAKxcK","piWSMQrh4r040D0BPNaJvwAAAAAAKu55","piWSMQrh4r040D0BPNaJvwAAAAAAKg3y","piWSMQrh4r040D0BPNaJvwAAAAAAKgnZ","piWSMQrh4r040D0BPNaJvwAAAAAAJvxU","piWSMQrh4r040D0BPNaJvwAAAAAAJvpt","piWSMQrh4r040D0BPNaJvwAAAAAAJvhM","piWSMQrh4r040D0BPNaJvwAAAAAAJu2y","piWSMQrh4r040D0BPNaJvwAAAAAAJMoT","piWSMQrh4r040D0BPNaJvwAAAAAAJIkv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"2-DAEecFvG7qyB6YjY5nOg":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755650,4215846],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxC","ew01Dk0sWZctP-VaEpavqQAAAAAAQFQm"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"Ocoebh9gAlmO1k7rQilo0w":{"address_or_lines":[18515232,22597677,22574774,22595066,32287086,22580238,40442809,34294056,40314966,40312922,41455610,41429291,39997332,40000583,40001059,40220526,40011884,32784080,32870382,24791191,24778097,24778417,19046138,19039453,18993092,18869484,18879802,10485923,16807,2756560,2755688,2744899,3827767,3827522,2050302,4868077,4855663],"file_ids":["v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","v6HIzNa4K6G4nRP9032RIA","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["v6HIzNa4K6G4nRP9032RIAAAAAABGoUg","v6HIzNa4K6G4nRP9032RIAAAAAABWNAt","v6HIzNa4K6G4nRP9032RIAAAAAABWHa2","v6HIzNa4K6G4nRP9032RIAAAAAABWMX6","v6HIzNa4K6G4nRP9032RIAAAAAAB7Klu","v6HIzNa4K6G4nRP9032RIAAAAAABWIwO","v6HIzNa4K6G4nRP9032RIAAAAAACaRu5","v6HIzNa4K6G4nRP9032RIAAAAAACC0ko","v6HIzNa4K6G4nRP9032RIAAAAAACZyhW","v6HIzNa4K6G4nRP9032RIAAAAAACZyBa","v6HIzNa4K6G4nRP9032RIAAAAAACeI_6","v6HIzNa4K6G4nRP9032RIAAAAAACeCkr","v6HIzNa4K6G4nRP9032RIAAAAAACYk-U","v6HIzNa4K6G4nRP9032RIAAAAAACYlxH","v6HIzNa4K6G4nRP9032RIAAAAAACYl4j","v6HIzNa4K6G4nRP9032RIAAAAAACZbdu","v6HIzNa4K6G4nRP9032RIAAAAAACYohs","v6HIzNa4K6G4nRP9032RIAAAAAAB9D7Q","v6HIzNa4K6G4nRP9032RIAAAAAAB9Y_u","v6HIzNa4K6G4nRP9032RIAAAAAABekiX","v6HIzNa4K6G4nRP9032RIAAAAAABehVx","v6HIzNa4K6G4nRP9032RIAAAAAABehax","v6HIzNa4K6G4nRP9032RIAAAAAABIp76","v6HIzNa4K6G4nRP9032RIAAAAAABIoTd","v6HIzNa4K6G4nRP9032RIAAAAAABIc_E","v6HIzNa4K6G4nRP9032RIAAAAAABH-zs","v6HIzNa4K6G4nRP9032RIAAAAAABIBU6","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3","ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC","ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-","ew01Dk0sWZctP-VaEpavqQAAAAAASkft","ew01Dk0sWZctP-VaEpavqQAAAAAAShdv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"XyR38J9TfiJQyusyqjnL0Q":{"address_or_lines":[4652224,22354871,22382638,22364302,56672751,58471189,58268669,58227812,58241853,31197476,7372151,7373114,7374151,8925121,8860356,8860667,8477214,5688773,8906989,5590020,5506248,4899556,4748900,4757831,4219698,4219725,10485923,16743,2752512,2751640,2740851,6649793,7859650,7859044,6707098,6708074,2391221,2381065],"file_ids":["-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","-pk6w5puGcp-wKnQ61BZzQ","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-pk6w5puGcp-wKnQ61BZzQAAAAAARvzA","-pk6w5puGcp-wKnQ61BZzQAAAAABVRu3","-pk6w5puGcp-wKnQ61BZzQAAAAABVYgu","-pk6w5puGcp-wKnQ61BZzQAAAAABVUCO","-pk6w5puGcp-wKnQ61BZzQAAAAADYMHv","-pk6w5puGcp-wKnQ61BZzQAAAAADfDMV","-pk6w5puGcp-wKnQ61BZzQAAAAADeRv9","-pk6w5puGcp-wKnQ61BZzQAAAAADeHxk","-pk6w5puGcp-wKnQ61BZzQAAAAADeLM9","-pk6w5puGcp-wKnQ61BZzQAAAAAB3Akk","-pk6w5puGcp-wKnQ61BZzQAAAAAAcH13","-pk6w5puGcp-wKnQ61BZzQAAAAAAcIE6","-pk6w5puGcp-wKnQ61BZzQAAAAAAcIVH","-pk6w5puGcp-wKnQ61BZzQAAAAAAiC_B","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzLE","-pk6w5puGcp-wKnQ61BZzQAAAAAAhzP7","-pk6w5puGcp-wKnQ61BZzQAAAAAAgVoe","-pk6w5puGcp-wKnQ61BZzQAAAAAAVs3F","-pk6w5puGcp-wKnQ61BZzQAAAAAAh-jt","-pk6w5puGcp-wKnQ61BZzQAAAAAAVUwE","-pk6w5puGcp-wKnQ61BZzQAAAAAAVATI","-pk6w5puGcp-wKnQ61BZzQAAAAAASsLk","-pk6w5puGcp-wKnQ61BZzQAAAAAASHZk","-pk6w5puGcp-wKnQ61BZzQAAAAAASJlH","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGMy","-pk6w5puGcp-wKnQ61BZzQAAAAAAQGNN","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgAA","piWSMQrh4r040D0BPNaJvwAAAAAAKfyY","piWSMQrh4r040D0BPNaJvwAAAAAAKdJz","piWSMQrh4r040D0BPNaJvwAAAAAAZXfB","piWSMQrh4r040D0BPNaJvwAAAAAAd-3C","piWSMQrh4r040D0BPNaJvwAAAAAAd-tk","piWSMQrh4r040D0BPNaJvwAAAAAAZlea","piWSMQrh4r040D0BPNaJvwAAAAAAZltq","piWSMQrh4r040D0BPNaJvwAAAAAAJHy1","piWSMQrh4r040D0BPNaJvwAAAAAAJFUJ"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4]},"9s4s_y43ZAfUdYXm930H4A":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,6711003,4219907],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAZmbb","9LzzIocepYcOjnUsLlgOjgAAAAAAQGQD"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4]},"LeV2oAqU4BVeWoabuoh-cw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7503313],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcn3R"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4]},"2gcYNFzbFyKxWn73M5202w":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7436960,2551475,2548988],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg","9LzzIocepYcOjnUsLlgOjgAAAAAAJu6z","9LzzIocepYcOjnUsLlgOjgAAAAAAJuT8"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4]},"CU-T9AvnxmWd1TTRjgV01Q":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7508830,6761766,2559050],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe","9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m","9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4]},"nnsc9UkL_oA5SAi5cs_ZPg":{"address_or_lines":[4195929,135481,1080531,1010960,1006705,1002538,905832,905294,893117,905294,893117,905294,895510,893117,905294,893117,905294,893117,905294,893117,905294,887126,310194,449006,905294,893117,905294,885107,310194,633609,646930,310194,366119,310194,448792,905294,895510,876495,513798,506886,539471,539386,531635],"file_ids":["YsKzCJ9e4eZnuT00vj7Pcw","Z_CHd3Zjsh2cWE2NSdbiNQ","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw","N4ILulabOfF5MnyRJbvDXw"],"frame_ids":["YsKzCJ9e4eZnuT00vj7PcwAAAAAAQAZZ","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","N4ILulabOfF5MnyRJbvDXwAAAAAAEHzT","N4ILulabOfF5MnyRJbvDXwAAAAAAD20Q","N4ILulabOfF5MnyRJbvDXwAAAAAAD1xx","N4ILulabOfF5MnyRJbvDXwAAAAAAD0wq","N4ILulabOfF5MnyRJbvDXwAAAAAADdJo","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaoW","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADYlW","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAABtnu","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaC9","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADYFz","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAACasJ","N4ILulabOfF5MnyRJbvDXwAAAAAACd8S","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAABZYn","N4ILulabOfF5MnyRJbvDXwAAAAAABLuy","N4ILulabOfF5MnyRJbvDXwAAAAAABtkY","N4ILulabOfF5MnyRJbvDXwAAAAAADdBO","N4ILulabOfF5MnyRJbvDXwAAAAAADaoW","N4ILulabOfF5MnyRJbvDXwAAAAAADV_P","N4ILulabOfF5MnyRJbvDXwAAAAAAB9cG","N4ILulabOfF5MnyRJbvDXwAAAAAAB7wG","N4ILulabOfF5MnyRJbvDXwAAAAAACDtP","N4ILulabOfF5MnyRJbvDXwAAAAAACDr6","N4ILulabOfF5MnyRJbvDXwAAAAAACByz"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"wAujHiFN47_oNUI63d6EtA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7513502,6765905,6759805,2574033,2218596],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe","ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R","ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9","ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR","ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"ia-QZTf1AEqK7KEggAUJSw":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2756560,2755688,2744899,6715329,7656460,7440136,7508344,7393457,7394824,7384416,6868281,6866019],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","ew01Dk0sWZctP-VaEpavqQAAAAAAoACj","ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn","ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q","ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo","ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD","ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB","ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM","ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI","ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4","ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx","ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI","ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g","ew01Dk0sWZctP-VaEpavqQAAAAAAaM05","ew01Dk0sWZctP-VaEpavqQAAAAAAaMRj"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"YxsKA4n0U7pKfHmrePpfjA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10489481,12583132,6878809,6871998,6871380,7366427,7363873,7362975,7354531,7354154,7352952,7752506,7093274,7753394,7707617],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J","9LzzIocepYcOjnUsLlgOjgAAAAAAwADc","9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ","9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-","9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU","9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb","9LzzIocepYcOjnUsLlgOjgAAAAAAcF0h","9LzzIocepYcOjnUsLlgOjgAAAAAAcFmf","9LzzIocepYcOjnUsLlgOjgAAAAAAcDij","9LzzIocepYcOjnUsLlgOjgAAAAAAcDcq","9LzzIocepYcOjnUsLlgOjgAAAAAAcDJ4","9LzzIocepYcOjnUsLlgOjgAAAAAAdks6","9LzzIocepYcOjnUsLlgOjgAAAAAAbDwa","9LzzIocepYcOjnUsLlgOjgAAAAAAdk6y","9LzzIocepYcOjnUsLlgOjgAAAAAAdZvh"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"mqliNf10_gB69yQo7_zlzg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,48188,14432,38826,1480561,1970211,1481652,1480953,2600004,1079483,19966,39758,10892,28340,55468,1479960,1494280,2600004,1079483,63826,64498,1479960,2600004,1079483,60540,21276,37564,30612,1479868,2600004,1079483,54304,30612,1479868,2600004,1066627,7128,57352],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","GdaBUD9IUEkKxIBryNqV2w","QU8QLoFK6ojrywKrBFfTzA","V558DAsp4yi8bwa8eYwk5Q","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","cHp4MwXaY5FCuFRuAA6tWw","-9oyoP4Jj2iRkwEezqId-g","3FRCbvQLPuJyn2B-2wELGw","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAALw8","W8AFtEsepzrJ6AasHrCttwAAAAAAADhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","EFJHOn-GACfHXgae-R1yDAAAAAAAAE3-","GdaBUD9IUEkKxIBryNqV2wAAAAAAAJtO","QU8QLoFK6ojrywKrBFfTzAAAAAAAACqM","V558DAsp4yi8bwa8eYwk5QAAAAAAAG60","tuTnMBfyc9UiPsI0QyvErAAAAAAAANis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","cHp4MwXaY5FCuFRuAA6tWwAAAAAAAOx8","-9oyoP4Jj2iRkwEezqId-gAAAAAAAFMc","3FRCbvQLPuJyn2B-2wELGwAAAAAAAJK8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAANQg","FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEEaD","--q8cwZVXbHL2zOM_p3RlQAAAAAAABvY","yaTrLhUSIq2WitrTHLBy3QAAAAAAAOAI"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,1,1,1,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1]},"24tLFB3hY9xz1zbZCjaBXA":{"address_or_lines":[4654944,15291206,14341928,15275435,15271887,9565966,9575659,9566094,9566425,10732849,10691669,9933294,9934938,9900484,9900235,9617319,9584395,5101817,7575182,7550869,7561892,5676919,7561404,5629448,5551236,5477192,5131149,4738084,4746343,4209682,4209709,10485923,16807,2755760,2754888,2744099,6711233,7651644,7435512,7503672,7388865,7390232,7379824,6864947,6862495,2596,6843125,7212243],"file_ids":["FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","FWZ9q3TQKZZok58ua1HDsg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg","aUXpdArtZf510BJKvwiFDw","9LzzIocepYcOjnUsLlgOjg","9LzzIocepYcOjnUsLlgOjg"],"frame_ids":["FWZ9q3TQKZZok58ua1HDsgAAAAAARwdg","FWZ9q3TQKZZok58ua1HDsgAAAAAA6VNG","FWZ9q3TQKZZok58ua1HDsgAAAAAA2tco","FWZ9q3TQKZZok58ua1HDsgAAAAAA6RWr","FWZ9q3TQKZZok58ua1HDsgAAAAAA6QfP","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfcO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkhzr","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfeO","FWZ9q3TQKZZok58ua1HDsgAAAAAAkfjZ","FWZ9q3TQKZZok58ua1HDsgAAAAAAo8Ux","FWZ9q3TQKZZok58ua1HDsgAAAAAAoyRV","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5Hu","FWZ9q3TQKZZok58ua1HDsgAAAAAAl5ha","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxHE","FWZ9q3TQKZZok58ua1HDsgAAAAAAlxDL","FWZ9q3TQKZZok58ua1HDsgAAAAAAkr-n","FWZ9q3TQKZZok58ua1HDsgAAAAAAkj8L","FWZ9q3TQKZZok58ua1HDsgAAAAAATdj5","FWZ9q3TQKZZok58ua1HDsgAAAAAAc5aO","FWZ9q3TQKZZok58ua1HDsgAAAAAAczeV","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2Kk","FWZ9q3TQKZZok58ua1HDsgAAAAAAVp93","FWZ9q3TQKZZok58ua1HDsgAAAAAAc2C8","FWZ9q3TQKZZok58ua1HDsgAAAAAAVeYI","FWZ9q3TQKZZok58ua1HDsgAAAAAAVLSE","FWZ9q3TQKZZok58ua1HDsgAAAAAAU5NI","FWZ9q3TQKZZok58ua1HDsgAAAAAATkuN","FWZ9q3TQKZZok58ua1HDsgAAAAAASEwk","FWZ9q3TQKZZok58ua1HDsgAAAAAASGxn","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwS","FWZ9q3TQKZZok58ua1HDsgAAAAAAQDwt","9LzzIocepYcOjnUsLlgOjgAAAAAAoACj","9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn","9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw","9LzzIocepYcOjnUsLlgOjgAAAAAAKglI","9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j","9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB","9LzzIocepYcOjnUsLlgOjgAAAAAAdME8","9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4","9LzzIocepYcOjnUsLlgOjgAAAAAAcn84","9LzzIocepYcOjnUsLlgOjgAAAAAAcL7B","9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY","9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw","9LzzIocepYcOjnUsLlgOjgAAAAAAaMAz","9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf","aUXpdArtZf510BJKvwiFDwAAAAAAAAok","9LzzIocepYcOjnUsLlgOjgAAAAAAaGr1","9LzzIocepYcOjnUsLlgOjgAAAAAAbgzT"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]},"MLSOPRH6z6HuctKh5rsAnA":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,29084,63584,18346,1480561,1970211,1481652,1480953,2600004,1079669,3708,1480561,1970211,1481652,1480953,2600004,1079669,5350,11456,17946,62630,26608,28264,8452,1480561,1941045,1970515,1481652,1481047,2600004,1058958,26942,1844654,1847116,1788409,1758317,1865641,10490014,422731,937166],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","ktj-IOmkEpvZJouiJkQjTg","O_h7elJSxPO7SiCsftYRZg","_s_-RvH9Io2qUzM6f5JLGg","8UGQaqEhTX9IIJEQCXnRsQ","jn4X0YIYIsTeszwLEaje9g","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","TesF2I_BvQoOuJH9P_M2mA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ","ew01Dk0sWZctP-VaEpavqQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAHGc","W8AFtEsepzrJ6AasHrCttwAAAAAAAPhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAEeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAA58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","kSaNXrGzSS3BnDNNWezzMAAAAAAAABTm","ne8F__HPIVgxgycJADVSzAAAAAAAACzA","ktj-IOmkEpvZJouiJkQjTgAAAAAAAEYa","O_h7elJSxPO7SiCsftYRZgAAAAAAAPSm","_s_-RvH9Io2qUzM6f5JLGgAAAAAAAGfw","8UGQaqEhTX9IIJEQCXnRsQAAAAAAAG5o","jn4X0YIYIsTeszwLEaje9gAAAAAAACEE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ41","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhFT","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFplX","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAECiO","TesF2I_BvQoOuJH9P_M2mAAAAAAAAGk-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHCWu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHC9M","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG0n5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGtRt","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHep","ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe","ew01Dk0sWZctP-VaEpavqQAAAAAABnNL","ew01Dk0sWZctP-VaEpavqQAAAAAADkzO"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,3,3,3,3,3,4,4,4]},"krdohOL0KiVMtm4q-6fmjg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,5836,10976,12298,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1079144,37910,8000,46852,32076,49840,40252,33434,32730,43978,37948,30428,26428,19370,1480209,1940645,1970099,1481300,1480695,2595076,1079144,20016,37192,1480141,1913750],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","ne8F__HPIVgxgycJADVSzA","CwUjPVV5_7q7c0GhtW0aPw","okehWevKsEA4q6dk779jgw","-IuadWGT89NVzIyF_Emodw","XXJY7v4esGWnaxtMW3FA0g","FbrXdcA4j750RyQ3q9JXMw","pL34QuyxyP6XYzGDBMK_5w","IoAk4kM-M4DsDPp7ia5QXw","uHLoBslr3h6S7ooNeXzEbw","iRoTPXvR_cRsnzDO-aurpQ","fB79lJck2X90l-j7VqPR-Q","gbMheDI1NZ3NY96J0seddg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GquRfhZBLBKr9rIBPuH3nA","_DA_LSFNMjbu9L2Dcselpw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAABbM","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW","ne8F__HPIVgxgycJADVSzAAAAAAAAB9A","CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE","okehWevKsEA4q6dk779jgwAAAAAAAH1M","-IuadWGT89NVzIyF_EmodwAAAAAAAMKw","XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08","FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa","pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a","IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK","uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8","iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc","fB79lJck2X90l-j7VqPR-QAAAAAAAGc8","gbMheDI1NZ3NY96J0seddgAAAAAAAEuq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpf3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w","_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpXN","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHTOW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,1,3,3]},"FtHYpmBv9BwyjtHQeYFcCw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1091475,64358,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,61360,18470,16624,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1079144,14936,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1076587,6244,3453440,1376741,1877279,3072226],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","8EY5iPD5-FtlXFBTyb6lkw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","dCCKy6JoX0PADOFic8hRNQ","9w9lF96vJW7ZhBoZ8ETsBw","xUQuo4OgBaS_Le-fdAwt8A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zkPjzY2Et3KehkHOcSphkA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mBpjyQvq6ftE7Wm1BUpcFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","dCCKy6JoX0PADOFic8hRNQAAAAAAAO-w","9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAEgm","xUQuo4OgBaS_Le-fdAwt8AAAAAAAAEDw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","zkPjzY2Et3KehkHOcSphkAAAAAAAADpY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","mBpjyQvq6ftE7Wm1BUpcFgAAAAAAABhk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANLIA","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFQHl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHKUf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuDi"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3]},"FuFG7sSEAg94nZpDT4nzlA":{"address_or_lines":[4623936,24755503,6980046,23231210,6980046,23264536,6980046,23232004,23232150,6980046,23230455,6980046,23232004,23232150,6980046,23230455,6980046,23272795,6980046,23232004,23232150,6980046,24742300,6980046,23230455,6980046,23269877,22973163,22972451,22973163,22972451,22964890,22884541,11721444,11715672,11715835,11715578,22884850,22966101,22967654,19588556,8970856,8920596,9005417,9007845,7887684,7888285,7889956,7894532,7945899,4658568,4210208],"file_ids":["pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g","pRLjmMO0U8sO4DFopfFU5g"],"frame_ids":["pRLjmMO0U8sO4DFopfFU5gAAAAAARo5A","pRLjmMO0U8sO4DFopfFU5gAAAAABeb0v","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnrq","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYv0Y","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYn4E","pRLjmMO0U8sO4DFopfFU5gAAAAABYn6W","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnf3","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYn4E","pRLjmMO0U8sO4DFopfFU5gAAAAABYn6W","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnf3","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYx1b","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYn4E","pRLjmMO0U8sO4DFopfFU5gAAAAABYn6W","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABeYmc","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYnf3","pRLjmMO0U8sO4DFopfFU5gAAAAAAaoHO","pRLjmMO0U8sO4DFopfFU5gAAAAABYxH1","pRLjmMO0U8sO4DFopfFU5gAAAAABXorr","pRLjmMO0U8sO4DFopfFU5gAAAAABXogj","pRLjmMO0U8sO4DFopfFU5gAAAAABXorr","pRLjmMO0U8sO4DFopfFU5gAAAAABXogj","pRLjmMO0U8sO4DFopfFU5gAAAAABXmqa","pRLjmMO0U8sO4DFopfFU5gAAAAABXTC9","pRLjmMO0U8sO4DFopfFU5gAAAAAAstrk","pRLjmMO0U8sO4DFopfFU5gAAAAAAssRY","pRLjmMO0U8sO4DFopfFU5gAAAAAAssT7","pRLjmMO0U8sO4DFopfFU5gAAAAAAssP6","pRLjmMO0U8sO4DFopfFU5gAAAAABXTHy","pRLjmMO0U8sO4DFopfFU5gAAAAABXm9V","pRLjmMO0U8sO4DFopfFU5gAAAAABXnVm","pRLjmMO0U8sO4DFopfFU5gAAAAABKuXM","pRLjmMO0U8sO4DFopfFU5gAAAAAAiOJo","pRLjmMO0U8sO4DFopfFU5gAAAAAAiB4U","pRLjmMO0U8sO4DFopfFU5gAAAAAAiWlp","pRLjmMO0U8sO4DFopfFU5gAAAAAAiXLl","pRLjmMO0U8sO4DFopfFU5gAAAAAAeFtE","pRLjmMO0U8sO4DFopfFU5gAAAAAAeF2d","pRLjmMO0U8sO4DFopfFU5gAAAAAAeGQk","pRLjmMO0U8sO4DFopfFU5gAAAAAAeHYE","pRLjmMO0U8sO4DFopfFU5gAAAAAAeT6r","pRLjmMO0U8sO4DFopfFU5gAAAAAARxWI","pRLjmMO0U8sO4DFopfFU5gAAAAAAQD4g"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"chida0TNeXOPGVvI0kALCQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,824,116,12,8,54,12,46,22,1091612,1804498,665668,663668,1112453,1232178,833111,2265137,2264574,2258601,1016110,2256845],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","IlUL618nbeW5Kz4uyGZLrQ","U7DZUwH_4YU5DSkoQhGJWw","bmb3nSRfimrjfhanpjR1rQ","oN7OWDJeuc8DmI2f_earDQ","Yj7P3-Rt3nirG6apRl4A7A","pz3Evn9laHNJFMwOKIXbsw","7aaw2O1Vn7-6eR8XuUWQZQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4","IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0","U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM","bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI","oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2","Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM","pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu","7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW","G68hjsyagwq6LpWrMjDdngAAAAAAEKgc","G68hjsyagwq6LpWrMjDdngAAAAAAG4jS","G68hjsyagwq6LpWrMjDdngAAAAAACihE","G68hjsyagwq6LpWrMjDdngAAAAAACiB0","G68hjsyagwq6LpWrMjDdngAAAAAAEPmF","G68hjsyagwq6LpWrMjDdngAAAAAAEs0y","G68hjsyagwq6LpWrMjDdngAAAAAADLZX","G68hjsyagwq6LpWrMjDdngAAAAAAIpAx","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInap","G68hjsyagwq6LpWrMjDdngAAAAAAD4Eu","G68hjsyagwq6LpWrMjDdngAAAAAAIm_N"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3]},"UDWRHwtQcuK3KYw4Lj118w":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,30038,33244,3444,11060,9712,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,49806,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,61514,2790352,1482889,1482415,2595076,1057495,58094,59978,64928,29086,21086],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SD7uzoegJjRT3jYNpuQ5wQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","lOUbi56SanKTCh9Y7fIwDw","n74P5OxFm1hAo5ZWtgcKHQ","zXbqXCWr0lCbi_b24hNBRQ"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAIHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAA10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAMKO","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","SD7uzoegJjRT3jYNpuQ5wQAAAAAAAPBK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAECLX","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOpK","lOUbi56SanKTCh9Y7fIwDwAAAAAAAP2g","n74P5OxFm1hAo5ZWtgcKHQAAAAAAAHGe","zXbqXCWr0lCbi_b24hNBRQAAAAAAAFJe"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1]},"wQhKHV5i9LyZbGr1o38TMA":{"address_or_lines":[4631744,4426728,23175065,22765086,22101979,22101626,22103238,19925815,19926028,19930622,22109732,19929162,22109403,22104583,22092442,20383549,20126576,20124268,7004126,6995902,6997458,19974869,19979184,7254420,7366379,8869213,8813007,8830631,8835818,5761274,8899923,8811367,6480793,6476612,6475553,6139725,6059982,5083307,5091601,4714216,4721177,4729434,10485923,16743,2752800,2752044,2741274,6650246,6650083,7384662,7382442,7451553,7447772,7440959,7439791],"file_ids":["-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","-V-5ede56KMAXhjFbz84Sw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["-V-5ede56KMAXhjFbz84SwAAAAAARqzA","-V-5ede56KMAXhjFbz84SwAAAAAAQ4vo","-V-5ede56KMAXhjFbz84SwAAAAABYZ-Z","-V-5ede56KMAXhjFbz84SwAAAAABW14e","-V-5ede56KMAXhjFbz84SwAAAAABUT_b","-V-5ede56KMAXhjFbz84SwAAAAABUT56","-V-5ede56KMAXhjFbz84SwAAAAABUUTG","-V-5ede56KMAXhjFbz84SwAAAAABMAs3","-V-5ede56KMAXhjFbz84SwAAAAABMAwM","-V-5ede56KMAXhjFbz84SwAAAAABMB3-","-V-5ede56KMAXhjFbz84SwAAAAABUV4k","-V-5ede56KMAXhjFbz84SwAAAAABMBhK","-V-5ede56KMAXhjFbz84SwAAAAABUVzb","-V-5ede56KMAXhjFbz84SwAAAAABUUoH","-V-5ede56KMAXhjFbz84SwAAAAABURqa","-V-5ede56KMAXhjFbz84SwAAAAABNwc9","-V-5ede56KMAXhjFbz84SwAAAAABMxtw","-V-5ede56KMAXhjFbz84SwAAAAABMxJs","-V-5ede56KMAXhjFbz84SwAAAAAAat_e","-V-5ede56KMAXhjFbz84SwAAAAAAar--","-V-5ede56KMAXhjFbz84SwAAAAAAasXS","-V-5ede56KMAXhjFbz84SwAAAAABMMrV","-V-5ede56KMAXhjFbz84SwAAAAABMNuw","-V-5ede56KMAXhjFbz84SwAAAAAAbrGU","-V-5ede56KMAXhjFbz84SwAAAAAAcGbr","-V-5ede56KMAXhjFbz84SwAAAAAAh1Vd","-V-5ede56KMAXhjFbz84SwAAAAAAhnnP","-V-5ede56KMAXhjFbz84SwAAAAAAhr6n","-V-5ede56KMAXhjFbz84SwAAAAAAhtLq","-V-5ede56KMAXhjFbz84SwAAAAAAV-j6","-V-5ede56KMAXhjFbz84SwAAAAAAh81T","-V-5ede56KMAXhjFbz84SwAAAAAAhnNn","-V-5ede56KMAXhjFbz84SwAAAAAAYuOZ","-V-5ede56KMAXhjFbz84SwAAAAAAYtNE","-V-5ede56KMAXhjFbz84SwAAAAAAYs8h","-V-5ede56KMAXhjFbz84SwAAAAAAXa9N","-V-5ede56KMAXhjFbz84SwAAAAAAXHfO","-V-5ede56KMAXhjFbz84SwAAAAAATZCr","-V-5ede56KMAXhjFbz84SwAAAAAATbER","-V-5ede56KMAXhjFbz84SwAAAAAAR-7o","-V-5ede56KMAXhjFbz84SwAAAAAASAoZ","-V-5ede56KMAXhjFbz84SwAAAAAASCpa","piWSMQrh4r040D0BPNaJvwAAAAAAoACj","piWSMQrh4r040D0BPNaJvwAAAAAAAEFn","piWSMQrh4r040D0BPNaJvwAAAAAAKgEg","piWSMQrh4r040D0BPNaJvwAAAAAAKf4s","piWSMQrh4r040D0BPNaJvwAAAAAAKdQa","piWSMQrh4r040D0BPNaJvwAAAAAAZXmG","piWSMQrh4r040D0BPNaJvwAAAAAAZXjj","piWSMQrh4r040D0BPNaJvwAAAAAAcK5W","piWSMQrh4r040D0BPNaJvwAAAAAAcKWq","piWSMQrh4r040D0BPNaJvwAAAAAAcbOh","piWSMQrh4r040D0BPNaJvwAAAAAAcaTc","piWSMQrh4r040D0BPNaJvwAAAAAAcYo_","piWSMQrh4r040D0BPNaJvwAAAAAAcYWv"],"type_ids":[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4]},"TtsX1UxF45-CxViHFwbKJw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,17442,33388,19218,34134,37340,19828,11060,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,53982,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,41518,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,17976,33110,26922,19187,41240,50343],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uo8E5My6tupMEt-pfV-uhA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAIVW","LF6DFcGHEMqhhhlptO_M_QAAAAAAAJHc","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAANLe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAGkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSn"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"iu7dYG1YyobzAXC7AJADOw":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,4,38,174,104,68,88,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044755,2041537,2044780,2041460,1171829,2265239,2264574,2258463,1179954],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ZBnr-5IlLVGCdkX_lTNKmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzNs","G68hjsyagwq6LpWrMjDdngAAAAAAHyZ0","G68hjsyagwq6LpWrMjDdngAAAAAAEeF1","G68hjsyagwq6LpWrMjDdngAAAAAAIpCX","G68hjsyagwq6LpWrMjDdngAAAAAAIo3-","G68hjsyagwq6LpWrMjDdngAAAAAAInYf","G68hjsyagwq6LpWrMjDdngAAAAAAEgEy"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"WmwSnxyphedkasVyGbhNdg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,23142,41180,18932,30244,42480,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,29418,2795776,1483241,1482767,2600004,1074397,3150,5208,43696,4420,2578675,2599636,1091600,58990,2795776,1483241,1482767,2600004,1073803,3150,5208,43696,4204,342,33506,2852079,2851771,2849353,2846190,2846190,2845732],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","l97YFeEKpeLfa-lEAZVNcA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0","xwuAPHgc12-8PZB3i-320gAAAAAAAHYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4Tv","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK4O7","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK3pJ","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK23u","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAK2wk"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3]},"YWZby9VC56JtR6BAaYHEoA":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,18612,22306,4364,53010,16796,14432,6058,1480561,1970211,1481652,1480953,2600004,1079669,20092,1480561,1970211,1481652,1480953,2600004,1062448,57610,1845095,1847963,1481919,2600004,1079483,60588,38154,52556,1479960,1494280,2600004,1079483,55468,1479960,1494280,2600004,1079483,14674,64498,1479960,2600004,1079483,48678,25810,37884,46996,1479868,2600004,1079483,7536,46996,1479868,2600004,1049946,29322],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","EFJHOn-GACfHXgae-R1yDA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kSaNXrGzSS3BnDNNWezzMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","tuTnMBfyc9UiPsI0QyvErA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","-T5rZCijT5TDJjmoEi8Kxg","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","--q8cwZVXbHL2zOM_p3RlQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0","U4Le8nh-beog_B7jq7uTIAAAAAAAAFci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAEGc","W8AFtEsepzrJ6AasHrCttwAAAAAAADhg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","EFJHOn-GACfHXgae-R1yDAAAAAAAAE58","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhAj","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEDYw","kSaNXrGzSS3BnDNNWezzMAAAAAAAAOEK","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHCdn","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDKb","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAOys","MYrgKQIxdDhr1gdpucfc-QAAAAAAAJUK","un9fLDZOLvDMO52ltZtuegAAAAAAAM1M","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","tuTnMBfyc9UiPsI0QyvErAAAAAAAANis","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","oERZXsH8EPeoSRxNNaSWfQAAAAAAADlS","gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpUY","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","rTFMSHhLRlj86vHPR06zoQAAAAAAAL4m","oArGmvsy3VNtTf_V9EHNeQAAAAAAAGTS","-T5rZCijT5TDJjmoEi8KxgAAAAAAAJP8","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","GEIvPhvjHWZLHz2BksVgvAAAAAAAAB1w","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEAVa","--q8cwZVXbHL2zOM_p3RlQAAAAAAAHKK"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1]},"Hi8HEHDniMkBvPgm-_IXdg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,50422,53628,36212,43828,42480,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,3426,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1091475,5270,2790352,1482889,1482415,2595076,1073749,53998,56056,29040,34524,2573747,2594708,1055190,28766,23366,29852,29250,6740,37336,23068],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ynoRUNDFNh_CC1ViETMulA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fxzD8soKl4etJ4L6nJl81g","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAMT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAANF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAI10","xwuAPHgc12-8PZB3i-320gAAAAAAAKs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAA1i","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","ynoRUNDFNh_CC1ViETMulAAAAAAAABSW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAANLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEBnW","fxzD8soKl4etJ4L6nJl81gAAAAAAAHBe","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFoc"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1]},"X86DUuQ7tHAxGBaWu4tZLg":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1079669,2228,5922,53516,36626,19046,37084,2548,13860,26096,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,64610,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,39726,2795776,1483241,1482767,2600004,1074397,52302,54360,27312,324,2578675,2599636,1091600,0,2794972,1848805,1837992,1848417,2718329,2222078,2208786],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BrhWuphS0ZH9x8_V0fpb0A","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","780bLUPADqfQ3x1T5lnVOg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0","U4Le8nh-beog_B7jq7uTIAAAAAAAABci","CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM","SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S","grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm","LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc","Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0","xwuAPHgc12-8PZB3i-320gAAAAAAADYk","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqXc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHAuo","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDRh","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKXp5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIef-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAIbQS"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3]},"Tx8lhCcOjrVLOl1hWK6aBw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,33156,1058,33388,19218,38700,43744,45066,1480209,1969795,1481300,1480601,2595076,1079144,34636,1480209,1969795,1481300,1480601,2595076,1062336,4250,1844695,1847563,1481567,2595076,1079485,3004,57258,27404,1479608,1493928,2595076,1079485,63084,1479608,1493928,2595076,1079485,14194,64498,1479608,2595076,1079485,18374,41842,34364,14228,1479516,2595076,1079485,24640,14228,1479516,2595076,1087128,21352,26392,2571436,1909209],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","yaTrLhUSIq2WitrTHLBy3Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAJcs","W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAALAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAABCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAAu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAN-q","un9fLDZOLvDMO52ltZtuegAAAAAAAGsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAAPZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAADdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAAEfG","oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy","7v-k2b21f_Xuf-3329jFywAAAAAAAIY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAGBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEJaY","--q8cwZVXbHL2zOM_p3RlQAAAAAAAFNo","yaTrLhUSIq2WitrTHLBy3QAAAAAAAGcY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJzys","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHSHZ"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,3,3]},"oKVObqTWF9QIjxgKf8UkTw":{"address_or_lines":[4201744,135481,4208244,4207404,2599636,1091600,51328,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,50170,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41284,2578675,2599636,1091600,13752,2795776,1483241,1482767,2600004,1079483,27726,29268,38054,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,27726,29784,2736,41068,49494,4746,19187,41141,49404],"file_ids":["SbPwzb_Kog2bWn8uc7xhDQ","Z_CHd3Zjsh2cWE2NSdbiNQ","SbPwzb_Kog2bWn8uc7xhDQ","SbPwzb_Kog2bWn8uc7xhDQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","DTRaillMS4wmG2CDEfm9rQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","08Dc0vnMK9C_nl7yQB6ZKQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","zuPG_tF81PcJTwjfBwKlDg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["SbPwzb_Kog2bWn8uc7xhDQAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDZ0","SbPwzb_Kog2bWn8uc7xhDQAAAAAAQDMs","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKC1","jaBVtokSUzfS97d-XKjijgAAAAAAAMD8"],"type_ids":[3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"rsb7cL4OAenBHrp0F_Wcgg":{"address_or_lines":[30070,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1091600,1150,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1091600,47798,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1091600,18886,2795776,1483241,1482767,2600004,1074397,48206,50264,23216,33092,2578675,2599636,1074397,51858,2586225,2600004,1055835,28542,1975041,2600004,1079669,52004,1480561,1940968,1917658,1481652,1480953,2600004,1057290,36296,2944663],"file_ids":["pv4wAezdMMO0SVuGgaEMTg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","qns5vQ3LMi6QrIMOgD_TwQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","J_Lkq1OzUHxWQhnTgF6FwA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","XkOSW26Xa6_lkqHv5givKg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","BuJIbGFo3xNyZaTAXvW1Ag","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","L9BMhx_jo5vrPGr_NYlXCQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","pZhbjLL2hYCcec5rSvEEGw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","kkqG_q7yucIGLE7ky-QX9A","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["pv4wAezdMMO0SVuGgaEMTgAAAAAAAHV2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","qns5vQ3LMi6QrIMOgD_TwQAAAAAAAAR-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","J_Lkq1OzUHxWQhnTgF6FwAAAAAAAALq2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","XkOSW26Xa6_lkqHv5givKgAAAAAAAEnG","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAALxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","BuJIbGFo3xNyZaTAXvW1AgAAAAAAAMqS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEBxb","L9BMhx_jo5vrPGr_NYlXCQAAAAAAAG9-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHiMB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","pZhbjLL2hYCcec5rSvEEGwAAAAAAAMsk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAECIK","kkqG_q7yucIGLE7ky-QX9AAAAAAAAI3I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALO6X"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,1,3,3,3,1,3,3,3,3,3,3,3,1,3]},"mWVVBnqMHfG9pWtaZUm47Q":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,49540,1058,33388,19218,58614,61820,19828,11060,26096,1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,11498,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,56810,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,31598,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,17976,33110,51498,19187,41240,50348],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","LF6DFcGHEMqhhhlptO_M_Q","Af6E3BeG383JVVbu67NJ0Q","xwuAPHgc12-8PZB3i-320g","6WJ6x4R10ox82_e3Ea4eiA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","3HhVgGD2yvuFLpoZq7RfKw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uSWUCgHgLPG4OFtPdUp0rg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAOT2","LF6DFcGHEMqhhhlptO_M_QAAAAAAAPF8","Af6E3BeG383JVVbu67NJ0QAAAAAAAE10","xwuAPHgc12-8PZB3i-320gAAAAAAACs0","6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAACzq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","3HhVgGD2yvuFLpoZq7RfKwAAAAAAAN3q","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uSWUCgHgLPG4OFtPdUp0rgAAAAAAAHtu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSs"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"r1nqJ9JqsZyOKqlpBmuvLg":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,16772,50210,17004,2834,30508,27360,36874,1480209,1969795,1481300,1480601,2595076,1079144,18252,1480209,1969795,1481300,1480601,2595076,1062336,61594,1844695,1847563,1481567,2595076,1079485,3004,49066,11020,1479608,1493928,2595076,1079485,46700,1479608,1493928,2595076,1079485,63346,48114,1479608,2595076,1079485,10182,25458,17980,63380,1479516,2595076,1079485,16448,63380,1479516,2595076,1073749,13188,3118087,767068,768138,10485923,16807,2845274,2841596,3817899,3815886,3627192],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHcs","W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAEdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAAPCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAAu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAL-q","un9fLDZOLvDMO52ltZtuegAAAAAAACsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAALZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAACfG","oArGmvsy3VNtTf_V9EHNeQAAAAAAAGNy","7v-k2b21f_Xuf-3329jFywAAAAAAAEY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAEBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAADOE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAL5QH","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7Rc","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7iK","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAK2pa","A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8","A2oiHVwisByxRn5RDT4LjAAAAAAAOkGr","A2oiHVwisByxRn5RDT4LjAAAAAAAOjnO","A2oiHVwisByxRn5RDT4LjAAAAAAAN1i4"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,3,3,3,4,4,4,4,4,4,4]},"5MDEZjYH98Woy4iHbcvgDg":{"address_or_lines":[2573747,2594708,1091475,65190,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,22586,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,12514,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,25530,2790352,1482889,1482415,2595076,1073749,58094,60152,33136,34524,2573747,2594708,1091475,37170,2790352,1482889,1482415,2595076,1079144,58108,1481694,1493928,2595076,1080441,8392,15128,1480209,1827586,3439453,2746712,2738096],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MU3fJpOZe9TA4mzeo52wZg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","auEGiAr7C6IfT0eiHbOlyA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","mP9Tk3T74fjOyYWKUaqdMQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","I4X8AC1-B0GuL4JyYemPzw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","s6flibJ32CsA8wnq-j6RkQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","3EA5Wz2lIIw6eu5uv4gkTw","hjYcB64xHdoySaNOZ8xYqg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","MU3fJpOZe9TA4mzeo52wZgAAAAAAAP6m","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","auEGiAr7C6IfT0eiHbOlyAAAAAAAAFg6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","mP9Tk3T74fjOyYWKUaqdMQAAAAAAADDi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","I4X8AC1-B0GuL4JyYemPzwAAAAAAAGO6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAOLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","s6flibJ32CsA8wnq-j6RkQAAAAAAAJEy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","ik6PIX946fW_erE7uBJlVQAAAAAAAOL8","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHx5","3EA5Wz2lIIw6eu5uv4gkTwAAAAAAACDI","hjYcB64xHdoySaNOZ8xYqgAAAAAAADsY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAANHtd","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKelY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKcew"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,1,1,3,3,3,3,3]},"WYRZ4mSdJHjsW8s2yoKnfA":{"address_or_lines":[1858,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,30594,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1091475,34158,2790352,1482889,1482415,2595076,1073749,37614,39672,12656,18140,2573747,2594708,1079144,56186,1481694,1828960,2581397,1480843,1480209,1940568,1917258,1481300,1480601,2595076,1079485,9718,1479772,1827586,1940195,1986609,1483518,1482415,1493679,2595076,1073425,15208,2566502,1844254,1972704,2595076,1071886,41592,1850963,1844695,1917599,1539319,3072295,1865140],"file_ids":["Gp9aOxUrrpSVBx4-ftlTOA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","y9R94bQUxts02WzRWfV7xg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uI6css-d8SGQRK6a_Ntl-A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","SlnkBp0IIJFLHVOe4KbxwQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uPGvGNXBf1JXGeeDSsmGQA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PmtIuZrIdDPbhY30JCQRww","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","yos2k6ZH69vZXiBQV3d7cQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAAdC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","y9R94bQUxts02WzRWfV7xgAAAAAAAHeC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uI6css-d8SGQRK6a_Ntl-AAAAAAAAIVu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAJLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4","J1eggTwSzYdi9OsSu1q37gAAAAAAADFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","SlnkBp0IIJFLHVOe4KbxwQAAAAAAANt6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2OV","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpiL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZxY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUFK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","uPGvGNXBf1JXGeeDSsmGQAAAAAAAACX2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpRc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-MC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZrj","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHlAx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqL-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsqv","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGER","PmtIuZrIdDPbhY30JCQRwwAAAAAAADto","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJylm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCQe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhng","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEFsO","yos2k6ZH69vZXiBQV3d7cQAAAAAAAKJ4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHD5T","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHUKf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAF3z3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAALuEn","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHW0"],"type_ids":[1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3]},"C4ItszXjQjtRADEg560AUw":{"address_or_lines":[4201744,135481,4208244,4207404,2594708,1079144,388,33826,620,51986,30508,10976,36874,1480209,1969795,1481300,1480601,2595076,1079144,1868,1480209,1969795,1481300,1480601,2595076,1062336,61594,1844695,1847563,1481567,2595076,1079485,35772,49066,60172,1479608,1493928,2595076,1079485,30316,1479608,1493928,2595076,1079485,30578,15346,1479608,2595076,1079485,10678,9074,1596,46996,1479516,2595076,1079485,16448,46996,1479516,2595076,1073749,13088,6410,24756,3150002,920932,10485923,16807,2776792,2775330,2826677,2809533,2807255,2804657,2869654],"file_ids":["WpYcHtr4qx88B8CBJZ2GTw","Z_CHd3Zjsh2cWE2NSdbiNQ","WpYcHtr4qx88B8CBJZ2GTw","WpYcHtr4qx88B8CBJZ2GTw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","DTRaillMS4wmG2CDEfm9rQ","U4Le8nh-beog_B7jq7uTIA","CqoTgn4VUlwTNyUw7wsMHQ","SjQZVYGLzro7G-9yPjVJlg","grZNsSElR5ITq8H2yHCNSw","W8AFtEsepzrJ6AasHrCttw","sur1OQS0yB3u_A1ZgjRjFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EFJHOn-GACfHXgae-R1yDA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","kSaNXrGzSS3BnDNNWezzMA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xNMiNBkMujk7ZnRv0OEjrQ","MYrgKQIxdDhr1gdpucfc-Q","un9fLDZOLvDMO52ltZtueg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","grikUXlisBLUbeL_OWixIw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","oERZXsH8EPeoSRxNNaSWfQ","gMhgHDYSMmyInNJ15VwYFg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","rTFMSHhLRlj86vHPR06zoQ","oArGmvsy3VNtTf_V9EHNeQ","7v-k2b21f_Xuf-3329jFyw","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GEIvPhvjHWZLHz2BksVgvA","FqNqtF0e0OG1VJJtWE9clw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","--q8cwZVXbHL2zOM_p3RlQ","wXOyVgf5_nNg6CUH5kFBbg","zEgDK4qMawUAQZjg5YHyww","-Z7SlEXhuy5tL2BF-xmy3g","Z_CHd3Zjsh2cWE2NSdbiNQ","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["WpYcHtr4qx88B8CBJZ2GTwAAAAAAQB0Q","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDZ0","WpYcHtr4qx88B8CBJZ2GTwAAAAAAQDMs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE","U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi","CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs","SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS","grZNsSElR5ITq8H2yHCNSwAAAAAAAHcs","W8AFtEsepzrJ6AasHrCttwAAAAAAACrg","sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJAK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg6D","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEDXA","kSaNXrGzSS3BnDNNWezzMAAAAAAAAPCa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHCXX","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHDEL","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFptf","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8","MYrgKQIxdDhr1gdpucfc-QAAAAAAAL-q","un9fLDZOLvDMO52ltZtuegAAAAAAAOsM","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","grikUXlisBLUbeL_OWixIwAAAAAAAHZs","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsuo","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy","gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpO4","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","rTFMSHhLRlj86vHPR06zoQAAAAAAACm2","oArGmvsy3VNtTf_V9EHNeQAAAAAAACNy","7v-k2b21f_Xuf-3329jFywAAAAAAAAY8","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","GEIvPhvjHWZLHz2BksVgvAAAAAAAAEBA","FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","--q8cwZVXbHL2zOM_p3RlQAAAAAAADMg","wXOyVgf5_nNg6CUH5kFBbgAAAAAAABkK","zEgDK4qMawUAQZjg5YHywwAAAAAAAGC0","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAMBCy","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAADg1k","A2oiHVwisByxRn5RDT4LjAAAAAAAoACj","A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn","A2oiHVwisByxRn5RDT4LjAAAAAAAKl7Y","A2oiHVwisByxRn5RDT4LjAAAAAAAKlki","A2oiHVwisByxRn5RDT4LjAAAAAAAKyG1","A2oiHVwisByxRn5RDT4LjAAAAAAAKt69","A2oiHVwisByxRn5RDT4LjAAAAAAAKtXX","A2oiHVwisByxRn5RDT4LjAAAAAAAKsux","A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW"],"type_ids":[3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,3,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,1,3,3,3,3,1,1,3,3,3,1,1,1,1,3,3,3,1,1,3,3,3,1,1,1,3,3,4,4,4,4,4,4,4,4,4]},"8IBqDIuSolkkEHIjO_CfMw":{"address_or_lines":[1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,57338,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,46806,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,4702,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,25478,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1079144,57700,1481694,1828960,2580566,1480601,1493679,2595076,1052274,37402,1973088,2595076,1059438,7162],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","VY0EiAO0DxwLRTE4PfFhdw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2AkHKX3hFovQqnWGTZG4BA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","JEYMXKhPKBKP90oNIKO6Ww","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Fq3uvTWKo9OreZfu-LOYYQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","f2CfX6aaJGZ4Su3cCY2vCQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","yxUFWTEZsQP-FeNV2RKnFQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Q2lceMFM0t8w5Hdokg8e8A"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","VY0EiAO0DxwLRTE4PfFhdwAAAAAAAN_6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2AkHKX3hFovQqnWGTZG4BAAAAAAAALbW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","JEYMXKhPKBKP90oNIKO6WwAAAAAAABJe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","Fq3uvTWKo9OreZfu-LOYYQAAAAAAAGOG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","f2CfX6aaJGZ4Su3cCY2vCQAAAAAAAOFk","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2BW","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFsqv","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEA5y","yxUFWTEZsQP-FeNV2RKnFQAAAAAAAJIa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhtg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAECpu","Q2lceMFM0t8w5Hdokg8e8AAAAAAAABv6"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,3,3,1,3,3,3,1]},"T2hqeT_yirkauwcO1cGJEw":{"address_or_lines":[74,6,18,8,18,80,24,4,84,38,174,104,68,116,38,174,104,68,4,38,174,104,68,96,38,174,104,68,60,38,38,10,38,174,104,68,124,38,174,104,68,124,38,174,104,68,100,140,10,38,174,104,68,76,38,174,34,24,10,10,786829,1091612,1986900,1997206,2238455,4240,5748,1213299,4101,76200,1213299,77535,52678,1213299,52081,33630,106222],"file_ids":["a5aMcPOeWx28QSVng73nBQ","inI9W0bfekFTCpu0ceKTHg","RPwdw40HEBL87wRkKV2ozw","pT2bgvKv3bKR6LMAYtKFRw","Rsr7q4vCSh2ppRtyNkwZAA","cKQfWSgZRgu_1Goz5QGSHw","T2fhmP8acUvRZslK7YRDPw","lrxXzNEmAlflj7bCNDjxdA","SMoSw8cr-PdrIATvljOPrQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xaCec3W8F6xlvd_EISI7vw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","QCNrAtEDVSYrGKsToy3LYA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ocuGLNOciiOP6W8cfH2-qw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bjI4Jot-SXYwqfMr0sl7Xg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjBJSIgrJ7WBnrV9WxdKEQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9-_Y7FNFlkawnHBUI4HVnA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","suQJt7m9qyZP3i8d45HwBQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5w2Emmm2pdiPFBnzFSNcKg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","1bzyoH1Mbbzc-oKA3fR-7Q","BXKFYOU6E7YaW5MDpfBf8w","zP58DjIs7uq1cghmzykyNA","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAABK","inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG","RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS","pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI","Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS","cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ","T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY","lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE","SMoSw8cr-PdrIATvljOPrQAAAAAAAABU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xaCec3W8F6xlvd_EISI7vwAAAAAAAAB0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","QCNrAtEDVSYrGKsToy3LYAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ocuGLNOciiOP6W8cfH2-qwAAAAAAAABg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bjI4Jot-SXYwqfMr0sl7XgAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjBJSIgrJ7WBnrV9WxdKEQAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9-_Y7FNFlkawnHBUI4HVnAAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","suQJt7m9qyZP3i8d45HwBQAAAAAAAABk","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5w2Emmm2pdiPFBnzFSNcKgAAAAAAAABM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAAAi","1bzyoH1Mbbzc-oKA3fR-7QAAAAAAAAAY","BXKFYOU6E7YaW5MDpfBf8wAAAAAAAAAK","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","G68hjsyagwq6LpWrMjDdngAAAAAADAGN","G68hjsyagwq6LpWrMjDdngAAAAAAEKgc","G68hjsyagwq6LpWrMjDdngAAAAAAHlFU","G68hjsyagwq6LpWrMjDdngAAAAAAHnmW","G68hjsyagwq6LpWrMjDdngAAAAAAIif3","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAAS7f","3nN3bymnZ8E42aLEtgglmAAAAAAAAM3G","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAAMtx","3nN3bymnZ8E42aLEtgglmAAAAAAAAINe","3nN3bymnZ8E42aLEtgglmAAAAAAAAZ7u"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"OIXgOJgQPE-F5rS7DPPzZA":{"address_or_lines":[2795776,1483241,1482767,2600004,1079483,23630,25172,33958,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,20804,2578675,2599636,1091600,20658,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,20804,2578675,2599636,1091600,0,2795776,1483241,1482767,2600004,1074397,23630,25688,64176,20804,2578675,2599636,1079669,0,1482046,1829360,2586225,2600004,1079669,36060,1482046,1829360,2586325,1481195,1480561,1940968,1917658,1481652,1480953,2600004,1079483,61874,1480124,1827986,1940595,1989057,1480953,1494106,2600004,1073803,20418,2569666],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","93AmMdBRQTTNSFcMQ_Ywdg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","_____________________w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","29RxCcCS3qayH8Wz47EBXQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","mBpjyQvq6ftE7Wm1BUpcFg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","IWme5rHQfgYd-9YstXSeGA","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGJU","eV_m28NnKeeTL60KO2H3SAAAAAAAAISm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","93AmMdBRQTTNSFcMQ_YwdgAAAAAAAFCy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","_____________________wAAAAAAAAAA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","29RxCcCS3qayH8Wz47EBXQAAAAAAAIzc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3bV","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpnr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ3o","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHULa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAPGy","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpW8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-SS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZxz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHlnB","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFsxa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGKL","IWme5rHQfgYd-9YstXSeGAAAAAAAAE_C","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJzXC"],"type_ids":[3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,1,3]},"i0e78nPZCZ2CbzzLMEOcMw":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,38,10,38,38,10,38,174,104,14,32,190,1091944,2047231,2046923,2044755,2041537,2044733,2042086,2025366,954962],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-","G68hjsyagwq6LpWrMjDdngAAAAAAEKlo","G68hjsyagwq6LpWrMjDdngAAAAAAHzz_","G68hjsyagwq6LpWrMjDdngAAAAAAHzvL","G68hjsyagwq6LpWrMjDdngAAAAAAHzNT","G68hjsyagwq6LpWrMjDdngAAAAAAHybB","G68hjsyagwq6LpWrMjDdngAAAAAAHzM9","G68hjsyagwq6LpWrMjDdngAAAAAAHyjm","G68hjsyagwq6LpWrMjDdngAAAAAAHueW","G68hjsyagwq6LpWrMjDdngAAAAAADpJS"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3]},"34DMF2kw8Djh_MjcdchMzw":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,34914,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,7430,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,3230,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1091600,61846,2795776,1483241,1482767,2600004,1074397,31822,33880,6832,33092,2578675,2599636,1079669,38686,1482046,1829360,2586225,2600004,1079669,15794,56134,43516,45442,36964,61672,47980,1480561,1940984,1479155],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","y4VaggFtn5eGbiM4h45zCg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","aovhV1VhdNHhPwAmk_rOhg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","px3SfTg4DYOeiT_Yemty2w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","opI8K6Q9RBhmYCrRVwNTgA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","cVEUVwL4zVVcM9r_4PTCXA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","GGxNFCJdZtgXLG8zgUfn_Q","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","y4VaggFtn5eGbiM4h45zCgAAAAAAAIhi","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","aovhV1VhdNHhPwAmk_rOhgAAAAAAAB0G","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","px3SfTg4DYOeiT_Yemty2wAAAAAAAAye","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","opI8K6Q9RBhmYCrRVwNTgAAAAAAAAPGW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY","J1eggTwSzYdi9OsSu1q37gAAAAAAABqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","cVEUVwL4zVVcM9r_4PTCXAAAAAAAAJce","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","GGxNFCJdZtgXLG8zgUfn_QAAAAAAAD2y","jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAKn8","_lF8o5tJDcePvza_IYtgSQAAAAAAALGC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAJBk","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAPDo","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALts","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ34","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpHz"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3]},"XG9tjujXJl2nWpbHppoRMA":{"address_or_lines":[2573747,2594708,1091475,39286,2790352,1482889,1482415,2595076,1079485,29422,30964,39782,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10978,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,35610,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10138,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,58142,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,17976,33110,47402,19187,41240,50602],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ZVYMRqiL5oPAMqs8XcON8Q","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1y9WuJpjgBMcQb3shY5phQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","dGWvVtQJJ5wuqNyQVpi8lA","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","ZVYMRqiL5oPAMqs8XcON8QAAAAAAAJl2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAACri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAIsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAACea","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1y9WuJpjgBMcQb3shY5phQAAAAAAAOMe","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAALkq","dGWvVtQJJ5wuqNyQVpi8lAAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMWq"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"SrSwvDbs2pmPg3SRfXJBCA":{"address_or_lines":[1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,10978,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,35610,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,11318,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,15678,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,250,2790352,1482889,1482415,2595076,1076587,29422,31480,4464,17976,33110,51586,2846655,2846347,2843929,2840766,2843907,2841214,1439462],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","V6gUZHzBRISi-Z25klK5DQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWNEoAKVTnnzSns045VKhw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","n4Ao4OZE2osF0FygfcWo3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","NGbZlnLCqeq3LFq89r_SpQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","PmhxUKv5sePRxhCBONca8g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","V6gUZHzBRISi-Z25klK5DQAAAAAAACri","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWNEoAKVTnnzSns045VKhwAAAAAAAIsa","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","PmhxUKv5sePRxhCBONca8gAAAAAAAAD6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UD","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbm"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3]},"bcNRMcXtTRgNPl4vy6M5KQ":{"address_or_lines":[2573747,2594708,1091475,48050,2789627,1482889,1482415,2595076,1079485,29808,43878,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,47414,2789627,1482889,1482415,2595076,1079485,29808,43878,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,21414,2790352,1482889,1482415,2595076,1073749,33518,35576,8560,18140,2573747,2594708,1091475,12682,2790352,1482889,1482415,2595076,1076587,33518,35576,8560,17976,49494,55682,2846655,2846347,2843929,2840766,2843929,2840766,2843954,2840766,2841312],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","xDXQtI2vA5YySwpx7QFiwA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fSQ747oLNh0c0zFQjsVRWg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","yp8MidCGMe4czbl-NigsYQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2noK4QoWxdzASRHkjOFwVA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","xDXQtI2vA5YySwpx7QFiwAAAAAAAALuy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAHRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fSQ747oLNh0c0zFQjsVRWgAAAAAAALk2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAHRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","yp8MidCGMe4czbl-NigsYQAAAAAAAFOm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2noK4QoWxdzASRHkjOFwVAAAAAAAADGK","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAILu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4","J1eggTwSzYdi9OsSu1q37gAAAAAAACFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2Uy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1rg"],"type_ids":[3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3]},"XmiUdMqa5OViUnHQ_LS4Uw":{"address_or_lines":[61654,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,324,2578675,2599636,1091600,61890,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,324,2578675,2599636,1091600,27010,2795051,1483241,1482767,2600004,1079483,32208,46246,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,324,2578675,2599636,1091600,2254,2795776,1483241,1482767,2600004,1074397,35918,37976,10928,108,49494,29322,19187,41240,50348],"file_ids":["mfGJjedIJMvFXgX3QuTMfQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","9NWoah56eYULAP_zGE9Puw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","IKrIDHd5n47PpDQsRXxvvg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","oG7568kMJujZxPJfj7VMjA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["mfGJjedIJMvFXgX3QuTMfQAAAAAAAPDW","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","9NWoah56eYULAP_zGE9PuwAAAAAAAPHC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","IKrIDHd5n47PpDQsRXxvvgAAAAAAAGmC","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAALSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","oG7568kMJujZxPJfj7VMjAAAAAAAAAjO","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY","J1eggTwSzYdi9OsSu1q37gAAAAAAACqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs","p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAHKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMSs"],"type_ids":[1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"3odHGojcaqq4ImPnmLLSzw":{"address_or_lines":[1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,43246,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,17846,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1091600,13950,2795051,1483241,1482767,2600004,1079483,60880,9382,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,64590,1112,39600,28996,2578675,2599636,1079669,4762,1482046,1829360,2586225,2600004,1079669,34130,1480561,1941045,1970515,1481652,1480953,2600004,1069341,25906,23366,39420,41384,9542,10212,11330,8962,13084,1693331,1865533],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","HENgRXYeEs7mDD8Gk_MNmg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fFS0upy5lIaT99RhlTN5LQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","lSdGU4igLMOpLhL_6XP15w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","QAp_Nt6XUeNsCXnAUgW7Xg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","20O937106XMbOD0LQR4SPw","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","gPzb0fXoBe1225fbKepMRA","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","JrU1PwRIxl_8SXdnTESnog","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","HENgRXYeEs7mDD8Gk_MNmgAAAAAAAKju","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fFS0upy5lIaT99RhlTN5LQAAAAAAAEW2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","lSdGU4igLMOpLhL_6XP15wAAAAAAADZ-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAO3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAACSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY","J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","QAp_Nt6XUeNsCXnAUgW7XgAAAAAAABKa","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ3Zx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","20O937106XMbOD0LQR4SPwAAAAAAAIVS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpdx","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHZ41","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHhFT","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpu0","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpj5","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEFEd","gPzb0fXoBe1225fbKepMRAAAAAAAAGUy","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAJn8","_lF8o5tJDcePvza_IYtgSQAAAAAAAKGo","OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG","E2b-mzlh_8261-JxcySn-AAAAAAAACfk","E2b-mzlh_8261-JxcySn-AAAAAAAACxC","E2b-mzlh_8261-JxcySn-AAAAAAAACMC","JrU1PwRIxl_8SXdnTESnogAAAAAAADMc","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAGdaT","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHHc9"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3]},"bRKRM4i4-XY2LCfN18mOow":{"address_or_lines":[1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,32078,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,9638,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1091475,5742,2789627,1482889,1482415,2595076,1079485,25712,39782,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,29422,31480,4464,18140,2573747,2594708,1079144,37050,1481694,1828960,2581297,2595076,1079144,25922,1480209,1940645,1970099,1481300,1480601,2595076,1052274,41714,56134,54428,53864,42310,53828,54946,52578,59942,1429990,1365958,1365461],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","HENgRXYeEs7mDD8Gk_MNmg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","fFS0upy5lIaT99RhlTN5LQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","lSdGU4igLMOpLhL_6XP15w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","QAp_Nt6XUeNsCXnAUgW7Xg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","20O937106XMbOD0LQR4SPw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","gPzb0fXoBe1225fbKepMRA","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","OHQX9IWLaZElAgxGbX3P5g","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","E2b-mzlh_8261-JxcySn-A","JrU1PwRIxl_8SXdnTESnog","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","HENgRXYeEs7mDD8Gk_MNmgAAAAAAAH1O","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","fFS0upy5lIaT99RhlTN5LQAAAAAAACWm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","lSdGU4igLMOpLhL_6XP15wAAAAAAABZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAHLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4","J1eggTwSzYdi9OsSu1q37gAAAAAAABFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ2Mx","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHdo","20O937106XMbOD0LQR4SPwAAAAAAAGVC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpYR","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHZyl","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHg-z","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFppU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpeZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEA5y","gPzb0fXoBe1225fbKepMRAAAAAAAAKLy","jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAANSc","_lF8o5tJDcePvza_IYtgSQAAAAAAANJo","OHQX9IWLaZElAgxGbX3P5gAAAAAAAKVG","E2b-mzlh_8261-JxcySn-AAAAAAAANJE","E2b-mzlh_8261-JxcySn-AAAAAAAANai","E2b-mzlh_8261-JxcySn-AAAAAAAAM1i","JrU1PwRIxl_8SXdnTESnogAAAAAAAOom","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFdHm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFNfG","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFNXV"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3]},"W936jUeelyxTrQQ2V9mn-w":{"address_or_lines":[1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,59834,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,60574,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,64656,2790352,1482889,1482415,2595076,1079485,13038,14580,23398,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,13038,15096,53616,1756,2573747,2594708,1091475,42430,2790352,1482889,1482415,2595076,1076587,13038,15096,53616,1592,16726,47490,2846655,2846347,2843929,2840766,2843929,2840766,2843929,2840766,2840766,2842897,2268402,1775000,1761295,1048381],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zWCVT22bUHN0NWIQIBSuKg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","zj3hc8VBXxWxcbGVwJZYLA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","EHb2BWbkIivImSAfaUtw-A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-7Nhzq0bVRejx7IVqpbbZQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zWCVT22bUHN0NWIQIBSuKgAAAAAAAOm6","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","zj3hc8VBXxWxcbGVwJZYLAAAAAAAAOye","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","EHb2BWbkIivImSAfaUtw-AAAAAAAAPyQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","-7Nhzq0bVRejx7IVqpbbZQAAAAAAAKW-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAADLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4","J1eggTwSzYdi9OsSu1q37gAAAAAAANFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAALmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2ER","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAIpzy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGxWY","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAGuAP","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAD_89"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"AlH3zgnqwh5sdMMzX8AXxg":{"address_or_lines":[1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,52130,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,61558,2790352,1482889,1482415,2595076,1079485,25326,26868,35686,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,8770,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1091475,17970,2790352,1482889,1482415,2595076,1073749,25326,27384,368,1756,2573747,2594708,1066158,3868,39750,21660,21058,64084,29144,22318,29144,18030,1840882,1970521,2595076,1049850,1910],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Gxt7_MN7XgUOe9547JcHVQ"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAAMui","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0","eV_m28NnKeeTL60KO2H3SAAAAAAAAItm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAGLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEESu","MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc","_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHBby","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhFZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEAT6","Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2"],"type_ids":[3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,3,3,3,3,1]},"YHwQa4NMDpWa9cokfF0xqw":{"address_or_lines":[2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4420,2578675,2599636,1091600,35162,2795051,1483241,1482767,2600004,1079483,15824,29862,1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4420,2578675,2599636,1091600,62314,2795776,1483241,1482767,2600004,1079669,19534,21418,26368,41208,8202,42532,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,55198,34238,39164,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4420,2578675,2599636,1091600,55698,2795776,1483241,1482767,2600004,1074397,19534,21592,60080,4204,33110,33418,19187,41240,50763],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","2L4SW1rQgEVXRj3pZAI3nQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","Bd3XiVd_ucXTo7t4NwSjLA","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7bd6QJSfWZZfOOpDMHqLMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","p5XvqZgoydjTl8thPo5KGw","oR5jBuG11Az1rZkKaPBmAg","ASi9f26ltguiwFajNwOaZw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","2L4SW1rQgEVXRj3pZAI3nQAAAAAAAIla","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqYr","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q","eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAPNq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4","h0l-9tGi18mC40qpcJbyDwAAAAAAACAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAANee","TBeSzkyqIwKL8td602zDjAAAAAAAAIW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAANmS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAAExO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY","J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs","p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAIKK","ASi9f26ltguiwFajNwOaZwAAAAAAAErz","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMZL"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3]},"AlRn0MJA_RCD0pN2OpIRZA":{"address_or_lines":[1481694,1828960,2567559,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,11962,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,59882,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,31598,2790352,1482889,1482415,2595076,1073749,17134,19192,57712,1756,2573747,2594708,1091475,28926,2789627,1482889,1482415,2595076,1079485,13424,27494,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1076587,17134,19192,57712,1592,33110,51586,2846655,2846347,2843929,2840766,2843929,2840766,2843907,2841214,1439429,1865241,10489950,423063,2283967,2281521,8542303],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","GP7h96O0_ppGVtc-UpQQIQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","3HhVgGD2yvuFLpoZq7RfKw","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","uSWUCgHgLPG4OFtPdUp0rg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-BjW54fwMksXBor9R-YN9w","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","Npep8JfxWDWZ3roJSD7jPg","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","M_-aGo2vWhLu7lS5grLv9w","oR5jBuG11Az1rZkKaPBmAg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA","A2oiHVwisByxRn5RDT4LjA"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpve","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","GP7h96O0_ppGVtc-UpQQIQAAAAAAAC66","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","3HhVgGD2yvuFLpoZq7RfKwAAAAAAAOnq","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","uSWUCgHgLPG4OFtPdUp0rgAAAAAAAHtu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","-BjW54fwMksXBor9R-YN9wAAAAAAAHD-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpD7","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw","eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEG1r","ik6PIX946fW_erE7uBJlVQAAAAAAAELu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4","M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW","oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2-_","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK26L","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1i-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK2UD","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAK1p-","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFfbF","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHHYZ","A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe","A2oiHVwisByxRn5RDT4LjAAAAAAABnSX","A2oiHVwisByxRn5RDT4LjAAAAAAAItm_","A2oiHVwisByxRn5RDT4LjAAAAAAAItAx","A2oiHVwisByxRn5RDT4LjAAAAAAAglhf"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4]},"inhNt-Ftru1dLAPaXB98Gw":{"address_or_lines":[2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,8722,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,20598,2790352,1482889,1482415,2595076,1079485,62190,63732,7014,1479516,1828960,2567559,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,25154,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1091475,40098,2790352,1482889,1482415,2595076,1073749,62190,64248,37232,50908,2573747,2594708,1066158,25996,23366,46236,45634,23124,53720,46894,53720,46894,53720,46894,53720,42606,1840882,1970521,2594999,2587827],"file_ids":["-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","OlTvyWQFXjOweJcs3kiGyg","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","N2mxDWkAZe8CHgZMQpxZ7A","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","eV_m28NnKeeTL60KO2H3SA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","1eW8DnM19kiBGqMWGVkHPA","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","2kgk5qEgdkkSXT9cIdjqxQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","ik6PIX946fW_erE7uBJlVQ","r3Nzr2WeUwu3gjU4N-rWyA","J1eggTwSzYdi9OsSu1q37g","CNgPIV65Suq5GVbO7eJK7g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","MsEmysGbXhMvgdbwhcZDCg","jtp3NDFNJGnK6sK5oOFo8Q","7R-mHvx47pWvF_ng7rKpHw","_lF8o5tJDcePvza_IYtgSQ","TRd7r6mvdzYdjMdTtebtww","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","bgsqxCFBdtyNwHEAo-3p1w","5PnOjelHYJZ6ovJAXK5uiQ","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g","-Z7SlEXhuy5tL2BF-xmy3g"],"frame_ids":["-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","OlTvyWQFXjOweJcs3kiGygAAAAAAACIS","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEHi9","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0","eV_m28NnKeeTL60KO2H3SAAAAAAAABtm","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFpNc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAG-hg","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJy2H","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","1eW8DnM19kiBGqMWGVkHPAAAAAAAAGJC","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEKeT","2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAKpPQ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFqCJ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAFp6v","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5kE","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEGJV","ik6PIX946fW_erE7uBJlVQAAAAAAAPLu","r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4","J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw","CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ0Wz","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5eU","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAEESu","MsEmysGbXhMvgdbwhcZDCgAAAAAAAGWM","jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG","7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc","_lF8o5tJDcePvza_IYtgSQAAAAAAALJC","TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu","bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY","5PnOjelHYJZ6ovJAXK5uiQAAAAAAAKZu","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHBby","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAHhFZ","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ5i3","-Z7SlEXhuy5tL2BF-xmy3gAAAAAAJ3yz"],"type_ids":[3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"qaaAfLAUIerA8yhApFJRYQ":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,72,38,174,104,68,88,38,174,104,68,124,38,38,10,38,174,104,68,72,38,174,104,68,120,38,174,104,68,354,6,108,20,50,50,2970,50,2970,50,2970,50,684,1109029,956192],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qkYSh95E1urNTie_gKbr7w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","V8ldXm9NGXsJ182jEHEsUw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","xVaa0cBWNcFeS-8zFezQgA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","UBINlIxj95Sa_x2_k5IddA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gRRk0W_9P4SGZLXFJ5KU8Q","VIK6i3XoO6nxn9WkNabugA","SGPpASrxkViIc4Sq7x-WYQ","9xG1GRY3A4PQMfXDNvrOxQ","cbxfeE2AkqKne6oKUxdB6g","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","aEZUIXI_cV9kZCa4-U1NsQ","MebnOxK5WOhP29sl19Jefw","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qkYSh95E1urNTie_gKbr7wAAAAAAAABY","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAFi","VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG","SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs","9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU","cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAua","aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy","MebnOxK5WOhP29sl19JefwAAAAAAAAKs","G68hjsyagwq6LpWrMjDdngAAAAAAEOwl","G68hjsyagwq6LpWrMjDdngAAAAAADpcg"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3]},"cj3H8UtNXHeFFvSKCpbt_Q":{"address_or_lines":[1479868,1829360,2572487,2795776,1483241,1482767,2600004,1074397,7246,9304,47792,324,2578675,2599636,1091600,58218,2795776,1483241,1482767,2600004,1079669,7246,9130,14080,57592,61450,9764,1482046,1829983,2572841,1848805,1978934,1481919,1494280,2600004,1079669,22430,50622,6396,1482046,1829360,2572487,2795776,1483241,1482767,2600004,1074397,7246,9304,47792,324,2578675,2599636,1091600,51602,2795776,1483241,1482767,2600004,1074397,7246,9304,47792,324,2578675,2599636,1091600,62974,2795776,1483241,1482767,2600004,1079483,7246,9304,47608,55224,29888,17574,1479868,1829983,2783616,2800188,3063028,4240,5748,1213299,4101,76200,1213299,77886,46784,40082,38821],"file_ids":["xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","7bd6QJSfWZZfOOpDMHqLMA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","ZPxtkRXufuVf4tqV5k5k2Q","8R2Lkqe-tYqq-plJ22QNzA","h0l-9tGi18mC40qpcJbyDw","5EZV-eYYYtY-VAcSTmCvtg","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","705jmHYNd7I4Z4L4c0vfiA","TBeSzkyqIwKL8td602zDjA","NH3zvSjFAfTSy6bEocpNyQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","fj70ljef7nDHOqVJGSIoEQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","ywhwSu3fiEha0QwvHF6X9w","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","zo4mnjDJ1PlZka7jS9k2BA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","LEy-wm0GIvRoYVAga55Hiw","wdQNqQ99iFSdp4ceNJQKBg","J1eggTwSzYdi9OsSu1q37g","0S3htaCNkzxOYeavDR1GTQ","rBzW547V0L_mH4nnWK1FUQ","eV_m28NnKeeTL60KO2H3SA","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","xLxcEbwnZ5oNrk99ZsxcSQ","PVZV2uq5ZRt-FFaczL10BA","PVZV2uq5ZRt-FFaczL10BA","Z_CHd3Zjsh2cWE2NSdbiNQ","PVZV2uq5ZRt-FFaczL10BA","3nN3bymnZ8E42aLEtgglmA","Z_CHd3Zjsh2cWE2NSdbiNQ","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA","3nN3bymnZ8E42aLEtgglmA"],"frame_ids":["xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","7bd6QJSfWZZfOOpDMHqLMAAAAAAAAONq","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACOq","ZPxtkRXufuVf4tqV5k5k2QAAAAAAADcA","8R2Lkqe-tYqq-plJ22QNzAAAAAAAAOD4","h0l-9tGi18mC40qpcJbyDwAAAAAAAPAK","5EZV-eYYYtY-VAcSTmCvtgAAAAAAACYk","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0Ip","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHDXl","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAHjI2","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpy_","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFs0I","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHl1","705jmHYNd7I4Z4L4c0vfiAAAAAAAAFee","TBeSzkyqIwKL8td602zDjAAAAAAAAMW-","NH3zvSjFAfTSy6bEocpNyQAAAAAAABj8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFp0-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-nw","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ0DH","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","fj70ljef7nDHOqVJGSIoEQAAAAAAAMmS","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEGTd","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALqw","ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ1jz","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6rU","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEKgQ","zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPX-","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKqkA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqHp","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFqAP","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAJ6xE","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAEHi7","LEy-wm0GIvRoYVAga55HiwAAAAAAABxO","wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY","J1eggTwSzYdi9OsSu1q37gAAAAAAALn4","0S3htaCNkzxOYeavDR1GTQAAAAAAANe4","rBzW547V0L_mH4nnWK1FUQAAAAAAAHTA","eV_m28NnKeeTL60KO2H3SAAAAAAAAESm","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAFpS8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAG-xf","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKnmA","xLxcEbwnZ5oNrk99ZsxcSQAAAAAAKro8","xLxcEbwnZ5oNrk99ZsxcSQAAAAAALrz0","PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ","PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF","3nN3bymnZ8E42aLEtgglmAAAAAAAASmo","Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz","3nN3bymnZ8E42aLEtgglmAAAAAAAATA-","3nN3bymnZ8E42aLEtgglmAAAAAAAALbA","3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS","3nN3bymnZ8E42aLEtgglmAAAAAAAAJel"],"type_ids":[3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,3,3,3,1,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]},"XT5dbBR70HCMmAkhladaCQ":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,228,38,174,104,68,4,38,174,104,68,92,38,174,104,68,8,38,174,104,68,44,38,38,10,38,174,104,68,4,38,174,104,68,40,38,174,104,68,68,38,38,10,38,174,104,68,4,38,174,104,14,32,166,1090933,19429,42789,49059],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qordvIiilnF7CmkWCAd7eA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iWpqwwcHV8E8OOnqGCYj9g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M61AJsljWf0TM7wD6IJVZw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ED3bhsHkhBwZ5ynmMnkPRA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","cZ-wyq9rmPl5QnqP0Smp6Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","GLV-c6bk0E-nhaaCp6u20w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","c_1Yb4rio2EAH6C9SFwQog","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","O4ILxZswquMzuET9RRf5QA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","EX9l-cE0x8X9W8uz4iKUfw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qordvIiilnF7CmkWCAd7eAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ED3bhsHkhBwZ5ynmMnkPRAAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","cZ-wyq9rmPl5QnqP0Smp6QAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","GLV-c6bk0E-nhaaCp6u20wAAAAAAAAAo","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","c_1Yb4rio2EAH6C9SFwQogAAAAAAAABE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","O4ILxZswquMzuET9RRf5QAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","EX9l-cE0x8X9W8uz4iKUfwAAAAAAAEvl","jaBVtokSUzfS97d-XKjijgAAAAAAAKcl","jaBVtokSUzfS97d-XKjijgAAAAAAAL-j"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3]},"Kfnso_5TQwyEGb1cfr-n5A":{"address_or_lines":[48,38,174,104,68,500,38,174,104,68,28,38,174,104,68,44,38,38,10,38,174,104,68,8,38,174,104,68,4,38,174,104,68,212,38,174,104,68,228,38,174,104,68,4,38,174,104,68,92,38,174,104,68,8,38,174,104,68,44,38,38,10,38,174,104,68,4,38,174,104,68,64,38,174,104,68,40,38,174,104,68,48,38,174,104,14,32,166,1090933,19429,41240,51098,10490014,423687,2280415,2277754,2506475,2411027,2395201],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","gZNrskHHFmNkCQ_HaCv8sA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","LUEJ1TSRGwRkHbcAyZ3RuQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","9h_0PKFtQeN0f7xWevHlTQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","nIG-LJ6Pj1PzNMyyppUoqg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ApbUUYSZlAYucbB88oZaGw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","bAXCoU3-CU0WlRxl5l1tmw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","qordvIiilnF7CmkWCAd7eA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","iWpqwwcHV8E8OOnqGCYj9g","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","M61AJsljWf0TM7wD6IJVZw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","ED3bhsHkhBwZ5ynmMnkPRA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","cZ-wyq9rmPl5QnqP0Smp6Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","GLV-c6bk0E-nhaaCp6u20w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rJZ4aC9w8bMvzrC0ApyIjg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","TC9v9fO0nTP4oypYCgB_1Q","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","NNy6Y3cHKuqblVbtSVjWfw","coeZ_4yf5sOePIKKlm8FNQ","G68hjsyagwq6LpWrMjDdng","EX9l-cE0x8X9W8uz4iKUfw","jaBVtokSUzfS97d-XKjijg","jaBVtokSUzfS97d-XKjijg","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw","piWSMQrh4r040D0BPNaJvw"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ApbUUYSZlAYucbB88oZaGwAAAAAAAADU","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","qordvIiilnF7CmkWCAd7eAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","ED3bhsHkhBwZ5ynmMnkPRAAAAAAAAAAs","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","cZ-wyq9rmPl5QnqP0Smp6QAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","GLV-c6bk0E-nhaaCp6u20wAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rJZ4aC9w8bMvzrC0ApyIjgAAAAAAAAAo","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","TC9v9fO0nTP4oypYCgB_1QAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO","NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg","coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","EX9l-cE0x8X9W8uz4iKUfwAAAAAAAEvl","jaBVtokSUzfS97d-XKjijgAAAAAAAKEY","jaBVtokSUzfS97d-XKjijgAAAAAAAMea","piWSMQrh4r040D0BPNaJvwAAAAAAoBCe","piWSMQrh4r040D0BPNaJvwAAAAAABncH","piWSMQrh4r040D0BPNaJvwAAAAAAIsvf","piWSMQrh4r040D0BPNaJvwAAAAAAIsF6","piWSMQrh4r040D0BPNaJvwAAAAAAJj7r","piWSMQrh4r040D0BPNaJvwAAAAAAJMoT","piWSMQrh4r040D0BPNaJvwAAAAAAJIxB"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,4,4,4,4,4,4,4]},"O3_UY4IxBGbcnXlHSqWz_w":{"address_or_lines":[48,38,174,104,68,60,38,174,104,68,64,38,174,104,68,20,140,10,38,174,104,68,28,38,38,10,38,174,104,68,12,38,174,104,68,4,38,174,104,68,12,38,174,104,68,156,38,174,104,68,48,140,10,38,174,104,68,16,38,138,138,16,100,12,4,6,4,38,174,104,68,8,38,174,104,68,32,38,174,104,68,24,140,10,38,174,104,68,210,1090933,1814182,788459,788130,1197048,1243927,788130,1197115,1198576,1948785,1941513],"file_ids":["a5aMcPOeWx28QSVng73nBQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","79pMuEW6_o55K0jHDJ-2dQ","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","mHiYHSEggclUi1ELZIxq4A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","_GLtmpX5QFDXCzO6KY35mA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","CF4TEudhKTIdEsoPP0l9iw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","5t_H28X3eSBfyQs-F2v7cA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","z0g3aE3w1Ik-suUArUsniA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","1VzILo0_Ivjn6dWL8BqT1A","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","rTTtzMEIQRrn8RDFEbl1zw","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","zjk1GYHhesH1oTuILj3ToA","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","r63cbyeLjspI6IMVvcBjIg","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","JaHOMfnX0DG4ZnNTpPORVA","MepUYc0jU0AjPrrjuvTgGg","yWt46REABLfKH6PXLAE18A","VQs3Erq77xz92EfpT8sTKw","n7IiY_TlCWEfi47-QpeCLw","Ua3frjTXWBuWpTsQD8aKeA","GtyMRLq4aaDvuQ4C3N95mA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","clFhkTaiph2aOjCNuZDWKA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","DLEY7W0VXWLE5Ol-plW-_w","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","RY-vzTa9LfseI7kmcIcbgQ","fiyOjJSGn-Eja0GP7-aFCg","zP58DjIs7uq1cghmzykyNA","OSzao_jV2aCbdBGfMYY-XA","-pUZ8YYbKKOu4w9rcMsXSw","XnUkhGmJNwiHTUPaIuILqg","4ES22TXzFLCEFBoqI_YoOg","-gq3a70QOgdn9HetYyf2Og","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng","G68hjsyagwq6LpWrMjDdng"],"frame_ids":["a5aMcPOeWx28QSVng73nBQAAAAAAAAAw","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","mHiYHSEggclUi1ELZIxq4AAAAAAAAABA","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK","JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK","MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ","yWt46REABLfKH6PXLAE18AAAAAAAAABk","VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM","n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE","Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG","GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY","fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM","zP58DjIs7uq1cghmzykyNAAAAAAAAAAK","OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm","-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu","XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo","4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE","-gq3a70QOgdn9HetYyf2OgAAAAAAAADS","G68hjsyagwq6LpWrMjDdngAAAAAAEKV1","G68hjsyagwq6LpWrMjDdngAAAAAAG66m","G68hjsyagwq6LpWrMjDdngAAAAAADAfr","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkP4","G68hjsyagwq6LpWrMjDdngAAAAAAEvsX","G68hjsyagwq6LpWrMjDdngAAAAAADAai","G68hjsyagwq6LpWrMjDdngAAAAAAEkQ7","G68hjsyagwq6LpWrMjDdngAAAAAAEknw","G68hjsyagwq6LpWrMjDdngAAAAAAHbxx","G68hjsyagwq6LpWrMjDdngAAAAAAHaAJ"],"type_ids":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3]}},"stack_frames":{"piWSMQrh4r040D0BPNaJvwAAAAAAoAJU":{"file_name":[],"function_name":["ret_from_fork"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAACtfS":{"file_name":[],"function_name":["kthread"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAEFgJ":{"file_name":[],"function_name":["rcu_gp_kthread"],"function_offset":[],"line_number":[]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAAhE5":{"file_name":["../csu/libc-start.c"],"function_name":["__libc_start_main"],"function_offset":[],"line_number":[308]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAZVI":{"file_name":["libmount/src/tab_parse.c"],"function_name":["__mnt_table_parse_mtab"],"function_offset":[],"line_number":[1102]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAY-W":{"file_name":["libmount/src/tab_parse.c"],"function_name":["mnt_table_parse_file"],"function_offset":[],"line_number":[707]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAYhK":{"file_name":["libmount/src/tab_parse.c","libmount/src/tab_parse.c","libmount/src/tab_parse.c"],"function_name":["mnt_table_parse_stream","mnt_table_parse_next","mnt_parse_mountinfo_line"],"function_offset":[],"line_number":[643,506,215]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAO6N":{"file_name":["libmount/src/fs.c","libmount/src/fs.c"],"function_name":["mnt_fs_strdup_options","merge_optstr"],"function_offset":[],"line_number":[751,715]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAASUz":{"file_name":["libmount/src/optstr.c"],"function_name":["mnt_optstr_remove_option"],"function_offset":[],"line_number":[490]},"OTWX4UsOVMrSIF5cD4zUzgAAAAAAAR50":{"file_name":["libmount/src/optstr.c"],"function_name":["mnt_optstr_locate_option"],"function_offset":[],"line_number":[122]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2w1":{"file_name":[],"function_name":["__x64_sys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2uM":{"file_name":[],"function_name":["ksys_getdents64"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK1v8":{"file_name":[],"function_name":["iterate_dir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMuWZ":{"file_name":[],"function_name":["proc_pid_readdir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMrzu":{"file_name":[],"function_name":["next_tgid"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAACq1j":{"file_name":[],"function_name":["pid_nr_ns"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKl_w":{"file_name":[],"function_name":["__do_sys_newfstatat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKlki":{"file_name":[],"function_name":["vfs_statx"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKyG1":{"file_name":[],"function_name":["filename_lookup"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKt7k":{"file_name":[],"function_name":["path_lookupat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKtt7":{"file_name":[],"function_name":["link_path_walk.part.33"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKta7":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK7NA":{"file_name":[],"function_name":["dput"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg_g":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgzs":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeLa":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnjq":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePOo":{"file_name":[],"function_name":["unix_stream_sendmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7HT":{"file_name":[],"function_name":["skb_copy_datagram_from_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAASk0o":{"file_name":[],"function_name":["copy_page_from_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAShZh":{"file_name":[],"function_name":["copyin"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgUld":{"file_name":[],"function_name":["copy_user_enhanced_fast_string"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKg7A":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKgtY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKeEz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAePFy":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeOpA":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAeMVZ":{"file_name":[],"function_name":["unix_stream_read_actor"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7u6":{"file_name":[],"function_name":["skb_copy_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7kW":{"file_name":[],"function_name":["__skb_datagram_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAZ7iE":{"file_name":[],"function_name":["simple_copy_to_iter"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKZiW":{"file_name":[],"function_name":["__check_object_size"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALJ7H":{"file_name":[],"function_name":["seq_read"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMqWN":{"file_name":[],"function_name":["proc_single_show"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAMprm":{"file_name":[],"function_name":["proc_pid_limits"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALJVd":{"file_name":[],"function_name":["seq_printf"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAALJTv":{"file_name":[],"function_name":["seq_vprintf"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgQON":{"file_name":[],"function_name":["vsnprintf"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAgWrH":{"file_name":[],"function_name":["memcpy_erms"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqah":{"file_name":[],"function_name":["__x64_sys_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqYM":{"file_name":[],"function_name":["do_pipe2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqU7":{"file_name":[],"function_name":["__do_pipe_flags"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKqSa":{"file_name":[],"function_name":["create_pipe_files"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKh1i":{"file_name":[],"function_name":["alloc_file_clone"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKhts":{"file_name":[],"function_name":["alloc_file"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKhqi":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKhaJ":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwdF":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAAEFn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKcUM":{"file_name":[],"function_name":["do_sys_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKxcK":{"file_name":[],"function_name":["do_filp_open"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKu55":{"file_name":[],"function_name":["path_openat"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKg3y":{"file_name":[],"function_name":["alloc_empty_file"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgnZ":{"file_name":[],"function_name":["__alloc_file"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJvxU":{"file_name":[],"function_name":["kmem_cache_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJvpt":{"file_name":[],"function_name":["__slab_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJvhM":{"file_name":[],"function_name":["___slab_alloc"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJu2y":{"file_name":[],"function_name":["new_slab"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJMoT":{"file_name":[],"function_name":["__alloc_pages_nodemask"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJIkv":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoACj":{"file_name":[],"function_name":["entry_SYSCALL_64_after_hwframe"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAAEGn":{"file_name":[],"function_name":["do_syscall_64"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKg_Q":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxC":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAQFQm":{"file_name":[],"function_name":["security_file_permission"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKgxo":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAKeJD":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmg3":{"file_name":[],"function_name":["xfs_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAOmdC":{"file_name":[],"function_name":["xfs_file_buffered_aio_read"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAH0j-":{"file_name":[],"function_name":["generic_file_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAASkft":{"file_name":[],"function_name":["copy_page_to_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAShdv":{"file_name":[],"function_name":["copyout"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgAA":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKfyY":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKdJz":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAd-3C":{"file_name":[],"function_name":["unix_stream_recvmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAd-tk":{"file_name":[],"function_name":["unix_stream_read_generic"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZlea":{"file_name":[],"function_name":["consume_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZltq":{"file_name":[],"function_name":["skb_release_data"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJHy1":{"file_name":[],"function_name":["free_unref_page"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJFUJ":{"file_name":[],"function_name":["free_unref_page_prepare.part.71"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKgyw":{"file_name":[],"function_name":["ksys_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKglI":{"file_name":[],"function_name":["vfs_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAKd8j":{"file_name":[],"function_name":["new_sync_read"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZmbb":{"file_name":[],"function_name":["sock_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAQGQD":{"file_name":[],"function_name":["security_socket_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdME8":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXT4":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcn3R":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcXqg":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJu6z":{"file_name":[],"function_name":["kmem_cache_free"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJuT8":{"file_name":[],"function_name":["__slab_free"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcpNe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAZy0m":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAJwxK":{"file_name":[],"function_name":["kmem_cache_alloc_node"],"function_offset":[],"line_number":[]},"N4ILulabOfF5MnyRJbvDXwAAAAAAEHzT":{"file_name":["/usr/src/debug/Python-2.7.18/Modules/main.c"],"function_name":["Py_Main"],"function_offset":[],"line_number":[645]},"N4ILulabOfF5MnyRJbvDXwAAAAAAD20Q":{"file_name":["/usr/src/debug/Python-2.7.18/Python/pythonrun.c"],"function_name":["PyRun_SimpleFileExFlags"],"function_offset":[],"line_number":[957]},"N4ILulabOfF5MnyRJbvDXwAAAAAAD1xx":{"file_name":["/usr/src/debug/Python-2.7.18/Python/pythonrun.c"],"function_name":["PyRun_FileExFlags"],"function_offset":[],"line_number":[1371]},"N4ILulabOfF5MnyRJbvDXwAAAAAAD0wq":{"file_name":["/usr/src/debug/Python-2.7.18/Python/pythonrun.c"],"function_name":["run_mod"],"function_offset":[],"line_number":[1385]},"N4ILulabOfF5MnyRJbvDXwAAAAAADdJo":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalCode"],"function_offset":[],"line_number":[691]},"N4ILulabOfF5MnyRJbvDXwAAAAAADdBO":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalCodeEx"],"function_offset":[],"line_number":[3685]},"N4ILulabOfF5MnyRJbvDXwAAAAAADaC9":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","call_function","fast_function"],"function_offset":[],"line_number":[3087,4473,4548]},"N4ILulabOfF5MnyRJbvDXwAAAAAADaoW":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","call_function","fast_function"],"function_offset":[],"line_number":[3087,4473,4538]},"N4ILulabOfF5MnyRJbvDXwAAAAAADYlW":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","ext_do_call"],"function_offset":[],"line_number":[3126,4767]},"N4ILulabOfF5MnyRJbvDXwAAAAAABLuy":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/abstract.c"],"function_name":["PyObject_Call"],"function_offset":[],"line_number":[2544]},"N4ILulabOfF5MnyRJbvDXwAAAAAABtnu":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/funcobject.c"],"function_name":["function_call"],"function_offset":[],"line_number":[523]},"N4ILulabOfF5MnyRJbvDXwAAAAAADYFz":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c","/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx","call_function","do_call"],"function_offset":[],"line_number":[3087,4475,4670]},"N4ILulabOfF5MnyRJbvDXwAAAAAACasJ":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/typeobject.c"],"function_name":["type_call"],"function_offset":[],"line_number":[765]},"N4ILulabOfF5MnyRJbvDXwAAAAAACd8S":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/typeobject.c"],"function_name":["slot_tp_init"],"function_offset":[],"line_number":[5869]},"N4ILulabOfF5MnyRJbvDXwAAAAAABZYn":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/classobject.c"],"function_name":["instancemethod_call"],"function_offset":[],"line_number":[2600]},"N4ILulabOfF5MnyRJbvDXwAAAAAABtkY":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/funcobject.c"],"function_name":["function_call"],"function_offset":[],"line_number":[523]},"N4ILulabOfF5MnyRJbvDXwAAAAAADV_P":{"file_name":["/usr/src/debug/Python-2.7.18/Python/ceval.c"],"function_name":["PyEval_EvalFrameEx"],"function_offset":[],"line_number":[1629]},"N4ILulabOfF5MnyRJbvDXwAAAAAAB9cG":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/dictobject.c"],"function_name":["dict_subscript"],"function_offset":[],"line_number":[1261]},"N4ILulabOfF5MnyRJbvDXwAAAAAAB7wG":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/dictobject.c"],"function_name":["lookdict"],"function_offset":[],"line_number":[351]},"N4ILulabOfF5MnyRJbvDXwAAAAAACDtP":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/object.c"],"function_name":["PyObject_RichCompareBool"],"function_offset":[],"line_number":[1009]},"N4ILulabOfF5MnyRJbvDXwAAAAAACDr6":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/object.c","/usr/src/debug/Python-2.7.18/Objects/object.c","/usr/src/debug/Python-2.7.18/Objects/object.c"],"function_name":["PyObject_RichCompare","do_richcmp","try_3way_to_rich_compare"],"function_offset":[],"line_number":[987,940,921]},"N4ILulabOfF5MnyRJbvDXwAAAAAACByz":{"file_name":["/usr/src/debug/Python-2.7.18/Objects/object.c"],"function_name":["convert_3way_to_object"],"function_offset":[],"line_number":[881]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZnfB":{"file_name":[],"function_name":["sock_read_iter"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAdNQM":{"file_name":[],"function_name":["inet_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcYcI":{"file_name":[],"function_name":["tcp_recvmsg"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcqWe":{"file_name":[],"function_name":["__tcp_send_ack.part.47"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZz1R":{"file_name":[],"function_name":["__alloc_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAZyV9":{"file_name":[],"function_name":["__kmalloc_reserve.isra.57"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAJ0bR":{"file_name":[],"function_name":["__kmalloc_node_track_caller"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAIdpk":{"file_name":[],"function_name":["kmalloc_slab"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcpF4":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNCx":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcNYI":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAcK1g":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaM05":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAAaMRj":{"file_name":[],"function_name":["validate_xmit_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAoA6J":{"file_name":[],"function_name":["do_softirq_own_stack"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAwADc":{"file_name":[],"function_name":["__softirqentry_text_start"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaPZZ":{"file_name":[],"function_name":["net_rx_action"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNu-":{"file_name":[],"function_name":["process_backlog"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaNlU":{"file_name":[],"function_name":["__netif_receive_skb_one_core"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcGcb":{"file_name":[],"function_name":["ip_rcv"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcF0h":{"file_name":[],"function_name":["ip_rcv_finish"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcFmf":{"file_name":[],"function_name":["ip_rcv_finish_core.isra.16"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcDij":{"file_name":[],"function_name":["ip_route_input_noref"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcDcq":{"file_name":[],"function_name":["ip_route_input_rcu"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcDJ4":{"file_name":[],"function_name":["ip_route_input_slow"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdks6":{"file_name":[],"function_name":["__fib_lookup"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbDwa":{"file_name":[],"function_name":["fib_rules_lookup"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdk6y":{"file_name":[],"function_name":["fib4_rule_action"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAdZvh":{"file_name":[],"function_name":["fib_table_lookup"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAFci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAABEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAM8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAALw8":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAADhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAE3-":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"GdaBUD9IUEkKxIBryNqV2wAAAAAAAJtO":{"file_name":["clidriver.py"],"function_name":["create_parser"],"function_offset":[4],"line_number":[635]},"QU8QLoFK6ojrywKrBFfTzAAAAAAAACqM":{"file_name":["clidriver.py"],"function_name":["_get_command_table"],"function_offset":[3],"line_number":[580]},"V558DAsp4yi8bwa8eYwk5QAAAAAAAG60":{"file_name":["clidriver.py"],"function_name":["_create_command_table"],"function_offset":[18],"line_number":[615]},"tuTnMBfyc9UiPsI0QyvErAAAAAAAANis":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[700]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAPlS":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAAPvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"cHp4MwXaY5FCuFRuAA6tWwAAAAAAAOx8":{"file_name":["waiters.py"],"function_name":["add_waiters"],"function_offset":[11],"line_number":[36]},"-9oyoP4Jj2iRkwEezqId-gAAAAAAAFMc":{"file_name":["waiters.py"],"function_name":["get_waiter_model_from_service_model"],"function_offset":[5],"line_number":[48]},"3FRCbvQLPuJyn2B-2wELGwAAAAAAAJK8":{"file_name":["session.py"],"function_name":["get_waiter_model"],"function_offset":[4],"line_number":[527]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAHeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAANQg":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAABvY":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAAOAI":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcn84":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcL7B":{"file_name":[],"function_name":["__ip_queue_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcMQY":{"file_name":[],"function_name":["ip_output"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAcJtw":{"file_name":[],"function_name":["ip_finish_output2"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaMAz":{"file_name":[],"function_name":["__dev_queue_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaLaf":{"file_name":[],"function_name":["dev_hard_start_xmit"],"function_offset":[],"line_number":[]},"aUXpdArtZf510BJKvwiFDwAAAAAAAAok":{"file_name":[],"function_name":["veth_xmit"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAaGr1":{"file_name":[],"function_name":["__dev_forward_skb"],"function_offset":[],"line_number":[]},"9LzzIocepYcOjnUsLlgOjgAAAAAAbgzT":{"file_name":[],"function_name":["eth_type_trans"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAi0":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAABci":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAANEM":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAI8S":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHGc":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAPhg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAEeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAA58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAABTm":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAACzA":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"ktj-IOmkEpvZJouiJkQjTgAAAAAAAEYa":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[117],"line_number":[854]},"O_h7elJSxPO7SiCsftYRZgAAAAAAAPSm":{"file_name":["client.py"],"function_name":["create_client"],"function_offset":[52],"line_number":[142]},"_s_-RvH9Io2qUzM6f5JLGgAAAAAAAGfw":{"file_name":["client.py"],"function_name":["_create_client_class"],"function_offset":[12],"line_number":[160]},"8UGQaqEhTX9IIJEQCXnRsQAAAAAAAG5o":{"file_name":["client.py"],"function_name":["_create_methods"],"function_offset":[5],"line_number":[319]},"jn4X0YIYIsTeszwLEaje9gAAAAAAACEE":{"file_name":["client.py"],"function_name":["_create_api_method"],"function_offset":[25],"line_number":[356]},"TesF2I_BvQoOuJH9P_M2mAAAAAAAAGk-":{"file_name":["docstring.py"],"function_name":["__init__"],"function_offset":[9],"line_number":[36]},"ew01Dk0sWZctP-VaEpavqQAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAABnNL":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"ew01Dk0sWZctP-VaEpavqQAAAAAADkzO":{"file_name":[],"function_name":["down_read_trylock"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAAGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAIQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAAJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAMsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAABbM":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAACrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAADAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAAdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAJQW":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"ne8F__HPIVgxgycJADVSzAAAAAAAAB9A":{"file_name":["clidriver.py"],"function_name":["invoke"],"function_offset":[29],"line_number":[930]},"CwUjPVV5_7q7c0GhtW0aPwAAAAAAALcE":{"file_name":["session.py"],"function_name":["create_client"],"function_offset":[112],"line_number":[848]},"okehWevKsEA4q6dk779jgwAAAAAAAH1M":{"file_name":["session.py"],"function_name":["get_credentials"],"function_offset":[12],"line_number":[445]},"-IuadWGT89NVzIyF_EmodwAAAAAAAMKw":{"file_name":["credentials.py"],"function_name":["load_credentials"],"function_offset":[18],"line_number":[1953]},"XXJY7v4esGWnaxtMW3FA0gAAAAAAAJ08":{"file_name":["credentials.py"],"function_name":["load"],"function_offset":[18],"line_number":[1009]},"FbrXdcA4j750RyQ3q9JXMwAAAAAAAIKa":{"file_name":["utils.py"],"function_name":["retrieve_iam_role_credentials"],"function_offset":[30],"line_number":[517]},"pL34QuyxyP6XYzGDBMK_5wAAAAAAAH_a":{"file_name":["utils.py"],"function_name":["_get_iam_role"],"function_offset":[1],"line_number":[524]},"IoAk4kM-M4DsDPp7ia5QXwAAAAAAAKvK":{"file_name":["utils.py"],"function_name":["_get_request"],"function_offset":[32],"line_number":[435]},"uHLoBslr3h6S7ooNeXzEbwAAAAAAAJQ8":{"file_name":["httpsession.py"],"function_name":["send"],"function_offset":[56],"line_number":[487]},"iRoTPXvR_cRsnzDO-aurpQAAAAAAAHbc":{"file_name":["connectionpool.py"],"function_name":["urlopen"],"function_offset":[361],"line_number":[894]},"fB79lJck2X90l-j7VqPR-QAAAAAAAGc8":{"file_name":["connectionpool.py"],"function_name":["_make_request"],"function_offset":[116],"line_number":[494]},"gbMheDI1NZ3NY96J0seddgAAAAAAAEuq":{"file_name":["client.py"],"function_name":["getresponse"],"function_offset":[58],"line_number":[1389]},"GquRfhZBLBKr9rIBPuH3nAAAAAAAAE4w":{"file_name":["client.py"],"function_name":["__init__"],"function_offset":[28],"line_number":[276]},"_DA_LSFNMjbu9L2DcselpwAAAAAAAJFI":{"file_name":["socket.py"],"function_name":["makefile"],"function_offset":[40],"line_number":[343]},"8EY5iPD5-FtlXFBTyb6lkwAAAAAAAPtm":{"file_name":["pyi_rth_pkgutil.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"ik6PIX946fW_erE7uBJlVQAAAAAAAILu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAIr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"dCCKy6JoX0PADOFic8hRNQAAAAAAAO-w":{"file_name":["pkgutil.py"],"function_name":[""],"function_offset":[315],"line_number":[316]},"9w9lF96vJW7ZhBoZ8ETsBwAAAAAAAEgm":{"file_name":["functools.py"],"function_name":["register"],"function_offset":[50],"line_number":[902]},"xUQuo4OgBaS_Le-fdAwt8AAAAAAAAEDw":{"file_name":["functools.py"],"function_name":["_is_union_type"],"function_offset":[2],"line_number":[843]},"zkPjzY2Et3KehkHOcSphkAAAAAAAADpY":{"file_name":["typing.py"],"function_name":[""],"function_offset":[2084],"line_number":[2085]},"mBpjyQvq6ftE7Wm1BUpcFgAAAAAAABhk":{"file_name":["abc.py"],"function_name":["__new__"],"function_offset":[3],"line_number":[108]},"a5aMcPOeWx28QSVng73nBQAAAAAAAAAw":{"file_name":["aws"],"function_name":[""],"function_offset":[5],"line_number":[19]},"OSzao_jV2aCbdBGfMYY-XAAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[5],"line_number":[1007]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[19],"line_number":[986]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAABo":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[21],"line_number":[680]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAABE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[499]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAH0":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[49],"line_number":[62]},"gZNrskHHFmNkCQ_HaCv8sAAAAAAAAAAc":{"file_name":["core.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"LUEJ1TSRGwRkHbcAyZ3RuQAAAAAAAAAs":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[5],"line_number":[18]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAAAm":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[5],"line_number":[972]},"zP58DjIs7uq1cghmzykyNAAAAAAAAAAK":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[228]},"9h_0PKFtQeN0f7xWevHlTQAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"nIG-LJ6Pj1PzNMyyppUoqgAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAM4":{"file_name":["application.py"],"function_name":[""],"function_offset":[114],"line_number":[115]},"IlUL618nbeW5Kz4uyGZLrQAAAAAAAAB0":{"file_name":["application.py"],"function_name":["Application"],"function_offset":[91],"line_number":[206]},"U7DZUwH_4YU5DSkoQhGJWwAAAAAAAAAM":{"file_name":["typing.py"],"function_name":["inner"],"function_offset":[3],"line_number":[274]},"bmb3nSRfimrjfhanpjR1rQAAAAAAAAAI":{"file_name":["typing.py"],"function_name":["__getitem__"],"function_offset":[2],"line_number":[354]},"oN7OWDJeuc8DmI2f_earDQAAAAAAAAA2":{"file_name":["typing.py"],"function_name":["Union"],"function_offset":[32],"line_number":[466]},"Yj7P3-Rt3nirG6apRl4A7AAAAAAAAAAM":{"file_name":["typing.py"],"function_name":[""],"function_offset":[0],"line_number":[466]},"pz3Evn9laHNJFMwOKIXbswAAAAAAAAAu":{"file_name":["typing.py"],"function_name":["_type_check"],"function_offset":[18],"line_number":[155]},"7aaw2O1Vn7-6eR8XuUWQZQAAAAAAAAAW":{"file_name":["typing.py"],"function_name":["_type_convert"],"function_offset":[4],"line_number":[132]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAIGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAAQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAIJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAEsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAIHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAA10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAACs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAACXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAOLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAIFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAIbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAMKO":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"SD7uzoegJjRT3jYNpuQ5wQAAAAAAAPBK":{"file_name":["configure.py"],"function_name":[""],"function_offset":[56],"line_number":[57]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAOpK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"lOUbi56SanKTCh9Y7fIwDwAAAAAAAP2g":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1099]},"n74P5OxFm1hAo5ZWtgcKHQAAAAAAAHGe":{"file_name":["__init__.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[93]},"zXbqXCWr0lCbi_b24hNBRQAAAAAAAFJe":{"file_name":["pyimod02_importers.py"],"function_name":["find_spec"],"function_offset":[87],"line_number":[302]},"piWSMQrh4r040D0BPNaJvwAAAAAAKgEg":{"file_name":[],"function_name":["ksys_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKf4s":{"file_name":[],"function_name":["vfs_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAKdQa":{"file_name":[],"function_name":["new_sync_write"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXmG":{"file_name":[],"function_name":["sock_write_iter"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAZXjj":{"file_name":[],"function_name":["sock_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcK5W":{"file_name":[],"function_name":["tcp_sendmsg"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcKWq":{"file_name":[],"function_name":["tcp_sendmsg_locked"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcbOh":{"file_name":[],"function_name":["__tcp_push_pending_frames"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcaTc":{"file_name":[],"function_name":["tcp_write_xmit"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcYo_":{"file_name":[],"function_name":["__tcp_transmit_skb"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAcYWv":{"file_name":[],"function_name":["__tcp_select_window"],"function_offset":[],"line_number":[]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAEQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAIVW":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAJHc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAE10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAGXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"ik6PIX946fW_erE7uBJlVQAAAAAAAHLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAANLe":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"uo8E5My6tupMEt-pfV-uhAAAAAAAAKIu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAEY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAGkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAAAE":{"file_name":["application.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"ZBnr-5IlLVGCdkX_lTNKmwAAAAAAAABY":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"4ES22TXzFLCEFBoqI_YoOgAAAAAAAAAO":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[13],"line_number":[482]},"NNy6Y3cHKuqblVbtSVjWfwAAAAAAAAAg":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[14],"line_number":[298]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAAC-":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[18],"line_number":[304]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAFpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAKDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAEn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAHYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"6WJ6x4R10ox82_e3Ea4eiAAAAAAAAKXw":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[10],"line_number":[78]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAAxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAABRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAKqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAHLq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"l97YFeEKpeLfa-lEAZVNcAAAAAAAAOZu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAABBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAAFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAILi":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAEGc":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAABeq":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAE58":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAOEK":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAOys":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAJUK":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAM1M":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAADlS":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"rTFMSHhLRlj86vHPR06zoQAAAAAAAL4m":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAGTS":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"-T5rZCijT5TDJjmoEi8KxgAAAAAAAJP8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[533]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAALeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAB1w":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAHKK":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAMT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAANF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAI10":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAAKs0":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"ik6PIX946fW_erE7uBJlVQAAAAAAANLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAANr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAHFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAA1i":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"ynoRUNDFNh_CC1ViETMulAAAAAAAABSW":{"file_name":["subscribe.py"],"function_name":[""],"function_offset":[150],"line_number":[151]},"fxzD8soKl4etJ4L6nJl81gAAAAAAAHBe":{"file_name":["utils.py"],"function_name":[""],"function_offset":[584],"line_number":[585]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAFtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAHSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAHJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAABpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAJHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFoc":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAEpm":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAJDc":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"Af6E3BeG383JVVbu67NJ0QAAAAAAAAn0":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[33],"line_number":[58]},"xwuAPHgc12-8PZB3i-320gAAAAAAADYk":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[2],"line_number":[63]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAMxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAANRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAGqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAAFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"BrhWuphS0ZH9x8_V0fpb0AAAAAAAAPxi":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[106],"line_number":[107]},"780bLUPADqfQ3x1T5lnVOgAAAAAAAJsu":{"file_name":["emr.py"],"function_name":[""],"function_offset":[42],"line_number":[43]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAJcs":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAKrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAALAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAIdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAABCa":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAAu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAN-q":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAAGsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAAPZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAADdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"rTFMSHhLRlj86vHPR06zoQAAAAAAAEfG":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAKNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAIY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAADeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAGBA":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAAFNo":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"yaTrLhUSIq2WitrTHLBy3QAAAAAAAGcY":{"file_name":["posixpath.py"],"function_name":["join"],"function_offset":[21],"line_number":[92]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAMiA":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAGxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAHRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"08Dc0vnMK9C_nl7yQB6ZKQAAAAAAAMP6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[47],"line_number":[48]},"zuPG_tF81PcJTwjfBwKlDgAAAAAAADW4":{"file_name":["abc.py"],"function_name":[""],"function_offset":[267],"line_number":[268]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAKBs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAABKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"pv4wAezdMMO0SVuGgaEMTgAAAAAAAHV2":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[17],"line_number":[18]},"LEy-wm0GIvRoYVAga55HiwAAAAAAALxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAMRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAFqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAIFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"qns5vQ3LMi6QrIMOgD_TwQAAAAAAAAR-":{"file_name":["service.py"],"function_name":[""],"function_offset":[20],"line_number":[21]},"J_Lkq1OzUHxWQhnTgF6FwAAAAAAAALq2":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"XkOSW26Xa6_lkqHv5givKgAAAAAAAEnG":{"file_name":["compat.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"BuJIbGFo3xNyZaTAXvW1AgAAAAAAAMqS":{"file_name":["datetime.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"L9BMhx_jo5vrPGr_NYlXCQAAAAAAAG9-":{"file_name":["datetime.py"],"function_name":["timezone"],"function_offset":[97],"line_number":[2394]},"pZhbjLL2hYCcec5rSvEEGwAAAAAAAMsk":{"file_name":["datetime.py"],"function_name":["__neg__"],"function_offset":[3],"line_number":[768]},"kkqG_q7yucIGLE7ky-QX9AAAAAAAAI3I":{"file_name":["datetime.py"],"function_name":["__new__"],"function_offset":[99],"line_number":[691]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAOT2":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"LF6DFcGHEMqhhhlptO_M_QAAAAAAAPF8":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[12],"line_number":[101]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAACzq":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"3HhVgGD2yvuFLpoZq7RfKwAAAAAAAN3q":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[179],"line_number":[180]},"uSWUCgHgLPG4OFtPdUp0rgAAAAAAAHtu":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"DTRaillMS4wmG2CDEfm9rQAAAAAAAEGE":{"file_name":["aws"],"function_name":[""],"function_offset":[25],"line_number":[26]},"U4Le8nh-beog_B7jq7uTIAAAAAAAAMQi":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"CqoTgn4VUlwTNyUw7wsMHQAAAAAAAEJs":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"SjQZVYGLzro7G-9yPjVJlgAAAAAAAAsS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[12],"line_number":[176]},"grZNsSElR5ITq8H2yHCNSwAAAAAAAHcs":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[18],"line_number":[200]},"W8AFtEsepzrJ6AasHrCttwAAAAAAAGrg":{"file_name":["clidriver.py"],"function_name":["_run_driver"],"function_offset":[2],"line_number":[180]},"sur1OQS0yB3u_A1ZgjRjFgAAAAAAAJAK":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[23],"line_number":[459]},"EFJHOn-GACfHXgae-R1yDAAAAAAAAEdM":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[7],"line_number":[595]},"kSaNXrGzSS3BnDNNWezzMAAAAAAAAPCa":{"file_name":["clidriver.py"],"function_name":["__call__"],"function_offset":[57],"line_number":[798]},"MYrgKQIxdDhr1gdpucfc-QAAAAAAAL-q":{"file_name":["clidriver.py"],"function_name":["_create_argument_table"],"function_offset":[26],"line_number":[867]},"un9fLDZOLvDMO52ltZtuegAAAAAAACsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAALZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAPdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAALvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"rTFMSHhLRlj86vHPR06zoQAAAAAAACfG":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAAGNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAEY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"FqNqtF0e0OG1VJJtWE9clwAAAAAAAPeU":{"file_name":["loaders.py"],"function_name":["_wrapper"],"function_offset":[8],"line_number":[132]},"GEIvPhvjHWZLHz2BksVgvAAAAAAAAEBA":{"file_name":["loaders.py"],"function_name":["load_service_model"],"function_offset":[45],"line_number":[386]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAADOE":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAC7Rc":{"file_name":["../sysdeps/posix/readdir.c"],"function_name":["__readdir"],"function_offset":[],"line_number":[65]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK2pa":{"file_name":[],"function_name":["__x64_sys_getdents"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOkGr":{"file_name":[],"function_name":["xfs_readdir"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAOjnO":{"file_name":[],"function_name":["xfs_dir2_sf_getdents.isra.9"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAN1i4":{"file_name":[],"function_name":["xfs_dir2_sf_get_parent_ino"],"function_offset":[],"line_number":[]},"MU3fJpOZe9TA4mzeo52wZgAAAAAAAP6m":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[297],"line_number":[298]},"auEGiAr7C6IfT0eiHbOlyAAAAAAAAFg6":{"file_name":["session.py"],"function_name":[""],"function_offset":[184],"line_number":[185]},"mP9Tk3T74fjOyYWKUaqdMQAAAAAAADDi":{"file_name":["client.py"],"function_name":[""],"function_offset":[119],"line_number":[120]},"I4X8AC1-B0GuL4JyYemPzwAAAAAAAGO6":{"file_name":["args.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"s6flibJ32CsA8wnq-j6RkQAAAAAAAJEy":{"file_name":["regions.py"],"function_name":[""],"function_offset":[139],"line_number":[140]},"ik6PIX946fW_erE7uBJlVQAAAAAAAOL8":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"3EA5Wz2lIIw6eu5uv4gkTwAAAAAAACDI":{"file_name":["_bootstrap.py"],"function_name":["__exit__"],"function_offset":[1],"line_number":[174]},"hjYcB64xHdoySaNOZ8xYqgAAAAAAADsY":{"file_name":["_bootstrap.py"],"function_name":["release"],"function_offset":[2],"line_number":[127]},"Gp9aOxUrrpSVBx4-ftlTOAAAAAAAAAdC":{"file_name":["auth.py"],"function_name":[""],"function_offset":[603],"line_number":[604]},"ik6PIX946fW_erE7uBJlVQAAAAAAAJLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAJr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAADFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"y9R94bQUxts02WzRWfV7xgAAAAAAAHeC":{"file_name":["auth.py"],"function_name":[""],"function_offset":[316],"line_number":[317]},"uI6css-d8SGQRK6a_Ntl-AAAAAAAAIVu":{"file_name":["auth.py"],"function_name":[""],"function_offset":[336],"line_number":[337]},"SlnkBp0IIJFLHVOe4KbxwQAAAAAAANt6":{"file_name":["http.py"],"function_name":[""],"function_offset":[231],"line_number":[232]},"uPGvGNXBf1JXGeeDSsmGQAAAAAAAACX2":{"file_name":["enum.py"],"function_name":["__new__"],"function_offset":[194],"line_number":[679]},"PmtIuZrIdDPbhY30JCQRwwAAAAAAADto":{"file_name":["enum.py"],"function_name":["__set_name__"],"function_offset":[96],"line_number":[333]},"yos2k6ZH69vZXiBQV3d7cQAAAAAAAKJ4":{"file_name":["enum.py"],"function_name":["__setattr__"],"function_offset":[11],"line_number":[839]},"xNMiNBkMujk7ZnRv0OEjrQAAAAAAAIu8":{"file_name":["clidriver.py"],"function_name":["arg_table"],"function_offset":[4],"line_number":[733]},"un9fLDZOLvDMO52ltZtuegAAAAAAAOsM":{"file_name":["clidriver.py"],"function_name":["_emit"],"function_offset":[1],"line_number":[874]},"grikUXlisBLUbeL_OWixIwAAAAAAAHZs":{"file_name":["session.py"],"function_name":["emit"],"function_offset":[1],"line_number":[699]},"oERZXsH8EPeoSRxNNaSWfQAAAAAAAHdy":{"file_name":["hooks.py"],"function_name":["emit"],"function_offset":[11],"line_number":[228]},"gMhgHDYSMmyInNJ15VwYFgAAAAAAADvy":{"file_name":["hooks.py"],"function_name":["_emit"],"function_offset":[38],"line_number":[215]},"rTFMSHhLRlj86vHPR06zoQAAAAAAACm2":{"file_name":["paginate.py"],"function_name":["unify_paging_params"],"function_offset":[51],"line_number":[175]},"oArGmvsy3VNtTf_V9EHNeQAAAAAAACNy":{"file_name":["paginate.py"],"function_name":["get_paginator_config"],"function_offset":[10],"line_number":[92]},"7v-k2b21f_Xuf-3329jFywAAAAAAAAY8":{"file_name":["session.py"],"function_name":["get_paginator_model"],"function_offset":[4],"line_number":[532]},"--q8cwZVXbHL2zOM_p3RlQAAAAAAADMg":{"file_name":["loaders.py"],"function_name":["list_available_services"],"function_offset":[38],"line_number":[285]},"wXOyVgf5_nNg6CUH5kFBbgAAAAAAABkK":{"file_name":["loaders.py"],"function_name":[""],"function_offset":[0],"line_number":[273]},"zEgDK4qMawUAQZjg5YHywwAAAAAAAGC0":{"file_name":["genericpath.py"],"function_name":["isdir"],"function_offset":[6],"line_number":[45]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKl7Y":{"file_name":[],"function_name":["__do_sys_newstat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKt69":{"file_name":[],"function_name":["path_lookupat"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKtXX":{"file_name":[],"function_name":["walk_component"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAKsux":{"file_name":[],"function_name":["lookup_fast"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAK8mW":{"file_name":[],"function_name":["__d_lookup_rcu"],"function_offset":[],"line_number":[]},"ik6PIX946fW_erE7uBJlVQAAAAAAAELu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAEr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"VY0EiAO0DxwLRTE4PfFhdwAAAAAAAN_6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"2AkHKX3hFovQqnWGTZG4BAAAAAAAALbW":{"file_name":["base.py"],"function_name":[""],"function_offset":[44],"line_number":[45]},"JEYMXKhPKBKP90oNIKO6WwAAAAAAABJe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[33],"line_number":[34]},"Fq3uvTWKo9OreZfu-LOYYQAAAAAAAGOG":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[2553],"line_number":[2554]},"f2CfX6aaJGZ4Su3cCY2vCQAAAAAAAOFk":{"file_name":["style.py"],"function_name":[""],"function_offset":[506],"line_number":[507]},"yxUFWTEZsQP-FeNV2RKnFQAAAAAAAJIa":{"file_name":["enum.py"],"function_name":["__prepare__"],"function_offset":[13],"line_number":[483]},"Q2lceMFM0t8w5Hdokg8e8AAAAAAAABv6":{"file_name":["enum.py"],"function_name":["__setitem__"],"function_offset":[93],"line_number":[446]},"a5aMcPOeWx28QSVng73nBQAAAAAAAABK":{"file_name":["aws"],"function_name":[""],"function_offset":[13],"line_number":[27]},"inI9W0bfekFTCpu0ceKTHgAAAAAAAAAG":{"file_name":["aws"],"function_name":["main"],"function_offset":[1],"line_number":[23]},"RPwdw40HEBL87wRkKV2ozwAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[1],"line_number":[86]},"pT2bgvKv3bKR6LMAYtKFRwAAAAAAAAAI":{"file_name":["clidriver.py"],"function_name":["main"],"function_offset":[2],"line_number":[166]},"Rsr7q4vCSh2ppRtyNkwZAAAAAAAAAAAS":{"file_name":["clidriver.py"],"function_name":["_do_main"],"function_offset":[3],"line_number":[185]},"cKQfWSgZRgu_1Goz5QGSHwAAAAAAAABQ":{"file_name":["clidriver.py"],"function_name":["create_clidriver"],"function_offset":[8],"line_number":[97]},"T2fhmP8acUvRZslK7YRDPwAAAAAAAAAY":{"file_name":["plugin.py"],"function_name":["load_plugins"],"function_offset":[23],"line_number":[48]},"lrxXzNEmAlflj7bCNDjxdAAAAAAAAAAE":{"file_name":["plugin.py"],"function_name":["_load_plugins"],"function_offset":[1],"line_number":[62]},"SMoSw8cr-PdrIATvljOPrQAAAAAAAABU":{"file_name":["plugin.py"],"function_name":["_import_plugins"],"function_offset":[8],"line_number":[76]},"xaCec3W8F6xlvd_EISI7vwAAAAAAAAB0":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[15],"line_number":[28]},"QCNrAtEDVSYrGKsToy3LYAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"ocuGLNOciiOP6W8cfH2-qwAAAAAAAABg":{"file_name":["package.py"],"function_name":[""],"function_offset":[12],"line_number":[26]},"bjI4Jot-SXYwqfMr0sl7XgAAAAAAAAA8":{"file_name":["s3uploader.py"],"function_name":[""],"function_offset":[8],"line_number":[22]},"zjBJSIgrJ7WBnrV9WxdKEQAAAAAAAAB8":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[130],"line_number":[143]},"9-_Y7FNFlkawnHBUI4HVnAAAAAAAAAB8":{"file_name":["compat.py"],"function_name":[""],"function_offset":[81],"line_number":[94]},"suQJt7m9qyZP3i8d45HwBQAAAAAAAABk":{"file_name":["managers.py"],"function_name":[""],"function_offset":[18],"line_number":[29]},"fiyOjJSGn-Eja0GP7-aFCgAAAAAAAACM":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[25],"line_number":[1058]},"5w2Emmm2pdiPFBnzFSNcKgAAAAAAAABM":{"file_name":["connection.py"],"function_name":[""],"function_offset":[11],"line_number":[21]},"XnUkhGmJNwiHTUPaIuILqgAAAAAAAAAi":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[7],"line_number":[666]},"1bzyoH1Mbbzc-oKA3fR-7QAAAAAAAAAY":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[7],"line_number":[565]},"BXKFYOU6E7YaW5MDpfBf8wAAAAAAAAAK":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[2],"line_number":[1173]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABCQ":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["__dlopen"],"function_offset":[],"line_number":[87]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABZ0":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlerror.c"],"function_name":["_dlerror_run"],"function_offset":[],"line_number":[163]},"Z_CHd3Zjsh2cWE2NSdbiNQAAAAAAEoNz":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-error-skeleton.c"],"function_name":["__GI__dl_catch_error"],"function_offset":[],"line_number":[198]},"PVZV2uq5ZRt-FFaczL10BAAAAAAAABAF":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/dlfcn/dlopen.c"],"function_name":["dlopen_doit"],"function_offset":[],"line_number":[66]},"3nN3bymnZ8E42aLEtgglmAAAAAAAASmo":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["_dl_open"],"function_offset":[],"line_number":[649]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAS7f":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["dl_open_worker"],"function_offset":[],"line_number":[269]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAM3G":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-deps.c"],"function_name":["_dl_map_object_deps"],"function_offset":[],"line_number":[253]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAMtx":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-deps.c"],"function_name":["openaux"],"function_offset":[],"line_number":[64]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAINe":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-load.c"],"function_name":["_dl_map_object"],"function_offset":[],"line_number":[1943]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAFxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGJU":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAISm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAGRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAPqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAFFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"93AmMdBRQTTNSFcMQ_YwdgAAAAAAAFCy":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[22],"line_number":[23]},"29RxCcCS3qayH8Wz47EBXQAAAAAAAIzc":{"file_name":["_adapters.py"],"function_name":["CompatibilityFiles"],"function_offset":[81],"line_number":[123]},"mBpjyQvq6ftE7Wm1BUpcFgAAAAAAAPGy":{"file_name":["abc.py"],"function_name":["__new__"],"function_offset":[3],"line_number":[108]},"IWme5rHQfgYd-9YstXSeGAAAAAAAAE_C":{"file_name":["typing.py"],"function_name":["__init_subclass__"],"function_offset":[57],"line_number":[2092]},"79pMuEW6_o55K0jHDJ-2dQAAAAAAAAA8":{"file_name":["clidriver.py"],"function_name":[""],"function_offset":[8],"line_number":[21]},"mHiYHSEggclUi1ELZIxq4AAAAAAAAABA":{"file_name":["session.py"],"function_name":[""],"function_offset":[13],"line_number":[27]},"_GLtmpX5QFDXCzO6KY35mAAAAAAAAAAU":{"file_name":["client.py"],"function_name":[""],"function_offset":[3],"line_number":[16]},"CF4TEudhKTIdEsoPP0l9iwAAAAAAAAAc":{"file_name":["waiter.py"],"function_name":[""],"function_offset":[4],"line_number":[17]},"5t_H28X3eSBfyQs-F2v7cAAAAAAAAAAM":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"z0g3aE3w1Ik-suUArUsniAAAAAAAAAAE":{"file_name":["service.py"],"function_name":[""],"function_offset":[0],"line_number":[13]},"1VzILo0_Ivjn6dWL8BqT1AAAAAAAAAAM":{"file_name":["restdoc.py"],"function_name":[""],"function_offset":[2],"line_number":[15]},"rTTtzMEIQRrn8RDFEbl1zwAAAAAAAACc":{"file_name":["compat.py"],"function_name":[""],"function_offset":[17],"line_number":[31]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAAAw":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[10],"line_number":[11]},"r63cbyeLjspI6IMVvcBjIgAAAAAAAAAQ":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[2],"line_number":[3]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAHxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAIRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAABqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"y4VaggFtn5eGbiM4h45zCgAAAAAAAIhi":{"file_name":["formatter.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"aovhV1VhdNHhPwAmk_rOhgAAAAAAAB0G":{"file_name":["table.py"],"function_name":[""],"function_offset":[189],"line_number":[190]},"px3SfTg4DYOeiT_Yemty2wAAAAAAAAye":{"file_name":["."],"function_name":["utils"],"function_offset":[5],"line_number":[6]},"opI8K6Q9RBhmYCrRVwNTgAAAAAAAAPGW":{"file_name":["initialise.py"],"function_name":[""],"function_offset":[120],"line_number":[121]},"cVEUVwL4zVVcM9r_4PTCXAAAAAAAAJce":{"file_name":["ansitowin32.py"],"function_name":[""],"function_offset":[71],"line_number":[72]},"GGxNFCJdZtgXLG8zgUfn_QAAAAAAAD2y":{"file_name":["ansitowin32.py"],"function_name":["AnsiToWin32"],"function_offset":[182],"line_number":[254]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAANtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAKn8":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAALGC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAJBk":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAPDo":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALts":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"ZVYMRqiL5oPAMqs8XcON8QAAAAAAAJl2":{"file_name":["prompttoolkit.py"],"function_name":[""],"function_offset":[58],"line_number":[59]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAHj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAJtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"V6gUZHzBRISi-Z25klK5DQAAAAAAACri":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[37],"line_number":[38]},"zWNEoAKVTnnzSns045VKhwAAAAAAAIsa":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[15],"line_number":[16]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAACea":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"1y9WuJpjgBMcQb3shY5phQAAAAAAAOMe":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[45],"line_number":[46]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAALkq":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"n4Ao4OZE2osF0FygfcWo3gAAAAAAACw2":{"file_name":["application.py"],"function_name":[""],"function_offset":[237],"line_number":[238]},"NGbZlnLCqeq3LFq89r_SpQAAAAAAAD0-":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[191],"line_number":[192]},"PmhxUKv5sePRxhCBONca8gAAAAAAAAD6":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[19],"line_number":[20]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAMmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"xDXQtI2vA5YySwpx7QFiwAAAAAAAALuy":{"file_name":["popen_forkserver.py"],"function_name":[""],"function_offset":[27],"line_number":[28]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAHRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAKtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"fSQ747oLNh0c0zFQjsVRWgAAAAAAALk2":{"file_name":["forkserver.py"],"function_name":[""],"function_offset":[80],"line_number":[81]},"yp8MidCGMe4czbl-NigsYQAAAAAAAFOm":{"file_name":["connection.py"],"function_name":[""],"function_offset":[524],"line_number":[525]},"2noK4QoWxdzASRHkjOFwVAAAAAAAADGK":{"file_name":["tempfile.py"],"function_name":[""],"function_offset":[547],"line_number":[548]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAMFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAANmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"mfGJjedIJMvFXgX3QuTMfQAAAAAAAPDW":{"file_name":["core.py"],"function_name":[""],"function_offset":[275],"line_number":[276]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAH3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAALSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAIxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAJRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAACqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"9NWoah56eYULAP_zGE9PuwAAAAAAAPHC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[101],"line_number":[102]},"IKrIDHd5n47PpDQsRXxvvgAAAAAAAGmC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[81],"line_number":[82]},"oG7568kMJujZxPJfj7VMjAAAAAAAAAjO":{"file_name":["frontend.py"],"function_name":[""],"function_offset":[390],"line_number":[391]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAABs":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAHKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAPxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAARY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"ywhwSu3fiEha0QwvHF6X9wAAAAAAAHFE":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[43],"line_number":[373]},"HENgRXYeEs7mDD8Gk_MNmgAAAAAAAKju":{"file_name":["help.py"],"function_name":[""],"function_offset":[202],"line_number":[203]},"fFS0upy5lIaT99RhlTN5LQAAAAAAAEW2":{"file_name":["clidocs.py"],"function_name":[""],"function_offset":[399],"line_number":[400]},"lSdGU4igLMOpLhL_6XP15wAAAAAAADZ-":{"file_name":["argprocess.py"],"function_name":[""],"function_offset":[278],"line_number":[279]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAO3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAACSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"QAp_Nt6XUeNsCXnAUgW7XgAAAAAAABKa":{"file_name":["shorthand.py"],"function_name":[""],"function_offset":[132],"line_number":[133]},"20O937106XMbOD0LQR4SPwAAAAAAAIVS":{"file_name":["shorthand.py"],"function_name":["ShorthandParser"],"function_offset":[257],"line_number":[379]},"gPzb0fXoBe1225fbKepMRAAAAAAAAGUy":{"file_name":["shorthand.py"],"function_name":["__init__"],"function_offset":[2],"line_number":[53]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAJn8":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAKGo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAACVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAACfk":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAACxC":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAACMC":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"JrU1PwRIxl_8SXdnTESnogAAAAAAADMc":{"file_name":["_compiler.py"],"function_name":["_optimize_charset"],"function_offset":[138],"line_number":[379]},"HENgRXYeEs7mDD8Gk_MNmgAAAAAAAH1O":{"file_name":["help.py"],"function_name":[""],"function_offset":[202],"line_number":[203]},"fFS0upy5lIaT99RhlTN5LQAAAAAAACWm":{"file_name":["clidocs.py"],"function_name":[""],"function_offset":[399],"line_number":[400]},"lSdGU4igLMOpLhL_6XP15wAAAAAAABZu":{"file_name":["argprocess.py"],"function_name":[""],"function_offset":[278],"line_number":[279]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAAGRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"QAp_Nt6XUeNsCXnAUgW7XgAAAAAAAJC6":{"file_name":["shorthand.py"],"function_name":[""],"function_offset":[132],"line_number":[133]},"20O937106XMbOD0LQR4SPwAAAAAAAGVC":{"file_name":["shorthand.py"],"function_name":["ShorthandParser"],"function_offset":[257],"line_number":[379]},"gPzb0fXoBe1225fbKepMRAAAAAAAAKLy":{"file_name":["shorthand.py"],"function_name":["__init__"],"function_offset":[2],"line_number":[53]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAANSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAANJo":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"OHQX9IWLaZElAgxGbX3P5gAAAAAAAKVG":{"file_name":["_compiler.py"],"function_name":["_code"],"function_offset":[13],"line_number":[584]},"E2b-mzlh_8261-JxcySn-AAAAAAAANJE":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAANai":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"E2b-mzlh_8261-JxcySn-AAAAAAAAM1i":{"file_name":["_compiler.py"],"function_name":["_compile"],"function_offset":[18],"line_number":[55]},"JrU1PwRIxl_8SXdnTESnogAAAAAAAOom":{"file_name":["_compiler.py"],"function_name":["_optimize_charset"],"function_offset":[138],"line_number":[379]},"ik6PIX946fW_erE7uBJlVQAAAAAAADLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAANFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"zWCVT22bUHN0NWIQIBSuKgAAAAAAAOm6":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[32],"line_number":[33]},"zj3hc8VBXxWxcbGVwJZYLAAAAAAAAOye":{"file_name":["basic.py"],"function_name":[""],"function_offset":[31],"line_number":[32]},"EHb2BWbkIivImSAfaUtw-AAAAAAAAPyQ":{"file_name":["named_commands.py"],"function_name":[""],"function_offset":[586],"line_number":[587]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAADj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAFtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"-7Nhzq0bVRejx7IVqpbbZQAAAAAAAKW-":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[96],"line_number":[97]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAAY4":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"M_-aGo2vWhLu7lS5grLv9wAAAAAAAEFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[150]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAALmC":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"ik6PIX946fW_erE7uBJlVQAAAAAAAGLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAAFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"OlTvyWQFXjOweJcs3kiGygAAAAAAAMui":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAPB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAGj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAItm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAACJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAEYy":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAA8c":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"jtp3NDFNJGnK6sK5oOFo8QAAAAAAAJtG":{"file_name":["__init__.py"],"function_name":["compile"],"function_offset":[2],"line_number":[227]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAAFSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAAFJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAPpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAAHHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAFcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAEZu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"Gxt7_MN7XgUOe9547JcHVQAAAAAAAAd2":{"file_name":["_parser.py"],"function_name":["__len__"],"function_offset":[1],"line_number":[159]},"LEy-wm0GIvRoYVAga55HiwAAAAAAAExO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAOqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"2L4SW1rQgEVXRj3pZAI3nQAAAAAAAIla":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[97],"line_number":[98]},"Bd3XiVd_ucXTo7t4NwSjLAAAAAAAAD3Q":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1241]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAHSm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAPNq":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAAFOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAAGcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAKD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAACAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAAKYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAANee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAIW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAAJj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"fj70ljef7nDHOqVJGSIoEQAAAAAAANmS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"p5XvqZgoydjTl8thPo5KGwAAAAAAAIFW":{"file_name":["pyimod02_importers.py"],"function_name":["get_code"],"function_offset":[13],"line_number":[158]},"oR5jBuG11Az1rZkKaPBmAgAAAAAAAIKK":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[37],"line_number":[202]},"GP7h96O0_ppGVtc-UpQQIQAAAAAAAC66":{"file_name":["handlers.py"],"function_name":[""],"function_offset":[105],"line_number":[106]},"3HhVgGD2yvuFLpoZq7RfKwAAAAAAAOnq":{"file_name":["cloudfront.py"],"function_name":[""],"function_offset":[179],"line_number":[180]},"-BjW54fwMksXBor9R-YN9wAAAAAAAHD-":{"file_name":["ssh.py"],"function_name":[""],"function_offset":[575],"line_number":[576]},"Npep8JfxWDWZ3roJSD7jPgAAAAAAADRw":{"file_name":["_bootstrap.py"],"function_name":["_handle_fromlist"],"function_offset":[34],"line_number":[1243]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAGtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"A2oiHVwisByxRn5RDT4LjAAAAAAAoBBe":{"file_name":[],"function_name":["page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAABnSX":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItm_":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAItAx":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"A2oiHVwisByxRn5RDT4LjAAAAAAAglhf":{"file_name":[],"function_name":["_raw_spin_lock"],"function_offset":[],"line_number":[]},"ik6PIX946fW_erE7uBJlVQAAAAAAAPLu":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1191]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPr4":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"J1eggTwSzYdi9OsSu1q37gAAAAAAAJFw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"CNgPIV65Suq5GVbO7eJK7gAAAAAAAMbc":{"file_name":["pyimod02_importers.py"],"function_name":["exec_module"],"function_offset":[30],"line_number":[352]},"OlTvyWQFXjOweJcs3kiGygAAAAAAACIS":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[155],"line_number":[156]},"N2mxDWkAZe8CHgZMQpxZ7AAAAAAAAFB2":{"file_name":["connection.py"],"function_name":[""],"function_offset":[87],"line_number":[88]},"r3Nzr2WeUwu3gjU4N-rWyAAAAAAAAPj0":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1156]},"eV_m28NnKeeTL60KO2H3SAAAAAAAABtm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"1eW8DnM19kiBGqMWGVkHPAAAAAAAAGJC":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[23],"line_number":[24]},"2kgk5qEgdkkSXT9cIdjqxQAAAAAAAJyi":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[258],"line_number":[259]},"MsEmysGbXhMvgdbwhcZDCgAAAAAAAGWM":{"file_name":["url.py"],"function_name":[""],"function_offset":[238],"line_number":[239]},"7R-mHvx47pWvF_ng7rKpHwAAAAAAALSc":{"file_name":["__init__.py"],"function_name":["_compile"],"function_offset":[27],"line_number":[299]},"_lF8o5tJDcePvza_IYtgSQAAAAAAALJC":{"file_name":["_compiler.py"],"function_name":["compile"],"function_offset":[21],"line_number":[759]},"TRd7r6mvdzYdjMdTtebtwwAAAAAAAFpU":{"file_name":["_parser.py"],"function_name":["parse"],"function_offset":[25],"line_number":[995]},"bgsqxCFBdtyNwHEAo-3p1wAAAAAAANHY":{"file_name":["_parser.py"],"function_name":["_parse_sub"],"function_offset":[58],"line_number":[505]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAALcu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"5PnOjelHYJZ6ovJAXK5uiQAAAAAAAKZu":{"file_name":["_parser.py"],"function_name":["_parse"],"function_offset":[0],"line_number":[507]},"zjk1GYHhesH1oTuILj3ToAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"qkYSh95E1urNTie_gKbr7wAAAAAAAABY":{"file_name":["connectionpool.py"],"function_name":[""],"function_offset":[11],"line_number":[12]},"V8ldXm9NGXsJ182jEHEsUwAAAAAAAAB8":{"file_name":["connection.py"],"function_name":[""],"function_offset":[14],"line_number":[15]},"xVaa0cBWNcFeS-8zFezQgAAAAAAAAABI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"UBINlIxj95Sa_x2_k5IddAAAAAAAAAB4":{"file_name":["ssl_.py"],"function_name":[""],"function_offset":[16],"line_number":[17]},"gRRk0W_9P4SGZLXFJ5KU8QAAAAAAAAFi":{"file_name":["url.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"VIK6i3XoO6nxn9WkNabugAAAAAAAAAAG":{"file_name":["re.py"],"function_name":["compile"],"function_offset":[2],"line_number":[252]},"SGPpASrxkViIc4Sq7x-WYQAAAAAAAABs":{"file_name":["re.py"],"function_name":["_compile"],"function_offset":[15],"line_number":[304]},"9xG1GRY3A4PQMfXDNvrOxQAAAAAAAAAU":{"file_name":["sre_compile.py"],"function_name":["compile"],"function_offset":[5],"line_number":[764]},"cbxfeE2AkqKne6oKUxdB6gAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["parse"],"function_offset":[11],"line_number":[948]},"aEZUIXI_cV9kZCa4-U1NsQAAAAAAAAAy":{"file_name":["sre_parse.py"],"function_name":["_parse_sub"],"function_offset":[8],"line_number":[443]},"MebnOxK5WOhP29sl19JefwAAAAAAAAua":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[341],"line_number":[834]},"MebnOxK5WOhP29sl19JefwAAAAAAAAKs":{"file_name":["sre_parse.py"],"function_name":["_parse"],"function_offset":[98],"line_number":[591]},"LEy-wm0GIvRoYVAga55HiwAAAAAAABxO":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load"],"function_offset":[24],"line_number":[1189]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAACRY":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALqw":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"7bd6QJSfWZZfOOpDMHqLMAAAAAAAAONq":{"file_name":["exceptions.py"],"function_name":[""],"function_offset":[319],"line_number":[320]},"wdQNqQ99iFSdp4ceNJQKBgAAAAAAACOq":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[34],"line_number":[1154]},"ZPxtkRXufuVf4tqV5k5k2QAAAAAAADcA":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[43],"line_number":[1097]},"8R2Lkqe-tYqq-plJ22QNzAAAAAAAAOD4":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[3],"line_number":[193]},"h0l-9tGi18mC40qpcJbyDwAAAAAAAPAK":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[24],"line_number":[446]},"5EZV-eYYYtY-VAcSTmCvtgAAAAAAACYk":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"705jmHYNd7I4Z4L4c0vfiAAAAAAAAFee":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[4],"line_number":[124]},"TBeSzkyqIwKL8td602zDjAAAAAAAAMW-":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"NH3zvSjFAfTSy6bEocpNyQAAAAAAABj8":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[3],"line_number":[88]},"fj70ljef7nDHOqVJGSIoEQAAAAAAAMmS":{"file_name":["client.py"],"function_name":[""],"function_offset":[211],"line_number":[212]},"zo4mnjDJ1PlZka7jS9k2BAAAAAAAAPX-":{"file_name":["ssl.py"],"function_name":[""],"function_offset":[780],"line_number":[781]},"J1eggTwSzYdi9OsSu1q37gAAAAAAALn4":{"file_name":["_bootstrap.py"],"function_name":["_load_unlocked"],"function_offset":[41],"line_number":[707]},"0S3htaCNkzxOYeavDR1GTQAAAAAAANe4":{"file_name":["_bootstrap.py"],"function_name":["module_from_spec"],"function_offset":[14],"line_number":[580]},"rBzW547V0L_mH4nnWK1FUQAAAAAAAHTA":{"file_name":["_bootstrap_external.py"],"function_name":["create_module"],"function_offset":[6],"line_number":[1237]},"eV_m28NnKeeTL60KO2H3SAAAAAAAAESm":{"file_name":["_bootstrap.py"],"function_name":["_call_with_frames_removed"],"function_offset":[8],"line_number":[241]},"3nN3bymnZ8E42aLEtgglmAAAAAAAATA-":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-open.c"],"function_name":["dl_open_worker"],"function_offset":[],"line_number":[424]},"3nN3bymnZ8E42aLEtgglmAAAAAAAALbA":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-reloc.c"],"function_name":["_dl_relocate_object"],"function_offset":[],"line_number":[160]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJyS":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["_dl_lookup_symbol_x"],"function_offset":[],"line_number":[833]},"3nN3bymnZ8E42aLEtgglmAAAAAAAAJel":{"file_name":["/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c","/usr/src/debug/glibc-2.26-193-ga0bc5dd3be/elf/dl-lookup.c"],"function_name":["do_lookup_x","do_lookup_unique","enter_unique_sym"],"function_offset":[],"line_number":[544,322,197]},"ApbUUYSZlAYucbB88oZaGwAAAAAAAADU":{"file_name":["application.py"],"function_name":[""],"function_offset":[40],"line_number":[41]},"bAXCoU3-CU0WlRxl5l1tmwAAAAAAAADk":{"file_name":["buffer.py"],"function_name":[""],"function_offset":[35],"line_number":[36]},"qordvIiilnF7CmkWCAd7eAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"iWpqwwcHV8E8OOnqGCYj9gAAAAAAAABc":{"file_name":["base.py"],"function_name":[""],"function_offset":[8],"line_number":[9]},"M61AJsljWf0TM7wD6IJVZwAAAAAAAAAI":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[12],"line_number":[13]},"ED3bhsHkhBwZ5ynmMnkPRAAAAAAAAAAs":{"file_name":["ansi.py"],"function_name":[""],"function_offset":[3],"line_number":[4]},"cZ-wyq9rmPl5QnqP0Smp6QAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"GLV-c6bk0E-nhaaCp6u20wAAAAAAAAAo":{"file_name":["base.py"],"function_name":[""],"function_offset":[6],"line_number":[7]},"c_1Yb4rio2EAH6C9SFwQogAAAAAAAABE":{"file_name":["cursor_shapes.py"],"function_name":[""],"function_offset":[5],"line_number":[6]},"O4ILxZswquMzuET9RRf5QAAAAAAAAAAE":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[0],"line_number":[1]},"coeZ_4yf5sOePIKKlm8FNQAAAAAAAACm":{"file_name":["pyimod01_archive.py"],"function_name":["extract"],"function_offset":[16],"line_number":[302]},"GLV-c6bk0E-nhaaCp6u20wAAAAAAAABA":{"file_name":["base.py"],"function_name":[""],"function_offset":[8],"line_number":[9]},"rJZ4aC9w8bMvzrC0ApyIjgAAAAAAAAAo":{"file_name":["__init__.py"],"function_name":[""],"function_offset":[11],"line_number":[12]},"TC9v9fO0nTP4oypYCgB_1QAAAAAAAAAw":{"file_name":["defaults.py"],"function_name":[""],"function_offset":[7],"line_number":[8]},"piWSMQrh4r040D0BPNaJvwAAAAAAoBCe":{"file_name":[],"function_name":["async_page_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAABncH":{"file_name":[],"function_name":["__do_page_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAIsvf":{"file_name":[],"function_name":["handle_mm_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAIsF6":{"file_name":[],"function_name":["__handle_mm_fault"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJj7r":{"file_name":[],"function_name":["alloc_pages_vma"],"function_offset":[],"line_number":[]},"piWSMQrh4r040D0BPNaJvwAAAAAAJIxB":{"file_name":[],"function_name":["get_page_from_freelist"],"function_offset":[],"line_number":[]},"-pUZ8YYbKKOu4w9rcMsXSwAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_and_load_unlocked"],"function_offset":[15],"line_number":[982]},"JaHOMfnX0DG4ZnNTpPORVAAAAAAAAACK":{"file_name":["_bootstrap.py"],"function_name":["_find_spec"],"function_offset":[24],"line_number":[925]},"MepUYc0jU0AjPrrjuvTgGgAAAAAAAAAQ":{"file_name":["six.py"],"function_name":["find_spec"],"function_offset":[2],"line_number":[192]},"yWt46REABLfKH6PXLAE18AAAAAAAAABk":{"file_name":["_bootstrap.py"],"function_name":["spec_from_loader"],"function_offset":[16],"line_number":[431]},"VQs3Erq77xz92EfpT8sTKwAAAAAAAAAM":{"file_name":["six.py"],"function_name":["is_package"],"function_offset":[7],"line_number":[222]},"n7IiY_TlCWEfi47-QpeCLwAAAAAAAAAE":{"file_name":["six.py"],"function_name":["__getattr__"],"function_offset":[1],"line_number":[121]},"Ua3frjTXWBuWpTsQD8aKeAAAAAAAAAAG":{"file_name":["six.py"],"function_name":["_resolve"],"function_offset":[1],"line_number":[118]},"GtyMRLq4aaDvuQ4C3N95mAAAAAAAAAAE":{"file_name":["six.py"],"function_name":["_import_module"],"function_offset":[2],"line_number":[87]},"clFhkTaiph2aOjCNuZDWKAAAAAAAAAAI":{"file_name":["client.py"],"function_name":[""],"function_offset":[70],"line_number":[71]},"DLEY7W0VXWLE5Ol-plW-_wAAAAAAAAAg":{"file_name":["parser.py"],"function_name":[""],"function_offset":[7],"line_number":[12]},"RY-vzTa9LfseI7kmcIcbgQAAAAAAAAAY":{"file_name":["feedparser.py"],"function_name":[""],"function_offset":[21],"line_number":[26]},"-gq3a70QOgdn9HetYyf2OgAAAAAAAADS":{"file_name":["errors.py"],"function_name":[""],"function_offset":[51],"line_number":[56]}},"executables":{"FWZ9q3TQKZZok58ua1HDsg":"pf-debug-metadata-service","B8JRxL079xbhqQBqGvksAg":"kubelet","edNJ10OjHiWc5nzuTQdvig":"linux-vdso.so.1","piWSMQrh4r040D0BPNaJvw":"vmlinux","QvG8QEGAld88D676NL_Y2Q":"filebeat","MNBJ5seVz_ocW6tcr1HSmw":"metricbeat","QaIvzvU8UoclQMd_OMt-Pg":"elastic-operator","w5zBqPf1_9mIVEf-Rn7EdA":"systemd","Z_CHd3Zjsh2cWE2NSdbiNQ":"libc-2.26.so","OTWX4UsOVMrSIF5cD4zUzg":"libmount.so.1.1.0","v6HIzNa4K6G4nRP9032RIA":"dockerd","hc6JHMKlLXjOZcU9MGxvfg":"kube-proxy","A2oiHVwisByxRn5RDT4LjA":"vmlinux","wfA2BgwfDNXUWsxkJ083Rw":"kubelet","9LzzIocepYcOjnUsLlgOjg":"vmlinux","-pk6w5puGcp-wKnQ61BZzQ":"kubelet","ew01Dk0sWZctP-VaEpavqQ":"vmlinux","YsKzCJ9e4eZnuT00vj7Pcw":"python2.7","N4ILulabOfF5MnyRJbvDXw":"libpython2.7.so.1.0","SbPwzb_Kog2bWn8uc7xhDQ":"aws","xLxcEbwnZ5oNrk99ZsxcSQ":"libpython3.11.so.1.0","aUXpdArtZf510BJKvwiFDw":"veth","WpYcHtr4qx88B8CBJZ2GTw":"aws","-Z7SlEXhuy5tL2BF-xmy3g":"libpython3.11.so.1.0","pRLjmMO0U8sO4DFopfFU5g":"metrics-server","G68hjsyagwq6LpWrMjDdng":"libpython3.9.so.1.0","-V-5ede56KMAXhjFbz84Sw":"csi-provisioner","dGWvVtQJJ5wuqNyQVpi8lA":"zlib.cpython-311-x86_64-linux-gnu.so","jaBVtokSUzfS97d-XKjijg":"libz.so.1","ASi9f26ltguiwFajNwOaZw":"zlib.cpython-311-x86_64-linux-gnu.so","PVZV2uq5ZRt-FFaczL10BA":"libdl-2.26.so","3nN3bymnZ8E42aLEtgglmA":"ld-2.26.so","EX9l-cE0x8X9W8uz4iKUfw":"zlib.cpython-39-x86_64-linux-gnu.so"},"total_frames":150718,"sampling_rate":0.008000000000000002} diff --git a/x-pack/plugins/profiling/common/columnar_view_model.test.ts b/x-pack/plugins/profiling/common/columnar_view_model.test.ts index d967650c76c7f..12c86401e9de3 100644 --- a/x-pack/plugins/profiling/common/columnar_view_model.test.ts +++ b/x-pack/plugins/profiling/common/columnar_view_model.test.ts @@ -5,16 +5,15 @@ * 2.0. */ -import { sum } from 'lodash'; - -import { createCalleeTree } from '@kbn/profiling-data-access-plugin/common/callee'; -import { createColumnarViewModel } from './columnar_view_model'; import { createBaseFlameGraph, + createCalleeTree, createFlameGraph, -} from '@kbn/profiling-data-access-plugin/common/flamegraph'; -import { decodeStackTraceResponse } from '@kbn/profiling-data-access-plugin/common/stack_traces'; -import { stackTraceFixtures } from '@kbn/profiling-data-access-plugin/common/__fixtures__/stacktraces'; + decodeStackTraceResponse, +} from '@kbn/profiling-utils'; +import { sum } from 'lodash'; +import { createColumnarViewModel } from './columnar_view_model'; +import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('Columnar view model operations', () => { stackTraceFixtures.forEach(({ response, seconds, upsampledBy }) => { diff --git a/x-pack/plugins/profiling/common/columnar_view_model.ts b/x-pack/plugins/profiling/common/columnar_view_model.ts index e4d2386a0bd74..f553d61361b8a 100644 --- a/x-pack/plugins/profiling/common/columnar_view_model.ts +++ b/x-pack/plugins/profiling/common/columnar_view_model.ts @@ -6,7 +6,7 @@ */ import { ColumnarViewModel } from '@elastic/charts'; -import { ElasticFlameGraph } from '@kbn/profiling-data-access-plugin/common/flamegraph'; +import type { ElasticFlameGraph } from '@kbn/profiling-utils'; import { frameTypeToRGB, rgbToRGBA } from './frame_type_colors'; function normalize(n: number, lower: number, upper: number): number { diff --git a/x-pack/plugins/profiling/common/frame_type_colors.ts b/x-pack/plugins/profiling/common/frame_type_colors.ts index 59e8a6004c4e6..81571c459bed4 100644 --- a/x-pack/plugins/profiling/common/frame_type_colors.ts +++ b/x-pack/plugins/profiling/common/frame_type_colors.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { FrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameType } from '@kbn/profiling-utils'; /* * Helper to calculate the color of a given block to be drawn. The desirable outcomes of this are: diff --git a/x-pack/plugins/profiling/common/functions.test.ts b/x-pack/plugins/profiling/common/functions.test.ts index 4c70cca80d7ba..72f721ae4f66b 100644 --- a/x-pack/plugins/profiling/common/functions.test.ts +++ b/x-pack/plugins/profiling/common/functions.test.ts @@ -7,8 +7,8 @@ import { sum } from 'lodash'; import { createTopNFunctions } from './functions'; -import { decodeStackTraceResponse } from '@kbn/profiling-data-access-plugin/common/stack_traces'; -import { stackTraceFixtures } from '@kbn/profiling-data-access-plugin/common/__fixtures__/stacktraces'; +import { decodeStackTraceResponse } from '@kbn/profiling-utils'; +import { stackTraceFixtures } from './__fixtures__/stacktraces'; describe('TopN function operations', () => { stackTraceFixtures.forEach(({ response, seconds, upsampledBy }) => { diff --git a/x-pack/plugins/profiling/common/functions.ts b/x-pack/plugins/profiling/common/functions.ts index dac08c97abbf7..50a0d96f7d5c3 100644 --- a/x-pack/plugins/profiling/common/functions.ts +++ b/x-pack/plugins/profiling/common/functions.ts @@ -4,25 +4,25 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import * as t from 'io-ts'; -import { sumBy } from 'lodash'; -import { - createFrameGroupID, - FrameGroupID, -} from '@kbn/profiling-data-access-plugin/common/frame_group'; -import { - createStackFrameMetadata, - emptyExecutable, - emptyStackFrame, - emptyStackTrace, +import type { Executable, FileID, + FrameGroupID, StackFrame, StackFrameID, StackFrameMetadata, StackTrace, StackTraceID, -} from '@kbn/profiling-data-access-plugin/common/profiling'; +} from '@kbn/profiling-utils'; +import { + createFrameGroupID, + createStackFrameMetadata, + emptyExecutable, + emptyStackFrame, + emptyStackTrace, +} from '@kbn/profiling-utils'; +import * as t from 'io-ts'; +import { sumBy } from 'lodash'; interface TopNFunctionAndFrameGroup { Frame: StackFrameMetadata; diff --git a/x-pack/plugins/profiling/common/topn.ts b/x-pack/plugins/profiling/common/topn.ts index cd58e35c6442f..bbf04c8a39226 100644 --- a/x-pack/plugins/profiling/common/topn.ts +++ b/x-pack/plugins/profiling/common/topn.ts @@ -9,8 +9,8 @@ import { euiPaletteColorBlind } from '@elastic/eui'; import { InferSearchResponseOf } from '@kbn/es-types'; import { i18n } from '@kbn/i18n'; import { orderBy } from 'lodash'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; -import { StackFrameMetadata } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { ProfilingESField } from '@kbn/profiling-utils'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; import { createUniformBucketsForTimeRange } from './histogram'; export const OTHER_BUCKET_LABEL = i18n.translate('xpack.profiling.topn.otherBucketLabel', { diff --git a/x-pack/plugins/profiling/kibana.jsonc b/x-pack/plugins/profiling/kibana.jsonc index 612e8d7936c25..6ebaf5e99832f 100644 --- a/x-pack/plugins/profiling/kibana.jsonc +++ b/x-pack/plugins/profiling/kibana.jsonc @@ -24,6 +24,7 @@ "observabilityAIAssistant", "unifiedSearch", "share", + "embeddable", "profilingDataAccess" ], "requiredBundles": [ diff --git a/x-pack/plugins/profiling/public/components/flamegraph/index.tsx b/x-pack/plugins/profiling/public/components/flamegraph/index.tsx index 7d02f4b480350..76105907f8d52 100644 --- a/x-pack/plugins/profiling/public/components/flamegraph/index.tsx +++ b/x-pack/plugins/profiling/public/components/flamegraph/index.tsx @@ -19,7 +19,7 @@ import { EuiFlexGroup, EuiFlexItem, useEuiTheme } from '@elastic/eui'; import { Maybe } from '@kbn/observability-plugin/common/typings'; import React, { useEffect, useMemo, useState } from 'react'; import { useUiTracker } from '@kbn/observability-shared-plugin/public'; -import { ElasticFlameGraph } from '@kbn/profiling-data-access-plugin/common/flamegraph'; +import type { ElasticFlameGraph } from '@kbn/profiling-utils'; import { getFlamegraphModel } from '../../utils/get_flamegraph_model'; import { FlameGraphLegend } from './flame_graph_legend'; import { FrameInformationWindow } from '../frame_information_window'; @@ -34,10 +34,9 @@ interface Props { comparisonFlamegraph?: ElasticFlameGraph; baseline?: number; comparison?: number; - showInformationWindow: boolean; - toggleShowInformationWindow: () => void; searchText?: string; onChangeSearchText?: FlameSpec['onSearchTextChange']; + isEmbedded?: boolean; } export function FlameGraph({ @@ -47,11 +46,14 @@ export function FlameGraph({ comparisonFlamegraph, baseline, comparison, - showInformationWindow, - toggleShowInformationWindow, searchText, onChangeSearchText, + isEmbedded = false, }: Props) { + const [showInformationWindow, setShowInformationWindow] = useState(false); + function toggleShowInformationWindow() { + setShowInformationWindow((prev) => !prev); + } const theme = useEuiTheme(); const trackProfilingEvent = useUiTracker({ app: 'profiling' }); @@ -157,9 +159,7 @@ export function FlameGraph({ comparisonScaleFactor={comparison} onShowMoreClick={() => { trackProfilingEvent({ metric: 'flamegraph_node_details_click' }); - if (!showInformationWindow) { - toggleShowInformationWindow(); - } + toggleShowInformationWindow(); setHighlightedVmIndex(valueIndex); }} /> @@ -194,6 +194,8 @@ export function FlameGraph({ frame={selected} totalSeconds={primaryFlamegraph?.TotalSeconds ?? 0} totalSamples={totalSamples} + showAIAssistant={!isEmbedded} + showSymbolsStatus={!isEmbedded} /> )} diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/frame_information_ai_assistant.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/frame_information_ai_assistant.tsx new file mode 100644 index 0000000000000..01f27ef54e72f --- /dev/null +++ b/x-pack/plugins/profiling/public/components/frame_information_window/frame_information_ai_assistant.tsx @@ -0,0 +1,112 @@ +/* + * 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 { + ContextualInsight, + Message, + MessageRole, + useObservabilityAIAssistant, +} from '@kbn/observability-ai-assistant-plugin/public'; +import React, { useMemo } from 'react'; +import { Frame } from '.'; + +interface Props { + frame?: Frame; +} + +export function FrameInformationAIAssistant({ frame }: Props) { + const aiAssistant = useObservabilityAIAssistant(); + + const promptMessages = useMemo(() => { + if (frame?.functionName && frame.exeFileName) { + const functionName = frame.functionName; + const library = frame.exeFileName; + + const now = new Date().toISOString(); + + return [ + { + '@timestamp': now, + message: { + role: MessageRole.System, + content: `You are perf-gpt, a helpful assistant for performance analysis and optimisation + of software. Answer as concisely as possible.`, + }, + }, + { + '@timestamp': now, + message: { + role: MessageRole.User, + content: `I am a software engineer. I am trying to understand what a function in a particular + software library does. + + The library is: ${library} + The function is: ${functionName} + + Your have two tasks. Your first task is to desribe what the library is and what its use cases are, and to + describe what the function does. The output format should look as follows: + + Library description: Provide a concise description of the library + Library use-cases: Provide a concise description of what the library is typically used for. + Function description: Provide a concise, technical, description of what the function does. + + Assume the function ${functionName} from the library ${library} is consuming significant CPU resources. + Your second task is to suggest ways to optimize or improve the system that involve the ${functionName} function from the + ${library} library. Types of improvements that would be useful to me are improvements that result in: + + - Higher performance so that the system runs faster or uses less CPU + - Better memory efficient so that the system uses less RAM + - Better storage efficient so that the system stores less data on disk. + - Better network I/O efficiency so that less data is sent over the network + - Better disk I/O efficiency so that less data is read and written from disk + + Make up to five suggestions. Your suggestions must meet all of the following criteria: + 1. Your suggestions should detailed, technical and include concrete examples. + 2. Your suggestions should be specific to improving performance of a system in which the ${functionName} function from + the ${library} library is consuming significant CPU. + 3. If you suggest replacing the function or library with a more efficient replacement you must suggest at least + one concrete replacement. + + If you know of fewer than five ways to improve the performance of a system in which the ${functionName} function from the + ${library} library is consuming significant CPU, then provide fewer than five suggestions. If you do not know of any + way in which to improve the performance then say "I do not know how to improve the performance of systems where + this function is consuming a significant amount of CPU". + + Do not suggest using a CPU profiler. I have already profiled my code. The profiler I used is Elastic Universal Profiler. + If there is specific information I should look for in the profiler output then tell me what information to look for + in the output of Elastic Universal Profiler. + + You must not include URLs, web addresses or websites of any kind in your output. + + If you have suggestions, the output format should look as follows: + + Here are some suggestions as to how you might optimize your system if ${functionName} in ${library} is consuming + significant CPU resources: + 1. Insert first suggestion + 2. Insert second suggestion`, + }, + }, + ]; + } + + return undefined; + }, [frame?.functionName, frame?.exeFileName]); + + return ( + <> + {aiAssistant.isEnabled() && promptMessages ? ( + + ) : null} + + ); +} diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts b/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts index 8c2fa0ebd0763..431933c0125ec 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts +++ b/x-pack/plugins/profiling/public/components/frame_information_window/get_information_rows.ts @@ -6,7 +6,7 @@ */ import { i18n } from '@kbn/i18n'; -import { describeFrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { describeFrameType } from '@kbn/profiling-utils'; import { NOT_AVAILABLE_LABEL } from '../../../common'; export function getInformationRows({ diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx index 96879a59fc737..856e30001becd 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx +++ b/x-pack/plugins/profiling/public/components/frame_information_window/index.tsx @@ -6,117 +6,42 @@ */ import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTitle } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { - ContextualInsight, - Message, - MessageRole, - useObservabilityAIAssistant, -} from '@kbn/observability-ai-assistant-plugin/public'; -import React, { useMemo } from 'react'; -import { - FrameSymbolStatus, - getFrameSymbolStatus, -} from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameSymbolStatus, getFrameSymbolStatus } from '@kbn/profiling-utils'; +import React from 'react'; +import { FrameInformationAIAssistant } from './frame_information_ai_assistant'; import { FrameInformationPanel } from './frame_information_panel'; import { getImpactRows } from './get_impact_rows'; import { getInformationRows } from './get_information_rows'; import { KeyValueList } from './key_value_list'; import { MissingSymbolsCallout } from './missing_symbols_callout'; +export interface Frame { + fileID: string; + frameType: number; + exeFileName: string; + addressOrLine: number; + functionName: string; + sourceFileName: string; + sourceLine: number; + countInclusive: number; + countExclusive: number; +} + export interface Props { - frame?: { - fileID: string; - frameType: number; - exeFileName: string; - addressOrLine: number; - functionName: string; - sourceFileName: string; - sourceLine: number; - countInclusive: number; - countExclusive: number; - }; + frame?: Frame; totalSamples: number; totalSeconds: number; + showAIAssistant?: boolean; + showSymbolsStatus?: boolean; } -export function FrameInformationWindow({ frame, totalSamples, totalSeconds }: Props) { - const aiAssistant = useObservabilityAIAssistant(); - - const promptMessages = useMemo(() => { - if (frame?.functionName && frame.exeFileName) { - const functionName = frame.functionName; - const library = frame.exeFileName; - - const now = new Date().toISOString(); - - return [ - { - '@timestamp': now, - message: { - role: MessageRole.System, - content: `You are perf-gpt, a helpful assistant for performance analysis and optimisation - of software. Answer as concisely as possible.`, - }, - }, - { - '@timestamp': now, - message: { - role: MessageRole.User, - content: `I am a software engineer. I am trying to understand what a function in a particular - software library does. - - The library is: ${library} - The function is: ${functionName} - - Your have two tasks. Your first task is to desribe what the library is and what its use cases are, and to - describe what the function does. The output format should look as follows: - - Library description: Provide a concise description of the library - Library use-cases: Provide a concise description of what the library is typically used for. - Function description: Provide a concise, technical, description of what the function does. - - Assume the function ${functionName} from the library ${library} is consuming significant CPU resources. - Your second task is to suggest ways to optimize or improve the system that involve the ${functionName} function from the - ${library} library. Types of improvements that would be useful to me are improvements that result in: - - - Higher performance so that the system runs faster or uses less CPU - - Better memory efficient so that the system uses less RAM - - Better storage efficient so that the system stores less data on disk. - - Better network I/O efficiency so that less data is sent over the network - - Better disk I/O efficiency so that less data is read and written from disk - - Make up to five suggestions. Your suggestions must meet all of the following criteria: - 1. Your suggestions should detailed, technical and include concrete examples. - 2. Your suggestions should be specific to improving performance of a system in which the ${functionName} function from - the ${library} library is consuming significant CPU. - 3. If you suggest replacing the function or library with a more efficient replacement you must suggest at least - one concrete replacement. - - If you know of fewer than five ways to improve the performance of a system in which the ${functionName} function from the - ${library} library is consuming significant CPU, then provide fewer than five suggestions. If you do not know of any - way in which to improve the performance then say "I do not know how to improve the performance of systems where - this function is consuming a significant amount of CPU". - - Do not suggest using a CPU profiler. I have already profiled my code. The profiler I used is Elastic Universal Profiler. - If there is specific information I should look for in the profiler output then tell me what information to look for - in the output of Elastic Universal Profiler. - - You must not include URLs, web addresses or websites of any kind in your output. - - If you have suggestions, the output format should look as follows: - - Here are some suggestions as to how you might optimize your system if ${functionName} in ${library} is consuming - significant CPU resources: - 1. Insert first suggestion - 2. Insert second suggestion`, - }, - }, - ]; - } - - return undefined; - }, [frame?.functionName, frame?.exeFileName]); - +export function FrameInformationWindow({ + frame, + totalSamples, + totalSeconds, + showAIAssistant = true, + showSymbolsStatus = true, +}: Props) { if (!frame) { return ( @@ -170,23 +95,16 @@ export function FrameInformationWindow({ frame, totalSamples, totalSeconds }: Pr - {aiAssistant.isEnabled() && promptMessages ? ( - <> - - - - - ) : undefined} - {symbolStatus !== FrameSymbolStatus.SYMBOLIZED && ( + {showAIAssistant ? ( + + + + ) : null} + {showSymbolsStatus && symbolStatus !== FrameSymbolStatus.SYMBOLIZED ? ( - )} + ) : null} diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx index aba91dcc4127a..3a6a29d2f2ed5 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx +++ b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.stories.tsx @@ -8,7 +8,7 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { Meta } from '@storybook/react'; import React from 'react'; -import { FrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameType } from '@kbn/profiling-utils'; import { MockProfilingDependenciesStorybook } from '../contexts/profiling_dependencies/mock_profiling_dependencies_storybook'; import { MissingSymbolsCallout } from './missing_symbols_callout'; diff --git a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx index ac2c2e7a2407b..922fd070f3130 100644 --- a/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx +++ b/x-pack/plugins/profiling/public/components/frame_information_window/missing_symbols_callout.tsx @@ -9,7 +9,7 @@ import { EuiButton, EuiCallOut, EuiLink } from '@elastic/eui'; import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; -import { FrameType, getLanguageType } from '@kbn/profiling-data-access-plugin/common/profiling'; +import { FrameType, getLanguageType } from '@kbn/profiling-utils'; import { PROFILING_FEEDBACK_LINK } from '../profiling_app_page_template'; import { useProfilingDependencies } from '../contexts/profiling_dependencies/use_profiling_dependencies'; import { useProfilingRouter } from '../../hooks/use_profiling_router'; diff --git a/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx b/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx index d73c382962a59..f7afb09c5457a 100644 --- a/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx +++ b/x-pack/plugins/profiling/public/components/stack_frame_summary/index.tsx @@ -6,11 +6,8 @@ */ import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiText } from '@elastic/eui'; import React from 'react'; -import { - getCalleeFunction, - getCalleeSource, - StackFrameMetadata, -} from '@kbn/profiling-data-access-plugin/common/profiling'; +import { getCalleeFunction, getCalleeSource } from '@kbn/profiling-utils'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; interface Props { frame: StackFrameMetadata; diff --git a/x-pack/plugins/profiling/public/components/subchart.tsx b/x-pack/plugins/profiling/public/components/subchart.tsx index 4100425cb05d6..9100af82d1f4b 100644 --- a/x-pack/plugins/profiling/public/components/subchart.tsx +++ b/x-pack/plugins/profiling/public/components/subchart.tsx @@ -32,7 +32,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; -import { StackFrameMetadata } from '@kbn/profiling-data-access-plugin/common/profiling'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; import { CountPerTime, OTHER_BUCKET_LABEL, TopNSample } from '../../common/topn'; import { useKibanaTimeZoneSetting } from '../hooks/use_kibana_timezone_setting'; import { useProfilingChartsTheme } from '../hooks/use_profiling_charts_theme'; diff --git a/x-pack/plugins/profiling/public/components/topn_functions/utils.ts b/x-pack/plugins/profiling/public/components/topn_functions/utils.ts index f4524425883d1..b64fa8ab5980b 100644 --- a/x-pack/plugins/profiling/public/components/topn_functions/utils.ts +++ b/x-pack/plugins/profiling/public/components/topn_functions/utils.ts @@ -5,7 +5,7 @@ * 2.0. */ import { keyBy } from 'lodash'; -import { StackFrameMetadata } from '@kbn/profiling-data-access-plugin/common/profiling'; +import type { StackFrameMetadata } from '@kbn/profiling-utils'; import { TopNFunctions } from '../../../common/functions'; import { calculateImpactEstimates } from '../../../common/calculate_impact_estimates'; diff --git a/x-pack/plugins/profiling/public/embeddables/async_embeddable_component.tsx b/x-pack/plugins/profiling/public/embeddables/async_embeddable_component.tsx new file mode 100644 index 0000000000000..4c8ba90e332c7 --- /dev/null +++ b/x-pack/plugins/profiling/public/embeddables/async_embeddable_component.tsx @@ -0,0 +1,36 @@ +/* + * 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 { EuiLoadingChart } from '@elastic/eui'; +import React from 'react'; + +interface Props { + isLoading: boolean; + children: React.ReactElement; +} + +export function AsyncEmbeddableComponent({ children, isLoading }: Props) { + return ( + <> + {isLoading ? ( +
    + +
    + ) : ( + <>{children} + )} + + ); +} diff --git a/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph.tsx b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph.tsx new file mode 100644 index 0000000000000..8e491af0afe63 --- /dev/null +++ b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph.tsx @@ -0,0 +1,50 @@ +/* + * 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 { Embeddable, EmbeddableOutput } from '@kbn/embeddable-plugin/public'; +import { EMBEDDABLE_FLAMEGRAPH } from '@kbn/observability-shared-plugin/public'; +import React from 'react'; +import { render, unmountComponentAtNode } from 'react-dom'; +import { createFlameGraph } from '@kbn/profiling-utils'; +import { FlameGraph } from '../../components/flamegraph'; +import { EmbeddableFlamegraphEmbeddableInput } from './embeddable_flamegraph_factory'; +import { AsyncEmbeddableComponent } from '../async_embeddable_component'; + +export class EmbeddableFlamegraph extends Embeddable< + EmbeddableFlamegraphEmbeddableInput, + EmbeddableOutput +> { + readonly type = EMBEDDABLE_FLAMEGRAPH; + private _domNode?: HTMLElement; + + render(domNode: HTMLElement) { + this._domNode = domNode; + const { data, isLoading } = this.input; + const flamegraph = !isLoading && data ? createFlameGraph(data) : undefined; + render( + + <> + {flamegraph && ( + + )} + + , + domNode + ); + } + + public destroy() { + if (this._domNode) { + unmountComponentAtNode(this._domNode); + } + } + + reload() { + if (this._domNode) { + this.render(this._domNode); + } + } +} diff --git a/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph_factory.ts b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph_factory.ts new file mode 100644 index 0000000000000..568a4d20acc7b --- /dev/null +++ b/x-pack/plugins/profiling/public/embeddables/flamegraph/embeddable_flamegraph_factory.ts @@ -0,0 +1,39 @@ +/* + * 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 { + IContainer, + EmbeddableInput, + EmbeddableFactoryDefinition, +} from '@kbn/embeddable-plugin/public'; +import type { BaseFlameGraph } from '@kbn/profiling-utils'; +import { EMBEDDABLE_FLAMEGRAPH } from '@kbn/observability-shared-plugin/public'; + +interface EmbeddableFlamegraphInput { + data?: BaseFlameGraph; + isLoading: boolean; +} + +export type EmbeddableFlamegraphEmbeddableInput = EmbeddableFlamegraphInput & EmbeddableInput; + +export class EmbeddableFlamegraphFactory + implements EmbeddableFactoryDefinition +{ + readonly type = EMBEDDABLE_FLAMEGRAPH; + + async isEditable() { + return false; + } + + async create(input: EmbeddableFlamegraphEmbeddableInput, parent?: IContainer) { + const { EmbeddableFlamegraph } = await import('./embeddable_flamegraph'); + return new EmbeddableFlamegraph(input, {}, parent); + } + + getDisplayName() { + return 'Universal Profiling Flamegraph'; + } +} diff --git a/x-pack/plugins/profiling/public/plugin.tsx b/x-pack/plugins/profiling/public/plugin.tsx index a59f991df58d8..25493dd3a20e5 100644 --- a/x-pack/plugins/profiling/public/plugin.tsx +++ b/x-pack/plugins/profiling/public/plugin.tsx @@ -16,11 +16,13 @@ import { i18n } from '@kbn/i18n'; import type { NavigationSection } from '@kbn/observability-shared-plugin/public'; import type { Location } from 'history'; import { BehaviorSubject, combineLatest, from, map } from 'rxjs'; +import { EMBEDDABLE_FLAMEGRAPH } from '@kbn/observability-shared-plugin/public'; import { FlamegraphLocatorDefinition } from './locators/flamegraph_locator'; import { StacktracesLocatorDefinition } from './locators/stacktraces_locator'; import { TopNFunctionsLocatorDefinition } from './locators/topn_functions_locator'; import { getServices } from './services'; import type { ProfilingPluginPublicSetupDeps, ProfilingPluginPublicStartDeps } from './types'; +import { EmbeddableFlamegraphFactory } from './embeddables/flamegraph/embeddable_flamegraph_factory'; export type ProfilingPluginSetup = ReturnType; export type ProfilingPluginStart = void; @@ -130,6 +132,11 @@ export class ProfilingPlugin implements Plugin { }, }); + pluginsSetup.embeddable.registerEmbeddableFactory( + EMBEDDABLE_FLAMEGRAPH, + new EmbeddableFlamegraphFactory() + ); + return { locators: { flamegraphLocator: pluginsSetup.share.url.locators.create( diff --git a/x-pack/plugins/profiling/public/routing/index.tsx b/x-pack/plugins/profiling/public/routing/index.tsx index b6dcebc3ec18d..c1f2aa6b39c22 100644 --- a/x-pack/plugins/profiling/public/routing/index.tsx +++ b/x-pack/plugins/profiling/public/routing/index.tsx @@ -9,10 +9,7 @@ import { toNumberRt } from '@kbn/io-ts-utils'; import { createRouter, Outlet } from '@kbn/typed-react-router-config'; import * as t from 'io-ts'; import React from 'react'; -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { TopNFunctionSortField, topNFunctionSortFieldRt } from '../../common/functions'; import { indexLifecyclePhaseRt, diff --git a/x-pack/plugins/profiling/public/services.ts b/x-pack/plugins/profiling/public/services.ts index 6fbe64f57d025..70716659a9e78 100644 --- a/x-pack/plugins/profiling/public/services.ts +++ b/x-pack/plugins/profiling/public/services.ts @@ -6,10 +6,10 @@ */ import { HttpFetchQuery } from '@kbn/core/public'; import { - BaseFlameGraph, createFlameGraph, - ElasticFlameGraph, -} from '@kbn/profiling-data-access-plugin/common/flamegraph'; + type BaseFlameGraph, + type ElasticFlameGraph, +} from '@kbn/profiling-utils'; import { getRoutePaths } from '../common'; import { TopNFunctions } from '../common/functions'; import type { @@ -106,6 +106,7 @@ export function getServices(): Services { timeTo, kuery, }; + const baseFlamegraph = (await http.get(paths.Flamechart, { query })) as BaseFlameGraph; return createFlameGraph(baseFlamegraph); }, diff --git a/x-pack/plugins/profiling/public/types.ts b/x-pack/plugins/profiling/public/types.ts index 1d914c2d31a72..e583a4962dc68 100644 --- a/x-pack/plugins/profiling/public/types.ts +++ b/x-pack/plugins/profiling/public/types.ts @@ -24,6 +24,7 @@ import { ObservabilityAIAssistantPluginSetup, ObservabilityAIAssistantPluginStart, } from '@kbn/observability-ai-assistant-plugin/public'; +import { EmbeddableSetup } from '@kbn/embeddable-plugin/public'; export interface ProfilingPluginPublicSetupDeps { observability: ObservabilityPublicSetup; @@ -34,6 +35,7 @@ export interface ProfilingPluginPublicSetupDeps { charts: ChartsPluginSetup; licensing: LicensingPluginSetup; share: SharePluginSetup; + embeddable: EmbeddableSetup; } export interface ProfilingPluginPublicStartDeps { diff --git a/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts b/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts index 6ba179ac44d9c..32ae0471dd8d5 100644 --- a/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts +++ b/x-pack/plugins/profiling/public/utils/get_flamegraph_model/index.ts @@ -8,8 +8,8 @@ import { ColumnarViewModel } from '@elastic/charts'; import { i18n } from '@kbn/i18n'; import d3 from 'd3'; import { compact, range, sum, uniqueId } from 'lodash'; -import { describeFrameType, FrameType } from '@kbn/profiling-data-access-plugin/common/profiling'; -import { ElasticFlameGraph } from '@kbn/profiling-data-access-plugin/common/flamegraph'; +import { describeFrameType, FrameType } from '@kbn/profiling-utils'; +import type { ElasticFlameGraph } from '@kbn/profiling-utils'; import { createColumnarViewModel } from '../../../common/columnar_view_model'; import { FRAME_TYPE_COLOR_MAP, rgbToRGBA } from '../../../common/frame_type_colors'; import { ComparisonMode } from '../../components/normalization_menu'; diff --git a/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx b/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx index 78509345e8f72..c176826baa4fe 100644 --- a/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx +++ b/x-pack/plugins/profiling/public/views/flamegraphs/differential_flamegraphs/index.tsx @@ -5,14 +5,14 @@ * 2.0. */ import { EuiFlexGroup, EuiFlexItem, EuiPanel } from '@elastic/eui'; -import React, { useState } from 'react'; +import React from 'react'; import { AsyncComponent } from '../../../components/async_component'; import { useProfilingDependencies } from '../../../components/contexts/profiling_dependencies/use_profiling_dependencies'; import { FlameGraph } from '../../../components/flamegraph'; import { NormalizationMode, NormalizationOptions } from '../../../components/normalization_menu'; import { useProfilingParams } from '../../../hooks/use_profiling_params'; -import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useProfilingRoutePath } from '../../../hooks/use_profiling_route_path'; +import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useTimeRange } from '../../../hooks/use_time_range'; import { useTimeRangeAsync } from '../../../hooks/use_time_range_async'; import { DifferentialFlameGraphSearchPanel } from './differential_flame_graph_search_panel'; @@ -36,7 +36,6 @@ export function DifferentialFlameGraphsView() { } = useProfilingParams('/flamegraphs/differential'); const routePath = useProfilingRoutePath(); const profilingRouter = useProfilingRouter(); - const [showInformationWindow, setShowInformationWindow] = useState(false); const timeRange = useTimeRange({ rangeFrom, rangeTo }); @@ -55,15 +54,15 @@ export function DifferentialFlameGraphsView() { return Promise.all([ fetchElasticFlamechart({ http, - timeFrom: timeRange.inSeconds.start, - timeTo: timeRange.inSeconds.end, + timeFrom: new Date(timeRange.start).getTime(), + timeTo: new Date(timeRange.end).getTime(), kuery, }), - comparisonTimeRange.inSeconds.start && comparisonTimeRange.inSeconds.end + comparisonTimeRange.start && comparisonTimeRange.end ? fetchElasticFlamechart({ http, - timeFrom: comparisonTimeRange.inSeconds.start, - timeTo: comparisonTimeRange.inSeconds.end, + timeFrom: new Date(comparisonTimeRange.start).getTime(), + timeTo: new Date(comparisonTimeRange.end).getTime(), kuery: comparisonKuery, }) : Promise.resolve(undefined), @@ -75,13 +74,13 @@ export function DifferentialFlameGraphsView() { }); }, [ - timeRange.inSeconds.start, - timeRange.inSeconds.end, + fetchElasticFlamechart, + timeRange.start, + timeRange.end, kuery, - comparisonTimeRange.inSeconds.start, - comparisonTimeRange.inSeconds.end, + comparisonTimeRange.start, + comparisonTimeRange.end, comparisonKuery, - fetchElasticFlamechart, ] ); @@ -105,10 +104,6 @@ export function DifferentialFlameGraphsView() { const isNormalizedByTime = normalizationMode === NormalizationMode.Time; - function toggleShowInformationWindow() { - setShowInformationWindow((prev) => !prev); - } - function handleSearchTextChange(newSearchText: string) { // @ts-expect-error Code gets too complicated to satisfy TS constraints profilingRouter.push(routePath, { query: { ...query, searchText: newSearchText } }); @@ -134,8 +129,6 @@ export function DifferentialFlameGraphsView() { comparisonMode={comparisonMode} baseline={isNormalizedByTime ? baselineTime : baseline} comparison={isNormalizedByTime ? comparisonTime : comparison} - showInformationWindow={showInformationWindow} - toggleShowInformationWindow={toggleShowInformationWindow} searchText={searchText} onChangeSearchText={handleSearchTextChange} /> diff --git a/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx b/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx index 8a19cc538e14a..fae9504b00b01 100644 --- a/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx +++ b/x-pack/plugins/profiling/public/views/flamegraphs/flamegraph/index.tsx @@ -5,13 +5,13 @@ * 2.0. */ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import React, { useState } from 'react'; +import React from 'react'; import { AsyncComponent } from '../../../components/async_component'; import { useProfilingDependencies } from '../../../components/contexts/profiling_dependencies/use_profiling_dependencies'; import { FlameGraph } from '../../../components/flamegraph'; import { useProfilingParams } from '../../../hooks/use_profiling_params'; -import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useProfilingRoutePath } from '../../../hooks/use_profiling_route_path'; +import { useProfilingRouter } from '../../../hooks/use_profiling_router'; import { useTimeRange } from '../../../hooks/use_time_range'; import { useTimeRangeAsync } from '../../../hooks/use_time_range_async'; @@ -31,12 +31,12 @@ export function FlameGraphView() { ({ http }) => { return fetchElasticFlamechart({ http, - timeFrom: timeRange.inSeconds.start, - timeTo: timeRange.inSeconds.end, + timeFrom: new Date(timeRange.start).getTime(), + timeTo: new Date(timeRange.end).getTime(), kuery, }); }, - [timeRange.inSeconds.start, timeRange.inSeconds.end, kuery, fetchElasticFlamechart] + [fetchElasticFlamechart, timeRange.start, timeRange.end, kuery] ); const { data } = state; @@ -45,11 +45,6 @@ export function FlameGraphView() { const profilingRouter = useProfilingRouter(); - const [showInformationWindow, setShowInformationWindow] = useState(false); - function toggleShowInformationWindow() { - setShowInformationWindow((prev) => !prev); - } - function handleSearchTextChange(newSearchText: string) { // @ts-expect-error Code gets too complicated to satisfy TS constraints profilingRouter.push(routePath, { query: { ...query, searchText: newSearchText } }); @@ -62,8 +57,6 @@ export function FlameGraphView() { diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts b/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts index b1a70254348ab..81f13d070ddcd 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/get_stack_traces_tabs.ts @@ -8,7 +8,7 @@ import { EuiPageHeaderContentProps } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { TypeOf } from '@kbn/typed-react-router-config'; -import { TopNType } from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { TopNType } from '@kbn/profiling-utils'; import { StatefulProfilingRouter } from '../../hooks/use_profiling_router'; import { ProfilingRoutes } from '../../routing'; diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx b/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx index f024b8a21dcce..d5a2c3a851f8f 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/index.tsx @@ -7,10 +7,7 @@ import { EuiButton, EuiButtonGroup, EuiFlexGroup, EuiFlexItem, EuiPanel } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { groupSamplesByCategory, TopNResponse } from '../../../common/topn'; import { useProfilingParams } from '../../hooks/use_profiling_params'; import { useProfilingRouter } from '../../hooks/use_profiling_router'; diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts index 71272b7eda63c..b5c8db80c0f8a 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.test.ts @@ -4,10 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { getTracesViewRouteParams } from './utils'; describe('stack traces view utils', () => { diff --git a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts index 7b6b2a0ead397..7aa4829d28164 100644 --- a/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts +++ b/x-pack/plugins/profiling/public/views/stack_traces_view/utils.ts @@ -6,10 +6,7 @@ */ import { TypeOf } from '@kbn/typed-react-router-config'; -import { - getFieldNameForTopNType, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { getFieldNameForTopNType, TopNType } from '@kbn/profiling-utils'; import { ProfilingRoutes } from '../../routing'; export function getTracesViewRouteParams({ diff --git a/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx b/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx index 1708c686c980c..7403c3e86fb9b 100644 --- a/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx +++ b/x-pack/plugins/profiling/public/views/storage_explorer/summary.tsx @@ -9,10 +9,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiPanel, EuiStat, EuiText } from ' import { i18n } from '@kbn/i18n'; import { asDynamicBytes } from '@kbn/observability-plugin/common'; import React from 'react'; -import { - StackTracesDisplayOption, - TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { StackTracesDisplayOption, TopNType } from '@kbn/profiling-utils'; import { StorageExplorerSummaryAPIResponse } from '../../../common/storage_explorer'; import { useProfilingDependencies } from '../../components/contexts/profiling_dependencies/use_profiling_dependencies'; import { LabelWithHint } from '../../components/label_with_hint'; diff --git a/x-pack/plugins/profiling/server/routes/flamechart.ts b/x-pack/plugins/profiling/server/routes/flamechart.ts index 5dedcc15e0c78..28af937dc65f2 100644 --- a/x-pack/plugins/profiling/server/routes/flamechart.ts +++ b/x-pack/plugins/profiling/server/routes/flamechart.ts @@ -38,8 +38,8 @@ export function registerFlameChartSearchRoute({ const esClient = await getClient(context); const flamegraph = await profilingDataAccess.services.fetchFlamechartData({ esClient, - rangeFrom: timeFrom, - rangeTo: timeTo, + rangeFromMs: timeFrom, + rangeToMs: timeTo, kuery, }); diff --git a/x-pack/plugins/profiling/server/routes/query.ts b/x-pack/plugins/profiling/server/routes/query.ts index eed6b272c800e..79520b0520ffb 100644 --- a/x-pack/plugins/profiling/server/routes/query.ts +++ b/x-pack/plugins/profiling/server/routes/query.ts @@ -7,7 +7,7 @@ import { QueryDslBoolQuery } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { kqlQuery } from '@kbn/observability-plugin/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; export interface ProjectTimeQuery { bool: QueryDslBoolQuery; diff --git a/x-pack/plugins/profiling/server/routes/search_stacktraces.ts b/x-pack/plugins/profiling/server/routes/search_stacktraces.ts index 1e42cd11265ee..84e0da898534e 100644 --- a/x-pack/plugins/profiling/server/routes/search_stacktraces.ts +++ b/x-pack/plugins/profiling/server/routes/search_stacktraces.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { decodeStackTraceResponse } from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import { decodeStackTraceResponse } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../utils/create_profiling_es_client'; import { ProjectTimeQuery } from './query'; diff --git a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts index 529887f7f190d..88e6a365c80da 100644 --- a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts +++ b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_breakdown_size_timeseries.ts @@ -6,7 +6,7 @@ */ import { kqlQuery, termQuery } from '@kbn/observability-plugin/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { computeBucketWidthFromTimeRangeAndBucketCount } from '../../../common/histogram'; import { IndexLifecyclePhaseSelectOption, diff --git a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts index 20f3f080597f5..565fc76210516 100644 --- a/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts +++ b/x-pack/plugins/profiling/server/routes/storage_explorer/get_host_details.ts @@ -6,7 +6,7 @@ */ import { kqlQuery, termQuery } from '@kbn/observability-plugin/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { IndexLifecyclePhaseSelectOption, indexLifeCyclePhaseToDataTier, diff --git a/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts b/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts index bc3a0dd581903..a2d2c7b2abcd1 100644 --- a/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts +++ b/x-pack/plugins/profiling/server/routes/storage_explorer/get_profiling_hosts_details_by_id.ts @@ -6,7 +6,7 @@ */ import { kqlQuery } from '@kbn/observability-plugin/server'; import { keyBy } from 'lodash'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../../utils/create_profiling_es_client'; interface HostDetails { diff --git a/x-pack/plugins/profiling/server/routes/topn.test.ts b/x-pack/plugins/profiling/server/routes/topn.test.ts index ab88c911ce97a..9e28b87b51679 100644 --- a/x-pack/plugins/profiling/server/routes/topn.test.ts +++ b/x-pack/plugins/profiling/server/routes/topn.test.ts @@ -8,7 +8,7 @@ import { AggregationsAggregationContainer } from '@elastic/elasticsearch/lib/api/types'; import { coreMock } from '@kbn/core/server/mocks'; import { loggerMock } from '@kbn/logging-mocks'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; +import { ProfilingESField } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../utils/create_profiling_es_client'; import { topNElasticSearchQuery } from './topn'; diff --git a/x-pack/plugins/profiling/server/routes/topn.ts b/x-pack/plugins/profiling/server/routes/topn.ts index 5e3f1cb16e8be..7790bad3b23d5 100644 --- a/x-pack/plugins/profiling/server/routes/topn.ts +++ b/x-pack/plugins/profiling/server/routes/topn.ts @@ -7,18 +7,18 @@ import { schema } from '@kbn/config-schema'; import type { Logger } from '@kbn/core/server'; -import { ProfilingESField } from '@kbn/profiling-data-access-plugin/common/elasticsearch'; -import { groupStackFrameMetadataByStackTrace } from '@kbn/profiling-data-access-plugin/common/profiling'; import { getFieldNameForTopNType, + groupStackFrameMetadataByStackTrace, + ProfilingESField, TopNType, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; -import { getRoutePaths, INDEX_EVENTS } from '../../common'; +} from '@kbn/profiling-utils'; import { RouteRegisterParameters } from '.'; +import { getRoutePaths, INDEX_EVENTS } from '../../common'; import { computeBucketWidthFromTimeRangeAndBucketCount } from '../../common/histogram'; import { createTopNSamples, getTopNAggregationRequest, TopNResponse } from '../../common/topn'; -import { handleRouteHandlerError } from '../utils/handle_route_error_handler'; import { ProfilingESClient } from '../utils/create_profiling_es_client'; +import { handleRouteHandlerError } from '../utils/handle_route_error_handler'; import { withProfilingSpan } from '../utils/with_profiling_span'; import { getClient } from './compat'; import { findDownsampledIndex } from './downsampling'; diff --git a/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts b/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts index 1379fe2a56bf2..dc62411f2fb8f 100644 --- a/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts +++ b/x-pack/plugins/profiling/server/utils/create_profiling_es_client.ts @@ -10,10 +10,7 @@ import type { ESSearchRequest, InferSearchResponseOf } from '@kbn/es-types'; import type { KibanaRequest } from '@kbn/core/server'; import { unwrapEsResponse } from '@kbn/observability-plugin/server'; import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { - ProfilingStatusResponse, - StackTraceResponse, -} from '@kbn/profiling-data-access-plugin/common/stack_traces'; +import type { ProfilingStatusResponse, StackTraceResponse } from '@kbn/profiling-utils'; import { withProfilingSpan } from './with_profiling_span'; export function cancelEsRequestOnAbort>( diff --git a/x-pack/plugins/profiling/tsconfig.json b/x-pack/plugins/profiling/tsconfig.json index ff93bada71703..b5de94dc4f559 100644 --- a/x-pack/plugins/profiling/tsconfig.json +++ b/x-pack/plugins/profiling/tsconfig.json @@ -48,7 +48,9 @@ "@kbn/utility-types", "@kbn/usage-collection-plugin", "@kbn/observability-ai-assistant-plugin", - "@kbn/profiling-data-access-plugin" + "@kbn/profiling-data-access-plugin", + "@kbn/embeddable-plugin", + "@kbn/profiling-utils" // add references to other TypeScript projects the plugin depends on // requiredPlugins from ./kibana.json diff --git a/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts b/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts index dd72a012c6343..c83063bcf7e0b 100644 --- a/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts +++ b/x-pack/plugins/profiling_data_access/server/services/fetch_flamechart/index.ts @@ -6,31 +6,33 @@ */ import { ElasticsearchClient } from '@kbn/core/server'; -import { RegisterServicesParams } from '../register_services'; +import { createBaseFlameGraph, createCalleeTree } from '@kbn/profiling-utils'; import { withProfilingSpan } from '../../utils/with_profiling_span'; +import { RegisterServicesParams } from '../register_services'; import { searchStackTraces } from '../search_stack_traces'; -import { createCalleeTree } from '../../../common/callee'; -import { createBaseFlameGraph } from '../../../common/flamegraph'; -interface FetchFlamechartParams { +export interface FetchFlamechartParams { esClient: ElasticsearchClient; - rangeFrom: number; - rangeTo: number; + rangeFromMs: number; + rangeToMs: number; kuery: string; } export function createFetchFlamechart({ createProfilingEsClient }: RegisterServicesParams) { - return async ({ esClient, rangeFrom, rangeTo, kuery }: FetchFlamechartParams) => { + return async ({ esClient, rangeFromMs, rangeToMs, kuery }: FetchFlamechartParams) => { + const rangeFromSecs = rangeFromMs / 1000; + const rangeToSecs = rangeToMs / 1000; + const profilingEsClient = createProfilingEsClient({ esClient }); const targetSampleSize = 20000; // minimum number of samples to get statistically sound results - const totalSeconds = rangeTo - rangeFrom; + const totalSeconds = rangeToSecs - rangeFromSecs; const { events, stackTraces, executables, stackFrames, totalFrames, samplingRate } = await searchStackTraces({ client: profilingEsClient, - rangeFrom, - rangeTo, + rangeFrom: rangeFromSecs, + rangeTo: rangeToSecs, kuery, sampleSize: targetSampleSize, }); @@ -45,9 +47,7 @@ export function createFetchFlamechart({ createProfilingEsClient }: RegisterServi samplingRate ); - const fg = createBaseFlameGraph(tree, samplingRate, totalSeconds); - - return fg; + return createBaseFlameGraph(tree, samplingRate, totalSeconds); }); return flamegraph; diff --git a/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts b/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts index 1c9e185fe4c05..5544a8e8ffa90 100644 --- a/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts +++ b/x-pack/plugins/profiling_data_access/server/services/search_stack_traces/index.ts @@ -7,7 +7,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; -import { decodeStackTraceResponse } from '../../../common/stack_traces'; +import { decodeStackTraceResponse } from '@kbn/profiling-utils'; import { ProfilingESClient } from '../../utils/create_profiling_es_client'; export async function searchStackTraces({ diff --git a/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts b/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts index 0c5b85f42c8fb..4b7f785bb6f3f 100644 --- a/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts +++ b/x-pack/plugins/profiling_data_access/server/utils/create_profiling_es_client.ts @@ -8,8 +8,8 @@ import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { ElasticsearchClient } from '@kbn/core/server'; import type { ESSearchRequest, InferSearchResponseOf } from '@kbn/es-types'; -import { unwrapEsResponse } from '@kbn/observability-plugin/server'; -import { ProfilingStatusResponse, StackTraceResponse } from '../../common/stack_traces'; +import type { ProfilingStatusResponse, StackTraceResponse } from '@kbn/profiling-utils'; +import { unwrapEsResponse } from './unwrap_es_response'; import { withProfilingSpan } from './with_profiling_span'; export interface ProfilingESClient { diff --git a/x-pack/plugins/profiling_data_access/server/utils/unwrap_es_response.ts b/x-pack/plugins/profiling_data_access/server/utils/unwrap_es_response.ts new file mode 100644 index 0000000000000..1448a0fe027c8 --- /dev/null +++ b/x-pack/plugins/profiling_data_access/server/utils/unwrap_es_response.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 { errors } from '@elastic/elasticsearch'; +import { inspect } from 'util'; + +export class WrappedElasticsearchClientError extends Error { + originalError: errors.ElasticsearchClientError; + constructor(originalError: errors.ElasticsearchClientError) { + super(originalError.message); + + const stack = this.stack; + + this.originalError = originalError; + + if (originalError instanceof errors.ResponseError) { + // make sure ES response body is visible when logged to the console + // @ts-expect-error + this.stack = { + valueOf() { + const value = stack?.valueOf() ?? ''; + return value; + }, + toString() { + const value = + stack?.toString() + + `\nResponse: ${inspect(originalError.meta.body, { depth: null })}\n`; + return value; + }, + }; + } + } +} + +export function unwrapEsResponse>( + responsePromise: T +): Promise['body']> { + return responsePromise + .then((res) => res.body) + .catch((err) => { + // make sure stacktrace is relative to where client was called + throw new WrappedElasticsearchClientError(err); + }); +} diff --git a/x-pack/plugins/profiling_data_access/tsconfig.json b/x-pack/plugins/profiling_data_access/tsconfig.json index f8693cb83658e..9075978c5a927 100644 --- a/x-pack/plugins/profiling_data_access/tsconfig.json +++ b/x-pack/plugins/profiling_data_access/tsconfig.json @@ -5,8 +5,6 @@ }, "include": [ "server/**/*", - "common/**/*.ts", - "common/**/*.json", "jest.config.js" ], "exclude": [ @@ -17,7 +15,7 @@ "@kbn/core", "@kbn/es-query", "@kbn/es-types", - "@kbn/observability-plugin", - "@kbn/apm-utils" + "@kbn/apm-utils", + "@kbn/profiling-utils" ] } 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 b290215981024..9d95afb5852dd 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 @@ -94,7 +94,7 @@ exports[`ScreenCapturePanelContent properly renders a view with "canvas" layout style="width: auto; margin-left: -16px; margin-right: -16px;" />
    - - - - - -
    - - - - - - +
    ); } diff --git a/x-pack/plugins/screenshotting/public/plugin.tsx b/x-pack/plugins/screenshotting/public/plugin.tsx index 68707cc16ed72..f50291eff46fd 100755 --- a/x-pack/plugins/screenshotting/public/plugin.tsx +++ b/x-pack/plugins/screenshotting/public/plugin.tsx @@ -21,26 +21,24 @@ interface SetupDeps { export class ScreenshottingPlugin implements Plugin { setup({ application }: CoreSetup, { screenshotMode }: SetupDeps) { - if (!screenshotMode.isScreenshotMode()) { - return; - } - - application.register({ - id: SCREENSHOTTING_APP_ID, - title: 'Screenshotting Expressions Renderer', - navLinkStatus: AppNavLinkStatus.hidden, - chromeless: true, + if (screenshotMode.isScreenshotMode()) { + application.register({ + id: SCREENSHOTTING_APP_ID, + title: 'Screenshotting Expressions Renderer', + navLinkStatus: AppNavLinkStatus.hidden, + chromeless: true, - mount: async ({ element }: AppMountParameters) => { - ReactDOM.render( - - - , - element - ); - return () => ReactDOM.unmountComponentAtNode(element); - }, - }); + mount: async ({ element }: AppMountParameters) => { + ReactDOM.render( + + + , + element + ); + return () => ReactDOM.unmountComponentAtNode(element); + }, + }); + } } start() {} diff --git a/x-pack/plugins/security/server/__snapshots__/prompt_page.test.tsx.snap b/x-pack/plugins/security/server/__snapshots__/prompt_page.test.tsx.snap index b5486ba5d649d..ccedfc1b02171 100644 --- a/x-pack/plugins/security/server/__snapshots__/prompt_page.test.tsx.snap +++ b/x-pack/plugins/security/server/__snapshots__/prompt_page.test.tsx.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`PromptPage renders as expected with additional scripts 1`] = `"ElasticMockedFonts

    Some Title

    Some Body
    Action#1
    Action#2
    "`; +exports[`PromptPage renders as expected with additional scripts 1`] = `"ElasticMockedFonts

    Some Title

    Some Body
    Action#1
    Action#2
    "`; -exports[`PromptPage renders as expected without additional scripts 1`] = `"ElasticMockedFonts

    Some Title

    Some Body
    Action#1
    Action#2
    "`; +exports[`PromptPage renders as expected without additional scripts 1`] = `"ElasticMockedFonts

    Some Title

    Some Body
    Action#1
    Action#2
    "`; diff --git a/x-pack/plugins/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap b/x-pack/plugins/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap index a752facec0213..b16535269e1c9 100644 --- a/x-pack/plugins/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap +++ b/x-pack/plugins/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`UnauthenticatedPage renders as expected 1`] = `"ElasticMockedFonts

    We hit an authentication error

    Try logging in again, and if the problem persists, contact your system administrator.

    "`; +exports[`UnauthenticatedPage renders as expected 1`] = `"ElasticMockedFonts

    We hit an authentication error

    Try logging in again, and if the problem persists, contact your system administrator.

    "`; -exports[`UnauthenticatedPage renders as expected with custom title 1`] = `"My Company NameMockedFonts

    We hit an authentication error

    Try logging in again, and if the problem persists, contact your system administrator.

    "`; +exports[`UnauthenticatedPage renders as expected with custom title 1`] = `"My Company NameMockedFonts

    We hit an authentication error

    Try logging in again, and if the problem persists, contact your system administrator.

    "`; diff --git a/x-pack/plugins/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap b/x-pack/plugins/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap index cc55a03d84555..255cc8b4963a0 100644 --- a/x-pack/plugins/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap +++ b/x-pack/plugins/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`ResetSessionPage renders as expected 1`] = `"ElasticMockedFonts

    You do not have permission to access the requested page

    Either go back to the previous page or log in as a different user.

    "`; +exports[`ResetSessionPage renders as expected 1`] = `"ElasticMockedFonts

    You do not have permission to access the requested page

    Either go back to the previous page or log in as a different user.

    "`; -exports[`ResetSessionPage renders as expected with custom page title 1`] = `"My Company NameMockedFonts

    You do not have permission to access the requested page

    Either go back to the previous page or log in as a different user.

    "`; +exports[`ResetSessionPage renders as expected with custom page title 1`] = `"My Company NameMockedFonts

    You do not have permission to access the requested page

    Either go back to the previous page or log in as a different user.

    "`; diff --git a/x-pack/plugins/security_solution/public/app/home/template_wrapper/global_kql_header/index.tsx b/x-pack/plugins/security_solution/public/app/home/template_wrapper/global_kql_header/index.tsx index ac49d8e90498d..f5f9b55e59e7c 100644 --- a/x-pack/plugins/security_solution/public/app/home/template_wrapper/global_kql_header/index.tsx +++ b/x-pack/plugins/security_solution/public/app/home/template_wrapper/global_kql_header/index.tsx @@ -12,7 +12,7 @@ import { useGlobalHeaderPortal } from '../../../../common/hooks/use_global_heade const StyledStickyWrapper = styled.div` position: sticky; z-index: ${(props) => props.theme.eui.euiZHeaderBelowDataGrid}; - // TOP location is declared in src/public/rendering/_base.scss to keep in line with Kibana Chrome + top: var(--euiFixedHeadersOffset, 0); `; export const GlobalKQLHeader = React.memo(() => { diff --git a/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx index 3aa6ea6513484..118c78e290759 100644 --- a/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx @@ -16,41 +16,9 @@ import { SearchBar } from '@kbn/unified-search-plugin/public'; import type { QueryBarComponentProps } from '.'; import { QueryBar } from '.'; -import type { DataViewFieldMap } from '@kbn/data-views-plugin/common'; -import { createStubDataView } from '@kbn/data-views-plugin/common/data_view.stub'; -import { fields } from '@kbn/data-views-plugin/common/mocks'; -import { useKibana } from '../../lib/kibana'; - -const getMockIndexPattern = () => ({ - ...createStubDataView({ - spec: { - id: '1234', - title: 'logstash-*', - fields: ((): DataViewFieldMap => { - const fieldMap: DataViewFieldMap = Object.create(null); - for (const field of fields) { - fieldMap[field.name] = { ...field }; - } - return fieldMap; - })(), - }, - }), -}); - const mockUiSettingsForFilterManager = coreMock.createStart().uiSettings; -jest.mock('../../lib/kibana'); describe('QueryBar ', () => { - (useKibana as jest.Mock).mockReturnValue({ - services: { - data: { - dataViews: { - create: jest.fn().mockResolvedValue(getMockIndexPattern()), - clearInstanceCache: jest.fn(), - }, - }, - }, - }); const mockOnChangeQuery = jest.fn(); const mockOnSubmitQuery = jest.fn(); const mockOnSavedQuery = jest.fn(); @@ -84,10 +52,10 @@ describe('QueryBar ', () => { mockOnSavedQuery.mockClear(); }); - test('check if we format the appropriate props to QueryBar', async () => { - await act(async () => { - const wrapper = await getWrapper( - { + const wrapper = mount( + + { onSubmitQuery={mockOnSubmitQuery} onSavedQuery={mockOnSavedQuery} /> - ); + + ); + const { + customSubmitButton, + timeHistory, + onClearSavedQuery, + onFiltersUpdated, + onQueryChange, + onQuerySubmit, + onSaved, + onSavedQueryUpdated, + ...searchBarProps + } = wrapper.find(SearchBar).props(); - await waitFor(() => { - wrapper.update(); - const { - customSubmitButton, - timeHistory, - onClearSavedQuery, - onFiltersUpdated, - onQueryChange, - onQuerySubmit, - onSaved, - onSavedQueryUpdated, - ...searchBarProps - } = wrapper.find(SearchBar).props(); - expect((searchBarProps?.indexPatterns ?? [{ id: 'unknown' }])[0].id).toEqual( - getMockIndexPattern().id - ); - }); + expect(searchBarProps).toEqual({ + dataTestSubj: undefined, + dateRangeFrom: 'now/d', + dateRangeTo: 'now/d', + displayStyle: undefined, + filters: [], + indexPatterns: [ + { + fields: [ + { + aggregatable: true, + name: '@timestamp', + searchable: true, + type: 'date', + }, + { + aggregatable: true, + name: '@version', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.ephemeral_id', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.hostname', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.id', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test1', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test2', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test3', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test4', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test5', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test6', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test7', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'agent.test8', + searchable: true, + type: 'string', + }, + { + aggregatable: true, + name: 'host.name', + searchable: true, + type: 'string', + }, + { + aggregatable: false, + name: 'nestedField.firstAttributes', + searchable: true, + type: 'string', + }, + { + aggregatable: false, + name: 'nestedField.secondAttributes', + searchable: true, + type: 'string', + }, + ], + title: 'filebeat-*,auditbeat-*,packetbeat-*', + }, + ], + isLoading: false, + isRefreshPaused: true, + query: { + language: 'kuery', + query: 'here: query', + }, + refreshInterval: undefined, + savedQuery: undefined, + showAutoRefreshOnly: false, + showDatePicker: false, + showFilterBar: true, + showQueryInput: true, + showSaveQuery: true, + showSubmitButton: false, }); }); @@ -208,6 +294,7 @@ describe('QueryBar ', () => { const onSubmitQueryRef = searchBarProps.onQuerySubmit; const onSavedQueryRef = searchBarProps.onSavedQueryUpdated; wrapper.setProps({ onSavedQuery: jest.fn() }); + wrapper.update(); expect(onSavedQueryRef).not.toEqual(wrapper.find(SearchBar).props().onSavedQueryUpdated); expect(onChangedQueryRef).toEqual(wrapper.find(SearchBar).props().onQueryChange); diff --git a/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx b/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx index aea4874f9a2ef..d86f3de10b549 100644 --- a/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { memo, useMemo, useCallback, useState, useEffect } from 'react'; +import React, { memo, useMemo, useCallback } from 'react'; import deepEqual from 'fast-deep-equal'; import type { DataViewBase, Filter, Query, TimeRange } from '@kbn/es-query'; @@ -16,8 +16,6 @@ import type { SearchBarProps } from '@kbn/unified-search-plugin/public'; import { SearchBar } from '@kbn/unified-search-plugin/public'; import { Storage } from '@kbn/kibana-utils-plugin/public'; -import { useKibana } from '../../lib/kibana'; - export interface QueryBarComponentProps { dataTestSubj?: string; dateRangeFrom?: string; @@ -38,9 +36,6 @@ export interface QueryBarComponentProps { isDisabled?: boolean; } -export const isDataView = (obj: unknown): obj is DataView => - obj != null && typeof obj === 'object' && Object.hasOwn(obj, 'getName'); - export const QueryBar = memo( ({ dateRangeFrom, @@ -61,8 +56,6 @@ export const QueryBar = memo( displayStyle, isDisabled, }) => { - const { data } = useKibana().services; - const [dataView, setDataView] = useState(); const onQuerySubmit = useCallback( (payload: { dateRange: TimeRange; query?: Query }) => { if (payload.query != null && !deepEqual(payload.query, filterQuery)) { @@ -109,32 +102,16 @@ export const QueryBar = memo( [filterManager] ); - useEffect(() => { - if (isDataView(indexPattern)) { - setDataView(indexPattern); - } else { - const createDataView = async () => { - const dv = await data.dataViews.create({ title: indexPattern.title }); - setDataView(dv); - }; - createDataView(); - } - return () => { - if (dataView?.id) { - data.dataViews.clearInstanceCache(dataView?.id); - } - }; - }, [data.dataViews, dataView?.id, indexPattern]); - + const indexPatterns = useMemo(() => [indexPattern], [indexPattern]); const timeHistory = useMemo(() => new TimeHistory(new Storage(localStorage)), []); - const arrDataView = useMemo(() => (dataView != null ? [dataView] : []), [dataView]); + return ( = ({ name, title, t - +
    {title}
    diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx index 5c7a900765fe3..95f1345a87330 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx @@ -112,6 +112,43 @@ describe('PrevalenceDetails', () => { expect(queryByTestId(`${PREVALENCE_DETAILS_TABLE_TEST_ID}UpSell`)).not.toBeInTheDocument(); }); + it('should render formatted numbers for the alert and document count columns', () => { + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [ + { + field: 'field1', + value: 'value1', + alertCount: 1000, + docCount: 2000000, + hostPrevalence: 0.05, + userPrevalence: 0.1, + }, + ], + }); + + const { getByTestId } = render( + + + + + + ); + + expect(getByTestId(PREVALENCE_DETAILS_TABLE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID)).toHaveTextContent('field1'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID)).toHaveTextContent('value1'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID)).toHaveTextContent('1k'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_DOC_COUNT_CELL_TEST_ID)).toHaveTextContent('2M'); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_HOST_PREVALENCE_CELL_TEST_ID)).toHaveTextContent( + '5%' + ); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID)).toHaveTextContent( + '10%' + ); + }); + it('should render the table with only basic columns if license is not platinum', () => { const field1 = 'field1'; const field2 = 'field2'; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx index 11f370e9572a6..c58c138264ef5 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx @@ -23,6 +23,7 @@ import { EuiToolTip, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; +import { FormattedCount } from '../../../common/components/formatted_number'; import { useLicense } from '../../../common/hooks/use_license'; import { InvestigateInTimelineButton } from '../../../common/components/event_details/table/investigate_in_timeline_button'; import type { PrevalenceData } from '../../shared/hooks/use_prevalence'; @@ -116,7 +117,7 @@ const columns: Array> = [ filters={[]} timeRange={{ kind: 'absolute', from: data.from, to: data.to }} > - <>{data.alertCount} + ) : ( getEmptyTagValue() @@ -161,7 +162,7 @@ const columns: Array> = [ timeRange={{ kind: 'absolute', from: data.from, to: data.to }} keepDataView // changing dataview from only detections to include non-alerts docs > - <>{data.docCount} + ) : ( getEmptyTagValue() diff --git a/x-pack/plugins/security_solution/public/management/components/endpoint_execute_action/execute_action_host_response.test.tsx b/x-pack/plugins/security_solution/public/management/components/endpoint_execute_action/execute_action_host_response.test.tsx index ea91afe44afdd..04958e60b4de8 100644 --- a/x-pack/plugins/security_solution/public/management/components/endpoint_execute_action/execute_action_host_response.test.tsx +++ b/x-pack/plugins/security_solution/public/management/components/endpoint_execute_action/execute_action_host_response.test.tsx @@ -58,8 +58,8 @@ describe('When using the `ExecuteActionHostResponse` component', () => { it('should show execute context accordion as `closed`', async () => { render(); - expect(renderResult.getByTestId('test-executeResponseOutput-context').className).toEqual( - 'euiAccordion' + expect(renderResult.getByTestId('test-executeResponseOutput-context').className).not.toContain( + 'euiAccordion-isOpen' ); }); diff --git a/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx b/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx index 3ea38e5ed2314..e6f8f2b207ea8 100644 --- a/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx +++ b/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx @@ -24,11 +24,11 @@ const OverlayRootContainer = styled.div` position: fixed; overflow: hidden; - top: calc((${({ theme: { eui } }) => eui.euiHeaderHeightCompensation} * 2)); + top: var(--euiFixedHeadersOffset, 0); bottom: 0; right: 0; - height: calc(100% - ${({ theme: { eui } }) => eui.euiHeaderHeightCompensation} * 2); + height: calc(100% - var(--euiFixedHeadersOffset, 0)); width: 100%; z-index: ${({ theme: { eui } }) => eui.euiZFlyout}; @@ -89,17 +89,6 @@ const PageOverlayGlobalStyles = createGlobalStyle<{ theme: EuiTheme }>` body.${PAGE_OVERLAY_DOCUMENT_BODY_FULLSCREEN_CLASSNAME} { ${FULL_SCREEN_CONTENT_OVERRIDES_CSS_STYLESHEET} } - - //------------------------------------------------------------------------------------------- - // Style overrides for when Page Overlay is displayed in serverless project - //------------------------------------------------------------------------------------------- - // With serverless, there is 1 less header displayed, thus the display of the page overlay - // need to be adjusted slightly so that it still display below the header - //------------------------------------------------------------------------------------------- - body.kbnBody.kbnBody--projectLayout:not(.${PAGE_OVERLAY_DOCUMENT_BODY_FULLSCREEN_CLASSNAME}) .${PAGE_OVERLAY_CSS_CLASSNAME} { - top: ${({ theme: { eui } }) => eui.euiHeaderHeightCompensation}; - height: calc(100% - (${({ theme: { eui } }) => eui.euiHeaderHeightCompensation})); - } `; const setDocumentBodyOverlayIsVisible = () => { diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/pane/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/pane/index.tsx index d3007d0d6346a..c8156c455d7e2 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/pane/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/pane/index.tsx @@ -42,12 +42,12 @@ const FlyoutPaneComponent: React.FC = ({
    => { - const kbnStatus = await kbnClient.status.get(); + const kbnStatus = await fetchKibanaStatus(kbnClient); const agentVersions = await axios .get('https://artifacts-api.elastic.co/v1/versions') .then((response) => map(response.data.versions, (version) => version.split('-SNAPSHOT')[0])); diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts index a3ad237fc3bcb..366b2a81cefcb 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts @@ -7,10 +7,14 @@ import { Client } from '@elastic/elasticsearch'; import { ToolingLog } from '@kbn/tooling-log'; +import type { KbnClientOptions } from '@kbn/test'; import { KbnClient } from '@kbn/test'; import type { StatusResponse } from '@kbn/core-status-common-internal'; import pRetry from 'p-retry'; import nodeFetch from 'node-fetch'; +import type { ReqOptions } from '@kbn/test/src/kbn_client/kbn_client_requester'; +import { type AxiosResponse } from 'axios'; +import type { ClientOptions } from '@elastic/elasticsearch/lib/client'; import { catchAxiosErrorFormatAndThrow } from './format_axios_error'; import { isLocalhost } from './is_localhost'; import { getLocalhostRealIp } from './localhost_services'; @@ -24,6 +28,7 @@ export interface RuntimeServices { username: string; password: string; }>; + apiKey: string; localhostRealIp: string; kibana: { url: string; @@ -51,6 +56,8 @@ interface CreateRuntimeServicesOptions { fleetServerUrl?: string; username: string; password: string; + /** If defined, both `username` and `password` will be ignored */ + apiKey?: string; /** If undefined, ES username defaults to `username` */ esUsername?: string; /** If undefined, ES password defaults to `password` */ @@ -59,12 +66,41 @@ interface CreateRuntimeServicesOptions { asSuperuser?: boolean; } +class KbnClientExtended extends KbnClient { + private readonly apiKey: string | undefined; + + constructor({ apiKey, url, ...options }: KbnClientOptions & { apiKey?: string }) { + super({ + ...options, + url: apiKey ? buildUrlWithCredentials(url, '', '') : url, + }); + + this.apiKey = apiKey; + } + + async request(options: ReqOptions): Promise> { + const headers: ReqOptions['headers'] = { + ...(options.headers ?? {}), + }; + + if (this.apiKey) { + headers.Authorization = `ApiKey ${this.apiKey}`; + } + + return super.request({ + ...options, + headers, + }); + } +} + export const createRuntimeServices = async ({ kibanaUrl, elasticsearchUrl, fleetServerUrl = 'https://localhost:8220', username: _username, password: _password, + apiKey, esUsername, esPassword, log = new ToolingLog({ level: 'info', writeTo: process.stdout }), @@ -97,15 +133,17 @@ export const createRuntimeServices = async ({ const fleetURL = new URL(fleetServerUrl); return { - kbnClient: createKbnClient({ log, url: kibanaUrl, username, password }), + kbnClient: createKbnClient({ log, url: kibanaUrl, username, password, apiKey }), esClient: createEsClient({ log, url: elasticsearchUrl, username: esUsername ?? username, password: esPassword ?? password, + apiKey, }), log, localhostRealIp: await getLocalhostRealIp(), + apiKey: apiKey ?? '', user: { username, password, @@ -148,40 +186,54 @@ export const createEsClient = ({ url, username, password, + apiKey, log, }: { url: string; username: string; password: string; + /** If defined, both `username` and `password` will be ignored */ + apiKey?: string; log?: ToolingLog; }): Client => { - const esUrl = buildUrlWithCredentials(url, username, password); + const clientOptions: ClientOptions = { + node: buildUrlWithCredentials(url, apiKey ? '' : username, apiKey ? '' : password), + }; + + if (apiKey) { + clientOptions.auth = { apiKey }; + } if (log) { - log.verbose(`Creating Elasticsearch client with URL: ${esUrl}`); + log.verbose(`Creating Elasticsearch client options: ${JSON.stringify(clientOptions)}`); } - return new Client({ node: esUrl }); + return new Client(clientOptions); }; export const createKbnClient = ({ url, username, password, + apiKey, log = new ToolingLog(), }: { url: string; username: string; password: string; + /** If defined, both `username` and `password` will be ignored */ + apiKey?: string; log?: ToolingLog; }): KbnClient => { const kbnUrl = buildUrlWithCredentials(url, username, password); if (log) { - log.verbose(`Creating Kibana client with URL: ${kbnUrl}`); + log.verbose( + `Creating Kibana client with URL: ${kbnUrl} ${apiKey ? ` + ApiKey: ${apiKey}` : ''}` + ); } - return new KbnClient({ log, url: kbnUrl }); + return new KbnClientExtended({ log, url: kbnUrl, apiKey }); }; /** @@ -189,14 +241,7 @@ export const createKbnClient = ({ * @param kbnClient */ export const fetchStackVersion = async (kbnClient: KbnClient): Promise => { - const status = ( - await kbnClient - .request({ - method: 'GET', - path: '/api/status', - }) - .catch(catchAxiosErrorFormatAndThrow) - ).data; + const status = await fetchKibanaStatus(kbnClient); if (!status?.version?.number) { throw new Error( @@ -207,6 +252,16 @@ export const fetchStackVersion = async (kbnClient: KbnClient): Promise = return status.version.number; }; +export const fetchKibanaStatus = async (kbnClient: KbnClient): Promise => { + return kbnClient + .request({ + method: 'GET', + path: '/api/status', + }) + .catch(catchAxiosErrorFormatAndThrow) + .then((response) => response.data); +}; + /** * Checks to ensure Kibana is up and running * @param kbnUrl diff --git a/x-pack/plugins/security_solution_serverless/server/plugin.ts b/x-pack/plugins/security_solution_serverless/server/plugin.ts index f4937ea4f0b32..e5696ce363617 100644 --- a/x-pack/plugins/security_solution_serverless/server/plugin.ts +++ b/x-pack/plugins/security_solution_serverless/server/plugin.ts @@ -13,6 +13,7 @@ import type { Logger, } from '@kbn/core/server'; +import { SECURITY_PROJECT_SETTINGS } from '@kbn/serverless-security-settings'; import { getProductAppFeatures } from '../common/pli/pli_features'; import type { ServerlessSecurityConfig } from './config'; @@ -89,6 +90,9 @@ export class SecuritySolutionServerlessPlugin taskManager: pluginsSetup.taskManager, cloudSetup: pluginsSetup.cloudSetup, }); + + pluginsSetup.serverless.setupProjectSettings(SECURITY_PROJECT_SETTINGS); + return {}; } diff --git a/x-pack/plugins/security_solution_serverless/server/types.ts b/x-pack/plugins/security_solution_serverless/server/types.ts index 63fb4d0685738..1beca2fc23b9d 100644 --- a/x-pack/plugins/security_solution_serverless/server/types.ts +++ b/x-pack/plugins/security_solution_serverless/server/types.ts @@ -20,6 +20,7 @@ import type { SecuritySolutionEssPluginSetup } from '@kbn/security-solution-ess/ import type { MlPluginSetup } from '@kbn/ml-plugin/server'; import type { FleetStartContract } from '@kbn/fleet-plugin/server'; +import type { ServerlessPluginSetup } from '@kbn/serverless/server'; import type { ProductTier } from '../common/product'; import type { ServerlessSecurityConfig } from './config'; @@ -33,6 +34,7 @@ export interface SecuritySolutionServerlessPluginSetupDeps { security: SecurityPluginSetup; securitySolution: SecuritySolutionPluginSetup; securitySolutionEss: SecuritySolutionEssPluginSetup; + serverless: ServerlessPluginSetup; features: PluginSetupContract; ml: MlPluginSetup; taskManager: TaskManagerSetupContract; diff --git a/x-pack/plugins/security_solution_serverless/tsconfig.json b/x-pack/plugins/security_solution_serverless/tsconfig.json index 2ad30566e55cd..636642b2a68d5 100644 --- a/x-pack/plugins/security_solution_serverless/tsconfig.json +++ b/x-pack/plugins/security_solution_serverless/tsconfig.json @@ -40,6 +40,7 @@ "@kbn/security-solution-features", "@kbn/cases-plugin", "@kbn/fleet-plugin", + "@kbn/serverless-security-settings", "@kbn/core-elasticsearch-server", "@kbn/usage-collection-plugin", "@kbn/cloud-defend-plugin" diff --git a/x-pack/plugins/serverless/jest.config.js b/x-pack/plugins/serverless/jest.config.js new file mode 100644 index 0000000000000..1b7860b8f3d78 --- /dev/null +++ b/x-pack/plugins/serverless/jest.config.js @@ -0,0 +1,15 @@ +/* + * 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/x-pack/plugins/serverless'], + coverageDirectory: '/target/kibana-coverage/jest/x-pack/plugins/serverless', + coverageReporters: ['text', 'html'], + collectCoverageFrom: ['/x-pack/plugins/serverless/{common,public,server}/**/*.{ts,tsx}'], +}; diff --git a/x-pack/plugins/serverless/server/mocks.ts b/x-pack/plugins/serverless/server/mocks.ts new file mode 100644 index 0000000000000..28b336d4b6c58 --- /dev/null +++ b/x-pack/plugins/serverless/server/mocks.ts @@ -0,0 +1,21 @@ +/* + * 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. + */ + +function createSetupContract() { + return { + setupProjectSettings: jest.fn(), + }; +} + +function createStartContract() { + return {}; +} + +export const serverlessPluginMock = { + createSetupContract, + createStartContract, +}; diff --git a/x-pack/plugins/serverless/server/plugin.test.ts b/x-pack/plugins/serverless/server/plugin.test.ts new file mode 100644 index 0000000000000..d002325368be6 --- /dev/null +++ b/x-pack/plugins/serverless/server/plugin.test.ts @@ -0,0 +1,39 @@ +/* + * 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 { coreMock } from '@kbn/core/server/mocks'; +import { config } from './config'; +import { ServerlessPlugin } from './plugin'; + +describe('Serverless Plugin', () => { + let plugin: ServerlessPlugin; + let mockCoreSetup: ReturnType; + let mockCoreStart: ReturnType; + beforeEach(() => { + plugin = new ServerlessPlugin( + coreMock.createPluginInitializerContext( + config.schema.validate({ + enabled: true, + }) + ) + ); + + mockCoreSetup = coreMock.createSetup({ + pluginStartContract: {}, + }); + mockCoreStart = coreMock.createStart(); + }); + + describe('start()', () => { + it('throws if project settings are not set up', () => { + plugin.setup(mockCoreSetup); + expect(() => plugin.start(mockCoreStart)).toThrowError( + "The uiSettings allowlist for serverless hasn't been set up. Make sure to set up your serverless project settings with setupProjectSettings()" + ); + }); + }); +}); diff --git a/x-pack/plugins/serverless/server/plugin.ts b/x-pack/plugins/serverless/server/plugin.ts index a2b1121d0c562..eefe74e6de903 100644 --- a/x-pack/plugins/serverless/server/plugin.ts +++ b/x-pack/plugins/serverless/server/plugin.ts @@ -13,6 +13,7 @@ import { schema, TypeOf } from '@kbn/config-schema'; import { getConfigDirectory } from '@kbn/utils'; import { ProjectType } from '@kbn/serverless-types'; +import { ALL_COMMON_SETTINGS } from '@kbn/serverless-common-settings'; import { ServerlessPluginSetup, ServerlessPluginStart } from './types'; import { ServerlessConfig } from './config'; import { API_SWITCH_PROJECT } from '../common'; @@ -35,6 +36,13 @@ const typeToIdMap: Record = { export class ServerlessPlugin implements Plugin { private readonly config: ServerlessConfig; + private projectSettingsAdded: boolean = false; + + private setupProjectSettings(core: CoreSetup, keys: string[]): void { + const settings = [...ALL_COMMON_SETTINGS].concat(keys); + core.uiSettings.setAllowlist(settings); + this.projectSettingsAdded = true; + } constructor(private readonly context: PluginInitializerContext) { this.config = this.context.config.get(); @@ -75,10 +83,17 @@ export class ServerlessPlugin implements Plugin this.setupProjectSettings(core, keys), + }; } public start(_core: CoreStart) { + if (!this.projectSettingsAdded) { + throw new Error( + "The uiSettings allowlist for serverless hasn't been set up. Make sure to set up your serverless project settings with setupProjectSettings()" + ); + } return {}; } diff --git a/x-pack/plugins/serverless/server/types.ts b/x-pack/plugins/serverless/server/types.ts index 92a804b34a948..71c06ce1b96b4 100644 --- a/x-pack/plugins/serverless/server/types.ts +++ b/x-pack/plugins/serverless/server/types.ts @@ -5,8 +5,9 @@ * 2.0. */ -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface ServerlessPluginSetup {} +export interface ServerlessPluginSetup { + setupProjectSettings(keys: string[]): void; +} // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessPluginStart {} diff --git a/x-pack/plugins/serverless/tsconfig.json b/x-pack/plugins/serverless/tsconfig.json index 88f7b5af1636c..4bb3e35e34472 100644 --- a/x-pack/plugins/serverless/tsconfig.json +++ b/x-pack/plugins/serverless/tsconfig.json @@ -25,5 +25,6 @@ "@kbn/core-chrome-browser-internal", "@kbn/i18n-react", "@kbn/cloud-plugin", + "@kbn/serverless-common-settings", ] } diff --git a/x-pack/plugins/serverless_observability/server/plugin.ts b/x-pack/plugins/serverless_observability/server/plugin.ts index ae7bcd8baa064..c6e502f61ca8c 100644 --- a/x-pack/plugins/serverless_observability/server/plugin.ts +++ b/x-pack/plugins/serverless_observability/server/plugin.ts @@ -7,6 +7,7 @@ import type { PluginInitializerContext, Plugin, CoreSetup } from '@kbn/core/server'; +import { OBSERVABILITY_PROJECT_SETTINGS } from '@kbn/serverless-observability-settings'; import type { ServerlessObservabilityPluginSetup, ServerlessObservabilityPluginStart, @@ -27,6 +28,8 @@ export class ServerlessObservabilityPlugin public setup(_coreSetup: CoreSetup, pluginsSetup: SetupDependencies) { pluginsSetup.ml.setFeaturesEnabled({ ad: true, dfa: false, nlp: false }); + + pluginsSetup.serverless.setupProjectSettings(OBSERVABILITY_PROJECT_SETTINGS); return {}; } diff --git a/x-pack/plugins/serverless_observability/server/types.ts b/x-pack/plugins/serverless_observability/server/types.ts index 5ebad2274b9a5..d899efedb1617 100644 --- a/x-pack/plugins/serverless_observability/server/types.ts +++ b/x-pack/plugins/serverless_observability/server/types.ts @@ -6,6 +6,7 @@ */ import type { MlPluginSetup } from '@kbn/ml-plugin/server'; +import { ServerlessPluginSetup } from '@kbn/serverless/server'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessObservabilityPluginSetup {} @@ -17,4 +18,5 @@ export interface StartDependencies {} export interface SetupDependencies { ml: MlPluginSetup; + serverless: ServerlessPluginSetup; } diff --git a/x-pack/plugins/serverless_observability/tsconfig.json b/x-pack/plugins/serverless_observability/tsconfig.json index dec3814883e0e..8e88263a527bb 100644 --- a/x-pack/plugins/serverless_observability/tsconfig.json +++ b/x-pack/plugins/serverless_observability/tsconfig.json @@ -29,5 +29,6 @@ "@kbn/data-plugin", "@kbn/observability-plugin", "@kbn/io-ts-utils", + "@kbn/serverless-observability-settings", ] } diff --git a/x-pack/plugins/serverless_search/server/plugin.ts b/x-pack/plugins/serverless_search/server/plugin.ts index 693cdc1e7035e..e43c5b0f18bbb 100644 --- a/x-pack/plugins/serverless_search/server/plugin.ts +++ b/x-pack/plugins/serverless_search/server/plugin.ts @@ -13,6 +13,7 @@ import type { CoreSetup, } from '@kbn/core/server'; import type { SecurityPluginStart } from '@kbn/security-plugin/server'; +import { SEARCH_PROJECT_SETTINGS } from '@kbn/serverless-search-settings'; import { registerApiKeyRoutes } from './routes/api_key_routes'; import { registerIndicesRoutes } from './routes/indices_routes'; @@ -71,6 +72,7 @@ export class ServerlessSearchPlugin }); pluginsSetup.ml.setFeaturesEnabled({ ad: false, dfa: false, nlp: false }); + pluginsSetup.serverless.setupProjectSettings(SEARCH_PROJECT_SETTINGS); return {}; } diff --git a/x-pack/plugins/serverless_search/server/types.ts b/x-pack/plugins/serverless_search/server/types.ts index 8e8f7f15a8124..fe063c1a2aa5c 100644 --- a/x-pack/plugins/serverless_search/server/types.ts +++ b/x-pack/plugins/serverless_search/server/types.ts @@ -7,6 +7,7 @@ import type { SecurityPluginStart } from '@kbn/security-plugin/server'; import type { MlPluginSetup } from '@kbn/ml-plugin/server'; +import type { ServerlessPluginSetup } from '@kbn/serverless/server'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessSearchPluginSetup {} @@ -18,4 +19,5 @@ export interface StartDependencies { } export interface SetupDependencies { ml: MlPluginSetup; + serverless: ServerlessPluginSetup; } diff --git a/x-pack/plugins/serverless_search/tsconfig.json b/x-pack/plugins/serverless_search/tsconfig.json index c149beabd33ec..4e24925e4b3d9 100644 --- a/x-pack/plugins/serverless_search/tsconfig.json +++ b/x-pack/plugins/serverless_search/tsconfig.json @@ -31,6 +31,7 @@ "@kbn/management-cards-navigation", "@kbn/core-elasticsearch-server", "@kbn/search-api-panels", + "@kbn/serverless-search-settings", "@kbn/core-lifecycle-browser", "@kbn/react-kibana-context-theme", "@kbn/search-connectors", diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx index b82a456877a7e..4c151880ff588 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/browser/browser_test_results.tsx @@ -72,8 +72,8 @@ export const BrowserTestRunResult = ({ expectPings, onDone, testRunId }: Props) key={'accordion-' + checkGroupId} id={'accordion-' + checkGroupId} element="fieldset" - className="euiAccordionForm" - buttonClassName="euiAccordionForm__button" + borders="horizontal" + buttonProps={{ paddingSize: 'm' }} buttonContent={getButtonContent(checkGroupResult)} paddingSize="s" data-test-subj="expandResults" diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 29c9b379fc04b..ad1f9d581caa0 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -2395,7 +2395,6 @@ "discover.serverLocatorExtension.titleFromLocatorUnknown": "Recherche inconnue", "discover.singleDocRoute.errorTitle": "Une erreur s'est produite", "discover.skipToBottomButtonLabel": "Atteindre la fin du tableau", - "discover.toggleSidebarAriaLabel": "Activer/Désactiver la barre latérale", "discover.topNav.openSearchPanel.manageSearchesButtonLabel": "Gérer les recherches", "discover.topNav.openSearchPanel.noSearchesFoundDescription": "Aucune recherche correspondante trouvée.", "discover.topNav.openSearchPanel.openSearchTitle": "Ouvrir une recherche", @@ -21051,7 +21050,6 @@ "xpack.lens.indexPattern.percentFormatLabel": "Pourcent", "xpack.lens.indexPattern.percentile": "Centile", "xpack.lens.indexPattern.percentile.documentation.quick": "\n La plus grande valeur qui est inférieure à n pour cent des valeurs présentes dans tous les documents.\n ", - "xpack.lens.indexPattern.percentile.errorMessage": "Le centile doit être un entier compris entre 1 et 99", "xpack.lens.indexPattern.percentile.percentileRanksValue": "Valeur des rangs centiles", "xpack.lens.indexPattern.percentile.percentileValue": "Centile", "xpack.lens.indexPattern.percentile.signature": "champ : chaîne, [percentile] : nombre", @@ -27045,9 +27043,6 @@ "xpack.observability_onboarding.card.systemLogs.title": "Collecter des logs système", "xpack.observability_onboarding.configureLogs.advancedSettings": "Paramètres avancés", "xpack.observability_onboarding.configureLogs.customConfig": "Configurations personnalisées", - "xpack.observability_onboarding.configureLogs.dataset.helper": "Choisissez un nom pour vos logs. Tout en minuscules, 100 caractères maximum, les caractères spéciaux seront remplacés par \"_\".", - "xpack.observability_onboarding.configureLogs.dataset.name": "Nom de l’ensemble de données", - "xpack.observability_onboarding.configureLogs.dataset.placeholder": "Nom de l’ensemble de données", "xpack.observability_onboarding.configureLogs.description": "Remplissez les chemins d’accès aux fichiers log sur vos hôtes.", "xpack.observability_onboarding.configureLogs.learnMore": "En savoir plus", "xpack.observability_onboarding.configureLogs.logFile.addRow": "Ajouter une ligne", @@ -27107,7 +27102,6 @@ "xpack.observability_onboarding.selectLogs.useOwnShipper": "Obtenir une clé d’API", "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "Utilisez votre propre agent de transfert pour collecter des données de logs en générant une clé d’API.", "xpack.observability_onboarding.steps.back": "Retour", - "xpack.observability_onboarding.steps.continue": "Continuer", "xpack.observability_onboarding.steps.exploreLogs": "Explorer les logs", "xpack.observability_onboarding.steps.inspect": "Inspecter", "xpack.observability_onboarding.title.collectCustomLogs": "Collectez des logs personnalisés", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index eaa6b47105103..feb4f26c63bea 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -2410,7 +2410,6 @@ "discover.serverLocatorExtension.titleFromLocatorUnknown": "不明な検索", "discover.singleDocRoute.errorTitle": "エラーが発生しました", "discover.skipToBottomButtonLabel": "テーブルの最後に移動", - "discover.toggleSidebarAriaLabel": "サイドバーを切り替える", "discover.topNav.openSearchPanel.manageSearchesButtonLabel": "検索の管理", "discover.topNav.openSearchPanel.noSearchesFoundDescription": "一致する検索が見つかりませんでした。", "discover.topNav.openSearchPanel.openSearchTitle": "検索を開く", @@ -21066,7 +21065,6 @@ "xpack.lens.indexPattern.percentFormatLabel": "割合(%)", "xpack.lens.indexPattern.percentile": "パーセンタイル", "xpack.lens.indexPattern.percentile.documentation.quick": "\n すべてのドキュメントで発生する値のnパーセントよりも小さい最大値。\n ", - "xpack.lens.indexPattern.percentile.errorMessage": "パーセンタイルは1~99の範囲の整数でなければなりません。", "xpack.lens.indexPattern.percentile.percentileRanksValue": "パーセンタイル順位値", "xpack.lens.indexPattern.percentile.percentileValue": "パーセンタイル", "xpack.lens.indexPattern.percentile.signature": "フィールド:文字列、[percentile]:数値", @@ -27045,9 +27043,6 @@ "xpack.observability_onboarding.card.systemLogs.title": "システムログを収集", "xpack.observability_onboarding.configureLogs.advancedSettings": "高度な設定", "xpack.observability_onboarding.configureLogs.customConfig": "カスタム構成", - "xpack.observability_onboarding.configureLogs.dataset.helper": "ログの名前を設定します。すべて小文字、最大100文字、特殊文字は「_」に置き換えられます。", - "xpack.observability_onboarding.configureLogs.dataset.name": "データセット名", - "xpack.observability_onboarding.configureLogs.dataset.placeholder": "データセット名", "xpack.observability_onboarding.configureLogs.description": "ホスト上のログファイルへのパスを入力します。", "xpack.observability_onboarding.configureLogs.learnMore": "詳細", "xpack.observability_onboarding.configureLogs.logFile.addRow": "行の追加", @@ -27107,7 +27102,6 @@ "xpack.observability_onboarding.selectLogs.useOwnShipper": "APIキーを取得", "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "APIキーを生成し、ログデータを収集するために独自のシッパーを使用します。", "xpack.observability_onboarding.steps.back": "戻る", - "xpack.observability_onboarding.steps.continue": "続行", "xpack.observability_onboarding.steps.exploreLogs": "ログを探索", "xpack.observability_onboarding.steps.inspect": "検査", "xpack.observability_onboarding.title.collectCustomLogs": "カスタムログを収集", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index a0fe7e9e05650..bce73e0732ed3 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -2410,7 +2410,6 @@ "discover.serverLocatorExtension.titleFromLocatorUnknown": "未知搜索", "discover.singleDocRoute.errorTitle": "发生错误", "discover.skipToBottomButtonLabel": "转到表尾", - "discover.toggleSidebarAriaLabel": "切换侧边栏", "discover.topNav.openSearchPanel.manageSearchesButtonLabel": "管理搜索", "discover.topNav.openSearchPanel.noSearchesFoundDescription": "未找到匹配的搜索。", "discover.topNav.openSearchPanel.openSearchTitle": "打开搜索", @@ -21066,7 +21065,6 @@ "xpack.lens.indexPattern.percentFormatLabel": "百分比", "xpack.lens.indexPattern.percentile": "百分位数", "xpack.lens.indexPattern.percentile.documentation.quick": "\n 小于所有文档中出现值的 n% 的最大值。\n ", - "xpack.lens.indexPattern.percentile.errorMessage": "百分位数必须是介于 1 到 99 之间的整数", "xpack.lens.indexPattern.percentile.percentileRanksValue": "百分位等级值", "xpack.lens.indexPattern.percentile.percentileValue": "百分位数", "xpack.lens.indexPattern.percentile.signature": "field: string, [percentile]: number", @@ -27043,9 +27041,6 @@ "xpack.observability_onboarding.card.systemLogs.title": "收集系统日志", "xpack.observability_onboarding.configureLogs.advancedSettings": "高级设置", "xpack.observability_onboarding.configureLogs.customConfig": "定制配置", - "xpack.observability_onboarding.configureLogs.dataset.helper": "选取日志的名称。全部小写,最多 100 个字符,将用“_”替代特殊字符。", - "xpack.observability_onboarding.configureLogs.dataset.name": "数据集名称", - "xpack.observability_onboarding.configureLogs.dataset.placeholder": "数据集名称", "xpack.observability_onboarding.configureLogs.description": "填写日志文件在主机上的路径。", "xpack.observability_onboarding.configureLogs.learnMore": "了解详情", "xpack.observability_onboarding.configureLogs.logFile.addRow": "添加行", @@ -27105,7 +27100,6 @@ "xpack.observability_onboarding.selectLogs.useOwnShipper": "获取 API 密钥", "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "通过生成 API 密钥使用您自己的采集器来收集日志数据。", "xpack.observability_onboarding.steps.back": "返回", - "xpack.observability_onboarding.steps.continue": "继续", "xpack.observability_onboarding.steps.exploreLogs": "浏览日志", "xpack.observability_onboarding.steps.inspect": "检查", "xpack.observability_onboarding.title.collectCustomLogs": "收集定制日志", diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx index d672fc3287fcd..6bae4f720c032 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rule_details/components/rule_details.tsx @@ -14,7 +14,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiBadge, - EuiPageContentBody_Deprecated as EuiPageContentBody, + EuiPageSection, EuiCallOut, EuiSpacer, EuiButtonEmpty, @@ -426,8 +426,7 @@ export const RuleDetails: React.FunctionComponent = ({ , ]} /> - - + {rule.enabled && rule.executionStatus.error?.reason === RuleExecutionStatusErrorReasons.License ? ( @@ -519,7 +518,7 @@ export const RuleDetails: React.FunctionComponent = ({ /> - + ); }; diff --git a/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx b/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx index f162941461ce8..dd564f2b719e2 100644 --- a/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx +++ b/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx @@ -6,6 +6,7 @@ */ import React, { Fragment, useContext, useState } from 'react'; +import { css } from '@emotion/react'; import { EuiAccordion, @@ -20,6 +21,8 @@ import { EuiLink, EuiText, EuiSpacer, + useEuiTheme, + euiCanAnimate, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -75,6 +78,7 @@ export const WatchActionsAccordion: React.FunctionComponent = ({ settings, actionErrors, }) => { + const { euiTheme } = useEuiTheme(); const { links: { watchActionsConfigurationMap }, toasts, @@ -96,8 +100,15 @@ export const WatchActionsAccordion: React.FunctionComponent = ({ initialIsOpen={action.isNew || hasErrors} // If an action contains errors in edit mode, we want the accordion open so the user is aware key={action.id} id={action.id} - className="euiAccordionForm" - buttonContentClassName="euiAccordionForm__button" + borders="horizontal" + buttonProps={{ + paddingSize: 'm', + css: css` + &:hover { + text-decoration: none; + } + `, + }} data-test-subj="watchActionAccordion" buttonContent={ @@ -105,7 +116,7 @@ export const WatchActionsAccordion: React.FunctionComponent = ({ - +
    {action.typeName}
    @@ -115,7 +126,18 @@ export const WatchActionsAccordion: React.FunctionComponent = ({ { + await supertest + .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) + .set('kbn-xsrf', 'foo') + .auth('superuser', 'superuser') + .send({ + enabled: true, + look_back_window: 6, + status_change_threshold: 4, + }) + .expect(200); + const { body: createdAction } = await supertest + .post(`${getUrlPrefix(space.id)}/api/actions/connector`) + .set('kbn-xsrf', 'foo') + .send({ + name: 'MY action', + connector_type_id: 'test.noop', + config: {}, + secrets: {}, + }) + .expect(200); + + // pattern of when the alert should fire + const instance = [true, false, false, true, false, true, false, true, false].concat( + ...new Array(8).fill(true), + false + ); + const pattern = { + instance, + }; + + const response = await supertest + .post(`${getUrlPrefix(space.id)}/api/alerting/rule`) + .set('kbn-xsrf', 'foo') + .send( + getTestRuleData({ + rule_type_id: 'test.patternFiring', + schedule: { interval: '1s' }, + throttle: null, + notify_when: null, + params: { + pattern, + }, + actions: [ + { + id: createdAction.id, + group: 'default', + params: {}, + frequency: { + summary: false, + throttle: null, + notify_when: RuleNotifyWhen.CHANGE, + }, + }, + { + id: createdAction.id, + group: 'recovered', + params: {}, + frequency: { + summary: false, + throttle: null, + notify_when: RuleNotifyWhen.CHANGE, + }, + }, + ], + }) + ); + + expect(response.status).to.eql(200); + const alertId = response.body.id; + objectRemover.add(space.id, alertId, 'rule', 'alerting'); + + // get the events we're expecting + const events = await retry.try(async () => { + return await getEventLog({ + getService, + spaceId: space.id, + type: 'alert', + id: alertId, + provider: 'alerting', + actions: new Map([ + // make sure the counts of the # of events per type are as expected + ['execute-start', { gte: 6 }], + ['execute', { gte: 6 }], + ['execute-action', { equal: 6 }], + ['new-instance', { equal: 3 }], + ['active-instance', { gte: 6 }], + ['recovered-instance', { equal: 3 }], + ]), + }); + }); + + const flapping = events + .filter( + (event) => + event?.event?.action === 'active-instance' || + event?.event?.action === 'recovered-instance' + ) + .map((event) => event?.kibana?.alert?.flapping); + const result = [false, false, false, false, false].concat( + new Array(9).fill(true), + false, + false, + false + ); + expect(flapping).to.eql(result); + }); + it('should generate expected events for flapping alerts settle on recovered', async () => { await supertest .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) @@ -818,6 +926,109 @@ export default function eventLogTests({ getService }: FtrProviderContext) { ); }); + it('should generate expected events for flapping alerts settle on recovered where the action notifyWhen is set to "on status change"', async () => { + await supertest + .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) + .set('kbn-xsrf', 'foo') + .auth('superuser', 'superuser') + .send({ + enabled: true, + look_back_window: 6, + status_change_threshold: 4, + }) + .expect(200); + const { body: createdAction } = await supertest + .post(`${getUrlPrefix(space.id)}/api/actions/connector`) + .set('kbn-xsrf', 'foo') + .send({ + name: 'MY action', + connector_type_id: 'test.noop', + config: {}, + secrets: {}, + }) + .expect(200); + + // pattern of when the alert should fire + const instance = [true, false, false, true, false, true, false, true, false, true].concat( + new Array(11).fill(false) + ); + const pattern = { + instance, + }; + + const response = await supertest + .post(`${getUrlPrefix(space.id)}/api/alerting/rule`) + .set('kbn-xsrf', 'foo') + .send( + getTestRuleData({ + rule_type_id: 'test.patternFiring', + schedule: { interval: '1s' }, + throttle: null, + notify_when: null, + params: { + pattern, + }, + actions: [ + { + id: createdAction.id, + group: 'default', + params: {}, + frequency: { + summary: false, + throttle: null, + notify_when: RuleNotifyWhen.CHANGE, + }, + }, + { + id: createdAction.id, + group: 'recovered', + params: {}, + frequency: { + summary: false, + throttle: null, + notify_when: RuleNotifyWhen.CHANGE, + }, + }, + ], + }) + ); + + expect(response.status).to.eql(200); + const alertId = response.body.id; + objectRemover.add(space.id, alertId, 'rule', 'alerting'); + + // get the events we're expecting + const events = await retry.try(async () => { + return await getEventLog({ + getService, + spaceId: space.id, + type: 'alert', + id: alertId, + provider: 'alerting', + actions: new Map([ + // make sure the counts of the # of events per type are as expected + ['execute-start', { gte: 6 }], + ['execute', { gte: 6 }], + ['execute-action', { equal: 6 }], + ['new-instance', { equal: 3 }], + ['active-instance', { gte: 3 }], + ['recovered-instance', { equal: 3 }], + ]), + }); + }); + + const flapping = events + .filter( + (event) => + event?.event?.action === 'active-instance' || + event?.event?.action === 'recovered-instance' + ) + .map((event) => event?.kibana?.alert?.flapping); + expect(flapping).to.eql( + [false, false, false, false, false].concat(new Array(8).fill(true)) + ); + }); + it('should generate expected events for flapping alerts over a period of time longer than the look back', async () => { await supertest .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) @@ -917,7 +1128,104 @@ export default function eventLogTests({ getService }: FtrProviderContext) { expect(flapping).to.eql(result); }); - it('should generate expected events for flapping alerts that settle on active where notifyWhen is not set to "on status change"', async () => { + it('should generate expected events for flapping alerts that settle on active where notifyWhen is NOT set to "on status change"', async () => { + await supertest + .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) + .set('kbn-xsrf', 'foo') + .auth('superuser', 'superuser') + .send({ + enabled: true, + look_back_window: 6, + status_change_threshold: 4, + }) + .expect(200); + const { body: createdAction } = await supertest + .post(`${getUrlPrefix(space.id)}/api/actions/connector`) + .set('kbn-xsrf', 'foo') + .send({ + name: 'MY action', + connector_type_id: 'test.noop', + config: {}, + secrets: {}, + }) + .expect(200); + + // pattern of when the alert should fire + const instance = [true, false, false, true, false, true, false, true, false].concat( + ...new Array(8).fill(true), + false + ); + const pattern = { + instance, + }; + + const response = await supertest + .post(`${getUrlPrefix(space.id)}/api/alerting/rule`) + .set('kbn-xsrf', 'foo') + .send( + getTestRuleData({ + rule_type_id: 'test.patternFiring', + schedule: { interval: '1s' }, + throttle: '1s', + params: { + pattern, + }, + actions: [ + { + id: createdAction.id, + group: 'default', + params: {}, + }, + { + id: createdAction.id, + group: 'recovered', + params: {}, + }, + ], + }) + ); + + expect(response.status).to.eql(200); + const alertId = response.body.id; + objectRemover.add(space.id, alertId, 'rule', 'alerting'); + + // get the events we're expecting + const events = await retry.try(async () => { + return await getEventLog({ + getService, + spaceId: space.id, + type: 'alert', + id: alertId, + provider: 'alerting', + actions: new Map([ + // make sure the counts of the # of events per type are as expected + ['execute-start', { gte: 15 }], + ['execute', { gte: 15 }], + ['execute-action', { equal: 15 }], + ['new-instance', { equal: 3 }], + ['active-instance', { gte: 6 }], + ['recovered-instance', { equal: 3 }], + ]), + }); + }); + + const flapping = events + .filter( + (event) => + event?.event?.action === 'active-instance' || + event?.event?.action === 'recovered-instance' + ) + .map((event) => event?.kibana?.alert?.flapping); + const result = [false, false, false, false, false].concat( + new Array(7).fill(true), + false, + false, + false + ); + expect(flapping).to.eql(result); + }); + + it('should generate expected events for flapping alerts that settle on active where the action notifyWhen is NOT set to "on status change"', async () => { await supertest .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) .set('kbn-xsrf', 'foo') @@ -956,6 +1264,7 @@ export default function eventLogTests({ getService }: FtrProviderContext) { rule_type_id: 'test.patternFiring', schedule: { interval: '1s' }, throttle: null, + notify_when: null, params: { pattern, }, @@ -964,11 +1273,21 @@ export default function eventLogTests({ getService }: FtrProviderContext) { id: createdAction.id, group: 'default', params: {}, + frequency: { + summary: false, + throttle: '1s', + notify_when: RuleNotifyWhen.THROTTLE, + }, }, { id: createdAction.id, group: 'recovered', params: {}, + frequency: { + summary: false, + throttle: '1s', + notify_when: RuleNotifyWhen.THROTTLE, + }, }, ], }) @@ -1014,7 +1333,97 @@ export default function eventLogTests({ getService }: FtrProviderContext) { expect(flapping).to.eql(result); }); - it('should generate expected events for flapping alerts that settle on recovered where notifyWhen is not set to "on status change"', async () => { + it('should generate expected events for flapping alerts that settle on recovered where notifyWhen is NOT set to "on status change"', async () => { + await supertest + .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) + .set('kbn-xsrf', 'foo') + .auth('superuser', 'superuser') + .send({ + enabled: true, + look_back_window: 6, + status_change_threshold: 4, + }) + .expect(200); + const { body: createdAction } = await supertest + .post(`${getUrlPrefix(space.id)}/api/actions/connector`) + .set('kbn-xsrf', 'foo') + .send({ + name: 'MY action', + connector_type_id: 'test.noop', + config: {}, + secrets: {}, + }) + .expect(200); + + // pattern of when the alert should fire + const instance = [true, false, false, true, false, true, false, true, false, true].concat( + new Array(11).fill(false) + ); + const pattern = { + instance, + }; + + const response = await supertest + .post(`${getUrlPrefix(space.id)}/api/alerting/rule`) + .set('kbn-xsrf', 'foo') + .send( + getTestRuleData({ + rule_type_id: 'test.patternFiring', + schedule: { interval: '1s' }, + throttle: '1s', + params: { + pattern, + }, + actions: [ + { + id: createdAction.id, + group: 'default', + params: {}, + }, + { + id: createdAction.id, + group: 'recovered', + params: {}, + }, + ], + }) + ); + + expect(response.status).to.eql(200); + const alertId = response.body.id; + objectRemover.add(space.id, alertId, 'rule', 'alerting'); + + // get the events we're expecting + const events = await retry.try(async () => { + return await getEventLog({ + getService, + spaceId: space.id, + type: 'alert', + id: alertId, + provider: 'alerting', + actions: new Map([ + // make sure the counts of the # of events per type are as expected + ['execute-start', { gte: 8 }], + ['execute', { gte: 8 }], + ['execute-action', { equal: 8 }], + ['new-instance', { equal: 3 }], + ['active-instance', { gte: 3 }], + ['recovered-instance', { equal: 3 }], + ]), + }); + }); + + const flapping = events + .filter( + (event) => + event?.event?.action === 'active-instance' || + event?.event?.action === 'recovered-instance' + ) + .map((event) => event?.kibana?.alert?.flapping); + expect(flapping).to.eql([false, false, false, false, false, true, true, true]); + }); + + it('should generate expected events for flapping alerts that settle on recovered where the action notifyWhen is NOT set to "on status change"', async () => { await supertest .post(`${getUrlPrefix(space.id)}/internal/alerting/rules/settings/_flapping`) .set('kbn-xsrf', 'foo') @@ -1052,6 +1461,7 @@ export default function eventLogTests({ getService }: FtrProviderContext) { rule_type_id: 'test.patternFiring', schedule: { interval: '1s' }, throttle: null, + notify_when: null, params: { pattern, }, @@ -1060,11 +1470,21 @@ export default function eventLogTests({ getService }: FtrProviderContext) { id: createdAction.id, group: 'default', params: {}, + frequency: { + summary: false, + throttle: '1s', + notify_when: RuleNotifyWhen.THROTTLE, + }, }, { id: createdAction.id, group: 'recovered', params: {}, + frequency: { + summary: false, + throttle: '1s', + notify_when: RuleNotifyWhen.THROTTLE, + }, }, ], }) diff --git a/x-pack/test/functional/apps/lens/group1/smokescreen.ts b/x-pack/test/functional/apps/lens/group1/smokescreen.ts index dbd734348ba7d..4f167992a7e03 100644 --- a/x-pack/test/functional/apps/lens/group1/smokescreen.ts +++ b/x-pack/test/functional/apps/lens/group1/smokescreen.ts @@ -761,5 +761,36 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const hasVisualOptionsButton = await PageObjects.lens.hasVisualOptionsButton(); expect(hasVisualOptionsButton).to.be(false); }); + + it('should correctly optimize multiple percentile metrics', async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + for (const percentileValue of [90, 95.5, 99.9]) { + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'percentile', + field: 'bytes', + keepOpen: true, + }); + + await retry.try(async () => { + const value = `${percentileValue}`; + // Can not use testSubjects because data-test-subj is placed range input and number input + const percentileInput = await PageObjects.lens.getNumericFieldReady( + 'lns-indexPattern-percentile-input' + ); + await percentileInput.type(value); + + const attrValue = await percentileInput.getAttribute('value'); + if (attrValue !== value) { + throw new Error(`layerPanelTopHitsSize not set to ${value}`); + } + }); + + await PageObjects.lens.closeDimensionEditor(); + } + await PageObjects.lens.waitForVisualization('xyVisChart'); + expect(await PageObjects.lens.getWorkspaceErrorCount()).to.eql(0); + }); }); } diff --git a/x-pack/test/functional/apps/lens/group3/terms.ts b/x-pack/test/functional/apps/lens/group3/terms.ts index f93df80d52589..13b8492371405 100644 --- a/x-pack/test/functional/apps/lens/group3/terms.ts +++ b/x-pack/test/functional/apps/lens/group3/terms.ts @@ -96,62 +96,128 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.lens.closeDimensionEditor(); }); }); - describe('sorting by custom metric', () => { - it('should allow sort by custom metric', async () => { - await PageObjects.visualize.navigateToNewVisualization(); - await PageObjects.visualize.clickVisType('lens'); - await elasticChart.setNewChartUiDebugFlag(true); - await PageObjects.lens.goToTimeRange(); - - await PageObjects.lens.configureDimension({ - dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', - operation: 'average', - field: 'bytes', - }); + describe('rank by', () => { + describe('reset rank on metric change', () => { + it('should reset the ranking when using decimals on percentile', async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'terms', + field: 'geo.src', + }); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'percentile', + field: 'bytes', + keepOpen: true, + }); + + await retry.try(async () => { + const value = '60.5'; + // Can not use testSubjects because data-test-subj is placed range input and number input + const percentileInput = await PageObjects.lens.getNumericFieldReady( + 'lns-indexPattern-percentile-input' + ); + await percentileInput.clearValueWithKeyboard(); + await percentileInput.type(value); + + const percentileValue = await percentileInput.getAttribute('value'); + if (percentileValue !== value) { + throw new Error( + `[date-test-subj="lns-indexPattern-percentile-input"] not set to ${value}` + ); + } + }); + + // close the toast about reset ranking + // note: this has also the side effect to close the dimension editor + await testSubjects.click('toastCloseButton'); + + await PageObjects.lens.openDimensionEditor( + 'lnsXY_yDimensionPanel > lns-dimensionTrigger' + ); - await PageObjects.lens.configureDimension({ - dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', - operation: 'terms', - field: 'geo.src', - keepOpen: true, + await PageObjects.lens.selectOperation('percentile_rank'); + + await retry.try(async () => { + const value = '600.5'; + const percentileRankInput = await testSubjects.find( + 'lns-indexPattern-percentile_ranks-input' + ); + await percentileRankInput.clearValueWithKeyboard(); + await percentileRankInput.type(value); + + const percentileRankValue = await percentileRankInput.getAttribute('value'); + if (percentileRankValue !== value) { + throw new Error( + `[date-test-subj="lns-indexPattern-percentile_ranks-input"] not set to ${value}` + ); + } + }); + // note: this has also the side effect to close the dimension editor + await testSubjects.click('toastCloseButton'); }); - await find.clickByCssSelector( - 'select[data-test-subj="indexPattern-terms-orderBy"] > option[value="custom"]' - ); - - const fnTarget = await testSubjects.find('indexPattern-reference-function'); - await comboBox.openOptionsList(fnTarget); - await comboBox.setElement(fnTarget, 'percentile'); + }); + describe('sorting by custom metric', () => { + it('should allow sort by custom metric', async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + await elasticChart.setNewChartUiDebugFlag(true); + await PageObjects.lens.goToTimeRange(); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'average', + field: 'bytes', + }); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'terms', + field: 'geo.src', + keepOpen: true, + }); + await find.clickByCssSelector( + 'select[data-test-subj="indexPattern-terms-orderBy"] > option[value="custom"]' + ); - const fieldTarget = await testSubjects.find( - 'indexPattern-reference-field-selection-row>indexPattern-dimension-field' - ); - await comboBox.openOptionsList(fieldTarget); - await comboBox.setElement(fieldTarget, 'bytes'); + const fnTarget = await testSubjects.find('indexPattern-reference-function'); + await comboBox.openOptionsList(fnTarget); + await comboBox.setElement(fnTarget, 'percentile'); - await retry.try(async () => { - // Can not use testSubjects because data-test-subj is placed range input and number input - const percentileInput = await PageObjects.lens.getNumericFieldReady( - 'lns-indexPattern-percentile-input' + const fieldTarget = await testSubjects.find( + 'indexPattern-reference-field-selection-row>indexPattern-dimension-field' + ); + await comboBox.openOptionsList(fieldTarget); + await comboBox.setElement(fieldTarget, 'bytes'); + + await retry.try(async () => { + // Can not use testSubjects because data-test-subj is placed range input and number input + const percentileInput = await PageObjects.lens.getNumericFieldReady( + 'lns-indexPattern-percentile-input' + ); + await percentileInput.type('60'); + + const percentileValue = await percentileInput.getAttribute('value'); + if (percentileValue !== '60') { + throw new Error('layerPanelTopHitsSize not set to 60'); + } + }); + + await PageObjects.lens.waitForVisualization('xyVisChart'); + await PageObjects.lens.closeDimensionEditor(); + + expect(await PageObjects.lens.getDimensionTriggerText('lnsXY_xDimensionPanel', 0)).to.eql( + 'Top 5 values of geo.src' ); - await percentileInput.type('60'); - const percentileValue = await percentileInput.getAttribute('value'); - if (percentileValue !== '60') { - throw new Error('layerPanelTopHitsSize not set to 60'); - } + const data = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); + expect(data!.bars![0].bars[0].x).to.eql('BN'); + expect(data!.bars![0].bars[0].y).to.eql(19265); }); - - await PageObjects.lens.waitForVisualization('xyVisChart'); - await PageObjects.lens.closeDimensionEditor(); - - expect(await PageObjects.lens.getDimensionTriggerText('lnsXY_xDimensionPanel', 0)).to.eql( - 'Top 5 values of geo.src' - ); - - const data = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); - expect(data!.bars![0].bars[0].x).to.eql('BN'); - expect(data!.bars![0].bars[0].y).to.eql(19265); }); }); diff --git a/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts b/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts index bc3451a32fb6d..7d912221e2b15 100644 --- a/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts +++ b/x-pack/test/functional/apps/lens/open_in_lens/agg_based/xy.ts @@ -357,5 +357,17 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); expect(data?.legend?.items.map((item) => item.name)).to.eql(expectedData); }); + + it('should convert correctly percentiles with decimals', async () => { + await visEditor.clickBucket('Y-axis', 'metrics'); + await visEditor.selectAggregation('Percentiles', 'metrics'); + await visEditor.selectField('memory', 'metrics'); + await visEditor.setPercentileValue('99.99', 6); + await visEditor.clickGo(); + await header.waitUntilLoadingHasFinished(); + await visualize.navigateToLensFromAnotherVisulization(); + await lens.waitForVisualization('xyVisChart'); + expect(await lens.getWorkspaceErrorCount()).to.eql(0); + }); }); } diff --git a/x-pack/test/functional/apps/maps/group1/sample_data.js b/x-pack/test/functional/apps/maps/group1/sample_data.js index d9ef08ef712f1..09b29f5e529c3 100644 --- a/x-pack/test/functional/apps/maps/group1/sample_data.js +++ b/x-pack/test/functional/apps/maps/group1/sample_data.js @@ -113,7 +113,7 @@ export default function ({ getPageObjects, getService, updateBaselines }) { 'flights_map', updateBaselines ); - expect(percentDifference).to.be.lessThan(0.02); + expect(percentDifference).to.be.lessThan(0.022); }); }); @@ -138,7 +138,7 @@ export default function ({ getPageObjects, getService, updateBaselines }) { 'web_logs_map', updateBaselines ); - expect(percentDifference).to.be.lessThan(0.02); + expect(percentDifference).to.be.lessThan(0.031); }); }); }); diff --git a/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts b/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts index c61a2586522fd..b8af643d828c7 100644 --- a/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts +++ b/x-pack/test/functional/apps/observability_log_explorer/columns_selection.ts @@ -9,7 +9,7 @@ import rison from '@kbn/rison'; import querystring from 'querystring'; import { FtrProviderContext } from '../../ftr_provider_context'; -const defaultLogColumns = ['@timestamp', 'message']; +const defaultLogColumns = ['@timestamp', 'service.name', 'host.name', 'message']; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); @@ -44,7 +44,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.observabilityLogExplorer.navigateTo({ search: querystring.stringify({ _a: rison.encode({ - columns: ['message', 'data_stream.namespace'], + columns: ['service.name', 'host.name', 'message', 'data_stream.namespace'], }), }), }); diff --git a/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts b/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts index 0831bec27b7ed..ee15563b7f208 100644 --- a/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts +++ b/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts @@ -60,7 +60,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); await retry.try(async () => { - expect(await PageObjects.discover.getColumnHeaders()).to.eql(['@timestamp', 'message']); + expect(await PageObjects.discover.getColumnHeaders()).to.eql([ + '@timestamp', + 'service.name', + 'host.name', + 'message', + ]); }); await retry.try(async () => { diff --git a/x-pack/test/functional/apps/transform/edit_clone/cloning.ts b/x-pack/test/functional/apps/transform/edit_clone/cloning.ts index 152ea8c9caa66..0ec4ef0b67b9e 100644 --- a/x-pack/test/functional/apps/transform/edit_clone/cloning.ts +++ b/x-pack/test/functional/apps/transform/edit_clone/cloning.ts @@ -189,7 +189,8 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const transform = getService('transform'); - describe('cloning', function () { + // Failing: See https://github.com/elastic/kibana/issues/165883 + describe.skip('cloning', function () { const transformConfigWithPivot = getTransformConfig(); const transformConfigWithRuntimeMapping = getTransformConfigWithRuntimeMappings(); const transformConfigWithBoolFilterAgg = getTransformConfigWithBoolFilterAgg(); diff --git a/x-pack/test/functional/page_objects/infra_home_page.ts b/x-pack/test/functional/page_objects/infra_home_page.ts index b4e8839ba89e2..d7a2b86b2d5a3 100644 --- a/x-pack/test/functional/page_objects/infra_home_page.ts +++ b/x-pack/test/functional/page_objects/infra_home_page.ts @@ -175,7 +175,7 @@ export function InfraHomePageProvider({ getService, getPageObjects }: FtrProvide await testSubjects.click('openInventorySwitcher'); await testSubjects.find('goToHost'); await testSubjects.click('openInventorySwitcher'); - retry.tryForTime(2 * 1000, async () => { + return retry.tryForTime(2 * 1000, async () => { return testSubjects.missingOrFail('goToHost'); }); }, diff --git a/x-pack/test/functional/page_objects/lens_page.ts b/x-pack/test/functional/page_objects/lens_page.ts index 5d3f316b7a83a..6880a3ab46ff5 100644 --- a/x-pack/test/functional/page_objects/lens_page.ts +++ b/x-pack/test/functional/page_objects/lens_page.ts @@ -691,7 +691,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont }, async getNumericFieldReady(testSubj: string) { const numericInput = await find.byCssSelector( - `input[data-test-subj=${testSubj}][type='number']` + `input[data-test-subj="${testSubj}"][type='number']` ); await numericInput.click(); await numericInput.clearValue(); diff --git a/x-pack/test/functional/services/actions/api.ts b/x-pack/test/functional/services/actions/api.ts index 89eef12cb3370..0506bf451ae84 100644 --- a/x-pack/test/functional/services/actions/api.ts +++ b/x-pack/test/functional/services/actions/api.ts @@ -17,15 +17,17 @@ export function ActionsAPIServiceProvider({ getService }: FtrProviderContext) { config, secrets, connectorTypeId, + additionalRequestHeaders, }: { name: string; config: Record; secrets: Record; connectorTypeId: string; + additionalRequestHeaders?: object; }) { const { body: createdAction } = await kbnSupertest .post(`/api/actions/connector`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .send({ name, config, @@ -37,24 +39,24 @@ export function ActionsAPIServiceProvider({ getService }: FtrProviderContext) { return createdAction; }, - async deleteConnector(id: string) { + async deleteConnector(id: string, additionalRequestHeaders?: object) { log.debug(`Deleting connector with id '${id}'...`); const rsp = kbnSupertest .delete(`/api/actions/connector/${id}`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .expect(204, ''); log.debug('> Connector deleted.'); return rsp; }, - async deleteAllConnectors() { + async deleteAllConnectors(additionalRequestHeaders?: object) { const { body } = await kbnSupertest .get(`/api/actions/connectors`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .expect(200); for (const connector of body) { - await this.deleteConnector(connector.id); + await this.deleteConnector(connector.id, additionalRequestHeaders); } }, }; diff --git a/x-pack/test/functional/services/rules/api.ts b/x-pack/test/functional/services/rules/api.ts index 3697756ef0da4..8ad6e45ee8572 100644 --- a/x-pack/test/functional/services/rules/api.ts +++ b/x-pack/test/functional/services/rules/api.ts @@ -56,11 +56,11 @@ export function RulesAPIServiceProvider({ getService }: FtrProviderContext) { return rsp; }, - async deleteAllRules() { + async deleteAllRules(additionalRequestHeaders?: object) { log.debug(`Deleting all rules...`); const { body } = await kbnSupertest .get(`/api/alerting/rules/_find`) - .set('kbn-xsrf', 'foo') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'foo' }) .expect(200); for (const rule of body.data) { diff --git a/x-pack/test/functional/services/sample_data/test_resources.ts b/x-pack/test/functional/services/sample_data/test_resources.ts index bdf1c7ff93e42..5e5b5947464c6 100644 --- a/x-pack/test/functional/services/sample_data/test_resources.ts +++ b/x-pack/test/functional/services/sample_data/test_resources.ts @@ -13,21 +13,30 @@ export function SampleDataTestResourcesServiceProvider({ getService }: FtrProvid const kibanaServer = getService('kibanaServer'); return { - async installKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { - await supertest.post(`/api/sample_data/${sampleDataId}`).set('kbn-xsrf', 'true').expect(200); + async installKibanaSampleData( + sampleDataId: 'ecommerce' | 'flights' | 'logs', + additionalRequestHeaders?: object + ) { + await supertest + .post(`/api/sample_data/${sampleDataId}`) + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'true' }) + .expect(200); }, - async removeKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { + async removeKibanaSampleData( + sampleDataId: 'ecommerce' | 'flights' | 'logs', + additionalRequestHeaders?: object + ) { await supertest .delete(`/api/sample_data/${sampleDataId}`) - .set('kbn-xsrf', 'true') + .set({ ...additionalRequestHeaders, 'kbn-xsrf': 'true' }) .expect(204); }, - async installAllKibanaSampleData() { - await this.installKibanaSampleData('ecommerce'); - await this.installKibanaSampleData('flights'); - await this.installKibanaSampleData('logs'); + async installAllKibanaSampleData(additionalRequestHeaders?: object) { + await this.installKibanaSampleData('ecommerce', additionalRequestHeaders); + await this.installKibanaSampleData('flights', additionalRequestHeaders); + await this.installKibanaSampleData('logs', additionalRequestHeaders); // Sample data is shifted to be relative to current time // This means that a static timerange will return different documents @@ -46,10 +55,10 @@ export function SampleDataTestResourcesServiceProvider({ getService }: FtrProvid }); }, - async removeAllKibanaSampleData() { - await this.removeKibanaSampleData('ecommerce'); - await this.removeKibanaSampleData('flights'); - await this.removeKibanaSampleData('logs'); + async removeAllKibanaSampleData(additionalRequestHeaders?: object) { + await this.removeKibanaSampleData('ecommerce', additionalRequestHeaders); + await this.removeKibanaSampleData('flights', additionalRequestHeaders); + await this.removeKibanaSampleData('logs', additionalRequestHeaders); }, }; } diff --git a/x-pack/test/functional_embedded/tests/iframe_embedded.ts b/x-pack/test/functional_embedded/tests/iframe_embedded.ts index 0e2a461dd15f9..6d0872e8505fd 100644 --- a/x-pack/test/functional_embedded/tests/iframe_embedded.ts +++ b/x-pack/test/functional_embedded/tests/iframe_embedded.ts @@ -6,8 +6,6 @@ */ import Url from 'url'; -import expect from '@kbn/expect'; - import { FtrProviderContext } from '../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { @@ -17,12 +15,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const retry = getService('retry'); - // FLAKY https://github.com/elastic/kibana/issues/70928 - describe.skip('in iframe', () => { + describe('in iframe', () => { it('should open Kibana for logged-in user', async () => { - const isChromeHiddenBefore = await PageObjects.common.isChromeHidden(); - expect(isChromeHiddenBefore).to.be(true); - await PageObjects.security.login(); const { protocol, hostname, port } = config.get('servers.kibana'); diff --git a/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx b/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx index afc7860303db5..851134d346d9a 100644 --- a/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx +++ b/x-pack/test/functional_with_es_ssl/plugins/cases/public/application.tsx @@ -8,7 +8,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { - EuiPageTemplate_Deprecated as EuiPageTemplate, + EuiPageTemplate, EuiFlexGrid, EuiFlexItem, EuiPanel, diff --git a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/opsgenie_connector.ts b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/opsgenie_connector.ts index 163bc402b8083..432ececf2ba62 100644 --- a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/opsgenie_connector.ts +++ b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/opsgenie_connector.ts @@ -29,7 +29,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await commonScreenshots.takeScreenshot('opsgenie-connector', screenshotDirectories); await testSubjects.click('create-connector-flyout-save-test-btn'); await testSubjects.click('toastCloseButton'); - await commonScreenshots.takeScreenshot('opsgenie-params-test', screenshotDirectories); + await commonScreenshots.takeScreenshot('opsgenie-create-alert-test', screenshotDirectories); + await testSubjects.click('opsgenie-subActionSelect-close-alert'); + await testSubjects.click('opsgenie-display-more-options'); + await commonScreenshots.takeScreenshot('opsgenie-close-alert-test', screenshotDirectories); await testSubjects.click('euiFlyoutCloseButton'); }); }); diff --git a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/pagerduty_connector.ts b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/pagerduty_connector.ts index 49c3eac92b340..ddaa7291acaa8 100644 --- a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/pagerduty_connector.ts +++ b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/pagerduty_connector.ts @@ -30,7 +30,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await testSubjects.click('create-connector-flyout-save-test-btn'); await testSubjects.click('toastCloseButton'); await testSubjects.setValue('eventActionSelect', 'trigger'); - await commonScreenshots.takeScreenshot('pagerduty-params-test', screenshotDirectories); + await commonScreenshots.takeScreenshot('pagerduty-trigger-test', screenshotDirectories); + await testSubjects.setValue('eventActionSelect', 'resolve'); + await commonScreenshots.takeScreenshot('pagerduty-resolve-test', screenshotDirectories); + await testSubjects.setValue('eventActionSelect', 'acknowledge'); + await commonScreenshots.takeScreenshot('pagerduty-acknowledge-test', screenshotDirectories); await testSubjects.click('euiFlyoutCloseButton'); }); }); diff --git a/x-pack/test_serverless/api_integration/services/index.ts b/x-pack/test_serverless/api_integration/services/index.ts index 14ecca6d1f768..6cdf47d857aa0 100644 --- a/x-pack/test_serverless/api_integration/services/index.ts +++ b/x-pack/test_serverless/api_integration/services/index.ts @@ -10,7 +10,6 @@ import { GenericFtrProviderContext } from '@kbn/test'; import { services as xpackApiIntegrationServices } from '../../../test/api_integration/services'; import { services as svlSharedServices } from '../../shared/services'; -import { SvlCommonApiServiceProvider } from './svl_common_api'; import { AlertingApiProvider } from './alerting_api'; import { SamlToolsProvider } from './saml_tools'; import { DataViewApiProvider } from './data_view_api'; @@ -20,7 +19,6 @@ export const services = { ...xpackApiIntegrationServices, ...svlSharedServices, - svlCommonApi: SvlCommonApiServiceProvider, alertingApi: AlertingApiProvider, samlTools: SamlToolsProvider, dataViewApi: DataViewApiProvider, diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts index fbb2b2498d92d..12d23a3c6d78e 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts @@ -48,7 +48,6 @@ export default function ({ getService }: FtrProviderContext) { }, }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); objectRemover.add('default', ruleId, 'rule', 'alerting'); // get the first alert document written @@ -176,7 +175,6 @@ export default function ({ getService }: FtrProviderContext) { }, }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); objectRemover.add('default', ruleId, 'rule', 'alerting'); // get the first alert document written diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts index 1ba17b77aca10..cd378ab98035b 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts @@ -46,8 +46,9 @@ export async function createIndexConnector({ refresh: true, }, connector_type_id: '.index', - }); - return body.id as string; + }) + .expect(200); + return body; } export async function createSlackConnector({ @@ -68,8 +69,9 @@ export async function createSlackConnector({ webhookUrl: 'http://test', }, connector_type_id: '.slack', - }); - return body.id as string; + }) + .expect(200); + return body; } export async function createEsQueryRule({ @@ -111,7 +113,8 @@ export async function createEsQueryRule({ rule_type_id: ruleTypeId, actions, ...(notifyWhen ? { notify_when: notifyWhen, throttle: '5m' } : {}), - }); + }) + .expect(200); return body; } @@ -125,7 +128,8 @@ export async function disableRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_disable`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -141,7 +145,8 @@ export async function updateEsQueryRule({ const { body: r } = await supertest .get(`/api/alerting/rule/${ruleId}`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(200); const body = await supertest .put(`/api/alerting/rule/${ruleId}`) .set('kbn-xsrf', 'foo') @@ -162,7 +167,8 @@ export async function updateEsQueryRule({ })), }, ...updates, - }); + }) + .expect(200); return body; } @@ -176,7 +182,8 @@ export async function runRule({ const response = await supertest .post(`/internal/alerting/rule/${ruleId}/_run_soon`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return response; } @@ -190,7 +197,8 @@ export async function muteRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_mute_all`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -204,7 +212,8 @@ export async function enableRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_enable`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -220,7 +229,8 @@ export async function muteAlert({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/alert/${alertId}/_mute`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } @@ -234,6 +244,7 @@ export async function unmuteRule({ const { body } = await supertest .post(`/api/alerting/rule/${ruleId}/_unmute_all`) .set('kbn-xsrf', 'foo') - .set('x-elastic-internal-origin', 'foo'); + .set('x-elastic-internal-origin', 'foo') + .expect(204); return body; } diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts index bdca0ee15040a..7b86988e879c3 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts @@ -344,10 +344,7 @@ export async function waitForNumRuleRuns({ for (let i = 0; i < numOfRuns; i++) { await pRetry( async () => { - const resp = await runRule({ supertest, ruleId }); - if (resp.status !== 204) { - throw new Error(`Expected ${resp.status} to equal 204`); - } + await runRule({ supertest, ruleId }); await waitForExecutionEventLog({ esClient, filter: testStart, diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts index 3225ecb4f71ce..4367656feae60 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/index.ts @@ -11,5 +11,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { describe('Alerting APIs', function () { loadTestFile(require.resolve('./rules')); loadTestFile(require.resolve('./alert_documents')); + loadTestFile(require.resolve('./summary_actions')); }); } diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts index 64c8fda9d6089..dd6060a397059 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts @@ -61,12 +61,12 @@ export default function ({ getService }: FtrProviderContext) { it('should schedule task, run rule and schedule actions when appropriate', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -111,7 +111,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait for the action to index a document before disabling the alert and waiting for tasks to finish const resp = await waitForDocumentInIndex({ @@ -170,12 +169,12 @@ export default function ({ getService }: FtrProviderContext) { it('should pass updated rule params to executor', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -220,7 +219,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait for the action to index a document before disabling the alert and waiting for tasks to finish const resp = await waitForDocumentInIndex({ @@ -289,11 +287,11 @@ export default function ({ getService }: FtrProviderContext) { const testStart = new Date(); // Should fail - actionId = await createSlackConnector({ + const createdAction = await createSlackConnector({ supertest, name: 'Slack Connector: Alerting API test', }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -326,7 +324,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Should retry when the the action fails const resp = await waitForAllTasks({ @@ -341,12 +338,12 @@ export default function ({ getService }: FtrProviderContext) { it('should throttle alerts when appropriate', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -388,7 +385,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait until alerts ran at least 3 times before disabling the alert and waiting for tasks to finish await waitForNumRuleRuns({ supertest, numOfRuns: 3, ruleId, esClient, testStart }); @@ -415,12 +411,12 @@ export default function ({ getService }: FtrProviderContext) { it('should throttle alerts with throttled action when appropriate', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -466,7 +462,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait until alerts ran at least 3 times before disabling the alert and waiting for tasks to finish await waitForNumRuleRuns({ supertest, numOfRuns: 3, ruleId, esClient, testStart }); @@ -493,12 +488,12 @@ export default function ({ getService }: FtrProviderContext) { it('should reset throttle window when not firing and should not throttle when changing groups', async () => { const testStart = new Date(); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -568,7 +563,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); // Wait for the action to index a document const resp = await waitForDocumentInIndex({ @@ -638,12 +632,12 @@ export default function ({ getService }: FtrProviderContext) { const testStart = new Date(); await createIndex({ esClient, indexName: ALERT_ACTION_INDEX }); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -689,7 +683,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); await muteRule({ supertest, @@ -728,12 +721,12 @@ export default function ({ getService }: FtrProviderContext) { const testStart = new Date(); await createIndex({ esClient, indexName: ALERT_ACTION_INDEX }); - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -779,7 +772,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); await muteAlert({ supertest, @@ -816,12 +808,12 @@ export default function ({ getService }: FtrProviderContext) { }); it(`should unmute all instances when unmuting an alert`, async () => { - actionId = await createIndexConnector({ + const createdAction = await createIndexConnector({ supertest, name: 'Index Connector: Alerting API test', indexName: ALERT_ACTION_INDEX, }); - expect(actionId).not.to.be(undefined); + actionId = createdAction.id; const createdRule = await createEsQueryRule({ supertest, @@ -867,7 +859,6 @@ export default function ({ getService }: FtrProviderContext) { ], }); ruleId = createdRule.id; - expect(ruleId).not.to.be(undefined); await muteAlert({ supertest, diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/summary_actions.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/summary_actions.ts new file mode 100644 index 0000000000000..63e34eefae79d --- /dev/null +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/summary_actions.ts @@ -0,0 +1,543 @@ +/* + * 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 { omit, padStart } from 'lodash'; +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { createIndexConnector, createEsQueryRule } from './helpers/alerting_api_helper'; +import { + createIndex, + getDocumentsInIndex, + waitForAlertInIndex, + waitForDocumentInIndex, +} from './helpers/alerting_wait_for_helpers'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const esClient = getService('es'); + const esDeleteAllIndices = getService('esDeleteAllIndices'); + + describe('Summary actions', () => { + const RULE_TYPE_ID = '.es-query'; + const ALERT_ACTION_INDEX = 'alert-action-es-query'; + const ALERT_INDEX = '.alerts-stack.alerts-default'; + let actionId: string; + let ruleId: string; + const fields = [ + '@timestamp', + 'event.action', + 'kibana.alert.duration.us', + 'kibana.alert.flapping_history', + 'kibana.alert.maintenance_window_ids', + 'kibana.alert.reason', + 'kibana.alert.rule.execution.uuid', + 'kibana.alert.rule.duration', + 'kibana.alert.start', + 'kibana.alert.time_range', + 'kibana.alert.uuid', + 'kibana.alert.url', + 'kibana.version', + ]; + + afterEach(async () => { + await supertest + .delete(`/api/actions/connector/${actionId}`) + .set('kbn-xsrf', 'foo') + .set('x-elastic-internal-origin', 'foo') + .expect(204); + await supertest + .delete(`/api/alerting/rule/${ruleId}`) + .set('kbn-xsrf', 'foo') + .set('x-elastic-internal-origin', 'foo') + .expect(204); + await esDeleteAllIndices([ALERT_ACTION_INDEX]); + }); + + it('should schedule actions for summary of alerts per rule run', async () => { + const testStart = new Date(); + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onActiveAlert', + throttle: null, + summary: true, + }, + alerts_filter: { + query: { kql: 'kibana.alert.rule.name:always fire', filters: [] }, + }, + }, + ], + }); + ruleId = createdRule.id; + + const resp = await waitForDocumentInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + }); + expect(resp.hits.hits.length).to.be(1); + + const resp2 = await waitForAlertInIndex({ + esClient, + filter: testStart, + indexName: ALERT_INDEX, + ruleId, + num: 1, + }); + expect(resp2.hits.hits.length).to.be(1); + + const document = resp.hits.hits[0]; + expect(document._source).to.eql({ + all: '1', + new: '1', + newIds: '[query matched,]', + ongoing: '0', + ongoingIds: '[]', + recovered: '0', + recoveredIds: '[]', + }); + + const alertDocument = resp2.hits.hits[0]._source as Record; + expect(omit(alertDocument, fields)).to.eql({ + event: { + kind: 'signal', + }, + tags: [], + kibana: { + space_ids: ['default'], + alert: { + title: "rule 'always fire' matched query", + evaluation: { + conditions: 'Number of matching documents is greater than -1', + value: 0, + }, + action_group: 'query matched', + flapping: false, + duration: {}, + instance: { id: 'query matched' }, + status: 'active', + workflow_status: 'open', + rule: { + category: 'Elasticsearch query', + consumer: 'alerts', + name: 'always fire', + execution: {}, + parameters: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: '{\n "query":{\n "match_all" : {}\n }\n}', + timeWindowSize: 20, + timeWindowUnit: 's', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'all', + searchType: 'esQuery', + }, + producer: 'stackAlerts', + revision: 0, + rule_type_id: '.es-query', + tags: [], + uuid: ruleId, + }, + }, + }, + }); + }); + + it('should filter alerts by kql', async () => { + const testStart = new Date(); + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onActiveAlert', + throttle: null, + summary: true, + }, + alerts_filter: { + query: { kql: 'kibana.alert.instance.id:query matched', filters: [] }, + }, + }, + ], + }); + ruleId = createdRule.id; + + const resp = await waitForDocumentInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + }); + expect(resp.hits.hits.length).to.be(1); + + const resp2 = await waitForAlertInIndex({ + esClient, + filter: testStart, + indexName: ALERT_INDEX, + ruleId, + num: 1, + }); + expect(resp2.hits.hits.length).to.be(1); + + const document = resp.hits.hits[0]; + expect(document._source).to.eql({ + all: '1', + new: '1', + newIds: '[query matched,]', + ongoing: '0', + ongoingIds: '[]', + recovered: '0', + recoveredIds: '[]', + }); + + const alertDocument = resp2.hits.hits[0]._source as Record; + expect(omit(alertDocument, fields)).to.eql({ + event: { + kind: 'signal', + }, + tags: [], + kibana: { + space_ids: ['default'], + alert: { + title: "rule 'always fire' matched query", + evaluation: { + conditions: 'Number of matching documents is greater than -1', + value: 0, + }, + action_group: 'query matched', + flapping: false, + duration: {}, + instance: { id: 'query matched' }, + status: 'active', + workflow_status: 'open', + rule: { + category: 'Elasticsearch query', + consumer: 'alerts', + name: 'always fire', + execution: {}, + parameters: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: '{\n "query":{\n "match_all" : {}\n }\n}', + timeWindowSize: 20, + timeWindowUnit: 's', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'all', + searchType: 'esQuery', + }, + producer: 'stackAlerts', + revision: 0, + rule_type_id: '.es-query', + tags: [], + uuid: ruleId, + }, + }, + }, + }); + }); + + it('should filter alerts by hours', async () => { + const now = new Date(); + now.setHours(now.getHours() + 1); + const hour = padStart(now.getUTCHours().toString(), 2, '0'); + const minutes = padStart(now.getUTCMinutes().toString(), 2, '0'); + + const start = `${hour}:${minutes}`; + const end = `${hour}:${minutes}`; + + await createIndex({ esClient, indexName: ALERT_ACTION_INDEX }); + + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + schedule: { interval: '1m' }, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onActiveAlert', + throttle: null, + summary: true, + }, + alerts_filter: { + timeframe: { + days: [1, 2, 3, 4, 5, 6, 7], + timezone: 'UTC', + hours: { start, end }, + }, + }, + }, + ], + }); + ruleId = createdRule.id; + + // Should not have executed any action + const resp = await getDocumentsInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + }); + expect(resp.hits.hits.length).to.be(0); + }); + + it('should schedule actions for summary of alerts on a custom interval', async () => { + const testStart = new Date(); + const createdAction = await createIndexConnector({ + supertest, + name: 'Index Connector: Alerting API test', + indexName: ALERT_ACTION_INDEX, + }); + actionId = createdAction.id; + + const createdRule = await createEsQueryRule({ + supertest, + consumer: 'alerts', + name: 'always fire', + ruleTypeId: RULE_TYPE_ID, + schedule: { interval: '1m' }, + params: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + timeWindowSize: 20, + timeWindowUnit: 's', + }, + actions: [ + { + group: 'query matched', + id: actionId, + params: { + documents: [ + { + all: '{{alerts.all.count}}', + new: '{{alerts.new.count}}', + newIds: '[{{#alerts.new.data}}{{kibana.alert.instance.id}},{{/alerts.new.data}}]', + ongoing: '{{alerts.ongoing.count}}', + ongoingIds: + '[{{#alerts.ongoing.data}}{{kibana.alert.instance.id}},{{/alerts.ongoing.data}}]', + recovered: '{{alerts.recovered.count}}', + recoveredIds: + '[{{#alerts.recovered.data}}{{kibana.alert.instance.id}},{{/alerts.recovered.data}}]', + }, + ], + }, + frequency: { + notify_when: 'onThrottleInterval', + throttle: '1m', + summary: true, + }, + }, + ], + }); + ruleId = createdRule.id; + + const resp = await waitForDocumentInIndex({ + esClient, + indexName: ALERT_ACTION_INDEX, + num: 2, + }); + + const resp2 = await waitForAlertInIndex({ + esClient, + filter: testStart, + indexName: ALERT_INDEX, + ruleId, + num: 1, + }); + expect(resp2.hits.hits.length).to.be(1); + + const document = resp.hits.hits[0]; + expect(document._source).to.eql({ + all: '1', + new: '1', + newIds: '[query matched,]', + ongoing: '0', + ongoingIds: '[]', + recovered: '0', + recoveredIds: '[]', + }); + + const document1 = resp.hits.hits[1]; + expect(document1._source).to.eql({ + all: '1', + new: '0', + newIds: '[]', + ongoing: '1', + ongoingIds: '[query matched,]', + recovered: '0', + recoveredIds: '[]', + }); + + const alertDocument = resp2.hits.hits[0]._source as Record; + expect(omit(alertDocument, fields)).to.eql({ + event: { + kind: 'signal', + }, + tags: [], + kibana: { + space_ids: ['default'], + alert: { + title: "rule 'always fire' matched query", + evaluation: { + conditions: 'Number of matching documents is greater than -1', + value: 0, + }, + action_group: 'query matched', + flapping: false, + duration: {}, + instance: { id: 'query matched' }, + status: 'active', + workflow_status: 'open', + rule: { + category: 'Elasticsearch query', + consumer: 'alerts', + name: 'always fire', + execution: {}, + parameters: { + size: 100, + thresholdComparator: '>', + threshold: [-1], + index: ['alert-test-data'], + timeField: 'date', + esQuery: '{\n "query":{\n "match_all" : {}\n }\n}', + timeWindowSize: 20, + timeWindowUnit: 's', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'all', + searchType: 'esQuery', + }, + producer: 'stackAlerts', + revision: 0, + rule_type_id: '.es-query', + tags: [], + uuid: ruleId, + }, + }, + }, + }); + }); + }); +} diff --git a/x-pack/test_serverless/functional/config.base.ts b/x-pack/test_serverless/functional/config.base.ts index 02ddf326fef8d..75b8ea7154b9b 100644 --- a/x-pack/test_serverless/functional/config.base.ts +++ b/x-pack/test_serverless/functional/config.base.ts @@ -62,6 +62,12 @@ export function createTestConfig(options: CreateTestConfigOptions) { indexManagement: { pathname: '/app/management/data/index_management', }, + connectors: { + pathname: '/app/management/insightsAndAlerting/triggersActionsConnectors/', + }, + advancedSettings: { + pathname: '/app/management/kibana/settings', + }, }, // choose where screenshots should be saved screenshots: { diff --git a/x-pack/test_serverless/functional/services/index.ts b/x-pack/test_serverless/functional/services/index.ts index 2c1ace79bc197..238a5ad110069 100644 --- a/x-pack/test_serverless/functional/services/index.ts +++ b/x-pack/test_serverless/functional/services/index.ts @@ -13,6 +13,7 @@ import { SvlCommonNavigationServiceProvider } from './svl_common_navigation'; import { SvlObltNavigationServiceProvider } from './svl_oblt_navigation'; import { SvlSearchNavigationServiceProvider } from './svl_search_navigation'; import { SvlSecNavigationServiceProvider } from './svl_sec_navigation'; +import { SvlCommonScreenshotsProvider } from './svl_common_screenshots'; export const services = { ...xpackFunctionalServices, @@ -22,4 +23,5 @@ export const services = { svlObltNavigation: SvlObltNavigationServiceProvider, svlSearchNavigation: SvlSearchNavigationServiceProvider, svlSecNavigation: SvlSecNavigationServiceProvider, + svlCommonScreenshots: SvlCommonScreenshotsProvider, }; diff --git a/x-pack/test_serverless/functional/services/svl_common_screenshots.ts b/x-pack/test_serverless/functional/services/svl_common_screenshots.ts new file mode 100644 index 0000000000000..20b0c8dba223e --- /dev/null +++ b/x-pack/test_serverless/functional/services/svl_common_screenshots.ts @@ -0,0 +1,46 @@ +/* + * 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 function SvlCommonScreenshotsProvider({ getService }: FtrProviderContext) { + const browser = getService('browser'); + const screenshot = getService('screenshots'); + const testSubjects = getService('testSubjects'); + + const DEFAULT_WIDTH = 1920; + const DEFAULT_HEIGHT = 1080; + + return { + async takeScreenshot(name: string, subDirectories: string[], width?: number, height?: number) { + await browser.setWindowSize(width ?? DEFAULT_WIDTH, height ?? DEFAULT_HEIGHT); + await new Promise((resolve) => setTimeout(resolve, 1000)); // give components time to resize + await screenshot.take(`${name}_new`, undefined, subDirectories); + await browser.setWindowSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); + }, + + async openKibanaNav() { + if (!(await testSubjects.exists('collapsibleNav'))) { + await testSubjects.click('toggleNavButton'); + } + await testSubjects.existOrFail('collapsibleNav'); + }, + + async closeKibanaNav() { + if (await testSubjects.exists('collapsibleNav')) { + await testSubjects.click('toggleNavButton'); + } + await testSubjects.missingOrFail('collapsibleNav'); + }, + + async removeFocusFromElement() { + // open and close the Kibana nav to un-focus the last used element + await this.openKibanaNav(); + await this.closeKibanaNav(); + }, + }; +} diff --git a/x-pack/test_serverless/functional/test_suites/common/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/common/advanced_settings.ts new file mode 100644 index 0000000000000..f24d3350b9744 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/common/advanced_settings.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 expect from '@kbn/expect'; +import { ALL_COMMON_SETTINGS } from '@kbn/serverless-common-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Common advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders common settings', () => { + for (const settingId of ALL_COMMON_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const isColorPickerField = + settingId === 'banners:textColor' || settingId === 'banners:backgroundColor'; + const fieldTestSubj = + (isColorPickerField ? 'euiColorPickerAnchor ' : '') + + 'advancedSetting-editField-' + + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/common/index.ts b/x-pack/test_serverless/functional/test_suites/common/index.ts index 597a1b6f84963..89fe34c19f640 100644 --- a/x-pack/test_serverless/functional/test_suites/common/index.ts +++ b/x-pack/test_serverless/functional/test_suites/common/index.ts @@ -18,6 +18,7 @@ export default function ({ loadTestFile }: FtrProviderContext) { // Management loadTestFile(require.resolve('./index_management')); + loadTestFile(require.resolve('./advanced_settings')); // Data View Management loadTestFile(require.resolve('./data_view_mgmt')); diff --git a/x-pack/test_serverless/functional/test_suites/observability/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/observability/advanced_settings.ts new file mode 100644 index 0000000000000..e723b81dbe20f --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/observability/advanced_settings.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { OBSERVABILITY_PROJECT_SETTINGS } from '@kbn/serverless-observability-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Observability advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders observability settings', () => { + for (const settingId of OBSERVABILITY_PROJECT_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const fieldTestSubj = 'advancedSetting-editField-' + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts index 8a2a776c68858..e86ddc9ffd015 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/view_case.ts @@ -425,8 +425,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); it('should set the cases title', async () => { - svlCommonNavigation.breadcrumbs.expectExists(); - svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); + await svlCommonNavigation.breadcrumbs.expectExists(); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); }); }); diff --git a/x-pack/test_serverless/functional/test_suites/observability/index.ts b/x-pack/test_serverless/functional/test_suites/observability/index.ts index 2d4c664085dbb..3c387337a23e5 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/index.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/index.ts @@ -17,5 +17,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./cases/configure')); loadTestFile(require.resolve('./cases/create_case_form')); loadTestFile(require.resolve('./cases/list_view')); + loadTestFile(require.resolve('./advanced_settings')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts index 05edfb9a29350..955ef8d22055f 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/columns_selection.ts @@ -9,7 +9,7 @@ import rison from '@kbn/rison'; import querystring from 'querystring'; import { FtrProviderContext } from '../../../ftr_provider_context'; -const defaultLogColumns = ['@timestamp', 'message']; +const defaultLogColumns = ['@timestamp', 'service.name', 'host.name', 'message']; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); @@ -46,7 +46,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.observabilityLogExplorer.navigateTo({ search: querystring.stringify({ _a: rison.encode({ - columns: ['message', 'data_stream.namespace'], + columns: ['service.name', 'host.name', 'message', 'data_stream.namespace'], }), }), }); diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts index 65207e6e3aafc..0b40780aace2b 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts @@ -61,7 +61,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); await retry.try(async () => { - expect(await PageObjects.discover.getColumnHeaders()).to.eql(['@timestamp', 'message']); + expect(await PageObjects.discover.getColumnHeaders()).to.eql([ + '@timestamp', + 'service.name', + 'host.name', + 'message', + ]); }); await retry.try(async () => { diff --git a/x-pack/test_serverless/functional/test_suites/search/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/search/advanced_settings.ts new file mode 100644 index 0000000000000..63b6053589ea6 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/advanced_settings.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { SEARCH_PROJECT_SETTINGS } from '@kbn/serverless-search-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Search advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders search settings', () => { + for (const settingId of SEARCH_PROJECT_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const fieldTestSubj = 'advancedSetting-editField-' + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts b/x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts new file mode 100644 index 0000000000000..fd53eda92aa5e --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts @@ -0,0 +1,19 @@ +/* + * 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 { createTestConfig } from '../../config.base'; + +const enabledActionTypes = ['.index', '.server-log']; + +export default createTestConfig({ + serverlessProject: 'es', + testFiles: [require.resolve('./screenshot_creation')], + kbnServerArgs: [`--xpack.actions.enabledActionTypes=${JSON.stringify(enabledActionTypes)}`], + junit: { + reportName: 'Serverless Search Screenshot Creation', + }, +}); diff --git a/x-pack/test_serverless/functional/test_suites/search/index.ts b/x-pack/test_serverless/functional/test_suites/search/index.ts index e169f69f3f78b..fbaaf96aed8a4 100644 --- a/x-pack/test_serverless/functional/test_suites/search/index.ts +++ b/x-pack/test_serverless/functional/test_suites/search/index.ts @@ -16,5 +16,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./dashboards/build_dashboard')); loadTestFile(require.resolve('./dashboards/import_dashboard')); + loadTestFile(require.resolve('./advanced_settings')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/index.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/index.ts new file mode 100644 index 0000000000000..90e905735c307 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/index.ts @@ -0,0 +1,14 @@ +/* + * 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 ({ loadTestFile }: FtrProviderContext) { + describe('Screenshots - serverless search UI', function () { + loadTestFile(require.resolve('./response_ops_docs')); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/index.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/index.ts new file mode 100644 index 0000000000000..3df3eaa1939b4 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/index.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../../ftr_provider_context'; + +export const ECOMMERCE_INDEX_PATTERN = 'kibana_sample_data_ecommerce'; +export const FLIGHTS_INDEX_PATTERN = 'kibana_sample_data_flights'; +export const LOGS_INDEX_PATTERN = 'kibana_sample_data_logs'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const browser = getService('browser'); + const ml = getService('ml'); + const sampleData = getService('sampleData'); + const svlCommonApi = getService('svlCommonApi'); + + describe('response ops docs', function () { + this.tags(['responseOps']); + + before(async () => { + await sampleData.testResources.installAllKibanaSampleData( + svlCommonApi.getInternalRequestHeader() + ); + await ml.testResources.setKibanaTimeZoneToUTC(); + await ml.testResources.disableKibanaAnnouncements(); + await browser.setWindowSize(1920, 1080); + }); + + after(async () => { + await sampleData.testResources.removeAllKibanaSampleData( + svlCommonApi.getInternalRequestHeader() + ); + await ml.testResources.resetKibanaTimeZone(); + await ml.testResources.resetKibanaAnnouncements(); + }); + + loadTestFile(require.resolve('./stack_connectors')); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/connectors.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/connectors.ts new file mode 100644 index 0000000000000..13b35429f748b --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/connectors.ts @@ -0,0 +1,52 @@ +/* + * 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 svlCommonScreenshots = getService('svlCommonScreenshots'); + // const browser = getService('browser'); + // const find = getService('find'); + // const testSubjects = getService('testSubjects'); + const screenshotDirectories = ['response_ops_docs', 'stack_connectors']; + const pageObjects = getPageObjects(['common', 'header']); + + describe('connectors', function () { + it('connectors list screenshot', async () => { + await pageObjects.common.navigateToApp('connectors'); + await pageObjects.header.waitUntilLoadingHasFinished(); + await svlCommonScreenshots.takeScreenshot( + 'connector-listing', + screenshotDirectories, + 1400, + 1024 + ); + + // const searchBox = await find.byCssSelector('[data-test-subj="actionsList"] .euiFieldSearch'); + // await searchBox.click(); + // await searchBox.clearValue(); + // await searchBox.type('my actionTypeId:(.index)'); + // await searchBox.pressKeys(browser.keys.ENTER); + // const typeFilter = await find.byCssSelector( + // '[data-test-subj="actionsList"] .euiFilterButton' + // ); + // await typeFilter.click(); + // await commonScreenshots.takeScreenshot( + // 'connector-filter-by-type', + // screenshotDirectories, + // 1400, + // 1024 + // ); + + // const clearSearchButton = await testSubjects.find('clearSearchButton'); + // await clearSearchButton.click(); + // const checkAllButton = await testSubjects.find('checkboxSelectAll'); + // await checkAllButton.click(); + // await commonScreenshots.takeScreenshot('connector-delete', screenshotDirectories, 1400, 1024); + }); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/index.ts b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/index.ts new file mode 100644 index 0000000000000..f5f06e36d3ca7 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs/stack_connectors/index.ts @@ -0,0 +1,63 @@ +/* + * 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 ({ loadTestFile, getService }: FtrProviderContext) { + const actions = getService('actions'); + const browser = getService('browser'); + const es = getService('es'); + const rules = getService('rules'); + const testIndex = `test-index`; + const svlCommonApi = getService('svlCommonApi'); + + describe('stack connectors', function () { + before(async () => { + await browser.setWindowSize(1920, 1080); + await actions.api.createConnector({ + name: 'server-log-connector', + config: {}, + secrets: {}, + connectorTypeId: '.server-log', + additionalRequestHeaders: svlCommonApi.getInternalRequestHeader(), + }); + + await es.indices.create({ + index: testIndex, + body: { + mappings: { + properties: { + date_updated: { + type: 'date', + format: 'epoch_millis', + }, + }, + }, + }, + }); + + await actions.api.createConnector({ + name: 'my-index-connector', + config: { + index: testIndex, + }, + secrets: {}, + connectorTypeId: '.index', + additionalRequestHeaders: svlCommonApi.getInternalRequestHeader(), + }); + }); + + after(async () => { + await rules.api.deleteAllRules(svlCommonApi.getInternalRequestHeader()); + await actions.api.deleteAllConnectors(svlCommonApi.getInternalRequestHeader()); + await es.indices.delete({ index: testIndex }); + }); + + loadTestFile(require.resolve('./connectors')); + // loadTestFile(require.resolve('./connector_types')); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts new file mode 100644 index 0000000000000..27fa42549dcc6 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/security/advanced_settings.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { SECURITY_PROJECT_SETTINGS } from '@kbn/serverless-security-settings'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default ({ getPageObjects, getService }: FtrProviderContext) => { + const testSubjects = getService('testSubjects'); + const pageObjects = getPageObjects(['common']); + const browser = getService('browser'); + const retry = getService('retry'); + + // Skip until we enable the Advanced settings app in serverless + describe.skip('Security advanced settings', function () { + before(async () => { + await pageObjects.common.navigateToApp('advancedSettings'); + }); + + it('renders the page', async () => { + await retry.waitFor('title to be visible', async () => { + return await testSubjects.exists('managementSettingsTitle'); + }); + + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/settings`); + }); + + describe('renders security settings', () => { + for (const settingId of SECURITY_PROJECT_SETTINGS) { + it('renders ' + settingId + ' edit field', async () => { + const fieldTestSubj = 'advancedSetting-editField-' + settingId; + expect(await testSubjects.exists(fieldTestSubj)).to.be(true); + }); + } + }); + }); +}; diff --git a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts index 4ef63da784e21..33fa7d6d25dc0 100644 --- a/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/cases/view_case.ts @@ -424,8 +424,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); it('should set the cases title', async () => { - svlCommonNavigation.breadcrumbs.expectExists(); - svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); + await svlCommonNavigation.breadcrumbs.expectExists(); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: createdCase.title }); }); }); diff --git a/x-pack/test_serverless/functional/test_suites/security/index.ts b/x-pack/test_serverless/functional/test_suites/security/index.ts index b4c46b5f4c263..d68c184813cea 100644 --- a/x-pack/test_serverless/functional/test_suites/security/index.ts +++ b/x-pack/test_serverless/functional/test_suites/security/index.ts @@ -17,5 +17,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./ftr/cases/create_case_form')); loadTestFile(require.resolve('./ftr/cases/configure')); loadTestFile(require.resolve('./ftr/cases/list_view')); + loadTestFile(require.resolve('./advanced_settings')); }); } diff --git a/x-pack/test_serverless/shared/config.base.ts b/x-pack/test_serverless/shared/config.base.ts index 0f806552656ac..d842e539ce216 100644 --- a/x-pack/test_serverless/shared/config.base.ts +++ b/x-pack/test_serverless/shared/config.base.ts @@ -52,31 +52,30 @@ export default async () => { files: [idpPath, jwksPath], serverArgs: [ 'xpack.security.authc.realms.file.file1.order=-100', + `xpack.security.authc.realms.native.native1.enabled=false`, + `xpack.security.authc.realms.native.native1.order=-97`, - 'xpack.security.authc.realms.jwt.jwt1.order=-98', - `xpack.security.authc.realms.jwt.jwt1.token_type=access_token`, - 'xpack.security.authc.realms.jwt.jwt1.client_authentication.type=shared_secret', - `xpack.security.authc.realms.jwt.jwt1.allowed_issuer=https://kibana.elastic.co/jwt/`, - `xpack.security.authc.realms.jwt.jwt1.allowed_subjects=elastic-agent`, 'xpack.security.authc.realms.jwt.jwt1.allowed_audiences=elasticsearch', + `xpack.security.authc.realms.jwt.jwt1.allowed_issuer=https://kibana.elastic.co/jwt/`, `xpack.security.authc.realms.jwt.jwt1.allowed_signature_algorithms=[RS256]`, + `xpack.security.authc.realms.jwt.jwt1.allowed_subjects=elastic-agent`, `xpack.security.authc.realms.jwt.jwt1.claims.principal=sub`, + 'xpack.security.authc.realms.jwt.jwt1.client_authentication.type=shared_secret', + 'xpack.security.authc.realms.jwt.jwt1.order=-98', `xpack.security.authc.realms.jwt.jwt1.pkc_jwkset_path=${getDockerFileMountPath(jwksPath)}`, + `xpack.security.authc.realms.jwt.jwt1.token_type=access_token`, - `xpack.security.authc.realms.native.native1.enabled=false`, - `xpack.security.authc.realms.native.native1.order=-97`, - 'xpack.security.authc.token.enabled=true', + 'xpack.security.authc.realms.saml.cloud-saml-kibana.attributes.principal=urn:oid:0.0.7', + 'xpack.security.authc.realms.saml.cloud-saml-kibana.idp.entity_id=http://www.elastic.co/saml1', 'xpack.security.authc.realms.saml.cloud-saml-kibana.order=101', `xpack.security.authc.realms.saml.cloud-saml-kibana.idp.metadata.path=${getDockerFileMountPath( idpPath )}`, - 'xpack.security.authc.realms.saml.cloud-saml-kibana.idp.entity_id=http://www.elastic.co/saml1', + `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.acs=http://localhost:${servers.kibana.port}/api/security/saml/callback`, `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.entity_id=http://localhost:${servers.kibana.port}`, `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.logout=http://localhost:${servers.kibana.port}/logout`, - `xpack.security.authc.realms.saml.cloud-saml-kibana.sp.acs=http://localhost:${servers.kibana.port}/api/security/saml/callback`, - 'xpack.security.authc.realms.saml.cloud-saml-kibana.attributes.principal=urn:oid:0.0.7', ], - ssl: true, // not needed as for serverless ssl is always on but added it anyway + ssl: true, // SSL is required for SAML realm }, kbnTestServer: { diff --git a/x-pack/test_serverless/shared/services/index.ts b/x-pack/test_serverless/shared/services/index.ts index 02a03229b8383..1072bcda09ce4 100644 --- a/x-pack/test_serverless/shared/services/index.ts +++ b/x-pack/test_serverless/shared/services/index.ts @@ -6,7 +6,10 @@ */ import { SupertestProvider, SupertestWithoutAuthProvider } from './supertest'; +import { SvlCommonApiServiceProvider } from './svl_common_api'; + export const services = { supertest: SupertestProvider, supertestWithoutAuth: SupertestWithoutAuthProvider, + svlCommonApi: SvlCommonApiServiceProvider, }; diff --git a/x-pack/test_serverless/api_integration/services/svl_common_api.ts b/x-pack/test_serverless/shared/services/svl_common_api.ts similarity index 94% rename from x-pack/test_serverless/api_integration/services/svl_common_api.ts rename to x-pack/test_serverless/shared/services/svl_common_api.ts index b23c8f70a3092..74a6983913280 100644 --- a/x-pack/test_serverless/api_integration/services/svl_common_api.ts +++ b/x-pack/test_serverless/shared/services/svl_common_api.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; -import { FtrProviderContext } from '../ftr_provider_context'; +import { FtrProviderContext } from '../../functional/ftr_provider_context'; const COMMON_REQUEST_HEADERS = { 'kbn-xsrf': 'some-xsrf-token', diff --git a/x-pack/test_serverless/tsconfig.json b/x-pack/test_serverless/tsconfig.json index 3950afef67928..1a94c23b6f1c1 100644 --- a/x-pack/test_serverless/tsconfig.json +++ b/x-pack/test_serverless/tsconfig.json @@ -54,5 +54,9 @@ "@kbn/bfetch-plugin", "@kbn/rison", "@kbn/std", + "@kbn/serverless-common-settings", + "@kbn/serverless-observability-settings", + "@kbn/serverless-search-settings", + "@kbn/serverless-security-settings", ] } diff --git a/yarn.lock b/yarn.lock index 1693ec6541874..d0494ef6a3858 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,9 +23,9 @@ tunnel "^0.0.6" "@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.1.tgz#abfccb8ca78075a2b6187345c26243c1a0842f28" + integrity sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg== "@ampproject/remapping@^2.2.0": version "2.2.0" @@ -1596,10 +1596,10 @@ resolved "https://registry.yarnpkg.com/@elastic/eslint-plugin-eui/-/eslint-plugin-eui-0.0.2.tgz#56b9ef03984a05cc213772ae3713ea8ef47b0314" integrity sha512-IoxURM5zraoQ7C8f+mJb9HYSENiZGgRVcG4tLQxE61yHNNRDXtGDWTZh8N1KIHcsqN1CEPETjuzBXkJYF/fDiQ== -"@elastic/eui@88.1.0": - version "88.1.0" - resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-88.1.0.tgz#0c10173fecd5812b035c349cc8a836fa198d1f59" - integrity sha512-0irae9LLl9j2fc11FZePhioPAyus7YGpm0yoiKOnD5JqSskqRlmlmwPCYSIEYfxbwyibA4qrbt7kenJ7PTOt5g== +"@elastic/eui@88.2.0": + version "88.2.0" + resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-88.2.0.tgz#ba29775ceaca27b6c44300bcd58783acf720b420" + integrity sha512-h756c4vB6lcyrf5bVZhLeaACWYh2t5Y8rxIX1/0BTQ4kJugBoSwSbSdGgW4G1tUa6hdYEsCzqvAQ2mI6LPSbbw== dependencies: "@hello-pangea/dnd" "^16.2.0" "@types/lodash" "^4.14.194" @@ -4122,6 +4122,10 @@ version "0.0.0" uid "" +"@kbn/custom-integrations@link:packages/kbn-custom-integrations": + version "0.0.0" + uid "" + "@kbn/cypress-config@link:packages/kbn-cypress-config": version "0.0.0" uid "" @@ -4850,10 +4854,34 @@ version "0.0.0" uid "" +"@kbn/management-settings-components-field-input@link:packages/kbn-management/settings/components/field_input": + version "0.0.0" + uid "" + +"@kbn/management-settings-components-field-row@link:packages/kbn-management/settings/components/field_row": + version "0.0.0" + uid "" + +"@kbn/management-settings-field-definition@link:packages/kbn-management/settings/field_definition": + version "0.0.0" + uid "" + +"@kbn/management-settings-ids@link:packages/kbn-management/settings/setting_ids": + version "0.0.0" + uid "" + "@kbn/management-settings-section-registry@link:packages/kbn-management/settings/section_registry": version "0.0.0" uid "" +"@kbn/management-settings-types@link:packages/kbn-management/settings/types": + version "0.0.0" + uid "" + +"@kbn/management-settings-utilities@link:packages/kbn-management/settings/utilities": + version "0.0.0" + uid "" + "@kbn/management-storybook-config@link:packages/kbn-management/storybook/config": version "0.0.0" uid "" @@ -5118,6 +5146,10 @@ version "0.0.0" uid "" +"@kbn/profiling-utils@link:packages/kbn-profiling-utils": + version "0.0.0" + uid "" + "@kbn/random-sampling@link:x-pack/packages/kbn-random-sampling": version "0.0.0" uid "" @@ -5458,6 +5490,14 @@ version "0.0.0" uid "" +"@kbn/serverless-common-settings@link:packages/serverless/settings/common": + version "0.0.0" + uid "" + +"@kbn/serverless-observability-settings@link:packages/serverless/settings/observability_project": + version "0.0.0" + uid "" + "@kbn/serverless-observability@link:x-pack/plugins/serverless_observability": version "0.0.0" uid "" @@ -5466,10 +5506,18 @@ version "0.0.0" uid "" +"@kbn/serverless-search-settings@link:packages/serverless/settings/search_project": + version "0.0.0" + uid "" + "@kbn/serverless-search@link:x-pack/plugins/serverless_search": version "0.0.0" uid "" +"@kbn/serverless-security-settings@link:packages/serverless/settings/security_project": + version "0.0.0" + uid "" + "@kbn/serverless-storybook-config@link:packages/serverless/storybook/config": version "0.0.0" uid "" @@ -6110,6 +6158,10 @@ version "0.0.0" uid "" +"@kbn/xstate-utils@link:packages/kbn-xstate-utils": + version "0.0.0" + uid "" + "@kbn/yarn-lock-validator@link:packages/kbn-yarn-lock-validator": version "0.0.0" uid ""