From 1feb5d04d773268793678206e5763b42703d9ef2 Mon Sep 17 00:00:00 2001 From: Fred Navruzov Date: Tue, 11 Jun 2024 12:15:05 +0200 Subject: [PATCH] docs/vmanomaly - release 1.13.0 preparation (#6436) ### Describe Your Changes [vmanomaly docs](https://docs.victoriametrics.com/anomaly-detection/) update for changes, introduced in v1.13.0 ### Checklist The following checks are **mandatory**: - [x] My change adheres [VictoriaMetrics contributing guidelines](https://docs.victoriametrics.com/contributing/). --- docs/anomaly-detection/CHANGELOG.md | 13 +- docs/anomaly-detection/FAQ.md | 34 ++++- docs/anomaly-detection/Overview.md | 2 +- docs/anomaly-detection/QuickStart.md | 3 +- docs/anomaly-detection/components/README.md | 62 +++++++- docs/anomaly-detection/components/models.md | 133 +++++++++++++----- docs/anomaly-detection/components/reader.md | 6 +- .../anomaly-detection/components/scheduler.md | 102 +++++++++----- ...ma_detection_direction=above_expected.webp | Bin 0 -> 32404 bytes ...ma_detection_direction=below_expected.webp | Bin 0 -> 29680 bytes .../schema_detection_direction=both.webp | Bin 0 -> 32998 bytes .../schema_min_dev_from_expected=0.webp | Bin 0 -> 30376 bytes .../schema_min_dev_from_expected=1.0.webp | Bin 0 -> 31086 bytes .../schema_min_dev_from_expected=5.0.webp | Bin 0 -> 32388 bytes docs/anomaly-detection/components/writer.md | 4 +- .../guides/guide-vmanomaly-vmalert.md | 4 +- 16 files changed, 285 insertions(+), 78 deletions(-) create mode 100644 docs/anomaly-detection/components/schema_detection_direction=above_expected.webp create mode 100644 docs/anomaly-detection/components/schema_detection_direction=below_expected.webp create mode 100644 docs/anomaly-detection/components/schema_detection_direction=both.webp create mode 100644 docs/anomaly-detection/components/schema_min_dev_from_expected=0.webp create mode 100644 docs/anomaly-detection/components/schema_min_dev_from_expected=1.0.webp create mode 100644 docs/anomaly-detection/components/schema_min_dev_from_expected=5.0.webp diff --git a/docs/anomaly-detection/CHANGELOG.md b/docs/anomaly-detection/CHANGELOG.md index 1bb6f4be83..e8b03164b9 100644 --- a/docs/anomaly-detection/CHANGELOG.md +++ b/docs/anomaly-detection/CHANGELOG.md @@ -15,8 +15,19 @@ aliases: Please find the changelog for VictoriaMetrics Anomaly Detection below. -> **Important note: Users are strongly encouraged to upgrade to `vmanomaly` [v1.9.2](https://hub.docker.com/repository/docker/victoriametrics/vmanomaly/tags?page=1&ordering=name) or later versions for optimal performance and accuracy.

This recommendation is crucial for configurations with a low `infer_every` parameter [in your scheduler](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/#parameters-1), and in scenarios where data exhibits significant high-order seasonality patterns (such as hourly or daily cycles). Previous versions from v1.5.1 to v1.8.0 were identified to contain a critical issue impacting model training, where models were inadvertently trained on limited data subsets, leading to suboptimal fits, affecting the accuracy of anomaly detection.

Upgrading to v1.9.2 addresses this issue, ensuring proper model training and enhanced reliability. For users utilizing Helm charts, it is recommended to upgrade to version [1.0.0](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/CHANGELOG.md#100) or newer.** +> **Important note: Users are strongly encouraged to upgrade to `vmanomaly` [v1.9.2](https://hub.docker.com/repository/docker/victoriametrics/vmanomaly/tags?page=1&ordering=name) or newer for optimal performance and accuracy.

This recommendation is crucial for configurations with a low `infer_every` parameter [in your scheduler](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/#parameters-1), and in scenarios where data exhibits significant high-order seasonality patterns (such as hourly or daily cycles). Previous versions from v1.5.1 to v1.8.0 were identified to contain a critical issue impacting model training, where models were inadvertently trained on limited data subsets, leading to suboptimal fits, affecting the accuracy of anomaly detection.

Upgrading to v1.9.2 addresses this issue, ensuring proper model training and enhanced reliability. For users utilizing Helm charts, it is recommended to upgrade to version [1.0.0](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/CHANGELOG.md#100) or newer.** +## v1.13.0 +Released: 2024-06-11 +- FEATURE: Introduced `min_dev_from_expected` [model common arg](/anomaly-detection/components/models/#minimal-deviation-from-expected), aimed at **reducing [false positives](https://victoriametrics.com/blog/victoriametrics-anomaly-detection-handbook-chapter-1/#false-positive)** in scenarios where deviations between the real value `y` and the expected value `yhat` are **relatively** high and may cause models to generate high [anomaly scores](https://docs.victoriametrics.com/anomaly-detection/faq/#what-is-anomaly-score). However, these deviations are not significant enough in **absolute values** to be considered anomalies based on domain knowledge. +- FEATURE: Introduced `detection_direction` [model common arg](/anomaly-detection/components/models/#detection-direction), enabling domain-driven anomaly detection strategies. Configure models to identify anomalies occurring *above, below, or in both directions* relative to the expected values. +- FEATURE: add `n_jobs` arg to [`BacktestingScheduler`](/anomaly-detection/components/scheduler/#backtesting-scheduler) to allow *proportionally faster (yet more resource-intensive)* evaluations of a config on historical data. Default value is 1, that implies *sequential* execution. +- FEATURE: allow anomaly detection models to be dumped to a host filesystem after `fit` stage (instead of in-memory). Resource-intensive setups (many models, many metrics, bigger [`fit_window` arg](/anomaly-detection/components/scheduler/#periodic-scheduler-config-example)) and/or 3rd-party models that store fit data (like [ProphetModel](/anomaly-detection/components/models/index.html#prophet) or [HoltWinters](/anomaly-detection/components/models/index.html#holt-winters)) will have RAM consumption greatly reduced at a cost of slightly slower `infer` stage. Please find how to enable it [here](/anomaly-detection/faq/#resource-consumption-of-vmanomaly) +- IMPROVEMENT: Reduced the resource used for each fitted [`ProphetModel`](/anomaly-detection/components/models/index.html#prophet) by up to 6 times. This includes both RAM for in-memory models and disk space for on-disk models storage. For more details, refer to [this discussion on Facebook's Prophet](https://github.com/facebook/prophet/issues/1159#issuecomment-537415637). +- IMPROVEMENT: now config [components](/anomaly-detection/components/index.html) class can be referenced by a short alias instead of a full class path - i.e. `model.zscore.ZscoreModel` becomes `zscore`, `reader.vm.VmReader` becomes `vm`, `scheduler.periodic.PeriodicScheduler` becomes `periodic`, etc. +- FIX: if using multi-scheduler setup (introduced in [v1.11.0](/anomaly-detection/changelog/#v1110)), prevent schedulers (and correspondent services) that are not attached to any model (so neither found in ['schedulers' arg](/anomaly-detection/components/models/index.html#schedulers) nor left blank in `model` section) from being spawn, causing resource overhead and slight interference with existing ones. +- FIX: set random seed for [ProphetModel](/anomaly-detection/components/models#prophet) to assure uncertainty estimates (like `yhat_lower`, `yhat_upper`) and dependant series (like `anomaly_score`), produced during `.infer()` calls are always deterministic given the same input. See [initial issue](https://github.com/facebook/prophet/issues/1124) for the details. +- FIX: prevent *orphan* queries (that are not attached to any model or scheduler) found in `queries` arg of [Reader config section](/anomaly-detection/components/reader/index.html#vm-reader) to be fetched from VictoriaMetrics TSDB, avoiding redundant data processing. A warning will be logged, if such queries exist in a parsed config. ## v1.12.0 Released: 2024-03-31 diff --git a/docs/anomaly-detection/FAQ.md b/docs/anomaly-detection/FAQ.md index 7df6b819bb..3399504c87 100644 --- a/docs/anomaly-detection/FAQ.md +++ b/docs/anomaly-detection/FAQ.md @@ -76,7 +76,7 @@ Starting from [v1.7.2](/anomaly-detection/changelog/#v172) you can produce (and ```yaml schedulers: scheduler_alias: - class: "scheduler.backtesting.BacktestingScheduler" + class: 'backtesting' # or "scheduler.backtesting.BacktestingScheduler" until v1.13.0 # define historical period to backtest on # should be bigger than at least (fit_window + fit_every) time range from_iso: '2024-01-01T00:00:00Z' @@ -116,6 +116,37 @@ Configuration above will produce N intervals of full length (`fit_window`=14d + ## Resource consumption of vmanomaly `vmanomaly` itself is a lightweight service, resource usage is primarily dependent on [scheduling](/anomaly-detection/components/scheduler.html) (how often and on what data to fit/infer your models), [# and size of timeseries returned by your queries](/anomaly-detection/components/reader.html#vm-reader), and the complexity of the employed [models](anomaly-detection/components/models.html). Its resource usage is directly related to these factors, making it adaptable to various operational scales. +> **Note**: Starting from [v1.13.0](/anomaly-detection/changelog/#v1130), there is a mode to save anomaly detection models on host filesystem after `fit` stage (instead of keeping them in-memory by default). **Resource-intensive setups** (many models, many metrics, bigger [`fit_window` arg](/anomaly-detection/components/scheduler/#periodic-scheduler-config-example)) and/or 3rd-party models that store fit data (like [ProphetModel](/anomaly-detection/components/models/index.html#prophet) or [HoltWinters](/anomaly-detection/components/models/index.html#holt-winters)) will have RAM consumption greatly reduced at a cost of slightly slower `infer` stage. To enable it, you need to set environment variable `VMANOMALY_MODEL_DUMPS_DIR` to desired location. [Helm charts](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/README.md) are being updated accordingly ([`StatefulSet`](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) for persistent storage starting from chart version `1.3.0`). + +Here's an example of how to set it up in docker-compose using volumes: +```yaml +services: + # ... + vmanomaly: + container_name: vmanomaly + image: victoriametrics/vmanomaly:latest + # ... + ports: + - "8490:8490" + restart: always + volumes: + - ./vmanomaly_config.yml:/config.yaml + - ./vmanomaly_license:/license + # map the host directory to the container directory + - vmanomaly_model_dump_dir:/vmanomaly/tmp/models + environment: + # set the environment variable for the model dump directory + - VMANOMALY_MODEL_DUMPS_DIR=/vmanomaly/tmp/models/ + platform: "linux/amd64" + command: + - "/config.yaml" + - "--license-file=/license" + +volumes: + # ... + vmanomaly_model_dump_dir: {} +``` + ## Scaling vmanomaly > **Note:** As of latest release we don't support cluster or auto-scaled version yet (though, it's in our roadmap for - better backends, more parallelization, etc.), so proposed workarounds should be addressed manually. @@ -128,6 +159,7 @@ Configuration above will produce N intervals of full length (`fit_window`=14d + - or **schedulers** (in case you want the same models to be trained under several schedules) - see `schedulers` arg [model section](/anomaly-detection/components/models/#schedulers) and `scheduler` [component itself](/anomaly-detection/components/scheduler/) +Here's an example of how to split on `extra_filters` param ```yaml # config file #1, for 1st vmanomaly instance # ... diff --git a/docs/anomaly-detection/Overview.md b/docs/anomaly-detection/Overview.md index 27055a26d9..d089401206 100644 --- a/docs/anomaly-detection/Overview.md +++ b/docs/anomaly-detection/Overview.md @@ -167,7 +167,7 @@ schedulers: models: prophet: # or use a model alias of your choice here - class: "model.prophet.ProphetModel" + class: "prophet" # or "model.prophet.ProphetModel" until v1.13.0 args: interval_width: 0.98 diff --git a/docs/anomaly-detection/QuickStart.md b/docs/anomaly-detection/QuickStart.md index ec0c4751d9..7a2e30ba90 100644 --- a/docs/anomaly-detection/QuickStart.md +++ b/docs/anomaly-detection/QuickStart.md @@ -25,6 +25,7 @@ The following options are available: - [To run Docker image](#docker) - [To run in Kubernetes with Helm charts](#kubernetes-with-helm-charts) +> **Note**: Starting from [v1.13.0](/anomaly-detection/changelog/#v1130) there is a mode to keep anomaly detection models on host filesystem after `fit` stage (instead of keeping them in-memory by default); This may lead to **noticeable reduction of RAM used** on bigger setups. See instructions [here](/anomaly-detection/faq/#resource-consumption-of-vmanomaly). ### Docker @@ -83,7 +84,7 @@ scheduler: models: prophet_model: - class: "model.prophet.ProphetModel" + class: "prophet" # or "model.prophet.ProphetModel" until v1.13.0 args: interval_width: 0.98 diff --git a/docs/anomaly-detection/components/README.md b/docs/anomaly-detection/components/README.md index 64271cd388..eb9123a39a 100644 --- a/docs/anomaly-detection/components/README.md +++ b/docs/anomaly-detection/components/README.md @@ -23,8 +23,68 @@ This chapter describes different components, that correspond to respective secti > **Note**: starting from [v1.7.0](/anomaly-detection/CHANGELOG.html#v172), once the service starts, automated config validation is performed. Please see container logs for errors that need to be fixed to create fully valid config, visiting sections above for examples and documentation. +> **Note**: starting from [v1.13.0](/anomaly-detection/CHANGELOG.html#v1130), components' class can be referenced by a short alias instead of a full class path - i.e. `model.zscore.ZscoreModel` becomes `zscore`, `reader.vm.VmReader` becomes `vm`, `scheduler.periodic.PeriodicScheduler` becomes `periodic`, etc. Please see according sections for the details. + Below, you will find an example illustrating how the components of `vmanomaly` interact with each other and with a single-node VictoriaMetrics setup. > **Note**: [Reader](/anomaly-detection/components/reader.html#vm-reader) and [Writer](/anomaly-detection/components/writer.html#vm-writer) also support [multitenancy](/Cluster-VictoriaMetrics.html#multitenancy), so you can read/write from/to different locations - see `tenant_id` param description. -vmanomaly-components \ No newline at end of file +vmanomaly-components + +Here's a minimalistic full config example, demonstrating many-to-many configuration (actual for [latest version](/anomaly-detection/CHANGELOG/)): + +```yaml +# how and when to run the models is defined by schedulers +# https://docs.victoriametrics.com/anomaly-detection/components/scheduler/ +schedulers: + periodic_1d: # alias + class: 'periodic' # scheduler class + infer_every: "30s" + fit_every: "10m" + fit_window: "24h" + periodic_1w: + class: 'periodic' + infer_every: "15m" + fit_every: "1h" + fit_window: "7d" + +# what model types and with what hyperparams to run on your data +# https://docs.victoriametrics.com/anomaly-detection/components/models/ +models: + zscore: # alias + class: 'zscore' # model class + z_threshold: 3.5 + provide_series: ['anomaly_score'] # what series to produce + queries: ['host_network_receive_errors'] # what queries to run particular model on + schedulers: ['periodic_1d'] # will be attached to 1-day schedule, fit every 10m and infer every 30s + prophet: # alias + class: 'prophet' + provide_series: ['anomaly_score', 'yhat', 'yhat_lower', 'yhat_upper'] + queries: ['cpu_seconds_total'] + schedulers: ['periodic_1w'] # will be attached to 1-week schedule, fit every 1h and infer every 15m + args: # model-specific arguments + interval_width: 0.98 + +# where to read data from +# https://docs.victoriametrics.com/anomaly-detection/components/reader/ +reader: + datasource_url: "http://victoriametrics:8428/" + tenant_id: "0:0" + class: 'vm' + sampling_period: "30s" # what data resolution of your data to have + queries: # aliases to MetricsQL expressions + cpu_seconds_total: 'avg(rate(node_cpu_seconds_total[5m])) by (mode)' + host_network_receive_errors: 'rate(node_network_receive_errs_total[3m]) / rate(node_network_receive_packets_total[3m])' + +# where to write data to +# https://docs.victoriametrics.com/anomaly-detection/components/writer/ +writer: + datasource_url: "http://victoriametrics:8428/" + +# enable self-monitoring in pull and/or push mode +# https://docs.victoriametrics.com/anomaly-detection/components/monitoring/ +monitoring: + pull: # Enable /metrics endpoint. + addr: "0.0.0.0" + port: 8490 +``` \ No newline at end of file diff --git a/docs/anomaly-detection/components/models.md b/docs/anomaly-detection/components/models.md index 64dc5473ca..e47d245e6b 100644 --- a/docs/anomaly-detection/components/models.md +++ b/docs/anomaly-detection/components/models.md @@ -26,11 +26,11 @@ This section describes `Models` component of VictoriaMetrics Anomaly Detection ( ```yaml models: model_univariate_1: - class: 'model.zscore.ZscoreModel' + class: 'zscore' # or 'model.zscore.ZscoreModel' until v1.13.0 z_threshold: 2.5 queries: ['query_alias2'] # referencing queries defined in `reader` section model_multivariate_1: - class: 'model.isolation_forest.IsolationForestMultivariateModel' + class: 'isolation_forest_multivariate' # or model.isolation_forest.IsolationForestMultivariateModel until v1.13.0 contamination: 'auto' args: n_estimators: 100 @@ -44,7 +44,7 @@ Old-style configs (< [1.10.0](/anomaly-detection/changelog#v1100)) ```yaml model: - class: "model.zscore.ZscoreModel" + class: "zscore" # or 'model.zscore.ZscoreModel' until v1.13.0 z_threshold: 3.0 # no explicit `queries` arg is provided # ... @@ -69,7 +69,7 @@ From [1.10.0](/anomaly-detection/changelog#1100), **common args**, supported by ### Queries -Introduced in [1.10.0](/anomaly-detection/changelog#1100), as a part to support multi-model configs, `queries` arg is meant to define [queries from VmReader](https://docs.victoriametrics.com/anomaly-detection/components/reader/?highlight=queries#config-parameters) particular model should be run on (meaning, all the series returned by each of these queries will be used in such model for fitting and inferencing). +Introduced in [1.10.0](/anomaly-detection/changelog#1100), as a part to support multi-model configs, `queries` arg is meant to define [queries from VmReader](/anomaly-detection/components/reader/?highlight=queries#config-parameters) particular model should be run on (meaning, all the series returned by each of these queries will be used in such model for fitting and inferencing). `queries` arg is supported for all [the built-in](#built-in-models) (as well as for [custom](#custom-model-guide)) models. @@ -130,6 +130,76 @@ models: **Note** If `provide_series` is not specified in model config, the model will produce its default [model-dependent output](#vmanomaly-output). The output can't be less than `['anomaly_score']`. Even if `timestamp` column is omitted, it will be implicitly added to `provide_series` list, as it's required for metrics to be properly written. +### Detection direction +Introduced in [1.13.0](/anomaly-detection/CHANGELOG/#1130), `detection_direction` arg can help in reducing the number of [false positives](https://victoriametrics.com/blog/victoriametrics-anomaly-detection-handbook-chapter-1/index.html#false-positive) and increasing the accuracy, when domain knowledge suggest to identify anomalies occurring when actual values (`y`) are *above, below, or in both directions* relative to the expected values (`yhat`). Available choices are: `both`, `above_expected`, `below_expected`. + +Here's how default (backward-compatible) behavior looks like - anomalies will be tracked in `both` directions (`y > yhat` or `y < yhat`). This is useful when there is no domain expertise to filter the required direction. + +schema_detection_direction=both + +When set to `above_expected`, anomalies are tracked only when `y > yhat`. + +*Example metrics*: Error rate, response time, page load time, number of failed transactions - metrics where *lower values are better*, so **higher** values are typically tracked. + +schema_detection_direction=above_expected + +When set to `below_expected`, anomalies are tracked only when `y < yhat`. + +*Example metrics*: Service Level Agreement (SLA) compliance, conversion rate, Customer Satisfaction Score (CSAT) - metrics where *higher values are better*, so **lower** values are typically tracked. + +schema_detection_direction=below_expected + +Config with a split example: + +```yaml +models: + model_above_expected: + class: 'zscore' + z_threshold: 3.0 + # track only cases when y > yhat, otherwise anomaly_score would be explicitly set to 0 + detection_direction: 'above_expected' + # for this query we do not need to track lower values, thus, set anomaly detection tracking for y > yhat (above_expected) + queries: ['query_values_the_lower_the_better'] + model_below_expected: + class: 'zscore' + z_threshold: 3.0 + # track only cases when y < yhat, otherwise anomaly_score would be explicitly set to 0 + detection_direction: 'below_expected' + # for this query we do not need to track higher values, thus, set anomaly detection tracking for y < yhat (above_expected) + queries: ['query_values_the_higher_the_better'] + model_bidirectional_default: + class: 'zscore' + z_threshold: 3.0 + # track in both direction, same backward-compatible behavior in case this arg is missing + detection_direction: 'both' + # for this query both directions can be equally important for anomaly detection, thus, setting it bidirectional (both) + queries: ['query_values_both_direction_matters'] +reader: + # ... + queries: + query_values_the_lower_the_better: metricql_expression1 + query_values_the_higher_the_better: metricql_expression2 + query_values_both_direction_matters: metricql_expression3 +# other components like writer, schedule, monitoring +``` + +### Minimal deviation from expected + +Introduced in [v1.13.0](/anomaly-detection/CHANGELOG/#1130), the `min_dev_from_expected` argument is designed to **reduce [false positives](https://victoriametrics.com/blog/victoriametrics-anomaly-detection-handbook-chapter-1/#false-positive)** in scenarios where deviations between the actual value (`y`) and the expected value (`yhat`) are **relatively** high. Such deviations can cause models to generate high [anomaly scores](/anomaly-detection/faq/#what-is-anomaly-score). However, these deviations may not be significant enough in **absolute values** from a business perspective to be considered anomalies. This parameter ensures that anomaly scores for data points where `|y - yhat| < min_dev_from_expected` are explicitly set to 0. By default, if this parameter is not set, it behaves as `min_dev_from_expected=0` to maintain backward compatibility. + +> **Note**: `min_dev_from_expected` must be >= 0. The higher the value of `min_dev_from_expected`, the fewer data points will be available for anomaly detection, and vice versa. + +*Example*: Consider a scenario where CPU utilization is low and oscillates around 0.3% (0.003). A sudden spike to 1.3% (0.013) represents a +333% increase in **relative** terms, but only a +1 percentage point (0.01) increase in **absolute** terms, which may be negligible and not warrant an alert. Setting the `min_dev_from_expected` argument to `0.01` (1%) will ensure that all anomaly scores for deviations <= `0.01` are set to 0. + +Visualizations below demonstrate this concept; the green zone defined as the `[yhat - min_dev_from_expected, yhat + min_dev_from_expected]` range excludes actual data points (`y`) from generating anomaly scores if they fall within that range. + +min_dev_from_expected-default + +min_dev_from_expected-small + +min_dev_from_expected-big + + ## Model types There are **2 model types**, supported in `vmanomaly`, resulting in **4 possible combinations**: @@ -137,7 +207,7 @@ There are **2 model types**, supported in `vmanomaly`, resulting in **4 possible - [Univariate models](#univariate-models) - [Multivariate models](#multivariate-models) -Each of these models can be +Each of these models can also be - [Rolling](#rolling-models) - [Non-rolling](#non-rolling-models) @@ -154,7 +224,7 @@ If during an inference, you got a series having **new labelset** (not present in **Examples:** [Prophet](#prophet), [Holt-Winters](#holt-winters)

-vmanomaly-model-type-univariate +vmanomaly-model-type-univariate ### Multivariate Models @@ -169,7 +239,7 @@ If during an inference, you got a **different amount of series** or some series **Examples:** [IsolationForest](#isolation-forest-multivariate)

-vmanomaly-model-type-multivariate +vmanomaly-model-type-multivariate ### Rolling Models @@ -186,7 +256,7 @@ Such models put **more pressure** on your reader's source, i.e. if your model sh **Examples:** [RollingQuantile](#rolling-quantile)

-vmanomaly-model-type-rolling +vmanomaly-model-type-rolling ### Non-Rolling Models @@ -203,7 +273,7 @@ Produced model instances are **stored in-memory** between consecutive re-fit cal **Examples:** [Prophet](#prophet)

-vmanomaly-model-type-non-rolling +vmanomaly-model-type-non-rolling ## Built-in Models @@ -233,8 +303,8 @@ Tuning hyperparameters of a model can be tricky and often requires in-depth know *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.auto.AutoTunedModel"` -* `tuned_class_name` (string) - Built-in model class to tune, i.e. `model.zscore.ZscoreModel`. +* `class` (string) - model class name `"model.auto.AutoTunedModel"` (or `auto` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) +* `tuned_class_name` (string) - Built-in model class to tune, i.e. `model.zscore.ZscoreModel` (or `zscore` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support). * `optimization_params` (dict) - Optimization parameters for unsupervised model tuning. Control % of found anomalies, as well as a tradeoff between time spent and the accuracy. The more `timeout` and `n_trials` are, the better model configuration can be found for `tuned_class_name`, but the longer it takes and vice versa. Set `n_jobs` to `-1` to use all the CPUs available, it makes sense if only you have a big dataset to train on during `fit` calls, otherwise overhead isn't worth it. - `anomaly_percentage` (float) - expected percentage of anomalies that can be seen in training data, from (0, 0.5) interval. - `seed` (int) - Random seed for reproducibility and deterministic nature of underlying optimizations. @@ -242,14 +312,14 @@ Tuning hyperparameters of a model can be tricky and often requires in-depth know - `n_trials` (int) - How many trials to sample from hyperparameter search space. The higher, the longer it takes but the better the results can be. Defaults to 128. - `timeout` (float) - How many seconds in total can be spent on each model to tune hyperparameters. The higher, the longer it takes, allowing to test more trials out of defined `n_trials`, but the better the results can be. -vmanomaly-autotune-schema +vmanomaly-autotune-schema ```yaml # ... models: your_desired_alias_for_a_model: - class: 'model.auto.AutoTunedModel' - tuned_class_name: 'model.zscore.ZscoreModel' + class: 'auto' # or 'model.auto.AutoTunedModel' until v1.13.0 + tuned_class_name: 'zscore' # or 'model.zscore.ZscoreModel' until v1.13.0 optimization_params: anomaly_percentage: 0.004 # required. i.e. we expect <= 0.4% of anomalies to be present in training data seed: 42 # fix reproducibility & determinism @@ -268,7 +338,7 @@ Here we utilize the Facebook Prophet implementation, as detailed in their [libra *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.prophet.ProphetModel"` +* `class` (string) - model class name `"model.prophet.ProphetModel"` (or `prophet` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) * `seasonalities` (list[dict], optional) - Extra seasonalities to pass to Prophet. See [`add_seasonality()`](https://facebook.github.io/prophet/docs/seasonality,_holiday_effects,_and_regressors.html#modeling-holidays-and-special-events:~:text=modeling%20the%20cycle-,Specifying,-Custom%20Seasonalities) Prophet param. **Note**: Apart from standard `vmanomaly` output, Prophet model can provide [additional metrics](#additional-output-metrics-produced-by-fb-prophet). @@ -288,7 +358,7 @@ Depending on chosen `seasonality` parameter FB Prophet can return additional met ```yaml models: your_desired_alias_for_a_model: - class: 'model.prophet.ProphetModel' + class: 'prophet' # or 'model.prophet.ProphetModel' until v1.13.0 provide_series: ['anomaly_score', 'yhat', 'yhat_lower', 'yhat_upper', 'trend'] seasonalities: - name: 'hourly' @@ -308,7 +378,7 @@ Resulting metrics of the model are described [here](#vmanomaly-output) ### [Z-score](https://en.wikipedia.org/wiki/Standard_score) *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.zscore.ZscoreModel"` +* `class` (string) - model class name `"model.zscore.ZscoreModel"` (or `zscore` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) * `z_threshold` (float, optional) - [standard score](https://en.wikipedia.org/wiki/Standard_score) for calculation boundaries and anomaly score. Defaults to `2.5`. *Config Example* @@ -317,8 +387,8 @@ Resulting metrics of the model are described [here](#vmanomaly-output) ```yaml models: your_desired_alias_for_a_model: - class: "model.zscore.ZscoreModel" - z_threshold: 2.5 + class: "zscore" # or 'model.zscore.ZscoreModel' until v1.13.0 + z_threshold: 3.5 ``` @@ -329,7 +399,7 @@ Here we use Holt-Winters Exponential Smoothing implementation from `statsmodels` *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.holtwinters.HoltWinters"` +* `class` (string) - model class name `"model.holtwinters.HoltWinters"` (or `holtwinters` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) * `frequency` (string) - Must be set equal to sampling_period. Model needs to know expected data-points frequency (e.g. '10m'). If omitted, frequency is guessed during fitting as **the median of intervals between fitting data timestamps**. During inference, if incoming data doesn't have the same frequency, then it will be interpolated. E.g. data comes at 15 seconds resolution, and our resample_freq is '1m'. Then fitting data will be downsampled to '1m' and internal model is trained at '1m' intervals. So, during inference, prediction data would be produced at '1m' intervals, but interpolated to "15s" to match with expected output, as output data must have the same timestamps. As accepted by pandas.Timedelta (e.g. '5m'). @@ -354,7 +424,7 @@ Used to compute "seasonal_periods" param for the model (e.g. '1D' or '1W'). ```yaml models: your_desired_alias_for_a_model: - class: "model.holtwinters.HoltWinters" + class: "holtwinters" # or 'model.holtwinters.HoltWinters' until v1.13.0 seasonality: '1d' frequency: '1h' # Inner model args (key-value pairs) accepted by statsmodels.tsa.holtwinters.ExponentialSmoothing @@ -371,7 +441,7 @@ The MAD model is a robust method for anomaly detection that is *less sensitive* *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.mad.MADModel"` +* `class` (string) - model class name `"model.mad.MADModel"` (or `mad` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) * `threshold` (float, optional) - The threshold multiplier for the MAD to determine anomalies. Defaults to `2.5`. Higher values will identify fewer points as anomalies. *Config Example* @@ -380,7 +450,7 @@ The MAD model is a robust method for anomaly detection that is *less sensitive* ```yaml models: your_desired_alias_for_a_model: - class: "model.mad.MADModel" + class: "mad" # or 'model.mad.MADModel' until v1.13.0 threshold: 2.5 ``` @@ -391,7 +461,7 @@ Resulting metrics of the model are described [here](#vmanomaly-output). *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.rolling_quantile.RollingQuantileModel"` +* `class` (string) - model class name `"model.rolling_quantile.RollingQuantileModel"` (or `rolling_quantile` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) * `quantile` (float) - quantile value, from 0.5 to 1.0. This constraint is implied by 2-sided confidence interval. * `window_steps` (integer) - size of the moving window. (see 'sampling_period') @@ -400,7 +470,7 @@ Resulting metrics of the model are described [here](#vmanomaly-output). ```yaml models: your_desired_alias_for_a_model: - class: "model.rolling_quantile.RollingQuantileModel" + class: "rolling_quantile" # or 'model.rolling_quantile.RollingQuantileModel' until v1.13.0 quantile: 0.9 window_steps: 96 ``` @@ -412,7 +482,7 @@ Here we use Seasonal Decompose implementation from `statsmodels` [library](https *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.std.StdModel"` +* `class` (string) - model class name `"model.std.StdModel"` (or `std` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) * `period` (integer) - Number of datapoints in one season. * `z_threshold` (float, optional) - [standard score](https://en.wikipedia.org/wiki/Standard_score) for calculating boundaries to define anomaly score. Defaults to `2.5`. @@ -423,7 +493,7 @@ Here we use Seasonal Decompose implementation from `statsmodels` [library](https ```yaml models: your_desired_alias_for_a_model: - class: "model.std.StdModel" + class: "std" # or 'model.std.StdModel' starting from v1.13.0 period: 2 ``` @@ -445,7 +515,7 @@ Here we use Isolation Forest implementation from `scikit-learn` [library](https: *Parameters specific for vmanomaly*: -* `class` (string) - model class name `"model.isolation_forest.IsolationForestMultivariateModel"` +* `class` (string) - model class name `"model.isolation_forest.IsolationForestMultivariateModel"` (or `isolation_forest_multivariate` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) * `contamination` (float or string, optional) - The amount of contamination of the data set, i.e. the proportion of outliers in the data set. Used when fitting to define the threshold on the scores of the samples. Default value - "auto". Should be either `"auto"` or be in the range (0.0, 0.5]. @@ -467,7 +537,7 @@ Here we use Isolation Forest implementation from `scikit-learn` [library](https: models: your_desired_alias_for_a_model: # To use univariate model, substitute class argument with "model.isolation_forest.IsolationForestModel". - class: "model.isolation_forest.IsolationForestMultivariateModel" + class: "isolation_forest_multivariate" # or 'model.isolation_forest.IsolationForestMultivariateModel' until v1.13.0 contamination: "0.01" provide_series: ['anomaly_score'] seasonal_features: ['dow', 'hod'] @@ -589,10 +659,9 @@ class CustomModel(Model): ### 2. Configuration file Next, we need to create `config.yaml` file with `vmanomaly` configuration and model input parameters. -In the config file's `models` section we need to put our model class `model.custom.CustomModel` and all parameters used in `__init__` method. +In the config file's `models` section we need to set our model class to `model.custom.CustomModel` (or `custom` starting from [v1.13.0](/anomaly-detection/CHANGELOG/#1130) with class alias support) and define all parameters used in `__init__` method. You can find out more about configuration parameters in `vmanomaly` [config docs](/anomaly-detection/components/). - ```yaml schedulers: s1: @@ -603,7 +672,7 @@ schedulers: models: custom_model: # note: every custom model should implement this exact path, specified in `class` field - class: "model.model.CustomModel" + class: "custom" # or 'model.model.CustomModel' until v1.13.0 # custom model params are defined here percentage: 0.9 diff --git a/docs/anomaly-detection/components/reader.md b/docs/anomaly-detection/components/reader.md index a45ab889df..666d46b0be 100644 --- a/docs/anomaly-detection/components/reader.md +++ b/docs/anomaly-detection/components/reader.md @@ -36,7 +36,7 @@ Future updates will introduce additional readers, expanding the range of data so class - "reader.vm.VmReader" + "reader.vm.VmReader" (or "vm" starting from v1.13.0) Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified. @@ -57,7 +57,7 @@ Future updates will introduce additional readers, expanding the range of data so sampling_period "1h" - Frequency of the points returned. Will be converted to "/query_range?step=%s" param (in seconds). **Required** since 1.9.0. + Frequency of the points returned. Will be converted to "/query_range?step=%s" param (in seconds). Required since v1.9.0. query_range_path @@ -106,7 +106,7 @@ Config file example: ```yaml reader: - class: "reader.vm.VmReader" + class: "vm" # or "reader.vm.VmReader" until v1.13.0 datasource_url: "http://localhost:8428/" tenant_id: "0:0" queries: diff --git a/docs/anomaly-detection/components/scheduler.md b/docs/anomaly-detection/components/scheduler.md index 63f4721792..58949dc7f1 100644 --- a/docs/anomaly-detection/components/scheduler.md +++ b/docs/anomaly-detection/components/scheduler.md @@ -20,12 +20,12 @@ Is specified in `scheduler` section of a config for VictoriaMetrics Anomaly Dete ```yaml schedulers: scheduler_periodic_1m: - # class: "scheduler.periodic.PeriodicScheduler" + # class: "periodic" # or class: "scheduler.periodic.PeriodicScheduler" until v1.13.0 with class alias support) infer_every: "1m" fit_every: "2m" fit_window: "3h" scheduler_periodic_5m: - # class: "scheduler.periodic.PeriodicScheduler" + # class: "periodic" # or class: "scheduler.periodic.PeriodicScheduler" until v1.13.0 with class alias support) infer_every: "5m" fit_every: "10m" fit_window: "3h" @@ -36,7 +36,7 @@ Old-style configs (< [1.11.0](/anomaly-detection/changelog#v1110)) ```yaml scheduler: - # class: "scheduler.periodic.PeriodicScheduler" + # class: "periodic" # or class: "scheduler.periodic.PeriodicScheduler" until v1.13.0 with class alias support) infer_every: "1m" fit_every: "2m" fit_window: "3h" @@ -47,8 +47,8 @@ will be **implicitly** converted to ```yaml schedulers: - default_scheduler: # default scheduler alias, backward compatibility - # class: "scheduler.periodic.PeriodicScheduler" + default_scheduler: # default scheduler alias added, for backward compatibility + class: "scheduler.periodic.PeriodicScheduler" infer_every: "1m" fit_every: "2m" fit_window: "3h" @@ -64,6 +64,8 @@ options={`"scheduler.periodic.PeriodicScheduler"`, `"scheduler.oneoff.OneoffSche - `"scheduler.oneoff.OneoffScheduler"`: runs the process once and exits. Useful for testing. - `"scheduler.backtesting.BacktestingScheduler"`: imitates consecutive backtesting runs of OneoffScheduler. Runs the process once and exits. Use to get more granular control over testing on historical data. +> **Note**: starting from [v.1.13.0](/anomaly-detection/CHANGELOG/#v1130), class aliases are supported, so `"scheduler.periodic.PeriodicScheduler"` can be substituted to `"periodic"`, `"scheduler.oneoff.OneoffScheduler"` - to `"oneoff"`, `"scheduler.backtesting.BacktestingScheduler"` - to `"backtesting"` + **Depending on selected class, different parameters should be used** ## Periodic scheduler @@ -139,11 +141,13 @@ Examples: `"50s"`, `"4m"`, `"3h"`, `"2d"`, `"1w"`. ### Periodic scheduler config example ```yaml -scheduler: - class: "scheduler.periodic.PeriodicScheduler" - fit_window: "14d" - infer_every: "1m" - fit_every: "1h" +schedulers: + periodic_scheduler_alias: + class: "periodic" + # (or class: "scheduler.periodic.PeriodicScheduler" until v1.13.0 with class alias support) + fit_window: "14d" + infer_every: "1m" + fit_every: "1h" ``` This part of the config means that `vmanomaly` will calculate the time window of the previous 14 days and use it to train a model. Every hour model will be retrained again on 14 days’ data, which will include + 1 hour of new data. The time window is strictly the same 14 days and doesn't extend for the next retrains. Every minute `vmanomaly` will produce model inferences for newly added data points by using the model that is kept in memory at that time. @@ -244,23 +248,27 @@ If a time zone is omitted, a timezone-naive datetime is used. ### ISO format scheduler config example ```yaml -scheduler: - class: "scheduler.oneoff.OneoffScheduler" - fit_start_iso: "2022-04-01T00:00:00Z" - fit_end_iso: "2022-04-10T00:00:00Z" - infer_start_iso: "2022-04-11T00:00:00Z" - infer_end_iso: "2022-04-14T00:00:00Z" +schedulers: + oneoff_scheduler_alias: + class: "oneoff" + # (or class: "scheduler.oneoff.OneoffScheduler" until v1.13.0 with class alias support) + fit_start_iso: "2022-04-01T00:00:00Z" + fit_end_iso: "2022-04-10T00:00:00Z" + infer_start_iso: "2022-04-11T00:00:00Z" + infer_end_iso: "2022-04-14T00:00:00Z" ``` ### UNIX time format scheduler config example ```yaml -scheduler: - class: "scheduler.oneoff.OneoffScheduler" - fit_start_iso: 1648771200 - fit_end_iso: 1649548800 - infer_start_iso: 1649635200 - infer_end_iso: 1649894400 +schedulers: + oneoff_scheduler_alias: + class: "oneoff" + # (or class: "scheduler.oneoff.OneoffScheduler" until v1.13.0 with class alias support) + fit_start_s: 1648771200 + fit_end_s: 1649548800 + infer_start_s: 1649635200 + infer_end_s: 1649894400 ``` ## Backtesting scheduler @@ -275,6 +283,26 @@ ISO format supported time zone offset formats are: If a time zone is omitted, a timezone-naive datetime is used. +### Parallelization + + + + + + + + + + + + + + + + + +
ParameterTypeExampleDescription
n_jobsint1Allows proportionally faster (yet more resource-intensive) evaluations of a config on historical data. Default value is 1, that implies sequential execution. Introduced in v1.13.0
+ ### Defining overall timeframe This timeframe will be used for slicing on intervals `(fit_window, infer_window == fit_every)`, starting from the *latest available* time point, which is `to_*` and going back, until no full `fit_window + infer_window` interval exists within the provided timeframe. @@ -374,20 +402,26 @@ In `BacktestingScheduler`, the inference window is *implicitly* defined as a per ### ISO format scheduler config example ```yaml -scheduler: - class: "scheduler.backtesting.BacktestingScheduler" - from_iso: '2021-01-01T00:00:00Z' - to_iso: '2021-01-14T00:00:00Z' - fit_window: 'P14D' - fit_every: 'PT1H' +schedulers: + backtesting_scheduler_alias: + class: "backtesting" + # (or class: "scheduler.backtesting.BacktestingScheduler" until v1.13.0 with class alias support) + from_iso: '2021-01-01T00:00:00Z' + to_iso: '2021-01-14T00:00:00Z' + fit_window: 'P14D' + fit_every: 'PT1H' + n_jobs: 1 # default = 1 (sequential), set it up to # of CPUs for parallel execution ``` ### UNIX time format scheduler config example ```yaml -scheduler: - class: "scheduler.backtesting.BacktestingScheduler" - from_s: 167253120 - to_s: 167443200 - fit_window: '14d' - fit_every: '1h' +schedulers: + backtesting_scheduler_alias: + class: "backtesting" + # (or class: "scheduler.backtesting.BacktestingScheduler" until v1.13.0 with class alias support) + from_s: 167253120 + to_s: 167443200 + fit_window: '14d' + fit_every: '1h' + n_jobs: 1 # default = 1 (sequential), set it up to # of CPUs for parallel execution ``` \ No newline at end of file diff --git a/docs/anomaly-detection/components/schema_detection_direction=above_expected.webp b/docs/anomaly-detection/components/schema_detection_direction=above_expected.webp new file mode 100644 index 0000000000000000000000000000000000000000..a4c191c5b701a35ac9710a933d6ee76f2459d690 GIT binary patch literal 32404 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 literal 0 HcmV?d00001 diff --git a/docs/anomaly-detection/components/schema_detection_direction=below_expected.webp b/docs/anomaly-detection/components/schema_detection_direction=below_expected.webp new file mode 100644 index 0000000000000000000000000000000000000000..654b804f666e841fb23aafcf440246d3f2d94a73 GIT binary patch literal 29680 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 literal 0 HcmV?d00001 diff --git a/docs/anomaly-detection/components/schema_detection_direction=both.webp b/docs/anomaly-detection/components/schema_detection_direction=both.webp new file mode 100644 index 0000000000000000000000000000000000000000..f97312d0190d0b36c6e76cc102db3de9aee4316a GIT binary patch literal 32998 zcmdS9Q)wk?{rZQHhOyD}^7O4~LoZM)L8ZC2X0jd|DFYwvaby5~RpJ8%2m`4kT^ zMnvzU_tsi(F;%1`B)0s4fHcKLlr)sMi01!sUE2@au&1N$_!db9=$>u}6945OBnA<)h&@@Rsy7<~a?x`CNJN_&NkwKeg6&I=&uI76SJ=D$i`|?4Zr3~j`&Isv_la_4djb&n_4$%`1N#Da6uk9Y?s4t; zz@Hm0h4}_fUd8a9m#dSW50mU`De^~yGy}GzqSt`Kl-ma0OGsf zwcqPZTF=Z^rw5@=$46-`=AGYp&#PZ2AnNG~koj@^Ub8~z*dy<^1(5#gI52)KeV%#u z+wW@k1H8w4jspPifV;wXeE{IgUAeo$TdBct%_>t}fJ(del3l(c7maSkHKSxnF%shk zue_>N=@2Xjeo1+g>Rw1D!h+gb`K`!Qm}P~H+DpFKK;sg}|M&*&IxH_&_Ro|6Lf?qbmp==nMu@m?WZ!EW$)}&S%{RDf}v^=9wv_ zdQ0~C>oU}4V6$d^9xB6SQW_cgK;-TyYQLo)bbSbKlspooU-l9w+gQl7IG7fd6DRG2 ztkuPZwACP*R8)oPE{mf*FAzjc@DNqz;am{Jp5qN&^5vs#W8!j%bLLoLbzZK0&NJrg zHm6CtU%bt1j;=-w>5L{xQ)^>$9^wIn5S*}hn&N`fuKGn#<|H@^%R|Xjwawr5+*H zs)FjVqW-*{&8S+S8puxw<B_&x($c6~mrH}eJeC&99)M7++;xT-nBuj8`B5Wvov+-RC+2x^hvJ#CR@GP{8;VWG zzX6S5D3_Qz4Z5GuGhP-6kwSmPO1T8}2!IN2IxSY`M98Bm&QE6I9(nw4H-LNrvI`H6 zEA6W9l0;8w;dp|L&_V4O&{=LPKm+67mRuXQ`T~9b26G3eqEBsKT`-2E@qPzA38 zGAguzKRjC;LL3!k&Hhsa3EER|`>!N}dkjj(6FzE%q|=o)e}fX8l=DS1KSgpn1sAK$ ztq@YH@IA%6S`#G8;$GCb?yxZ4;qsK&j-S40JWN?)*w~O^hqvy!Bj#^T>>n^_qaT$s zhs9mN)sdFSLM(z6933q@YS?M39)W-5lMF{2 z%>UiasthK!T$|ET4+RWZLnV{B7%#O6jDdf>vxGgUv|6cmunD)Q&r46 z%gNtV6jtWKs*GeqjAC3{Ersas*j9S4F^uj7H6h-uD2Ie;QCCiQ?OgUx@*O{NcHT3< zI`$Nd_P^5@gqM%-Wg@)~o)Qwy6G5O_$tVFM2c4;`Zn8-DI zgQ3!j=VRRJR-=kP3&F5L0Bm=`YI#9cT+e=T7~8NDRCh+n6{)yqMDeIbX(~aMoTl00 zESyz14nO897T^}(_KD|;M-r(kt31U-_8GTOyB^N?bR-MMj_{?#;V8<(^DepvY4kNz z#_44>Fwz&#cjM8>e}}R{rlQ&b)2zON)|yh7VIciZSZdgUq<=Y?f@OvOk@w>u)Y&D} z9OAZ@a5S@ua42Aw<-e-g`t-{o)U4NG&}>ldpPaKPeEJ*Y!-f4qywG6|D-;}(O)(L3 zwNDx}mTdc`$q!&2v`flKG5G)-Z5FsRhwOo68=E?2x8~qo6zigQI&0-$s7$m$sD)q=Bd&^GlK1M8FVD=m#%xF%$2<8kb#r#kGC??B8;1mzTKq@L!@#AaoH~ z!`qlq@47{8SYB0rc|#>_h8wt3$|tHD1*T-dL6G>BlC-GzU$iUJ@@Mgn+)lUxoyo?VjTDtb9ULssNL)^%7^CvfT}T%^>X})Izd(T z2N0>0-|RmyiQel*JH_jOuqf>_$0#aW1A&z3yIO{Gru31~HuE@CKcg|(LIZV57ZJKu zQBkrb@`wq~&J|-oo-eLgWG@R1a>EXv6+o0Bt4%`LwRX8HYLRfoWUn_CVCKZhy~@JBl4cK~zO=+y zJThW~k{;yOe;f;xcixD%7(VMi*pZEncXROgm^@A2FJSYuf#8drBiJAGq%|y5A!QZ? zrgVG%Fw*`xO{o{B`;T2~<7~Ix1iXW}CEXMd76kf(Fiple5c@xW=5bwrL(X{IWg>F4 zWvwWQ{tlN=SGzf4^QhMvhA{c-dOXs`J-QR_c@z5hd+XjBYT|3sUq=r5D+Xaml(ksL zc;F0>+Ne?>IwK~;q2H@hIQTg_M8q2yAXc4DCT46jltX?KliYRP4)f;4qK7=+fSJTC zQoSh|gKpHXw`E)C)_W&y<{8Luz?CI{umF>papW8^A zwmIP4c-5C#$20BpU^|q6#%|E-8g$Wsw;kd^TGCm@9awv)hM2xg<(me2aHkcIU9s8u z6|0xwZYj?H_7+-kO_*esjod%)7&SqC8v1k2dMF`z>W}!>)K%Hh*QSi3ZEmO9zijj@ z|4*XryRvK$PS2%u6Ma7r)=1_qF}_n z|B`oY-~Jptjgz2uqz-rfUjc}38Y0KD?KI4`p<0;b{b#Oh)J94EO339+(!Bj912Dx3 zvVmAeI?Fc58D}?ZDO!8@&$e{hfe);&8LaU_~Xy6m@%AZsq|#C-R-e-9nts{h^x4%&?LqZmZP_bs*GCU zMIj1w{Te6SKT8d~*=GAVtleh}wZ8WZ7o?@P%{8lPX@lKv?sKQXxagxBGeHqjX^PJhX!C<8?PPjz+=__Cl4Ug5gRqa z2RFr0w&cGE?LSCyKLe+hy^@oK8M_27EcCb5Jsa^GPIDzzl0#13563^>?BDhRn8mEfJFmVs*vwAelV*n3f4b*W7W1Rb*ua$iZzGK5n@f_hO%-$=53c*u2+@}1 za21~GhTG-EX=qkTGliW+@Up1;vuFNoq~sOHwGIb;O^sg2c+ULcu9RSVFlqk;LM*rU z%eP;_{Xse;ngnmvwft8^{7b{AhbaA-JIt%!vjtoB&H=-wixW~a%p#;6<9~MDpV0Le z<3@@|h##Wm8o0v0pgne!=Kt0Q5=g|Vcc(5Ixfvk(zqf*ZKy>;1Wj6T#x$pG%6ZzkX z`M)iy|1Vf)|1%*>2myToR@s35{R4d_=}g8ETGujxe2++i?2_6d4mvM-3fryLE!^z> zz9=RTwrQN85c;tZBWkJ!BoWjO62V?|_}v(Lu5?&l%k%utKsW|Yt4@&Od5IZZb7DWxM({x#_^KN!4y0nL zmXobNQeOz(V%ameDK{qQs#k*HpksHs`!Fk*eX=M#u{-PE&)M@v;`ej|U$*h}zJnM& zhEL@IyIsZk)?B&=tS)CJTK5RbRd7fop#*AkMA;j@WYllL{ptX3Xomvtp`iwzb(AkA zR4t$Jb-NIF|LT&sI5%!qGT0(mRtf(UJ1*u~f1JzP>@Iyp8DGq#m_w63YziTVJU2d#0 z3rT^J-ibXq3DDdU!e^n(ZY;$v@k2);x@Wv|ZXNVE`pgbbBI!(Wxce0S8CZ|46LK(! zcaB&x;u%k1&z71ZbWEs3tx>T!xYEG)h?rgzP#j%pI}G22oCxYZr#9URXc9L5T}T_&i4|VTYbdqmR%?}RwpQjVXe7E zwZ!ALY&>zQ<$h+Sc{asY?VBUGO-`nni&^WGWLt+6hFKIwONa#;os8$Mo-7pe>)XVQ zXV~B&j^`QtFA=O;=E(5|uPBzz&_;hPy6JqEkTGIz=AA*G#S<1tSo0lYb3jQv__%G zOhiCOD8Ra0&mamcq-396-$hi2*1d=0=?N9 zHz_DJr1IJadaH6h7_l$t z2|SE}t-?#MITQ2hoBmY84DY9!y&yd}uKepcv?*XYGwslN}RLA|rOQi=3#Jms?yVu$BM zb?~*K_oA75XW8mY{B89lpvueRa)-UW_`d6i2AnM}srE^;;=e_>5q9Kn%y^+GK#>T( zEo3XM1Tm$FRwlsNX$0ngBYFfHlI5PwmsfCILk{v?7V}X5a40)?bQxAQ*QMD1!n>KS zC6l50Vo0nBM)|6LeVEsosEMFU$&XlrLhyTMUokE|o}PmXbkcoqL$apl$N8!>SxP8B zR}t;>r#NkMp9v%pC8xz25pi4VQ-i5}MfIvV9aX;mfAc4na3&-&k|+$^{Vz6NW|lScLhyscWd{4Al9LXE|NhW#*pg{ z#{W%ot}DJCWIt|j`8Ub|f23erooygt66N)ddYN2Ye zFXx*P(0ZgiH)ft+VtcpNPo9;Z`V?`mbP(wtxKj$p_d=)u}c)`-L#$3-%f#zJ^v%Gk`iu=C%oS>Qd7%kHQQ z>yEg-UcKw;B3QJ2thNsb))%m(uwnv8g)8Fg7pi3T1K;f`VY6 zPXTJ5YN4865kDPDMLLm6nLLu*QUuZav*w9kJ|e7l5VIKO+ZQ4?UEX0<-VsX*5-sfp z6|<2M*ibXwYYR0Rz4hqy@Y{{Q#N4Tb-O}N-k4aK?j|`Ek$1RG9W&6<));%+6%5t?v zp(VQ~Ihk00%a8h0@MC@CBvaq##G;|Z#hN6JCEcfD4GLcdS&FauiR+wx<5F3j-^A3W z!B?!zB#Om7g|_#?!{a`H=}D2Es5-!giu9Xv}kbx7V4IpLRO50 zA?#U8f|8|!nnN=$A^#4XKZedas#F)M)IQp+MEMp(UE^lLo~FZ|FSm=;u5{_*;WlaA zSE?fX3FEw#h&W~!TEUQCJL9BMva5zD^MFG`4_G|#QIO8u^V_IhT8*T7DMDZ=j)B?* zk~a%2I=hWFN$EDNR+23Clncg*GqjfRZke2}l(rQ+aa~SnCl?UNm(U7vBmHK`Q|oa9 zq+4OL<9mTE(Lru5a;DRIU5SByu`Yb<`3v@g4QZ-i{wF4<0VKayBku>d1tdLQ; z-g9(-WtEW>e`4sEfbsV9K+v;akZJQVvZc#n1B^voEfi2b9D>$8FieH->nqN%r$hm5 zSRxl@vU99keKj+TD!E3WEe#=SA;Qm<{&Qr4v4K-g;YVH=XKK=MIqzIthEMZxW$RNC z?&46Dd&i>T&mH>WK(^#Vca+au3>j&5$tVtnU~HEPRpw#jLs&XsYpNmq>Y@PU!xCMp z(6e*Pk_wO%c|2-dx6O5}B%uU~_l$XSisob|3$8J(W))dw1JzG2+;PWIC`KAkLQnLy z@9I+D?fIjX-)0lc4LZKgIu=JZov2GZ;QN#q9_%2U1%@)Ef_y7SHv}=0p!_HRf`0*UMIDZD9G^ z=-n9SAV(K&y|8`6I3?`)o`x*qqA}uaG8u=hR(LmBvRIP4IO&mouQzwk1cN;b&aO#O znudgW_G6cjj#m%zkxxM*;XOWV)(Z8o3RBRUcsF&lskXeDEEy`SF&{J8p_I#If9h-^ z(|6=X?;ZVy8W^@K{wY8_-n z0<-UFYg(T@I@SK{T3qisQ}xWwwZ6~=XH|+kmgF@r^`eI9)Ke9J`oeT_jfav54It01 z1%*A>h{*iCjLh?v(=#G-O7<`v!Nj6u&a8=&)}DEAndMDcb@xO_@@USL8CPS+E9r%}G$ISd3qSmQoYHJJX z&w3Az(J)Zxxq;PL@?4!cw#&D z2G1o@bN3*RPD2TmVNepAOznoEy@60*f_a`@t7ZZ41wxfV$SL1VO@0~qx5FmteKxf& z6qLA0PjTU?_gw!oqgivI(jT{QSmDG*eRwRot3e7#y`giA@zhgzPqF2 zkyk5~;ZpkK$dxWQijPAGtZ&(E{6mH);L!>#{by4Mq{zB&Yp!N%#E`RC30PXJBXhMy zIgi$d1A2ADLyN$q7M&k(Gi}CMc8L^5Zm*;`K&NM4WhwmHzR+3Tho+lh1ueAgqDppz z4qyf_IHInAvJ!hpodi54nvrD9HT!>?4ygLDqGBjZq^msemqOw{ipwuQB;bDy!k2)H zLNN#dsUnD~pR>hOFYfAYK970RsZTZyK70dMSU*XzcpKO6eZBTU)&U9{h|hkI3x2q*x6iE)?&V%l zB(JT&qc2tT8*wFQT%1Ymjek7KGCjh%VLoOvOTYhUvMlPT8zNhUs2ibB@^Zr@8_}>r z$tGANe9L0mn}w1`%xR#fJx7WK8^eFG!1vHYU{B}y{i zvq$6|W-uz@4pFfEoW%H$4c5?iQGI$TPh(0yvc^d6+6NOnL%e}k%Ju#iB-91?0mD(1+n8NPL`E05e9llyH+1cAoIS} zg|^Vm`lWSLNkLKMgw^b%B3S-f@KpITcIF&t6$nR2mTB;gT;F^VJfa0ovGsZ(rN-m| z!Ry$>WMSd^UL%+|a5HR*wSU;BM}MIaI;MFy?Z)ebj;%rZvEP6=7-a`$4ue@Xvkx1O zUhSi+?#DS0iIsiMtdDOR?UOY=>nNRUu(p^S_4DRkb#gVde=kI0>r1i83pWpo7h%tg z38gG>i9mnP)ugWaETp}iY~a}DMkfwZCp&-OgP`{cV9?y6&@0$+I}-1;fOf5>tkL$q z88>6j(H@AvHJwH+6mICq$J$BXJ`MK@Ja#{hMC5lkrnBsMe4*dTz?M?Vtg@vgjd`X9 zQbL6Hkso%MJKyWWbiJCg3`OA`d24&GHoHf5m1XBm=$_0un;NybXaz|4Lued_!mS`s z^oehjO*9v~bQD~rl7c9Me8EH}kt5{K7Ah{=j{>@4-;#BL(f$2ZWXZJF2G)UFo#CIzt0`O^F>*_~<@?B%3ilX@2^YExQU zPOcvH>{YYE*` z35d359fu~1sInOByaKT>IR-k80(XRVLH1nFy_Py9Ox@qpc%__&lYNV0C&ssZJgw#0 z{UEV$xiiG5j9&Of(4Q-`aAlza3RwcxWPse?dQ-eCh{4VEAQ=s*5uk^;KqrCrAdyZf z16QB8Cc*YtSjt7CtWy&Ni#bp=wL^xk0jn13;SirdTEbZ>rLJMdIra3Do!9S=!%Ye&n9OjgOuvJmQYx+i5i zqS)b7jUeWz8hu8~2}@K&A89R#5%ugi(4`J-yM?dy1N5`8)5V(o-jUDfa8Kb1AlPsK zO^q?li$h|F^mJ(_DL@PHmS7&qbj*09c-$Rp>LG>d$GOb4-QE`~&GYmY&JROHi~zl+ zwzFS33%762iOdGrf*uR}c!*>_6+yX_u!G1Us~QdVdSqPh= z)Cm23LQ+G5Ua@AG~u@BHv4>r(AU^L>Yp8hI`{?`J+-l z{n2`%r4~x|`@%QvK(HxF_g)mY%!F)ZOftiHC&s)563Vsb4Q9^yZyq4oseCIv5;8-V zY?Zs?xqD)itAmfCeVh3r4)YE+pztajmlecthaN%$Yx2NUaj!QqB`VPKD6Ohl`SxKM z;}qrUOD9Fcn9fWAL#5QBKOHeQV9IB| zL@awAj|Wo(m#v{b!qvij71c|$5s}U#H)DCX-O?_K_)*?U@IK+fCcM`dUdGS@G_}jj4K$~wAw3&48NzDI$UX!E3$sLGN4jc3US9WNiS4iB@eveC zU%rL}zk=@db{>A%=MZT@QR^Lt$;hJzz1~#?S>tzg_9XJ)BPrXXG9U~Njgl!Lro4vY zc**`@>};g4c$knf!Zy8n3#7m`msB;4RZ>d_aAB&KlK_ zYRR(|WS**30cJ8VjFn7Ei(>iE2s%IaGI?bPWsfh8YMUH7w!XMU3~X=t6xEYAJ`HW& z)PJV^Xt43Eef-SSt`oMgfHJcZk+lDYL zI0*W(`@&zdEp?*HrOXFcU`~fQ0)uiOLrEJ66<2nsbJts9W!Y3u2g1$iy2&0&r=2Z& zFBL7)B)|L!d9WLCraO)^pB-u`{I!-4_W-kfD)JegVKbqvT=Gg+H5}jaZ4cFKn$#fk zmF><#N#n!I{;+VmtPzd!tx)<Nw4y^3jZ@T>H(*l6{TR(JBJ0i@INiB9Tuv?a zjt2oRf%hRci<=9Y&Ccufh#oF=Jslvv&?TW#{sZ3x6LMjYVk%3bkMm}o6>Qriu3;j_FR?$mfU(jJrBpUlsg`~kOKO`;e>Tw!at7FVUZI&;v4xDB#K*^hxg zo|Y$Za^0V1tR>trE@6Db5;km!_Fh|PN;{Z(z852__?=kQdZVXHQ;+O;TA;1ZOkm{Bl_z$uDp?Bd`+dP9KC+)OBC_D;w&=jQ zvhjiaUea(Iz3(}E6POYtVQXvRHaUU~khdnx2^;~}7qZ7#$xusk?E%pge&&SZ&D!UHct$}e0qD0lbkuTYz z-e9xi>uP1e^L+Inv7YSCG_}`-7l=DOghWrY7Pr-F<|T6I6WRQ(7nHI_78}-Try}v6 zc%G6$RY5@61g-hW>p3glK{}5A_;(4QiI+0A-@{DG*elg=3LXY6e_`I_k@Zl~+1Y$f z%E*d;8!o2qtmN0)bXzq8#-rfNR_i~DUq|+jj2N#d;}RPPJwK7(N6Q3ToqU!HXBenk z>AzayCeIwqyc?FUs}jUAT@j|lX_97AqxFQ zwGF(4qXE+sh>U2PyT@}hTLOgQ;xJIv-SgO_npqXvF@ni$iI2mif7prRYhyBjRc|-w zVFrLqpdo#-J`JhS@q?d^x`GI6Q({YYxb_MIu@`{}ky9*(*|%8sxP)T_Ll$)UmHESz z%30q^IK7+4YY<6bqVSSrvaDrfhvyb9KPeNvU5`%alz84fi6bOZ`jv(DVQRi5Kt}uh zE0ha-V=r@;;=^F9-fil&-PO)`ihEYs28ZeY(6jRHJAnuWjcfpW{ zd1aoK2u4@h+E>(|T|-?Wa!+-{Hdp+QutF6T1m32|jemDeI+Qp6NW}I7h&x%;`aVrSRz9-`H# zZ`(bph|r2MzD7o*{HJGK$0iwg=Qcn{RBFKXtU~CKWNf3KL+;=O=mjXgs4_^65+)zH8w4;HyOra!9Av1AJE>GwJ3~vB z3r$X2>>e|{RJ@KTCdGS7B(&>iS2ja*Qm#v-U-4$wnbL6{hT!74=WFurvYV~eF-S=8 zP$i}x3xh8Z#LDn78{t})Rg~i|+6my5A2CDpnx@b^G2{BT3(@Q%D=aqR!Ar`|h4&$% z7mGM*7EWr~{Ab1t8X?aiGS+A9VOBr$j|q7%wpE(V0QDx#*eHaG!(Oky<={5O)W3xE`IoS8suwd+k6gL@ISwOvkpIfyod0IP)3PLT)3^Kk2V}8>xM3rfeJ#5}pEB z&JUNi6R5_%Be<2Z1F4)?9vH4+F?@T30!KG;pG#q0>F^Kgm`iyhVnAV{is8&BEHs#B z@yXKADdZO*=k{$$V~nAXq7`_2k+8>TYa#u{T}COe-iCsW*WQAD4=spE)@SH`dHk&) zsDwpW5qUpY$8*xFdq%(hftxmm&< z;yVl)Wrp~Glzk8#<<)hW*KZ4zfk7)R%`lg|0P~fro(`k2E(5g&0kE;E@6;Y!U{BNp zT|F0%^JFq3>vycNbW(;esm1#1wFi30$3Te86o)g|G2hK7Msi}PaOSYT|7r^gp>2<0 zbo`!5_5^;#Uk$56$FH0$!kQl~ms_FoD?-)CF>_B26P2+w2A&XdD*9tZ%CdT+*357;xM%pH1K& zk4H_<+6|zQayjbG339eHH4;%J2&n^pO4z=PQS`+vwXuq5WQ0y8GpO_H6?qfnJ&W4w zpPoPY(0` zPmdqIHc>=Lv8Le63*W%u9yjdQO_= zs>DCbo4IpJ(b%aVQ$njI%jY&_S}(Q(A^8(%acH#orx=6v;rH$JJLc`s6sOGF?Oef=F1%7Wxtxub36{K`XXl<>~h!1(!&Qm*Pk}YJ(q?S zP9shk_-jLA3Qu{e?qSM1$<*&lQn6u7)mE_f50v zpp;kx`5KqoQRdT(*@^diYTRVXhq!j0rQPXq23rud_s1kU$tMhZUiu2!2i0E2ot)jT z?9yC^vpSD@lir>@&_yB63*S;LHq-)4IpTXM7T6KKX2@N*^bKs+X9^W^)1th_&Brf4 zCJ4k}F&uhr?f$g~TxV$PUUI0=^K02rGSW#Q2g~1W&M&EZ^w(h2w*(pDQ&cht<3s!* zy{CI!AsMu)T3qQgm!;go{7SrD*9Y*);&NuYQ>yX;#(L^;zGr#l%Sw$XfGSbxH%CYb3C@ji*Xx~cFPJG0?dtQZF6upAF;q0v0r*l}E-oVx z$Ddg~8G@!Hj2icIlAqPyKb$KO;{Zb7zfM2ZndcXJf5>&zX$65;I=AJFeukWPF9N^UeHoQitvF!z4F*ATab=lw-kYk-1b0z#Q6{JR)yYsH)V4am{iq(lN^Yp@ z6U$qclw>fiK(*n(&I^b>r9?kJfb?)67F;~ei0`y-B6<2|B(qk#Af;XfZR-Wsgg50# z0Idrzn`eQ1W%NE*vv>Gi7#38rQ?}R15A#@#ZI^kVnv!@jw%LY+n4IUF(^o)K7?~3W z!T=JU_MnqBpj>#9q-?9KcgdmXw~$&}z&pjSQ0j_71fogyBW?SqK3CD@yLrZ{3dIloA1o?QGT z9tU~G0LmX1d5L%tOQyVs_ARmD5Oje2q0jG3H5l&U0Pz)NK?!LOxEK(X7!7C}`F7vI zQ!uFEl!>j5&UVrWr)9k-6y5rl2QLMKE^VoemEMtef;X)`>{P{MtstRZ4rC@V^1;mS zI%Dw_ptG!8e(zz#OO_QHk{z#ESF6mu_aHQs5s}B<_u0=B7sS`beI&Ug9DB)*XOSZ9;g-c z2M|wO|48tP`D>QGlT^?6VVA7}O3?PU*M1Kd=886^>M=drWQnpQv@B0sWP8JMZY127 z`J2mqE_zC!9xc?^!4V|ztV}VsbRwdE^EWr3R=!?-AZ@ryhkP?B z-He7xVoOqH&NYA3?+1+axSw0Atk`WUU|f5;O;#W;Ub8!*$6p#U#O*T$2Eu0MgfJPp);3~(ARjL`PJjWh$R$|^WDpa&;9u!g zK?y$BqW+4z4bTx?-#{+LCZLL~zx6r(3arhHy-(Z$?om^aWq!8= z?$0U^K_N$|rZh6k4?4ml`nPP%?+YQbtR%O75U`6hDo;&iO0K;Q#>G7LM;EX5^1~gu z27n`9{>Pi|?#g;asI?#?QHYGnv}LStQ*J$Qfeph_gYlB295!Q!)9P%&ChMYC;8{&B zxq-T6=l5n_5*Fq$U^iG}ecj|fMbs;ZJY^`A`6u(8@`sRTx|MQ3dZq0JTwywYkT&eUrYasB*0VmLCs6nC&JB2tG4Ky*rqm1Py z^BNG9b1$V^`l*1ltXfkxlpcet>1WwoPs}bfctD=nOXvUto|t|EzJJ3`p$bg3$UAY* z=B3}VO?AUb8tkVPj)EY!#s&RrP~~o|*pMGPF(~H{W~oVaE876&hV{*hjzM{UZFG); zVGSZ4ocR0CGRdD7#e|S1>37&vtc+cQbvv~k)<_tuK4Oni-Ct(61{(BfeBqKtuUP8dJFa4$A5^Z0qzhfsTD+9-hJqs@u#=T-G0ah*lmKnLx= zmA`87xN7|vnU&*pG zul^9$CsMPW2yKSF?hslwsmAICk$Y5C>1s(S_~E~wn7X?autwqxn@Un`60h==?f~Zb zx=z8W^wTp0(4luts0VbebTGK?VMV>&KR12(GSNRHEhdQ^dlF6VZP%0_%ud%<3Du7d zUVyxpE7{}Ek&gB)KK21tW*A@e_{I&xY;5#bIvFaG8r621r z1Q`7V2BJ89UN&}U%rcW+LlCMKV*C?~^Z$Gj8c`zmN%Puilj8jlt0RiOp~bQ5hv^>K zKw+@ee4@U%wQPnbWlPA-Yc&$)_Je>Q5!BrT%!(HbYp8Q#LzNuW2z(QAOW~Fe`=+dm zD@elG6};sxv0lV*O43I~?aVlwOAds>gJhy}{DYN)lrg55PPGQrQD?A5`w zB#*EF*N!cLcHrOnV-d}Fi>f^#h1u)3sUbND;jyInb67Gj+ty@(R@zQl$iXzQVx&U? zaehEHEdNSiax_oa%+3|vRN_xf7AXp%GUXo1M7p)uirEs7w3h@A$|=7>Cj46pgd6UkfXUsz@mIXB4+MkiU$3 z)~qPt<+Kisb2WhZJ?jq*wOBK?>#f}W!;St)=LrvcY2JPKR1}Q~(p{U2VMP_u%mf5S zW{K?msB%VTBLFP6b%OYE0pyMqz3<@6+;2X!4fjIf`L%*H);}>37!GScIDd1g#bF>5 zp5x4|lmtU!#bj`^(N%L}-hFLag%HV2_2p`b&w@T}-)zD_D?=?qUiaJ%om7Ou!Q^$J z8Xn;=U&J;V91U(vx(zm?zYc=UrR`xa=TDkVtrnd2#MW_5jFo38^^fD z_)`!x40E`XiOJisTqt*6?XD6?{$7}mt?A%W3}kw;?nxeF{b6bCNZvb-4xYD%nww8+b+*)}BmLodOg;T_5UWK&ucC z+V{zhzS5%JcFh|Skpj~qGGekFJL@sB8t9BO{?BhBd30_8!7ksJ>4c!Bxr(%Juma9F zvNu+ubA#?q?bj*2CYKBS`cEKjm?}FxAS079t!)wj9g&QVW?c}dMo}|<(WN@q3D8Ig z6XD)myil%!_tkML60rJ`6WR`sg2{Ic zeB)??ZuJ&r@_lvJuLNSGe(dSsp38lQ76Jl-YVB=bLr7w{8;4xS_a6k_|JC4G zLmY1!IUbcG5j<&MvQ_hI&>4l?Pk>i-v)DT2t`swQnEqOW}Hu!yyfBp|^En{jX!TpNrSMkv6c`+KI zUDS+;g3DJ%)>y@4Boa3h3&N}p5IQ`QNI$vbY(J{`Ye1|}n3g{*!=mb(Se}6?Mfcvy zMAEgGW6-V2_I)o1M{1?!Z9A`0m=l|2qH$QpSJZrXXyL;L;rfnP3{b{><+O}=m zwykN~wr$%x@4Gkd{YLD@{sH^ziBnm1GM~zN;#B5yX62%u%0-y11pi*14?>c6FY!I6 zX+dk_7i+*48S;@crahtHW0+a3nSn^JjXMjH5;L>xaTPg3YMzBf%T5ag>9)f&*YJq0 zFek0c|E$L$0A>PnxPfB_FwQmSwY+;+4i$x_naKHhr6?Rf2a(`C)!Pv#;J@q{4F`;b zC+C0#1H<^yX59fyD&iJG!M*Pw0fKJZuToxD+%|)Pjv)eLm!lg?@+pP9t5&V>T~^pc zLfe`7_1)Y^m|Bkyx~sJCu~-1((zRJJOeH9IX&Ztc4v+YCA3Br!J|wc+jJ;H#x5pKk zFZK4&4ny7}j1rE99N30qME?2caV>sdzwg}~mP6p=Bka;=*t6b;S`~lpOPPkgrLe?khkt=Py(xXbl`a3e#f?F zz`^7=Wm;Z(Yl&&=a)m6i;(I1eS&*q&X7kz%oaOEBRUQeN_xRAkl4L<2rQtb*l41L! zX#LF&8>pdcY!TtoWg+lj;Qn21HT5%Q*g8hzRl+Aiy1QEFHbZ~}x{7$|y`TT>#tEYr z-QH5sXtQenaRr}xmfn!P+use5MZnpK8tv&z`hK(}SY5bA&0|@B>8Ey-QsRAkK7WE2 zTtG{A2E0ds$5vdoj`=QeU(sY*z1!Fbdhro@fE*$Ubm$I8Tq}8z(gmu|1a0bWK2wiaov5vP!zuZ5`9kEEGcmdP zn13$zX-ZXB0;CMpt|c9)J+$#%d}?S`_rr|!RRg40(c828rU$cw728P|4DiF!h_pZC z!tR&<<4&)or<+v@0wIMvuX#s+5C?U~td@R7?~}HLUL2t@w=Vy!H`yL)&)3oZH}LFw zVpEQ3u;Vg+(wx)a`YnnCvBi{2Fm|i0oySu^qM8xg)VF>P#kwM9tSZ|cyVr7_+55h0 z(JksHhjqRVgWtP|w;WOaXgBnU74=izK5PRC{?L5!p8w%dT1k2DNK*4v>Z5(uX4C*7 z*ByenInRxv8#2A3KOeNB;`Z8J{E^zx^iUhTnZY*>`h_}Nqs~Y9%)n#o>yWdRC4~i>FSECDVv^inZ7inD4eM8g4i-}; z2?!Czan-W5p zK{plZEDx4IXKV`SiG&RY_0oU7#x%5zq^J++Y>C{#Pl1o2tz`>}L<^j}D6Pk@c34HaR$)4( zmgM7u=HcO4kzljXk@;a}kr~DDpcxjE5X}08%l9a;Pe|KB@0gX4h^zt)CWrP!gHSbl zu18|h97HRCmQ4HY65BL)BS^y5?T^9Fy>-`8m(3XhrOV%#<24)sab|A#zANpt*BiLr zs~k+OO=7fRI<4#)U5;O-nv9ZC*bH?awCt%KzD8$$ay*Z%5w|6PA=MxtsAcF_q>jL- z#WLcp53V)wi_f$pzD-2+h?seq1QovFdES6Rba$~DtCOW5JV$R%NJ-PgizN2DKY$|8 zvf+yscBMUGltf=iXYr`I=I(VbnMC;GCnVe0k;1JrPWIyX_g5kk4ZPH`l#a-(Nbh4Upq8`E7SW#;_0CXteLg8r`d%8R7)*ofCWEr>-ZD z@mfbH+W?wI7_Cg{3JSgAs_;7$Zj>4z%Q8>B%hBFVr@~e+!RIWi)N90bOxke zED-$Yh4@HM-txCMj!`zOHQa?VZx1tVnU8u$#t_)5;hzt6OeWYlc^%=T@X}u^ ztZD}{=*a}pnWX#P8T8VFAC7<;AdKQCJohjqI6uCkgP3=c=O;ZFmg%rV!^T7EntE9{ zq&D+x6BY1U^1cQnu3Gk&%nx48D7QtDubo_!dX912b!W)=xEn$~VdkFj0n56dONHKe zWkiMqXfpQ^3BPL1*Ckxi)-+~y9ND4!MW z;>YH~`2!%Pv%KRFmZk%xg#$d~ZVm*T#!n;TvV2Rld5dDf64iWOE&o>pOwV|=R9Kj$ zA4svC<uEb|OQ)r>^)6i6xq$z^GtgOVMr6#}q{8 z^a7yAck$GrSxuxuI~__iW_W1-r<0n-7W0W7ds6LdTou~DrcNY&97(!UfrO)8S*iSL zqF8VRWS6vLBnC6q13hpr&mN0{ST5uZqVQ5NdD+S82HvnxJEQUSNnDsW@|=Gc0lH~p zA-Y{AVF6RPBjF!RuvpI_M~M1WyOLi@UeLpr6G?P7qtz+mVnP&$4~=~{KYgsRY^hq| z<2fk$F;{t+KDE(MC0?mSKx7ycx~9kStyv@nIVKS8^H$%4OD}B>dj&r0okzj#UUYM4 zytB4pm1AP5I6YXdz4}K#C>T2U3D76WLzea7g6ZFQ&Li7GR+P@25z^BP-`mGij>E`6 zS;Z-kXXUbCI^TGm5&1nP0u9`=52eX_s1$d5*9_ouelLYXuDzkhlE`Z!Ifu6jCN2TN zldJ03=!I{665LAeSQMc_lN=GXR%^7zb=cb?u-*RE4nhqC-vTo}&7`hdT%nx#kfT#d zGc5rzYn(;Vi`T8cS%;B%DvLKb*k}tWHeu_0Fcu{T!j-mtWy)v9L3)b8e5J*$6+W#v zxiS6WH_6bZbX>qBZ)OARcEvG;XUNInlKOrX&YF3An5ea9ehpg&)$D<~q-mC44C!56 zB9~;?8w~-a%cUjJ6Te3)2_D6CaMBU3AkrbIsfg)_-b|wJav{j9Ouk5`-IGM#dX=or zF8NZtwTs#Ftjm=(7}{vF3$@W2BG9;*PJ_L}@;2+bP5+j_V!Rd+@^o83=eX^ehIq*$ z7YRpF<9d~rYAv6gi|nk^Hv&L8hg=1j2my?`An}6ulrr5QE`kB0$Zt*2Na~=H3p2OC zfMis}3%tuk0Z^b@6cHqK``7AQ>p$w(cpk(f_`xVXfNw~P+_w1fh*I1XpYM^Ms9_l|3|#NOYJ z$v713$OkbMz1!dm4>29}!MiC4SLtgN;%;HU24L`?w(#~xEq%owZt<3W6O1vWk(+tg z-s^O;QZEeLC2AmB-m)5}RYYq)ufMo*F$Wuq!(5uZr52RyaTSYB zXJk32ZujW>g$T@Ii|xZR7>6EpO(l#A6U24G4BYU+4N~YBO0a?BqkyZaNOPOSn5y^t zEU2L_qbeh;NXY+*FNqjU*M7iU{%JO1ZL?1 z8gDT88+#e6#6)^>w0icDQB+C%nOXB4zC?rYV=ofuf8>Y=0e9NB&SRB(wW=hRM0Sd5 z){!Qcat>P9R>xE3-Ex`a`#`{j2w1-l#CFGnC|ji}3Pyupek4{SmSBDQSxFN0lr7Bl z;p74t69{A@pQib1cRaOaSu3)@HEU2v)$Bqw)Thg_?@{^dn|r$mZk|}n=4x=hg^y;=$ ztZjtX&@IQ-zTb=Xds%ZZ7$Y3bfe>Z#@t=?o*R^^mzyd>T?Kx1lkdmbFGpQV6setJ% zG+DrM{VW^@Kn}1i8-ff)ZZ5iTN6QT<-y0`o+=9py)hC)q=pmhJNExkz;)SB-X$D+O za|yuhC4Hzlo2gSJ(&@H1_gq93c7?`ej3sn1Ax*LQ_X-9aT&hZhR3sXej1pzgRN<=7 zpMZS9i--@mtuCuQ>E%3>5mrssAXTuBr-#XE;&(IxSKnATI@nR2_K@POu=jkq5ozY! zTh?YST#7)!5N9@z5nIe6h#~oCU7y4#1|n7>lxPE#JI zbg`6AO}`Xp^_4n43dD)@b9AwDfCm0xHZhMVCDr2xx<#I`_1tPsk#vLce6F=Ja>XVQ z&cqV9S~-t&9+c0%*edenL$|7!q;S2$y&hxJDNPq8SD6hm*#ye^Rl){P;}Wa1&;exa zU$k@w_#%gVkt-kInL7+_(=pYUo9lX~HS%DzKC-Z)brH@@zx3l$k&+~s(o`7d$m$^;Q7P>x}uJk;Ep(&WeJTfHF`wl=9 z_#1v%akK^*nos z|1v?b3BmJ)sx}4w(5^jD6Z~-@#JGOi~@+Edv+j|AkBmVhH951F`3DntHr z@A&-^xam~@sJMP%boD1G|^hN6RKH9VZ4oa!zWJrqUE0xI7)x0io*zO2@ zsvArbSwM8f(`6&nn<&8dM|u0~BR{tmT*2TDazroQ0nN0nVJtmmyVwd5yqZ^L5>&V3 zFH{ft1cyp^wD0Ee+72QDK^O>ya`u#p#}ivjuz z6y*(wflna0bI_@s0Sw9C^KsO>wiaR@3#WEds=$gYgzwXR9pM{grhltUXeBwR|6==f z55CXpO)QJg^D=X13MTwZpIeMqqF!rE;;TkV!1sWu&fxDg*WO6zp0v2T9CuXT0dVh0 z3hR4P3~BNirK=&K6esvxGovXuL2sU&{VvZRogH?H<1h3M)iqdkon!3bX7e@S6dpWK zE|>c@O`L^9L3X7qYX)57`zi(L@Etung_#}mP9+cmI?^_G7`Rt@XWb3}M@$`P5@`E7 z?$i$C2Gqlpu>?7t>dgmiq)_P9GMa=0Rn*z??uGKhFWr3UzuG!SR3}NXi+O_p> zv?swn8iuJ*YeP>z-@I`s{B?XgTWRsHv?b`FQbE&Q=ag_j)9i#6jV;BM3!drof5SSJ zo_co7F}b#plkfxyayi`NQ#Vls1E`$7k1U}ROoFQZI+-5Sz}x4vtuB3Y-CSNdJ3i|1 zuS5pj*ev3|z7Pq;E5%=4f%z@m=Jra4ism-l0c`EF~$x85v2|o zZl}^yY(J*3K7$4uru>%g9UvT$f4Hek;)wuBy$yZjK#3P0>h7x6;yds*GoZ4PXZ66E zvl*Cl8I!rIo}{jyU*H_lOQmK|NC=`nOd*t~!6Bfmhh%uUYq_f$g=pz7;U`K;7E?iz z#^X0u>j33#;iED)P4CEd zuiQqL)h(qO=^poAaq>F!pZBA|1g_)fzhCdzJFY;jfRcrkof!BBQ=9*_p?Cv0-$Jr_ z3vV3T3UPZ9C=_tHbws)C59<>WP}qJKxkkT7z64gA;`_U45CJzHau9lpIsxv}bw5_} zq3aXRU2jhK;GG_*>sU<%Us|GVBA9NpT|%CXaPjwMZ@B1QKVCn_hsv$CR%y5*FZFrhaAKw985jfu&CJ?@h9P8#mLV z4)b+IHIM(2@|?&20B?A#=f0J?{1A1llboIlvlWs{WrKhK-#gnTR~iL>Ub-%w(*Fr z(Hn<83&DEGsfM81e;-Z4IZvbfzX{coPRcG|b#4j5<$pdVCh0E` z{q<{%BKL9kKa%19ldNH_Vt)s>=6;!k0H&Xh-s||_%Il?xCmEKE!6Gk34 z(A@9&V`Pmowrr$QBw;^%{;RJSx#w4Qca0p}6hH|fsc+6m{GJ7M4=4Rr!6ig=dr3*l zYnG_FEB-kl{7>)uNURHR&(ExBp2r@>Y31|h_D#ulsdyT*0V2#L$Y{!X=4&aB_BA)s z6~yf~JOo&@4MIBEYSTJfWANW@Dq4vcXG0)j^l8|4=l2EqE!*VNZ*lAt10V)zVTaKU zV6@$kJ*Yav3`6CEGJpvUQ#$G=SSkI7#!VBikbvENdR?;oBECz$6qSJApYEn*J^qE|Kr+{=HO6H4*+GM(kb5#l{@f zbXNY@l#E|&3^!5!GGxj>t`oTZ~EAz`(&ErtqDK_HSyDmGnisb)zY^R zsSXH(m!E*5v)xOTI|xO5UFsx&Co7pN?D+FzAGMaAF|@)Ws`BM8*-CxiHuhxM(hM>8 z@_`O06_&jlEi6wM>pmu_c4ng&HBvrltXM9f4~Dxg;Ya^+fP+beMs`PB^35EOFAQ4P zt=e*eWMYI1W1}XDybryGESTy@tC!=?(dou?zMOFHP|^{?a80N3;r#%jm-|xn8`b=VZn6erXUBW7doh z{W&XRmiE#J1ss5)7STn3hln03r`a)+csXU;K!e<5)L#oyNEWro=8KHLc$zgB@|&^V zvyNEUM%QC;p;6>q-#E@IMvryUV2$6H3k_#GL77d@8%-OY`o}_Sz*qG%%>YQ)s{m5% zJN0W}Y}A(Y;q#5x=;NIX?hO-8@Bx3Q%L)?=6?s~+T>-6`f*bm#j%U!0b4<}9L=M4+ zd?UX^{8_J}5VE^6?3KQaRB=*GRSvTgM3;H^0ze2EE8(1!W^cT>QhBRLvmjxlsChEQfttJDp*}cFrZZ+Z|9K zs@?b=^rV!#l}8QkRqqP%fPjZ|!>`=A5BvcBV+Yfm(sz}_Nx8IFmH;}P7@7vJyA-Nl zVcD``?**#stg;s125?rN`K}-StNShS0+dbnX-RyLl{zbet=^Znbj_fxhtyh8!mKjw zusjr(j=}fkNa(AlP8B&N;nA;x>q+Bh;%h+#_c4DuHwvqf8Hs+saN*N@#$8-auqmOEi;^~xkc zc-n%30$GI|szg69j$ZJp3dNk-rWJbcYS8^ClsO&@7QFcbs|TjQ5DkKr-a0&CR@6=4 zC2H{CQWgH!PO?jsE513PNL_-~_jU8$GO^^jH`3cv7l}%gy|f250d+_l?d%6DyjPvRsmEe}}PME03_i0M4s=K;LbS!Ls zIX4Jd_B<(DX!Zk6Y*gcB9*MOcoNrS`*uiFz6>ACZ_(csrnI^2?A@MF@|X4Dl#vy*X_reS=A!V1@*q4UlVW1WMG*Q>>I35A|{j_ zN#`L3CPU-fFAQX2k$7~$(l$*TucTKH%AxE0Dg(vQA2H6%jj1Ru`!L$bxdKdaKR@Jc zwVL4aEKTsmyMU{8ND`QQh1#Zv#bJ}yD)Nc;MBcVru}5Wm2JXfkD_Is0%`KgXxX-!X zv@!)cv%}*!77zoGPup3jw+6Q`NTYd9FU|4J#4K-T43C{*wn)+Ymq9h>mi<+dDQl?K z5qChRi|1{WrX+AX&+SV|CZ=OUjyYuP4JK@8Ec-A`<4ul z1paKeVRx^*u%stEQu#U3P`aGV)_{V1Y_9l~9l{%gc?0E`OP*T$ytLyH{vv@% z;9~T1+!T9cY3q&MKH)$y=qF|JnH64>>lUF}AQ^(=s6W~m*~6PA7D9>OuOH4z6 zBOP;MvX+ZxR))lCR^8v-1KRX<8fDZ7g-3r9 zii4qP6-O5pDxYwiy*6w@qJzL8KSlB#x|dg{_G94(}92&NvNPhsHh%dv8l}7 zLlYBPI0T5pe;~0MeSnE>Gy_==6u0_z8BV0jwt-%?II+`lnT)Bs3E~ONtcxfZ$=RQB zb4^^RBXC)Xz0=L{;{97duC|~aLoB5z!D5LkE<^%Yz3X7$&)Ra*zK&KvXllt%+O1U5R@fn^9~qI4$d-IKAZJq-6 z(o%>V2P-fexr13u9sF_Dz!80*NJ*${Nw9a*^t^YHRb?^>xUw95Qnm*(VRq{C5r*CN zT|SxdEIcr~@oJ0n&T#i6jK>w5Sw{Vnv|3a7W#6+Q@uh+?;QVlX_eKdB_g0pp*JD4C zF0mpwMww;f#$9)AypJ~YwWIT+R-Hle*mn~M5?EF)JPlH=>%}Xr=1Mpuaf~uXj7!KIlO(eqU8ui2%=N0G4;p2PmewLS5SgVSW(tGN6j?c<#XTF?=1LoD_omVDAn_I8h7Cq6NrVRc8j5w!Q-<9@mK?Zdhqc0++s&?W-ZG=5B zKp!vptCzdw9zwhZY$+>IoomxA*(sWQ$Fspa`px?(v7E(&Hve_0XRXq*Y74hGLkXdG z)q4klL??`I*eBYM>`^1ofAQ1=5r-4UmD1Uh&zHB8N;gji zrs42v7l*v5H69i`TKT?DkCHDOb~@6gI$c|N*KOju()6`X zeMmD9CKHQ9JR^+5+bdBG!@YfO79qT=_ce@O;4wi&oV-7>(+!=G%H&;BJTXlhu#W1TO)F5=>(A=ex?bC|Q8T4% zfv~F5bbSvCKBNC+vXijszt6^Wu}I35X;f9g#~^#(r%em8-!>+qyPgO5P;o9M9S#Fq zN?oI>CdaS2TuJZbo4o*iUdJ4&OKx1|K5^54HYPB@%15=4j|26e=$cKf{Gb9y_FLY( zsMu6>OZCq{6c*44cq|&RfsN%gnnfP1c|y~)VPu>-yz=@eFWZ864SqqmcsDF4zYyGS z7b^xf4pJazYYR6sU&pY>fp0;?Oyd*{?sU2t0eAKQ`g}_IYt&~?f}KP+;m5GDVMsv# zNr``mY5xi6`drc*T2BT4k?v5J1q~R%rogKT{s0vdPuB?|{u~=4EG^On>(BMho@ev) z(8~8CY4-gsex0#T(bGU2=k{*vL6VfDWQBcAv((Q`5!*uIOi>2W3l!1)$BWt`%8u#? z>UkfW*UCyH4=2z=1s9~kfxGv#a987I{U~L&dy`4Wxy5GMWjCRRwO=2 zx~L6e-k>t$AJer&I0^~CFIv~+s2;C$nq5n-aEj0^B}J5pKXn{ezwciOeis_t#^SUG zw%909I-C|Rve=srD z(kp31)K@<(|1+Sh8FI1o%QxD$rR6j~ri&9)CdVHXnaFI0-R{6m%n#=&D9P!}x)sZD zW(Za?9%|Hy+&6o>4Y5efs<&W|V8p@Mu}p_wm%jcr>O55N(t`7LU9mbLX%AVMPRz;n z)fZuP1cANLIsIk)VR2MnD|oqpm?XF%lz=*Z<$JqHq6}2ui_k9|)v9Zw zy^t*me7_*=U}WSO+EPn`HBGP(83}`??({jj;}<(FO??NEGThyj!i0m4Wplpy^)x}HG~FRaPT4g_2-vd)lbP_fFW5v_*XEc2<-rmDm=Uc+dCP?0 z%f_9S_ce-U$`}YBvaTky*Y2wLJWOU$`N__K}Qs5zD)xrn%0rBzZArD%nGQ z&$QMNA@i8CiSivColu805D5$YRSOLn1Y87~O47~U1HYCPPT9$dR7eCIW0aK^8E=Sr4Q$uPjDh4-xbs&*{B|My1bGz_COnE2rcpmbA}Rf;sF>C?R6b_{VLx@ zU!mQ7gQSS#;6v@)ZSdL;UiCftCQj3pYYTz(JaXj3_H)Xx3t+72<XmHZumYUg#-TYsU?jQ2xr<$%(Jz8Z7%w zso#FE)VgZXi1)I6cBrtM@s5@BqD|U?sLJim1wO)|O9GN8&Ac+vue#Fu#CD!E3!B_L zo)w#@Fs`RyW|3rxM282H+Ab{rXvhYpg2F=YR&4&`pHV=RtOE>OvN}@FwX+z=8t9_C zqnUmDQ?EpL{>J6?N)QQc4sPUCD2^GzwaShF&vB~NH2E-P z!5n-FGOq67>)2FH`ON!9^16tYgH|K>Y*STuYrP83T>2i7L`ZHtv4t6CIfue_rG@*z z*B&~#d{hGGZ0ITko>_7>-lU8~Fdjw{4~7?BiPwN_zt_G5E1llb`hC={iv4d5;a1<`?Q>0U(?53Fc@(j`SnJHQ@hvq zf*)PUSi_upn^kiU;LU^%8$;inB~*Cx>DHGj93IjDyBDz1Zq1Cq92wcD$rc;Dzmq8auHCxbtVMmwVmkRsM?^wMARkM zcSzXL^;ub9=%mu(-q^|&-F@$i!j|1(;&m#(TQB_a&h^Li$^BVB)0e$Q&ZdyOatx;u zmvH|Od1WV#+f&Fd?U4Rj=_jDIYh_u6&4o2DLg4;e-l^&8f4uopa?TJX>F=zCEtSWD z{)e{BrD&txa)Yd~s1StKG5(WZax*-hgchM}1b+Ru;7-1qcWao-3dD`3IfXd{g=u7j z-^h(9vp6IO06+W^dg7W4_$b5&^l(RwOcmL_-~TaE=f*((0shx9o5ndg`(~*s%IbwN z*S=38ttZ0vi%5eN9Vw8|ZNiH-`TiYJicsmgTSV{cqnOz23Qw=(;>rE?l}7W5Y|W;u zVG$62O%&6kgzAH$)neO}OIJ?o{Rm~5pK_Gesj2TT83Y(7LZX(agW)_4niY16pA|Y6 zX1&+I8Qwm_b`w9ZD9`daoV~!e4h=vbZ-RfI9U7DEsr%F@(g*J}-2F-2XwAU_n_|~) z*xvF@rFZkO7b&)kSqzBF1VXh)?amcg6C5!#9t)_d!He9qNAsfZwBKV{)V4)?B zNd>{;3$mc+msz}-X)p}ew@-L(+mwq1axo@enQNdm$Zr@;Uy3k(JPwwIi_$K!mC$DW8#d!bg_xBzO^oahE#0a0h3beB_XfSM9!SH(b&aZ1Jv@LIH?X!-<8s$i zj%PuDrct;2M&imQGCW9v;i2-oVH!=Ap;K*2&CQ|neiM6KauNf7hd+8u!ftLRo1vcQ ziu_rNRI7U{Ld$A!8U!)4A*srNskC!Smp2qgITBU{exGJj*X`$Arta$$9qFha$;CV> z)Z0fuk!ocoCw^Jrpz_?LO}7>`^Of;M=(|HP+C{%Li^2C_F^ zZDnIJkICtF3Ti?6H&T2SlNnRYRx#-bYtWjrwIQJ1^Luq}c1OmE)+rD$cIj}+hLafs zju*1Ig9)Y6uHF;DSiFneFXV(;9}E+Ui+PEzyQHlM^eo7T*_sQ;=&g@8Pd=8$`B6R> z9OBw^VD`7=7OTE*sNfiRASUN}RHclL`p0CVyNP5@ z!n)is%aIt5jpTDN!Bi!0nh8u-zu0UITFdf4Q_V0r`Lhfo&6dk;o+SFB40S_zXNtmy zfuH+ov`$rj#g(6r$peHfQJHTDRVA>uh}-0NfRgVqqgTyOOTG(yDNXd247PC>_hMcq zLO?c$Gym2F_OMzUQ~_bHKxi#pbnHPj0GdKIjr%_)1>falQ4e8}gy1Lf&!A(zPXa>0 zPrw}&+4uGdeAd{M3gv~8KI^+VCBMy@o_Pkrwk)oW2P^44=m_^v0wska0-RRW!GA36 zmvkPK!kgSWnIl4 z6&SM=gOJ5A`0}i$)}{P*vVbxld1U(_N0qE@?e*2#F2ppOL3em)r1Y<>XxQo94#&KE zVv2CJAxmI^twS3Vk5W0T5qjHX-7_sxJP^cn7Bw~%KS1Hr&&Su<9x>M}tZekFDB~)V zs#s{*j|zQvw*|niA;ElcOs;S5av0eXO2;p{>{@oyIHTJS82w?=Q1&Q+nLRZ8u&=(z&-Z zk+&L@%tHbKBDNsg6J;Jq^8t%QwtH7QmOysQ zn*@uqoU&DGQgK{w{L1S5FlLn`De!pa%>dH1m*_(RhE^6SYJFy$W%V{gUm|s(`Ec@3 zbXgOrNxvdO9K;mbaPt21#l7saiz8^^L0hAqUTQdYB?0+G%LeP?AeZMO-YJe=AW%;@ zDc5-b>MW}T73u1+$L&dpP;Xu@2!dLbZBD2HyF7G}a-nmDI)veT<#(P}Q&q0VMTkHC zdiMqdgm(x|YEz#A1a*qT$8m-c59V17h=Wl=t?Aoj8s0%1dImj9o?rgvx1B-$Nh!LQ s2Lc*s&T3Jmxa)$1oBA#~GYo#C;>MMArJCB#{(n&(|34o6FE(LGE&u=k literal 0 HcmV?d00001 diff --git a/docs/anomaly-detection/components/schema_min_dev_from_expected=0.webp b/docs/anomaly-detection/components/schema_min_dev_from_expected=0.webp new file mode 100644 index 0000000000000000000000000000000000000000..e02ad569a639d4d00c882582c8583527a6cdef32 GIT binary patch literal 30376 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 literal 0 HcmV?d00001 diff --git a/docs/anomaly-detection/components/schema_min_dev_from_expected=1.0.webp b/docs/anomaly-detection/components/schema_min_dev_from_expected=1.0.webp new file mode 100644 index 0000000000000000000000000000000000000000..24b2cfa3ea855a48aa7ab0c001269b02f83ff213 GIT binary patch literal 31086 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 literal 0 HcmV?d00001 diff --git a/docs/anomaly-detection/components/schema_min_dev_from_expected=5.0.webp b/docs/anomaly-detection/components/schema_min_dev_from_expected=5.0.webp new file mode 100644 index 0000000000000000000000000000000000000000..cf4c7ce4de242d00f34e995cab1aafbcf305c854 GIT binary patch literal 32388 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 a_spmEc&lOe9V>l2yzc&w-~Rvn`o91*a%x-v literal 0 HcmV?d00001 diff --git a/docs/anomaly-detection/components/writer.md b/docs/anomaly-detection/components/writer.md index ed0305a0e0..2b46ee75c9 100644 --- a/docs/anomaly-detection/components/writer.md +++ b/docs/anomaly-detection/components/writer.md @@ -31,7 +31,7 @@ Future updates will introduce additional export methods, offering users more fle class - "writer.vm.VmWriter" + "writer.vm.VmWriter" (or "vm" starting from v1.13.0) Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified. @@ -103,7 +103,7 @@ Config example: ```yaml writer: - class: "writer.vm.VmWriter" + class: "vm" # or "writer.vm.VmWriter" until v1.13.0 datasource_url: "http://localhost:8428/" tenant_id: "0:0" metric_format: diff --git a/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md b/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md index cdfd4caf85..1815da2fa4 100644 --- a/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md +++ b/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md @@ -151,14 +151,14 @@ Below is an illustrative example of a `vmanomaly_config.yml` configuration file. ``` yaml schedulers: periodic: - # class: "scheduler.periodic.PeriodicScheduler" + # class: 'periodic' # or "scheduler.periodic.PeriodicScheduler" until v1.13.0 infer_every: "1m" fit_every: "2m" fit_window: "3h" models: prophet: - class: "model.prophet.ProphetModel" + class: "prophet" # or "model.prophet.ProphetModel" until v1.13.0 args: interval_width: 0.98