From d16bd40d5593c2737079518b5ccbf3e5cc06c70b Mon Sep 17 00:00:00 2001 From: oalam Date: Mon, 17 Jun 2019 15:04:20 +0200 Subject: [PATCH 1/7] documentation : add category tag + yaml processors --- .../commonlogs/gitlab/ParseGitlabLog.java | 8 +- .../logisland/processor/AddFields.java | 5 +- .../logisland/processor/ApplyRegexp.java | 12 +- .../processor/ConvertFieldsType.java | 6 +- .../ConvertSimpleDateFormatFields.java | 7 +- .../logisland/processor/DebugStream.java | 7 +- .../logisland/processor/EvaluateJsonPath.java | 6 +- .../logisland/processor/ExpandMapFields.java | 5 +- .../logisland/processor/FilterRecords.java | 15 +- .../hurence/logisland/processor/FlatMap.java | 5 +- .../processor/GenerateRandomRecord.java | 5 +- .../hurence/logisland/processor/ModifyId.java | 6 +- .../logisland/processor/NormalizeFields.java | 7 +- .../logisland/processor/ParseProperties.java | 5 +- .../logisland/processor/RemoveFields.java | 5 +- .../processor/SelectDistinctRecords.java | 5 +- .../hurence/logisland/processor/SendMail.java | 5 +- .../logisland/processor/SetJsonAsFields.java | 5 +- .../logisland/processor/SplitField.java | 6 +- .../logisland/processor/SplitText.java | 7 +- .../processor/SplitTextMultiline.java | 4 + .../processor/SplitTextWithProperties.java | 3 + .../processor/alerting/CheckAlerts.java | 5 +- .../processor/alerting/CheckThresholds.java | 5 +- .../processor/alerting/ComputeTags.java | 5 +- .../processor/datastore/BulkPut.java | 5 +- .../processor/datastore/EnrichRecords.java | 5 +- .../processor/datastore/MultiGet.java | 6 +- .../processor/bro/ParseBroEvent.java | 5 +- .../processor/netflow/ParseNetflowEvent.java | 5 +- .../networkpacket/ParseNetworkPacket.java | 3 + .../elasticsearch/BulkAddElasticsearch.java | 6 +- .../EnrichRecordsElasticsearch.java | 5 +- .../elasticsearch/MultiGetElasticsearch.java | 5 +- .../processor/enrichment/IpToFqdn.java | 5 +- .../processor/enrichment/IpToGeo.java | 5 +- .../processor/excel/ExcelExtract.java | 8 +- .../excel/ExcelExtractProperties.java | 6 +- .../processor/hbase/FetchHBaseRow.java | 5 +- .../processor/hbase/PutHBaseCell.java | 6 +- .../logisland/processor/DetectOutliers.java | 5 +- .../hurence/logisland/processor/MatchIP.java | 6 +- .../logisland/processor/MatchQuery.java | 5 +- .../logisland/processor/SampleRecords.java | 5 +- .../processor/scripting/python/RunPython.java | 7 +- .../main/resources/nltk/sem/cooper_storage.py | 2 +- .../processor/useragent/ParseUserAgent.java | 5 +- .../webAnalytics/ConsolidateSession.java | 5 +- .../webAnalytics/IncrementalWebSession.java | 5 +- ...OfTraffic.java => SetSourceOfTraffic.java} | 15 +- .../processor/webAnalytics/URLDecoder.java | 5 +- .../IncrementalWebSessionTest.java | 3 +- .../webAnalytics/setSourceOfTrafficTest.java | 8 +- .../processor/xml/EvaluateXPath.java | 5 +- .../cassandra/CassandraControllerService.java | 4 + .../Elasticsearch_2_4_0_ClientService.java | 3 + .../Elasticsearch_5_4_0_ClientService.java | 3 + .../Elasticsearch_6_6_2_ClientService.java | 3 + .../hbase/HBase_1_1_2_ClientService.java | 3 + .../influxdb/InfluxDBControllerService.java | 3 + .../cache/CSVKeyValueCacheService.java | 3 + .../cache/LRUKeyValueCacheService.java | 3 + .../maxmind/MaxmindIpToGeoService.java | 3 + .../mongodb/MongoDBControllerService.java | 3 + .../StandardProxyConfigurationService.java | 3 + .../service/RedisKeyValueCacheService.java | 3 + .../service/lookup/RestLookupService.java | 3 + .../solr/Solr_5_5_5_ClientService.java | 3 + .../solr/Solr_6_6_2_ClientService.java | 3 + .../solr/Solr_6_4_2_ChronixClientService.java | 3 + .../annotation/documentation/Category.java | 37 + .../documentation/ComponentCategory.java | 15 + logisland-documentation/components.rst | 2 +- logisland-documentation/pom.xml | 2 + .../logisland/documentation/DocGenerator.java | 1 + .../documentation/DocGeneratorUtils.java | 87 +- .../yaml/YamlDocumentationWriter.java | 392 ++ .../documentation/yaml/YamlPrintWriter.java | 100 + .../user/components/common-processors.rst | 1183 ++-- .../user/components/components.yaml | 678 ++ .../user/components/engines/components.yaml | 24 + .../components/engines/engine-vanilla.yaml | 19 + .../user/components/other-processors.rst | 5552 +++++++++++++++-- .../user/components/services.rst | 3472 ++++++++++- 84 files changed, 10772 insertions(+), 1156 deletions(-) rename logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/{setSourceOfTraffic.java => SetSourceOfTraffic.java} (98%) create mode 100644 logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/Category.java create mode 100644 logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/ComponentCategory.java create mode 100644 logisland-documentation/src/main/java/com/hurence/logisland/documentation/yaml/YamlDocumentationWriter.java create mode 100644 logisland-documentation/src/main/java/com/hurence/logisland/documentation/yaml/YamlPrintWriter.java create mode 100644 logisland-documentation/user/components/components.yaml create mode 100644 logisland-documentation/user/components/engines/components.yaml create mode 100644 logisland-documentation/user/components/engines/engine-vanilla.yaml diff --git a/logisland-components/logisland-processors/logisland-processor-common-logs/src/main/java/com/hurence/logisland/processor/commonlogs/gitlab/ParseGitlabLog.java b/logisland-components/logisland-processors/logisland-processor-common-logs/src/main/java/com/hurence/logisland/processor/commonlogs/gitlab/ParseGitlabLog.java index 71277a8c1..f321f6bd8 100644 --- a/logisland-components/logisland-processors/logisland-processor-common-logs/src/main/java/com/hurence/logisland/processor/commonlogs/gitlab/ParseGitlabLog.java +++ b/logisland-components/logisland-processors/logisland-processor-common-logs/src/main/java/com/hurence/logisland/processor/commonlogs/gitlab/ParseGitlabLog.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.commonlogs.gitlab; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.*; import com.hurence.logisland.record.Field; @@ -37,9 +35,7 @@ import java.util.List; import java.util.Map; -/** - * Gitlab logs processor - */ +@Category(ComponentCategory.PARSING) @Tags({"logs", "gitlab"}) @CapabilityDescription( "The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs." diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/AddFields.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/AddFields.java index d82d35aaa..523db6c7e 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/AddFields.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/AddFields.java @@ -17,9 +17,7 @@ import com.hurence.logisland.annotation.behavior.DynamicProperties; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.component.PropertyValue; @@ -33,6 +31,7 @@ import java.util.*; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "Add"}) @CapabilityDescription("Add one or more field to records") @ExtraDetailFile("./details/common-processors/AddFields-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ApplyRegexp.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ApplyRegexp.java index c83ee4f08..c9ee2863b 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ApplyRegexp.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ApplyRegexp.java @@ -16,27 +16,19 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.SeeAlso; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; -import com.hurence.logisland.record.FieldDictionary; -import com.hurence.logisland.record.FieldType; import com.hurence.logisland.record.Record; -import com.hurence.logisland.record.StandardRecord; -import com.hurence.logisland.util.time.DateUtil; import com.hurence.logisland.validator.StandardValidators; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.ParseException; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; - +@Category(ComponentCategory.PROCESSING) @Tags({"parser", "regex", "log", "record"}) @CapabilityDescription("This processor is used to create a new set of fields from one field (using regexp).") @SeeAlso(value = {ApplyRegexp.class}, classNames = {"com.hurence.logisland.processor.RegexpProcessor"}) diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertFieldsType.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertFieldsType.java index e2d4dcc1a..ff2461c1f 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertFieldsType.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertFieldsType.java @@ -15,11 +15,8 @@ */ package com.hurence.logisland.processor; -import com.google.common.collect.Lists; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Field; import com.hurence.logisland.record.FieldType; @@ -30,6 +27,7 @@ import java.util.*; +@Category(ComponentCategory.PROCESSING) @Tags({"type", "fields", "update", "convert"}) @CapabilityDescription("Converts a field value into the given type. does nothing if conversion is not possible") @DynamicProperty(name = "field", diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertSimpleDateFormatFields.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertSimpleDateFormatFields.java index e5d77a47a..3ea38b652 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertSimpleDateFormatFields.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ConvertSimpleDateFormatFields.java @@ -16,22 +16,19 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; -import com.hurence.logisland.record.Field; import com.hurence.logisland.record.FieldType; import com.hurence.logisland.record.Record; import com.hurence.logisland.validator.StandardValidators; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "Add"}) @CapabilityDescription("Convert one or more field representing a date into a Unix Epoch Time (time in milliseconds since &st January 1970, 00:00:00 GMT)...") @DynamicProperty(name = "field name to add", diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/DebugStream.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/DebugStream.java index c59a161f6..5bfabbc72 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/DebugStream.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/DebugStream.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Record; @@ -25,8 +23,6 @@ import com.hurence.logisland.serializer.RecordSerializer; import com.hurence.logisland.serializer.StringSerializer; import com.hurence.logisland.validator.StandardValidators; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -37,6 +33,7 @@ import java.util.Collections; import java.util.List; +@Category(ComponentCategory.UTILS) @Tags({"record", "debug"}) @CapabilityDescription("This is a processor that logs incoming records") @ExtraDetailFile("./details/common-processors/DebugStream-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/EvaluateJsonPath.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/EvaluateJsonPath.java index f15a139ed..f7b502239 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/EvaluateJsonPath.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/EvaluateJsonPath.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldDictionary; import com.hurence.logisland.record.FieldType; @@ -38,7 +36,7 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicReference; - +@Category(ComponentCategory.PARSING) @Tags({"JSON", "evaluate", "JsonPath"}) @CapabilityDescription("Evaluates one or more JsonPath expressions against the content of a FlowFile. " + "The results of those expressions are assigned to Records Fields " diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ExpandMapFields.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ExpandMapFields.java index 7ece668a9..0b636dc6a 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ExpandMapFields.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ExpandMapFields.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Field; @@ -29,6 +27,7 @@ import java.util.*; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "Expand", "Map"}) @CapabilityDescription("Expands the content of a MAP field to the root.") @ExtraDetailFile("./details/common-processors/ExpandMapFields-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FilterRecords.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FilterRecords.java index b7f36fb9c..344bd5f27 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FilterRecords.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FilterRecords.java @@ -1,12 +1,12 @@ /** * Copyright (C) 2016 Hurence (support@hurence.com) - * + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,13 +15,9 @@ */ package com.hurence.logisland.processor; -import com.google.common.collect.Lists; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldDictionary; -import com.hurence.logisland.record.FieldType; import com.hurence.logisland.record.Record; import com.hurence.logisland.validator.StandardValidators; import org.slf4j.Logger; @@ -33,6 +29,7 @@ import java.util.function.Predicate; import java.util.stream.Collectors; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "remove", "delete"}) @CapabilityDescription("Keep only records based on a given field value") @ExtraDetailFile("./details/common-processors/FilterRecords-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FlatMap.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FlatMap.java index ee2aaf920..069845719 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FlatMap.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/FlatMap.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.*; import com.hurence.logisland.validator.StandardValidators; @@ -25,6 +23,7 @@ import java.util.*; import java.util.stream.Collectors; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "flatmap", "flatten"}) @CapabilityDescription("Converts each field records into a single flatten record...") @ExtraDetailFile("./details/common-processors/FlatMap-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/GenerateRandomRecord.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/GenerateRandomRecord.java index dc1ff8728..a42272c73 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/GenerateRandomRecord.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/GenerateRandomRecord.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Record; import com.hurence.logisland.util.avro.eventgenerator.DataGenerator; @@ -31,6 +29,7 @@ import java.util.Collections; import java.util.List; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "avro", "generator"}) @CapabilityDescription("This is a processor that make random records given an Avro schema") @ExtraDetailFile("./details/common-processors/GenerateRandomRecord-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ModifyId.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ModifyId.java index 5d69ce177..79d31e60e 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ModifyId.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ModifyId.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor; import com.google.common.collect.Lists; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldDictionary; @@ -27,7 +25,6 @@ import com.hurence.logisland.validator.ValidationContext; import com.hurence.logisland.validator.ValidationResult; import org.apache.commons.codec.binary.Hex; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,6 +33,7 @@ import java.security.NoSuchAlgorithmException; import java.util.*; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "id", "idempotent", "generate", "modify"}) @CapabilityDescription("modify id of records or generate it following defined rules") @ExtraDetailFile("./details/common-processors/ModifyId-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/NormalizeFields.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/NormalizeFields.java index 3542a4943..29e534be5 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/NormalizeFields.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/NormalizeFields.java @@ -16,19 +16,16 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Field; import com.hurence.logisland.record.Record; import com.hurence.logisland.validator.StandardValidators; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.*; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "normalizer"}) @CapabilityDescription("Changes the name of a field according to a provided name mapping...") @DynamicProperty(name = "alternative mapping", diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ParseProperties.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ParseProperties.java index 4ef1e8339..00b511796 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ParseProperties.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/ParseProperties.java @@ -17,9 +17,7 @@ import com.google.common.collect.Lists; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Field; import com.hurence.logisland.record.FieldType; @@ -33,6 +31,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +@Category(ComponentCategory.PARSING) @Tags({"record", "properties", "parser"}) @CapabilityDescription("Parse a field made of key=value fields separated by spaces\n" + "a string like \"a=1 b=2 c=3\" will add a,b & c fields, respectively with values 1,2 & 3 to the current Record") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/RemoveFields.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/RemoveFields.java index 7cd79eccf..678826a2c 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/RemoveFields.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/RemoveFields.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor; import com.google.common.collect.Lists; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.component.PropertyValue; import com.hurence.logisland.record.FieldDictionary; @@ -34,6 +32,7 @@ import java.util.Collections; import java.util.List; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "remove", "delete", "keep"}) @CapabilityDescription("Removes a list of fields defined by a comma separated list of field names or keeps only fields " + "defined by a comma separated list of field names.") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SelectDistinctRecords.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SelectDistinctRecords.java index c62cd65a6..aa4fb0c39 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SelectDistinctRecords.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SelectDistinctRecords.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor; import com.google.common.collect.Lists; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldDictionary; import com.hurence.logisland.record.Record; @@ -35,6 +33,7 @@ import java.util.function.Predicate; import java.util.stream.Collectors; +@Category(ComponentCategory.PROCESSING) @Tags({"record", "fields", "remove", "delete"}) @CapabilityDescription("Keep only distinct records based on a given field") @ExtraDetailFile("./details/common-processors/SelectDistinctRecords-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SendMail.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SendMail.java index 5e3325bcd..72d4a214d 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SendMail.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SendMail.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.*; import com.hurence.logisland.record.Field; @@ -64,6 +62,7 @@ * and the format of src attribute in the img html tag should be like: * Spectacular Image */ +@Category(ComponentCategory.ALERTING) @Tags({"smtp", "email", "e-mail", "mail", "mailer", "sendmail", "message", "alert", "html"}) @CapabilityDescription( "The SendMail processor is aimed at sending an email (like for instance an alert email) from an incoming record." diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SetJsonAsFields.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SetJsonAsFields.java index 9a2c34d7e..fc04c5e02 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SetJsonAsFields.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SetJsonAsFields.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Field; import com.hurence.logisland.record.FieldDictionary; @@ -30,6 +28,7 @@ import java.util.*; +@Category(ComponentCategory.PARSING) @Tags({"json"}) @CapabilityDescription( "The SetJsonAsFields processor reads the content of a string field containing a json string and sets each " + diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitField.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitField.java index 7d7fbdd7f..ad1271078 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitField.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitField.java @@ -16,10 +16,7 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.SeeAlso; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldType; @@ -32,6 +29,7 @@ import java.util.regex.Pattern; +@Category(ComponentCategory.PARSING) @Tags({"parser", "split", "log", "record"}) @CapabilityDescription("This processor is used to create a new set of fields from one field (using split).") @SeeAlso(value = {SplitField.class}, classNames = {"com.hurence.logisland.processor.SplitField"}) diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitText.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitText.java index 146924028..5c8e4be63 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitText.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitText.java @@ -16,10 +16,7 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.SeeAlso; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldDictionary; import com.hurence.logisland.record.FieldType; @@ -37,7 +34,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; - +@Category(ComponentCategory.PARSING) @Tags({"parser", "regex", "log", "record"}) @CapabilityDescription("This is a processor that is used to split a String into fields according to a given Record mapping") @SeeAlso(value = {SplitTextMultiline.class}, classNames = {"com.hurence.logisland.processor.SplitTextMultiline"}) diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextMultiline.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextMultiline.java index dc233ab66..c17eeca17 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextMultiline.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextMultiline.java @@ -15,6 +15,8 @@ */ package com.hurence.logisland.processor; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.ExtraDetailFile; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldDictionary; @@ -31,6 +33,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; + +@Category(ComponentCategory.PARSING) @ExtraDetailFile("./details/common-processors/SplitTextMultiline-Detail.rst") public class SplitTextMultiline extends AbstractProcessor { diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextWithProperties.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextWithProperties.java index 3f6057220..4c70f6ea8 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextWithProperties.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/SplitTextWithProperties.java @@ -15,6 +15,8 @@ */ package com.hurence.logisland.processor; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.ExtraDetailFile; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Field; @@ -30,6 +32,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +@Category(ComponentCategory.PARSING) @ExtraDetailFile("./details/common-processors/SplitTextWithProperties-Detail.rst") public class SplitTextWithProperties extends SplitText { diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckAlerts.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckAlerts.java index 7191b6b6b..8383fb4fb 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckAlerts.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckAlerts.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.alerting; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.record.FieldDictionary; @@ -32,6 +30,7 @@ import javax.script.ScriptException; import java.util.*; +@Category(ComponentCategory.ALERTING) @Tags({"record", "alerting", "thresholds", "opc", "tag"}) @CapabilityDescription("Add one or more records representing alerts. Using a datastore.") @ExtraDetailFile("./details/common-processors/CheckAlerts-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckThresholds.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckThresholds.java index 707fd3337..badb956e0 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckThresholds.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/CheckThresholds.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.alerting; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.record.*; @@ -29,6 +27,7 @@ import javax.script.ScriptException; import java.util.*; +@Category(ComponentCategory.ALERTING) @Tags({"record", "threshold", "tag", "alerting"}) @CapabilityDescription("Compute threshold cross from given formulas.\n\n" + "- each dynamic property will return a new record according to the formula definition\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/ComputeTags.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/ComputeTags.java index 717da5aaa..e771971da 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/ComputeTags.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/alerting/ComputeTags.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.alerting; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.record.FieldDictionary; @@ -34,6 +32,7 @@ import java.util.List; import java.util.Map; +@Category(ComponentCategory.ENRICHMENT) @Tags({"record", "fields", "Add"}) @CapabilityDescription("Compute tag cross from given formulas.\n\n" + "- each dynamic property will return a new record according to the formula definition\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/BulkPut.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/BulkPut.java index 49fdb0e8c..626600aa4 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/BulkPut.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/BulkPut.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.datastore; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; @@ -30,6 +28,7 @@ import java.text.SimpleDateFormat; import java.util.*; +@Category(ComponentCategory.DATASTORE) @Tags({"datastore", "record", "put", "bulk"}) @CapabilityDescription("Indexes the content of a Record in a Datastore using bulk processor") @ExtraDetailFile("./details/common-processors/BulkPut-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/EnrichRecords.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/EnrichRecords.java index 45197a381..003c0e4cd 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/EnrichRecords.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/EnrichRecords.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.datastore; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.record.FieldDictionary; @@ -36,6 +34,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; +@Category(ComponentCategory.ENRICHMENT) @Tags({"datastore", "enricher"}) @CapabilityDescription("Enrich input records with content indexed in datastore using multiget queries.\n" + "Each incoming record must be possibly enriched with information stored in datastore. \n" + diff --git a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/MultiGet.java b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/MultiGet.java index 42ea6709b..d80869d6e 100644 --- a/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/MultiGet.java +++ b/logisland-components/logisland-processors/logisland-processor-common/src/main/java/com/hurence/logisland/processor/datastore/MultiGet.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.datastore; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.processor.ProcessError; @@ -32,6 +30,8 @@ import java.util.*; + +@Category(ComponentCategory.DATASTORE) @Tags({"datastore","get", "multiget"}) @CapabilityDescription("Retrieves a content from datastore using datastore multiget queries.\n" + "Each incoming record contains information regarding the datastore multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) :\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/bro/ParseBroEvent.java b/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/bro/ParseBroEvent.java index 870ca535d..1c05a19c3 100644 --- a/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/bro/ParseBroEvent.java +++ b/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/bro/ParseBroEvent.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.bro; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.*; import com.hurence.logisland.record.Field; @@ -40,6 +38,7 @@ /** * Bro (https://www.bro.org/) processor */ +@Category(ComponentCategory.SECURITY) @Tags({"bro", "security", "IDS", "NIDS"}) @CapabilityDescription( "The ParseBroEvent processor is the Logisland entry point to get and process `Bro `_ events." diff --git a/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/netflow/ParseNetflowEvent.java b/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/netflow/ParseNetflowEvent.java index 5c16b7a2f..22ed01f8e 100644 --- a/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/netflow/ParseNetflowEvent.java +++ b/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/netflow/ParseNetflowEvent.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.netflow; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.AbstractProcessor; import com.hurence.logisland.processor.ProcessContext; @@ -34,6 +32,7 @@ /** * Netflow (http://www.cisco.com/c/en/us/td/docs/ios/solutions_docs/netflow/nfwhite.html) processor */ +@Category(ComponentCategory.SECURITY) @Tags({"netflow", "security"}) @CapabilityDescription( "The `Netflow V5 `_ processor " diff --git a/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/networkpacket/ParseNetworkPacket.java b/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/networkpacket/ParseNetworkPacket.java index d73bb9c94..978a2036f 100644 --- a/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/networkpacket/ParseNetworkPacket.java +++ b/logisland-components/logisland-processors/logisland-processor-cyber-security/src/main/java/com/hurence/logisland/processor/networkpacket/ParseNetworkPacket.java @@ -16,6 +16,8 @@ package com.hurence.logisland.processor.networkpacket; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.AbstractProcessor; @@ -42,6 +44,7 @@ /** * PCap processor */ +@Category(ComponentCategory.SECURITY) @Tags({"PCap", "security", "IDS", "NIDS"}) @CapabilityDescription( "The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). " diff --git a/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/BulkAddElasticsearch.java b/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/BulkAddElasticsearch.java index 4dbbef12e..2d9bb21b0 100644 --- a/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/BulkAddElasticsearch.java +++ b/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/BulkAddElasticsearch.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.elasticsearch; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; @@ -30,6 +28,8 @@ import java.text.SimpleDateFormat; import java.util.*; + +@Category(ComponentCategory.DATASTORE) @Tags({"elasticsearch"}) @CapabilityDescription("Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor") @ExtraDetailFile("./details/BulkAddElasticsearch-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/EnrichRecordsElasticsearch.java b/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/EnrichRecordsElasticsearch.java index 975566ad1..6e047a31b 100644 --- a/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/EnrichRecordsElasticsearch.java +++ b/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/EnrichRecordsElasticsearch.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.elasticsearch; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.processor.ProcessError; @@ -38,6 +36,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; +@Category(ComponentCategory.ENRICHMENT) @Tags({"elasticsearch"}) @CapabilityDescription("Enrich input records with content indexed in elasticsearch using multiget queries.\n" + "Each incoming record must be possibly enriched with information stored in elasticsearch. \n" + diff --git a/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/MultiGetElasticsearch.java b/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/MultiGetElasticsearch.java index 1a9c681ae..67b86601a 100644 --- a/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/MultiGetElasticsearch.java +++ b/logisland-components/logisland-processors/logisland-processor-elasticsearch/src/main/java/com/hurence/logisland/processor/elasticsearch/MultiGetElasticsearch.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.elasticsearch; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.processor.ProcessError; @@ -30,6 +28,7 @@ import java.util.*; +@Category(ComponentCategory.DATASTORE) @Tags({"elasticsearch"}) @CapabilityDescription("Retrieves a content indexed in elasticsearch using elasticsearch multiget queries.\n" + "Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) :\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToFqdn.java b/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToFqdn.java index ea57f53c9..b94ab8d2a 100644 --- a/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToFqdn.java +++ b/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToFqdn.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.enrichment; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.classloading.PluginProxy; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.logging.ComponentLog; @@ -40,6 +38,7 @@ * An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the * IP address. */ +@Category(ComponentCategory.ENRICHMENT) @Tags({"dns", "ip", "fqdn", "domain", "address", "fqhn", "reverse", "resolution", "enrich"}) @CapabilityDescription("Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the" + " record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The" + diff --git a/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToGeo.java b/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToGeo.java index bc11bfa98..6a2f12add 100644 --- a/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToGeo.java +++ b/logisland-components/logisland-processors/logisland-processor-enrichment/src/main/java/com/hurence/logisland/processor/enrichment/IpToGeo.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.enrichment; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.classloading.PluginProxy; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.component.PropertyValue; @@ -34,6 +32,7 @@ import static com.hurence.logisland.service.iptogeo.IpToGeoService.*; +@Category(ComponentCategory.ENRICHMENT) @Tags({"geo", "enrich", "ip"}) @CapabilityDescription("Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **" + IpAbstractProcessor.PROP_IP_ADDRESS_FIELD + "** property. By default, the geo information are put in a hierarchical structure. " + diff --git a/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtract.java b/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtract.java index 904bb0901..cb51e62bd 100644 --- a/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtract.java +++ b/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtract.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.excel; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.AbstractProcessor; import com.hurence.logisland.processor.ProcessContext; @@ -41,9 +39,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -/** - * Consumes a Microsoft Excel document and converts each spreadsheet row to a {@link Record}. - */ +@Category(ComponentCategory.PARSING) @Tags({"excel", "processor", "poi"}) @CapabilityDescription("Consumes a Microsoft Excel document and converts each worksheet's line to a structured " + "record. The processor is assuming to receive raw excel file as input record.") diff --git a/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtractProperties.java b/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtractProperties.java index eb48daf46..3460af3b9 100644 --- a/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtractProperties.java +++ b/logisland-components/logisland-processors/logisland-processor-excel/src/main/java/com/hurence/logisland/processor/excel/ExcelExtractProperties.java @@ -15,6 +15,8 @@ */ package com.hurence.logisland.processor.excel; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.validator.StandardValidators; @@ -26,9 +28,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; -/** - * Common options for {@link ExcelExtract} processor. - */ +@Category(ComponentCategory.PARSING) public class ExcelExtractProperties implements Serializable { public static final PropertyDescriptor RECORD_TYPE = new PropertyDescriptor.Builder() diff --git a/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/FetchHBaseRow.java b/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/FetchHBaseRow.java index 3acf08b8d..99e47e5db 100644 --- a/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/FetchHBaseRow.java +++ b/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/FetchHBaseRow.java @@ -17,9 +17,7 @@ import com.hurence.logisland.annotation.behavior.WritesAttribute; import com.hurence.logisland.annotation.behavior.WritesAttributes; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.classloading.PluginProxy; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; @@ -43,6 +41,7 @@ import java.util.*; import java.util.regex.Pattern; +@Category(ComponentCategory.DATASTORE) @Tags({"hbase", "scan", "fetch", "get", "enrich"}) @CapabilityDescription("Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, " + "or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the " + diff --git a/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/PutHBaseCell.java b/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/PutHBaseCell.java index d72fba81d..c2cf6cd4f 100644 --- a/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/PutHBaseCell.java +++ b/logisland-components/logisland-processors/logisland-processor-hbase/src/main/java/com/hurence/logisland/processor/hbase/PutHBaseCell.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.hbase; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.ProcessContext; import com.hurence.logisland.service.hbase.put.PutColumn; @@ -35,7 +33,7 @@ import java.util.Collections; import java.util.List; - +@Category(ComponentCategory.DATASTORE) @Tags({"hadoop", "hbase"}) @CapabilityDescription("Adds the Contents of a Record to HBase as the value of a single cell") @ExtraDetailFile("./details/PutHBaseCell-Detail.rst") diff --git a/logisland-components/logisland-processors/logisland-processor-outlier-detection/src/main/java/com/hurence/logisland/processor/DetectOutliers.java b/logisland-components/logisland-processors/logisland-processor-outlier-detection/src/main/java/com/hurence/logisland/processor/DetectOutliers.java index 3e5229527..41c0d0a3a 100644 --- a/logisland-components/logisland-processors/logisland-processor-outlier-detection/src/main/java/com/hurence/logisland/processor/DetectOutliers.java +++ b/logisland-components/logisland-processors/logisland-processor-outlier-detection/src/main/java/com/hurence/logisland/processor/DetectOutliers.java @@ -26,9 +26,7 @@ import com.caseystella.analytics.outlier.streaming.OutlierConfig; import com.caseystella.analytics.outlier.streaming.mad.SketchyMovingMAD; import com.hurence.logisland.annotation.behavior.Stateful; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.validator.ValidationContext; import com.hurence.logisland.validator.ValidationResult; @@ -43,6 +41,7 @@ import java.util.*; +@Category(ComponentCategory.ANALYTICS) @Stateful @Tags({"analytic", "outlier", "record", "iot", "timeseries"}) @CapabilityDescription("Outlier Analysis: A Hybrid Approach\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchIP.java b/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchIP.java index 3437da9e5..a3ca151a8 100644 --- a/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchIP.java +++ b/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchIP.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Record; import com.hurence.logisland.validator.StandardValidators; @@ -40,6 +38,8 @@ import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; + +@Category(ComponentCategory.ALERTING) @Tags({"analytic", "percolator", "record", "record", "query", "lucene"}) @CapabilityDescription("IP address Query matching (using `Luwak )`_\n\n" + "You can use this processor to handle custom events matching IP address (CIDR)\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchQuery.java b/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchQuery.java index 341b2ae99..b286f5e16 100644 --- a/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchQuery.java +++ b/logisland-components/logisland-processors/logisland-processor-querymatcher/src/main/java/com/hurence/logisland/processor/MatchQuery.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.Record; import com.hurence.logisland.validator.StandardValidators; @@ -37,6 +35,7 @@ import java.util.*; +@Category(ComponentCategory.ALERTING) @Tags({"analytic", "percolator", "record", "record", "query", "lucene"}) @CapabilityDescription("Query matching based on `Luwak `_\n\n" + "you can use this processor to handle custom events defined by lucene queries\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-sampling/src/main/java/com/hurence/logisland/processor/SampleRecords.java b/logisland-components/logisland-processors/logisland-processor-sampling/src/main/java/com/hurence/logisland/processor/SampleRecords.java index 7b330b7e7..b1a570c2e 100644 --- a/logisland-components/logisland-processors/logisland-processor-sampling/src/main/java/com/hurence/logisland/processor/SampleRecords.java +++ b/logisland-components/logisland-processors/logisland-processor-sampling/src/main/java/com/hurence/logisland/processor/SampleRecords.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.record.FieldDictionary; @@ -37,6 +35,7 @@ import java.util.stream.Collectors; +@Category(ComponentCategory.TIMESERIES) @Tags({"analytic", "sampler", "record", "iot", "timeseries"}) @CapabilityDescription("Query matching based on `Luwak `_\n\n" + "you can use this processor to handle custom events defined by lucene queries\n" + diff --git a/logisland-components/logisland-processors/logisland-processor-scripting/src/main/java/com/hurence/logisland/processor/scripting/python/RunPython.java b/logisland-components/logisland-processors/logisland-processor-scripting/src/main/java/com/hurence/logisland/processor/scripting/python/RunPython.java index 7a3b99052..e2d2a373c 100644 --- a/logisland-components/logisland-processors/logisland-processor-scripting/src/main/java/com/hurence/logisland/processor/scripting/python/RunPython.java +++ b/logisland-components/logisland-processors/logisland-processor-scripting/src/main/java/com/hurence/logisland/processor/scripting/python/RunPython.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.scripting.python; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.*; import com.hurence.logisland.record.Record; @@ -52,9 +50,10 @@ * - doc for tutorial (inline?, file? , both?) */ +@Category(ComponentCategory.PROCESSING) @Tags({"scripting", "python"}) @CapabilityDescription( - " !!!! WARNING !!!!\n\nThe RunPython processor is currently an experimental feature : it is delivered as is, with the" + "!!!! WARNING !!!!\n\nThe RunPython processor is currently an experimental feature : it is delivered as is, with the" + " current set of features and is subject to modifications in API or anything else in further logisland releases" + " without warnings. There is no tutorial yet. If you want to play with this processor, use the python-processing.yml" + " example and send the apache logs of the index apache logs tutorial. The debug stream processor at the end" diff --git a/logisland-components/logisland-processors/logisland-processor-scripting/src/main/resources/nltk/sem/cooper_storage.py b/logisland-components/logisland-processors/logisland-processor-scripting/src/main/resources/nltk/sem/cooper_storage.py index 3a1878ea6..5042d16ef 100644 --- a/logisland-components/logisland-processors/logisland-processor-scripting/src/main/resources/nltk/sem/cooper_storage.py +++ b/logisland-components/logisland-processors/logisland-processor-scripting/src/main/resources/nltk/sem/cooper_storage.py @@ -24,7 +24,7 @@ def __init__(self, featstruct): self.featstruct = featstruct self.readings = [] try: - self.core = featstruct['CORE'] + self.core = featstruct['UTILS'] self.store = featstruct['STORE'] except KeyError: print("%s is not a Cooper storage structure" % featstruct) diff --git a/logisland-components/logisland-processors/logisland-processor-useragent/src/main/java/com/hurence/logisland/processor/useragent/ParseUserAgent.java b/logisland-components/logisland-processors/logisland-processor-useragent/src/main/java/com/hurence/logisland/processor/useragent/ParseUserAgent.java index d2b5cb000..2cfa900d6 100644 --- a/logisland-components/logisland-processors/logisland-processor-useragent/src/main/java/com/hurence/logisland/processor/useragent/ParseUserAgent.java +++ b/logisland-components/logisland-processors/logisland-processor-useragent/src/main/java/com/hurence/logisland/processor/useragent/ParseUserAgent.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.useragent; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.classloading.PluginLoader; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.*; @@ -41,6 +39,7 @@ /** * HTTP user-agent processor */ +@Category(ComponentCategory.ENRICHMENT) @Tags({"User-Agent", "clickstream", "DMP"}) @CapabilityDescription( "The user-agent processor allows to decompose User-Agent value from an HTTP header into several attributes of interest." diff --git a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/ConsolidateSession.java b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/ConsolidateSession.java index da53debc7..47c4b9e44 100644 --- a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/ConsolidateSession.java +++ b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/ConsolidateSession.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.webAnalytics; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.*; import com.hurence.logisland.record.*; @@ -33,6 +31,7 @@ /** * Consolidate session processor */ +@Category(ComponentCategory.ANALYTICS) @Tags({"analytics", "web", "session"}) @CapabilityDescription( value = "The ConsolidateSession processor is the Logisland entry point to get and process events from the Web Analytics." diff --git a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSession.java b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSession.java index a2f625ea6..eebf08a08 100644 --- a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSession.java +++ b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSession.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.webAnalytics; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.classloading.PluginProxy; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.AbstractProcessor; @@ -57,6 +55,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; +@Category(ComponentCategory.ANALYTICS) @Tags({"analytics", "web", "session"}) @CapabilityDescription( value = "This processor creates and updates web-sessions based on incoming web-events." + diff --git a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/setSourceOfTraffic.java b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/SetSourceOfTraffic.java similarity index 98% rename from logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/setSourceOfTraffic.java rename to logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/SetSourceOfTraffic.java index e4b8fdc11..84d126d8a 100644 --- a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/setSourceOfTraffic.java +++ b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/SetSourceOfTraffic.java @@ -15,9 +15,7 @@ */ package com.hurence.logisland.processor.webAnalytics; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.classloading.PluginProxy; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.AbstractProcessor; @@ -40,8 +38,9 @@ import java.util.*; import java.util.regex.Pattern; -import static com.hurence.logisland.processor.webAnalytics.setSourceOfTraffic.*; +import static com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic.*; +@Category(ComponentCategory.ANALYTICS) @Tags({"session", "traffic", "source", "web", "analytics"}) @CapabilityDescription("Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, \n" + "including advertising/paying campaigns, search engines, social networks, referring sites or direct access. \n" + @@ -50,13 +49,13 @@ "i-e: **" + PROP_UTM_SOURCE + "**, **" + PROP_UTM_MEDIUM + "**, **" + PROP_UTM_CAMPAIGN + "**, **" + PROP_UTM_CONTENT + "**, **" + PROP_UTM_TERM + "**)\n" + ", the referer (**" + PROP_REFERER + "** property) and the first visited page of the session (**" + PROP_FIRST_VISITED_PAGE + "** property).\n" + "By default the source of traffic information are placed in a flat structure (specified by the **" + PROP_SOURCE_OF_TRAFFIC_SUFFIX + "** property\n" + - "with a default value of " + SOURCE_OF_TRAFFIC_SUFFIX_NAME + "). To work properly the setSourceOfTraffic processor needs to have access to an \n" + + "with a default value of " + SOURCE_OF_TRAFFIC_SUFFIX_NAME + "). To work properly the SetSourceOfTraffic processor needs to have access to an \n" + "Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **" + PROP_ES_INDEX + "** property) " + "should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field " + "(default being " + SEARCH_ENGINE_SITE + ") specified by the property **" + PROP_ES_SEARCH_ENGINE + "** with a value set to true. If the domain is a social network " + ", the related ES doc MUST have a boolean field (default being " + SOCIAL_NETWORK_SITE + ") specified by the property **" + PROP_ES_SOCIAL_NETWORK + "** with a value set to true. ") -@ExtraDetailFile("./details/setSourceOfTraffic-Detail.rst") -public class setSourceOfTraffic extends AbstractProcessor { +@ExtraDetailFile("./details/SetSourceOfTraffic-Detail.rst") +public class SetSourceOfTraffic extends AbstractProcessor { protected static final String PROP_ES_INDEX = "es.index"; private static final String PROP_ES_TYPE = "es.type"; @@ -574,7 +573,7 @@ private boolean has_domain_flag(String domain, String flag, ProcessContext conte /** * Attempt to find domain related info from the cache */ - setSourceOfTraffic.CacheEntry cacheEntry = null; + SetSourceOfTraffic.CacheEntry cacheEntry = null; try { cacheEntry = cacheService.get(domain); } catch (Exception e) { diff --git a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/URLDecoder.java b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/URLDecoder.java index b762173ae..3162d93ce 100644 --- a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/URLDecoder.java +++ b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/main/java/com/hurence/logisland/processor/webAnalytics/URLDecoder.java @@ -16,9 +16,7 @@ package com.hurence.logisland.processor.webAnalytics; import com.hurence.logisland.annotation.behavior.DynamicProperty; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.processor.AbstractProcessor; import com.hurence.logisland.processor.ProcessContext; @@ -31,6 +29,7 @@ import java.io.UnsupportedEncodingException; import java.util.*; +@Category(ComponentCategory.ANALYTICS) @Tags({"record", "fields", "Decode"}) @CapabilityDescription("Decode one or more field containing an URL with possibly special chars encoded\n" + "...") diff --git a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSessionTest.java b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSessionTest.java index 8af489fdb..d13c1a66c 100644 --- a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSessionTest.java +++ b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/IncrementalWebSessionTest.java @@ -37,7 +37,6 @@ import javax.management.MalformedObjectNameException; import javax.management.ObjectName; -import java.io.IOException; import java.text.SimpleDateFormat; import java.time.Duration; import java.time.Instant; @@ -1054,7 +1053,7 @@ private TestRunner newTestRunner() runner.addControllerService("elasticsearchClient", elasticsearchClient); runner.enableControllerService(elasticsearchClient); - runner.setProperty(setSourceOfTraffic.ELASTICSEARCH_CLIENT_SERVICE, "elasticsearchClient"); + runner.setProperty(SetSourceOfTraffic.ELASTICSEARCH_CLIENT_SERVICE, "elasticsearchClient"); runner.setProperty(IncrementalWebSession.ES_SESSION_INDEX_FIELD, SESSION_INDEX); runner.setProperty(IncrementalWebSession.ES_SESSION_TYPE_NAME, SESSION_TYPE); diff --git a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/setSourceOfTrafficTest.java b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/setSourceOfTrafficTest.java index d3f647cb4..5aa176deb 100644 --- a/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/setSourceOfTrafficTest.java +++ b/logisland-components/logisland-processors/logisland-processor-web-analytics/src/test/java/com/hurence/logisland/processor/webAnalytics/setSourceOfTrafficTest.java @@ -27,7 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static com.hurence.logisland.processor.webAnalytics.setSourceOfTraffic.ES_INDEX_FIELD; +import static com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic.ES_INDEX_FIELD; public class setSourceOfTrafficTest { @@ -310,18 +310,18 @@ public void testAdwordsReferer() throws InitializationException { private TestRunner getTestRunner() throws InitializationException { - final TestRunner runner = TestRunners.newTestRunner("com.hurence.logisland.processor.webAnalytics.setSourceOfTraffic"); + final TestRunner runner = TestRunners.newTestRunner("com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic"); // create the controller service and link it to the test processor final MockElasticsearchClientService elasticsearchClient = new MockElasticsearchClientService(); runner.addControllerService("elasticsearchClient", elasticsearchClient); runner.enableControllerService(elasticsearchClient); - runner.setProperty(setSourceOfTraffic.ELASTICSEARCH_CLIENT_SERVICE, "elasticsearchClient"); + runner.setProperty(SetSourceOfTraffic.ELASTICSEARCH_CLIENT_SERVICE, "elasticsearchClient"); final MockCacheService cacheService = new MockCacheService(); runner.addControllerService("cacheService", cacheService); runner.enableControllerService(cacheService); - runner.setProperty(setSourceOfTraffic.CONFIG_CACHE_SERVICE, "cacheService"); + runner.setProperty(SetSourceOfTraffic.CONFIG_CACHE_SERVICE, "cacheService"); runner.setProperty(ES_INDEX_FIELD.getName(), "index1"); diff --git a/logisland-components/logisland-processors/logisland-processor-xml/src/main/java/com/hurence/logisland/processor/xml/EvaluateXPath.java b/logisland-components/logisland-processors/logisland-processor-xml/src/main/java/com/hurence/logisland/processor/xml/EvaluateXPath.java index ed36811d1..010afca1e 100644 --- a/logisland-components/logisland-processors/logisland-processor-xml/src/main/java/com/hurence/logisland/processor/xml/EvaluateXPath.java +++ b/logisland-components/logisland-processors/logisland-processor-xml/src/main/java/com/hurence/logisland/processor/xml/EvaluateXPath.java @@ -17,9 +17,7 @@ import com.hurence.logisland.annotation.behavior.DynamicProperty; import com.hurence.logisland.annotation.behavior.WritesAttribute; -import com.hurence.logisland.annotation.documentation.CapabilityDescription; -import com.hurence.logisland.annotation.documentation.ExtraDetailFile; -import com.hurence.logisland.annotation.documentation.Tags; +import com.hurence.logisland.annotation.documentation.*; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.PropertyDescriptor; import com.hurence.logisland.logging.ComponentLog; @@ -53,6 +51,7 @@ import static javax.xml.xpath.XPathConstants.STRING; +@Category(ComponentCategory.PARSING) @Tags({"XML", "evaluate", "XPath"}) @CapabilityDescription("Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to " + "new attributes in the records, depending on configuration of the " diff --git a/logisland-components/logisland-services/logisland-service-cassandra/logisland-service-cassandra-client/src/main/java/com/hurence/logisland/service/cassandra/CassandraControllerService.java b/logisland-components/logisland-services/logisland-service-cassandra/logisland-service-cassandra-client/src/main/java/com/hurence/logisland/service/cassandra/CassandraControllerService.java index 1c7eddc0c..304f631ca 100644 --- a/logisland-components/logisland-services/logisland-service-cassandra/logisland-service-cassandra-client/src/main/java/com/hurence/logisland/service/cassandra/CassandraControllerService.java +++ b/logisland-components/logisland-services/logisland-service-cassandra/logisland-service-cassandra-client/src/main/java/com/hurence/logisland/service/cassandra/CassandraControllerService.java @@ -18,6 +18,8 @@ import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Session; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnStopped; @@ -36,6 +38,8 @@ import java.util.*; import java.util.concurrent.*; + +@Category(ComponentCategory.DATASTORE) @Tags({"cassandra", "service"}) @CapabilityDescription( "Provides a controller service that for the moment only allows to bulkput records into cassandra." diff --git a/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_2_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_2_4_0_ClientService.java b/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_2_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_2_4_0_ClientService.java index 632204aac..39c301057 100644 --- a/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_2_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_2_4_0_ClientService.java +++ b/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_2_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_2_4_0_ClientService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.elasticsearch; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnEnabled; @@ -70,6 +72,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +@Category(ComponentCategory.DATASTORE) @Tags({ "elasticsearch", "client"}) @CapabilityDescription("Implementation of ElasticsearchClientService for Elasticsearch 2.4.0.") public class Elasticsearch_2_4_0_ClientService extends AbstractControllerService implements ElasticsearchClientService { diff --git a/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_5_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_5_4_0_ClientService.java b/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_5_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_5_4_0_ClientService.java index f8e341e0a..5e9240353 100644 --- a/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_5_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_5_4_0_ClientService.java +++ b/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_5_4_0-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_5_4_0_ClientService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.elasticsearch; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnEnabled; @@ -74,6 +76,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +@Category(ComponentCategory.DATASTORE) @Tags({ "elasticsearch", "client"}) @CapabilityDescription("Implementation of ElasticsearchClientService for Elasticsearch 5.4.0.") public class Elasticsearch_5_4_0_ClientService extends AbstractControllerService implements ElasticsearchClientService { diff --git a/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_6_6_2-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_6_6_2_ClientService.java b/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_6_6_2-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_6_6_2_ClientService.java index 4508af71b..e602dfa60 100644 --- a/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_6_6_2-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_6_6_2_ClientService.java +++ b/logisland-components/logisland-services/logisland-service-elasticsearch/logisland-service-elasticsearch_6_6_2-client/src/main/java/com/hurence/logisland/service/elasticsearch/Elasticsearch_6_6_2_ClientService.java @@ -17,6 +17,8 @@ package com.hurence.logisland.service.elasticsearch; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnEnabled; @@ -72,6 +74,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BiConsumer; +@Category(ComponentCategory.DATASTORE) @Tags({ "elasticsearch", "client"}) @CapabilityDescription("Implementation of ElasticsearchClientService for Elasticsearch 6.6.2.") public class Elasticsearch_6_6_2_ClientService extends AbstractControllerService implements ElasticsearchClientService { diff --git a/logisland-components/logisland-services/logisland-service-hbase/logisland-service-hbase_1_1_2-client/src/main/java/com/hurence/logisland/service/hbase/HBase_1_1_2_ClientService.java b/logisland-components/logisland-services/logisland-service-hbase/logisland-service-hbase_1_1_2-client/src/main/java/com/hurence/logisland/service/hbase/HBase_1_1_2_ClientService.java index 53a16a1b8..6dd484af1 100644 --- a/logisland-components/logisland-services/logisland-service-hbase/logisland-service-hbase_1_1_2-client/src/main/java/com/hurence/logisland/service/hbase/HBase_1_1_2_ClientService.java +++ b/logisland-components/logisland-services/logisland-service-hbase/logisland-service-hbase_1_1_2-client/src/main/java/com/hurence/logisland/service/hbase/HBase_1_1_2_ClientService.java @@ -17,6 +17,8 @@ import com.hurence.logisland.annotation.behavior.DynamicProperty; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnEnabled; @@ -67,6 +69,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicReference; +@Category(ComponentCategory.DATASTORE) @Tags({ "hbase", "client"}) @CapabilityDescription("Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing " + "a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files " + diff --git a/logisland-components/logisland-services/logisland-service-influxdb/logisland-service-influxdb-client/src/main/java/com/hurence/logisland/service/influxdb/InfluxDBControllerService.java b/logisland-components/logisland-services/logisland-service-influxdb/logisland-service-influxdb-client/src/main/java/com/hurence/logisland/service/influxdb/InfluxDBControllerService.java index 1b6e91867..cbed28d2d 100644 --- a/logisland-components/logisland-services/logisland-service-influxdb/logisland-service-influxdb-client/src/main/java/com/hurence/logisland/service/influxdb/InfluxDBControllerService.java +++ b/logisland-components/logisland-services/logisland-service-influxdb/logisland-service-influxdb-client/src/main/java/com/hurence/logisland/service/influxdb/InfluxDBControllerService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.influxdb; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnStopped; @@ -41,6 +43,7 @@ import java.util.*; import java.util.concurrent.*; +@Category(ComponentCategory.DATASTORE) @Tags({"influxdb", "service", "time series"}) @CapabilityDescription( "Provides a controller service that for the moment only allows to bulkput records into influxdb." diff --git a/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/CSVKeyValueCacheService.java b/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/CSVKeyValueCacheService.java index 1c3440dcd..206f7ee43 100644 --- a/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/CSVKeyValueCacheService.java +++ b/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/CSVKeyValueCacheService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.cache; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.component.AllowableValue; import com.hurence.logisland.component.InitializationException; @@ -45,6 +47,7 @@ import java.util.*; import java.util.concurrent.atomic.AtomicReference; +@Category(ComponentCategory.DATASTORE) @Tags({"csv", "service", "cache"}) @CapabilityDescription("A cache that store csv lines as records loaded from a file") public class CSVKeyValueCacheService extends LRUKeyValueCacheService implements DatastoreClientService { diff --git a/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/LRUKeyValueCacheService.java b/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/LRUKeyValueCacheService.java index b16ee07b8..a4858a717 100644 --- a/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/LRUKeyValueCacheService.java +++ b/logisland-components/logisland-services/logisland-service-inmemory-cache/src/main/java/com/hurence/logisland/service/cache/LRUKeyValueCacheService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.cache; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnEnabled; import com.hurence.logisland.component.InitializationException; @@ -46,6 +48,7 @@ * * @see LinkedHashMap */ +@Category(ComponentCategory.DATASTORE) @Tags({"cache", "service", "key", "value", "pair", "LRU"}) @CapabilityDescription("A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap") public class LRUKeyValueCacheService extends AbstractControllerService implements CacheService { diff --git a/logisland-components/logisland-services/logisland-service-ip-to-geo/logisland-service-ip-to-geo-maxmind/src/main/java/com/hurence/logisland/service/iptogeo/maxmind/MaxmindIpToGeoService.java b/logisland-components/logisland-services/logisland-service-ip-to-geo/logisland-service-ip-to-geo-maxmind/src/main/java/com/hurence/logisland/service/iptogeo/maxmind/MaxmindIpToGeoService.java index 356ee6fc7..86722f917 100644 --- a/logisland-components/logisland-services/logisland-service-ip-to-geo/logisland-service-ip-to-geo-maxmind/src/main/java/com/hurence/logisland/service/iptogeo/maxmind/MaxmindIpToGeoService.java +++ b/logisland-components/logisland-services/logisland-service-ip-to-geo/logisland-service-ip-to-geo-maxmind/src/main/java/com/hurence/logisland/service/iptogeo/maxmind/MaxmindIpToGeoService.java @@ -15,6 +15,8 @@ */ package com.hurence.logisland.service.iptogeo.maxmind; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.service.iptogeo.IpToGeoService; import com.hurence.logisland.annotation.documentation.CapabilityDescription; import com.hurence.logisland.annotation.documentation.Tags; @@ -41,6 +43,7 @@ import org.apache.hadoop.fs.Path; import java.net.URI; +@Category(ComponentCategory.ENRICHMENT) @Tags({"ip", "service", "geo", "maxmind"}) @CapabilityDescription("Implementation of the IP 2 GEO Service using maxmind lite db file") public class MaxmindIpToGeoService extends AbstractControllerService implements IpToGeoService { diff --git a/logisland-components/logisland-services/logisland-service-mongodb/logisland-service-mongodb-client/src/main/java/com/hurence/logisland/service/mongodb/MongoDBControllerService.java b/logisland-components/logisland-services/logisland-service-mongodb/logisland-service-mongodb-client/src/main/java/com/hurence/logisland/service/mongodb/MongoDBControllerService.java index 643ca3584..9246e6cf0 100644 --- a/logisland-components/logisland-services/logisland-service-mongodb/logisland-service-mongodb-client/src/main/java/com/hurence/logisland/service/mongodb/MongoDBControllerService.java +++ b/logisland-components/logisland-services/logisland-service-mongodb/logisland-service-mongodb-client/src/main/java/com/hurence/logisland/service/mongodb/MongoDBControllerService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.mongodb; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnEnabled; @@ -48,6 +50,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +@Category(ComponentCategory.DATASTORE) @Tags({"mongo", "mongodb", "service"}) @CapabilityDescription( "Provides a controller service that wraps most of the functionality of the MongoDB driver." diff --git a/logisland-components/logisland-services/logisland-service-proxy/src/main/java/com/hurence/logisland/rest/service/proxy/StandardProxyConfigurationService.java b/logisland-components/logisland-services/logisland-service-proxy/src/main/java/com/hurence/logisland/rest/service/proxy/StandardProxyConfigurationService.java index 0b1729157..9598ae3b8 100644 --- a/logisland-components/logisland-services/logisland-service-proxy/src/main/java/com/hurence/logisland/rest/service/proxy/StandardProxyConfigurationService.java +++ b/logisland-components/logisland-services/logisland-service-proxy/src/main/java/com/hurence/logisland/rest/service/proxy/StandardProxyConfigurationService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.rest.service.proxy; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnEnabled; import com.hurence.logisland.component.InitializationException; @@ -40,6 +42,7 @@ * Processor inspired from StandardProxyConfigurationService nifi processor * */ +@Category(ComponentCategory.UTILS) @CapabilityDescription("Provides a set of configurations for different NiFi components to use a proxy server.") @Tags({"Proxy"}) public class StandardProxyConfigurationService extends AbstractControllerService implements ProxyConfigurationService { diff --git a/logisland-components/logisland-services/logisland-service-redis/src/main/java/com/hurence/logisland/redis/service/RedisKeyValueCacheService.java b/logisland-components/logisland-services/logisland-service-redis/src/main/java/com/hurence/logisland/redis/service/RedisKeyValueCacheService.java index a03459552..7cfc038a1 100644 --- a/logisland-components/logisland-services/logisland-service-redis/src/main/java/com/hurence/logisland/redis/service/RedisKeyValueCacheService.java +++ b/logisland-components/logisland-services/logisland-service-redis/src/main/java/com/hurence/logisland/redis/service/RedisKeyValueCacheService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.redis.service; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnEnabled; import com.hurence.logisland.component.AllowableValue; @@ -57,6 +59,7 @@ *

*

You specify default TTL

*/ +@Category(ComponentCategory.DATASTORE) @Tags({"cache", "service", "key", "value", "pair", "redis"}) @CapabilityDescription("A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap") public class RedisKeyValueCacheService extends AbstractControllerService implements DatastoreClientService, CacheService { diff --git a/logisland-components/logisland-services/logisland-service-rest/src/main/java/com/hurence/logisland/rest/service/lookup/RestLookupService.java b/logisland-components/logisland-services/logisland-service-rest/src/main/java/com/hurence/logisland/rest/service/lookup/RestLookupService.java index f62560691..f70440b2f 100644 --- a/logisland-components/logisland-services/logisland-service-rest/src/main/java/com/hurence/logisland/rest/service/lookup/RestLookupService.java +++ b/logisland-components/logisland-services/logisland-service-rest/src/main/java/com/hurence/logisland/rest/service/lookup/RestLookupService.java @@ -22,6 +22,8 @@ import com.hurence.logisland.annotation.behavior.DynamicProperties; import com.hurence.logisland.annotation.behavior.DynamicProperty; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnDisabled; import com.hurence.logisland.annotation.lifecycle.OnEnabled; @@ -59,6 +61,7 @@ * Processor inspired from RestLookupService nifi processor * */ +@Category(ComponentCategory.DATASTORE) @Tags({ "rest", "lookup", "json", "xml", "http" }) @CapabilityDescription("Use a REST service to look up values.") @DynamicProperties({ diff --git a/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_5_5_5-client/src/main/java/com/hurence/logisland/service/solr/Solr_5_5_5_ClientService.java b/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_5_5_5-client/src/main/java/com/hurence/logisland/service/solr/Solr_5_5_5_ClientService.java index 0ec2ef497..92ed67288 100644 --- a/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_5_5_5-client/src/main/java/com/hurence/logisland/service/solr/Solr_5_5_5_ClientService.java +++ b/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_5_5_5-client/src/main/java/com/hurence/logisland/service/solr/Solr_5_5_5_ClientService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.solr; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.service.solr.api.SolrClientService; import org.apache.solr.client.solrj.SolrClient; @@ -23,6 +25,7 @@ import org.apache.solr.client.solrj.impl.HttpSolrClient; import org.slf4j.LoggerFactory; +@Category(ComponentCategory.DATASTORE) @Tags({ "solr", "client"}) @CapabilityDescription("Implementation of ElasticsearchClientService for Solr 5.5.5.") public class Solr_5_5_5_ClientService extends SolrClientService { diff --git a/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_6_6_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_6_2_ClientService.java b/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_6_6_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_6_2_ClientService.java index ebd3f6acf..6346ef4f6 100644 --- a/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_6_6_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_6_2_ClientService.java +++ b/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_6_6_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_6_2_ClientService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.solr; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.service.datastore.DatastoreClientServiceException; import com.hurence.logisland.service.solr.api.SolrClientService; @@ -31,6 +33,7 @@ import java.io.IOException; import java.util.*; +@Category(ComponentCategory.DATASTORE) @Tags({ "solr", "client"}) @CapabilityDescription("Implementation of ElasticsearchClientService for Solr 5.5.5.") public class Solr_6_6_2_ClientService extends SolrClientService { diff --git a/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_chronix_6_4_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_4_2_ChronixClientService.java b/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_chronix_6_4_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_4_2_ChronixClientService.java index 1df25599b..44da5175c 100644 --- a/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_chronix_6_4_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_4_2_ChronixClientService.java +++ b/logisland-components/logisland-services/logisland-service-solr/logisland-service-solr_chronix_6_4_2-client/src/main/java/com/hurence/logisland/service/solr/Solr_6_4_2_ChronixClientService.java @@ -16,6 +16,8 @@ package com.hurence.logisland.service.solr; import com.hurence.logisland.annotation.documentation.CapabilityDescription; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.annotation.documentation.Tags; import com.hurence.logisland.annotation.lifecycle.OnEnabled; import com.hurence.logisland.component.InitializationException; @@ -47,6 +49,7 @@ import java.util.concurrent.Executors; import java.util.stream.Collectors; +@Category(ComponentCategory.DATASTORE) @Tags({"solr", "client"}) @CapabilityDescription("Implementation of ChronixClientService for Solr 6 4 2") public class Solr_6_4_2_ChronixClientService extends AbstractControllerService implements DatastoreClientService { diff --git a/logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/Category.java b/logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/Category.java new file mode 100644 index 000000000..440629b73 --- /dev/null +++ b/logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/Category.java @@ -0,0 +1,37 @@ +/** + * Copyright (C) 2016 Hurence (support@hurence.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.hurence.logisland.annotation.documentation; + +import com.hurence.logisland.controller.ControllerService; +import com.hurence.logisland.processor.Processor; + +import java.lang.annotation.*; + +/** + * Annotation that can be applied to a {@link Processor} or {@link ControllerService} in order to + * associate category keyword with the component. This annotation do not affect the + * component in any way but serve as additional documentation and can be used to + * sort/filter Processors/Services. + * + */ +@Documented +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +public @interface Category { + + String value(); +} diff --git a/logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/ComponentCategory.java b/logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/ComponentCategory.java new file mode 100644 index 000000000..dca71251b --- /dev/null +++ b/logisland-core/logisland-api/src/main/java/com/hurence/logisland/annotation/documentation/ComponentCategory.java @@ -0,0 +1,15 @@ +package com.hurence.logisland.annotation.documentation; + +public class ComponentCategory { + + public static final String MISC = "misc"; + public static final String UTILS = "utils"; + public static final String PROCESSING = "processing"; + public static final String PARSING = "parsing"; + public static final String DATASTORE = "datastore"; + public static final String ALERTING = "alerting"; + public static final String SECURITY = "security"; + public static final String ENRICHMENT = "enrichment"; + public static final String ANALYTICS = "analytics"; + public static final String TIMESERIES = "timeseries"; +} diff --git a/logisland-documentation/components.rst b/logisland-documentation/components.rst index c97247ca6..11dc8afb6 100644 --- a/logisland-documentation/components.rst +++ b/logisland-documentation/components.rst @@ -2875,7 +2875,7 @@ com.hurence.logisland:logisland-processor-web-analytics:1.1.2 Class _____ -com.hurence.logisland.processor.webAnalytics.setSourceOfTraffic +com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic Tags ____ diff --git a/logisland-documentation/pom.xml b/logisland-documentation/pom.xml index 4200962e2..b23ff5028 100644 --- a/logisland-documentation/pom.xml +++ b/logisland-documentation/pom.xml @@ -364,6 +364,7 @@ THIS MODULE DOCUMENTATION DEPENDENCIES ${generate-components-dir} -f other-processors + -a @@ -460,6 +461,7 @@ THIS MODULE DOCUMENTATION DEPENDENCIES ${generate-components-dir} -f services + -a diff --git a/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGenerator.java b/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGenerator.java index d3ad7b169..8948d89ee 100644 --- a/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGenerator.java +++ b/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGenerator.java @@ -89,6 +89,7 @@ public static void main(String[] args) { File rootDocDir = new File(dir); DocGeneratorUtils.generate(rootDocDir, fileName, "rst", append); + DocGeneratorUtils.generate(rootDocDir, "components", "yaml", append); } private static void printUsage(Options options) { diff --git a/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGeneratorUtils.java b/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGeneratorUtils.java index 47761ad2f..328202203 100644 --- a/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGeneratorUtils.java +++ b/logisland-documentation/src/main/java/com/hurence/logisland/documentation/DocGeneratorUtils.java @@ -15,6 +15,8 @@ */ package com.hurence.logisland.documentation; +import com.hurence.logisland.annotation.documentation.Category; +import com.hurence.logisland.annotation.documentation.ComponentCategory; import com.hurence.logisland.classloading.PluginLoader; import com.hurence.logisland.classloading.PluginProxy; import com.hurence.logisland.component.ComponentContext; @@ -25,6 +27,7 @@ import com.hurence.logisland.documentation.json.JsonDocumentationWriter; import com.hurence.logisland.documentation.rst.RstDocumentationWriter; import com.hurence.logisland.documentation.util.ClassFinder; +import com.hurence.logisland.documentation.yaml.YamlDocumentationWriter; import com.hurence.logisland.engine.ProcessingEngine; import com.hurence.logisland.processor.Processor; import com.hurence.logisland.stream.RecordStream; @@ -37,7 +40,7 @@ import java.util.Comparator; import java.util.Map; import java.util.TreeMap; -import java.util.stream.IntStream; +import java.util.stream.Collectors; /** * Uses the ExtensionManager to get a list of Processor, ControllerService, and @@ -46,6 +49,7 @@ public class DocGeneratorUtils { private static final Logger logger = LoggerFactory.getLogger(DocGeneratorUtils.class); + /** * Generates documentation into the work/docs dir specified from a specified set of class */ @@ -127,6 +131,31 @@ public static void generate(final File docsDirectory, logger.warn(e.getMessage()); throw new RuntimeException(e);//so we know there is something wrong with doc generation } + } else if (writerType.equals("yaml")) { + final File baseDocumenationFile = new File(docsDirectory, filename + "." + writerType); + if (baseDocumenationFile.exists() && !append) + baseDocumenationFile.delete(); + if (!baseDocumenationFile.exists()) { + + try (final PrintWriter writer = new PrintWriter(new FileOutputStream(baseDocumenationFile, true))) { + writer.println( + "--- # document start\n" + + "\n" + + "categories:\n" + + " - processing\n" + + " - parsing\n" + + " - datastore\n" + + " - alerting\n" + + " - security\n" + + " - enrichment\n" + + " - analytics\n" + + " - timeseries\n" + + "extensions:"); + } catch (FileNotFoundException e) { + logger.warn(e.getMessage()); + throw new RuntimeException(e);//so we know there is something wrong with doc generation + } + } } Class[] sortedExtensionsClasses = new Class[extensionClasses.size()]; @@ -153,20 +182,56 @@ public int compare(Class s1, Class s2) { } }); + logger.info("Generating {} documentation for {} components in: {}", writerType, Arrays.stream(sortedExtensionsClasses).count(), docsDirectory); Arrays.stream(sortedExtensionsClasses) - .forEach(extensionClass -> { - final Class componentClass = extensionClass.asSubclass(ConfigurableComponent.class); - try { - document(docsDirectory, componentClass, writerType, filename); - } catch (Exception e) { - logger.error("Unexpected error for " + extensionClass, e); - throw new RuntimeException(e);//so we know there is something wrong with doc generation - } + .collect(Collectors.groupingBy(configurableComponent -> { + final Category categoryAnnot = (Category) configurableComponent.asSubclass(ConfigurableComponent.class).getAnnotation( + Category.class); + + final String category; + if (categoryAnnot != null) { + category = categoryAnnot.value(); + } else { + category = ComponentCategory.MISC; + } + + return category; + } + )) + .entrySet() + .forEach(entry -> { + + /* String category = entry.getKey(); + if (writerType.equals("yaml")) { + + final File baseDocumenationFile = new File(docsDirectory, filename + "." + writerType); + try (final PrintWriter writer = new PrintWriter(new FileOutputStream(baseDocumenationFile, true))) { + writer.println( + " - category: " + category + "\n" + + " extensions:\n"); + } catch (FileNotFoundException e) { + logger.warn(e.getMessage()); + throw new RuntimeException(e);//so we know there is something wrong with doc generation + } + + + }*/ + + entry.getValue().forEach(extensionClass -> { + + final Class componentClass = extensionClass.asSubclass(ConfigurableComponent.class); + try { + document(docsDirectory, componentClass, writerType, filename); + } catch (Exception e) { + logger.error("Unexpected error for " + extensionClass, e); + throw new RuntimeException(e);//so we know there is something wrong with doc generation + } + }); }); @@ -218,7 +283,7 @@ private static void document(final File docsDir, final DocumentationWriter writer = getDocumentWriter(componentClass, writerType); - final File baseDocumenationFile = new File(docsDir,filename + "." + writerType); + final File baseDocumenationFile = new File(docsDir, filename + "." + writerType); try (final OutputStream output = new BufferedOutputStream(new FileOutputStream(baseDocumenationFile, true))) { writer.write(component, output); @@ -260,6 +325,8 @@ private static DocumentationWriter getDocumentWriter(final Class + * http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html + * http://docutils.sourceforge.net/docs/ref/rst/directives.html + */ +public class YamlDocumentationWriter implements DocumentationWriter { + + /** + * The filename where additional user specified information may be stored. + */ + public static final String ADDITIONAL_DETAILS_RST = "additionalDetails.rst"; + + @Override + public void write(final ConfigurableComponent configurableComponent, final OutputStream streamToWriteTo) { + + final YamlPrintWriter yamlPrintWriter = new YamlPrintWriter(streamToWriteTo, true); + + + writeDescription(configurableComponent, yamlPrintWriter); + writeTags(configurableComponent, yamlPrintWriter); + /* writeProperties(configurableComponent, yamlPrintWriter); + writeDynamicProperties(configurableComponent, yamlPrintWriter); + writeAdditionalBodyInfo(configurableComponent, yamlPrintWriter); + writeSeeAlso(configurableComponent, yamlPrintWriter);*/ + + yamlPrintWriter.close(); + } + + + + /** + * Gets the class name of the component. + * + * @param configurableComponent the component to describe + * @return the class name of the component + */ + protected String getTitle(final ConfigurableComponent configurableComponent) { + return configurableComponent.getClass().getSimpleName(); + } + + + + + + + private void writeTags(final ConfigurableComponent configurableComponent, + final YamlPrintWriter rstWriter) { + final Tags tags = configurableComponent.getClass().getAnnotation(Tags.class); + + if (tags != null) { + final String tagString = "[" + join(tags.value(), ", ") + "]"; + rstWriter.writeProperty(2, "tags",tagString); + } + } + + static String join(final String[] toJoin, final String delimiter) { + final StringBuilder sb = new StringBuilder(); + for (int i = 0; i < toJoin.length; i++) { + sb.append(toJoin[i]); + if (i < toJoin.length - 1) { + sb.append(delimiter); + } + } + return sb.toString(); + } + + /** + * Writes a description of the configurable component. + * + * @param configurableComponent the component to describe + * @param rstWriter the stream writer + */ + protected void writeDescription(final ConfigurableComponent configurableComponent, + final YamlPrintWriter rstWriter) { + rstWriter.writeProperty(1, "- name", getTitle(configurableComponent)); + + rstWriter.writeProperty(2, "description", getDescription(configurableComponent)); + rstWriter.writeProperty(2, "category", getCategory(configurableComponent)); + + PluginClassLoader cl = (PluginClassLoader) PluginLoader.getRegistry().get(configurableComponent.getClass().getCanonicalName()); + if (cl != null) { + rstWriter.writeProperty(2,"module", cl.getModuleInfo().getArtifact()); + } + + rstWriter.writeProperty(2, "class", configurableComponent.getClass().getCanonicalName()); + } + + + /** + * Gets a description of the ConfigurableComponent using the + * CapabilityDescription annotation. + * + * @param configurableComponent the component to describe + * @return a description of the configurableComponent + */ + protected String getDescription(final ConfigurableComponent configurableComponent) { + final CapabilityDescription capabilityDescription = configurableComponent.getClass().getAnnotation( + CapabilityDescription.class); + + final String description; + if (capabilityDescription != null) { + description = capabilityDescription.value(); + } else { + description = "No description provided."; + } + + return description; + } + + /** + * Gets a description of the ConfigurableComponent using the + * CapabilityDescription annotation. + * + * @param configurableComponent the component to describe + * @return a description of the configurableComponent + */ + protected String getCategory(final ConfigurableComponent configurableComponent) { + final Category categoryAnnot = configurableComponent.getClass().getAnnotation( + Category.class); + + final String category; + if (categoryAnnot != null) { + category = categoryAnnot.value(); + } else { + category = ComponentCategory.MISC; + } + + return category; + } + + /** + * Writes the PropertyDescriptors out as a table. + * + * @param configurableComponent the component to describe + * @param rstWriter the stream writer + */ + protected void writeProperties(final ConfigurableComponent configurableComponent, + final YamlPrintWriter rstWriter) { + + /* final List properties = configurableComponent.getPropertyDescriptors(); + rstWriter.writeSectionTitle(3, "Properties"); + + if (properties.size() > 0) { + final boolean containsExpressionLanguage = containsExpressionLanguage(configurableComponent); + final boolean containsSensitiveProperties = containsSensitiveProperties(configurableComponent); + rstWriter.print("In the list below, the names of required properties appear in "); + rstWriter.printStrong("bold"); + rstWriter.print(". Any other properties (not in bold) are considered optional. " + + "The table also indicates any default values"); + if (containsExpressionLanguage) { + if (!containsSensitiveProperties) { + rstWriter.print(", and "); + } else { + rstWriter.print(", "); + } + rstWriter.print("whether a property supports the "); + rstWriter.writeLink("Expression Language", "expression-language.html"); + } + if (containsSensitiveProperties) { + rstWriter.print(", and whether a property is considered \"sensitive\"."); +// ", meaning that its value will be encrypted. Before entering a " +// + "value in a sensitive property, ensure that the "); + +// rstWriter.printStrong("logisland.properties"); +// rstWriter.print(" file has " + "an entry for the property "); +// rstWriter.printStrong("logisland.sensitive.props.key"); + } + rstWriter.println("."); + + rstWriter.printCsvTable("allowable-values", + new String[]{"Name", "Description", "Allowable Values", "Default Value", "Sensitive", "EL"}, + new int[]{20, 60, 30, 20, 10, 10}, + '\\'); + + + // write the individual properties + for (PropertyDescriptor property : properties) { + + rstWriter.print(" \""); + if (property.isRequired()) { + rstWriter.printStrong(property.getName().replace("\"", "\\\"")); + } else { + rstWriter.print(property.getName().replace("\"", "\\\"")); + } + rstWriter.print("\", "); + + rstWriter.print("\""); + if (property.getDescription() != null && property.getDescription().trim().length() > 0) { + rstWriter.print(property.getDescription().replace("\n", "\n\n ").replace("\"", "\\\"")); + } else { + rstWriter.print("No Description Provided."); + } + rstWriter.print("\", "); + + rstWriter.print("\""); + writeValidValues(rstWriter, property); + rstWriter.print("\", "); + + + rstWriter.print("\""); + rstWriter.print(property.getDefaultValue() == null ? null : property.getDefaultValue().replace("\"", "\\\"")); + rstWriter.print("\", "); + + + rstWriter.print("\""); + if (property.isSensitive()) { + rstWriter.printStrong("true"); + } else { + rstWriter.print("false"); + } + rstWriter.print("\", "); + + + rstWriter.print("\""); + if (property.isExpressionLanguageSupported()) { + rstWriter.printStrong("true"); + } else { + rstWriter.print("false"); + } + + + rstWriter.println("\""); + + } + + + } else { + rstWriter.println("This component has no required or optional properties."); + }*/ + } + + /** + * Indicates whether or not the component contains at least one sensitive property. + * + * @param component the component to interogate + * @return whether or not the component contains at least one sensitive property. + */ + private boolean containsSensitiveProperties(final ConfigurableComponent component) { + for (PropertyDescriptor descriptor : component.getPropertyDescriptors()) { + if (descriptor.isSensitive()) { + return true; + } + } + return false; + } + + /** + * Indicates whether or not the component contains at least one property that supports Expression Language. + * + * @param component the component to interogate + * @return whether or not the component contains at least one sensitive property. + */ + private boolean containsExpressionLanguage(final ConfigurableComponent component) { + for (PropertyDescriptor descriptor : component.getPropertyDescriptors()) { + if (descriptor.isExpressionLanguageSupported()) { + return true; + } + } + return false; + } + + private void writeDynamicProperties(final ConfigurableComponent configurableComponent, + final YamlPrintWriter rstWriter) { + + /* final List dynamicProperties = getDynamicProperties(configurableComponent); + + if (dynamicProperties != null && dynamicProperties.size() > 0) { + rstWriter.writeSectionTitle(3, "Dynamic Properties"); + rstWriter.println("Dynamic Properties allow the user to specify both the name and value of a property."); + rstWriter.printCsvTable("dynamic-properties", + new String[]{"Name", "Value", "Description", "Allowable Values", "Default Value", "EL"}, + new int[]{20, 20, 40, 40, 20, 10}, + '\\'); + + for (final DynamicProperty dynamicProperty : dynamicProperties) { + + rstWriter.print(" \""); + rstWriter.print(dynamicProperty.name().replace("\"", "\\\"")); + rstWriter.print("\", "); + + rstWriter.print("\""); + rstWriter.print(dynamicProperty.value().replace("\"", "\\\"")); + rstWriter.print("\", "); + + rstWriter.print("\""); + rstWriter.print(dynamicProperty.description().replace("\"", "\\\"")); + rstWriter.print("\", "); + + final PropertyDescriptor descriptorExample = configurableComponent.getPropertyDescriptor(dynamicProperty.nameForDoc()); + + rstWriter.print("\""); + writeValidValues(rstWriter, descriptorExample); + rstWriter.print("\", "); + + rstWriter.print("\""); + rstWriter.print(descriptorExample.getDefaultValue() == null ? null : descriptorExample.getDefaultValue().replace("\"", "\\\"")); + rstWriter.print("\", "); + + if (dynamicProperty.supportsExpressionLanguage()) { + rstWriter.printStrong("true"); + } else + rstWriter.print("false"); + rstWriter.println(); + } + + }*/ + } + + private List getDynamicProperties(ConfigurableComponent configurableComponent) { + final List dynamicProperties = new ArrayList<>(); + final DynamicProperties dynProps = configurableComponent.getClass().getAnnotation(DynamicProperties.class); + if (dynProps != null) { + Collections.addAll(dynamicProperties, dynProps.value()); + } + + final DynamicProperty dynProp = configurableComponent.getClass().getAnnotation(DynamicProperty.class); + if (dynProp != null) { + dynamicProperties.add(dynProp); + } + + return dynamicProperties; + } + + private void writeValidValueDescription(YamlPrintWriter rstWriter, String description) { + rstWriter.print(description); +// rstWriter.writeImage("_static/iconInfo.png", description, null, null, null, null); + } + + /** + * Interrogates a PropertyDescriptor to get a list of AllowableValues, if + * there are none, nothing is written to the stream. + * + * @param rstWriter the stream writer to use + * @param property the property to describe + */ + protected void writeValidValues(YamlPrintWriter rstWriter, PropertyDescriptor property) { + if (property.getAllowableValues() != null && property.getAllowableValues().size() > 0) { + + boolean first = true; + for (AllowableValue value : property.getAllowableValues()) { + if (!first) { + rstWriter.print(", "); + } else { + first = false; + } + rstWriter.print(value.getValue() == null ? null : value.getValue().replace("\"", "\\\"")); +// rstWriter.print(value.getDisplayName()); + if (value.getDescription() != null) { + writeValidValueDescription(rstWriter, " (" + value.getDescription().replace("\"", "\\\"") + ")"); + } + } + } + } + + + + +} diff --git a/logisland-documentation/src/main/java/com/hurence/logisland/documentation/yaml/YamlPrintWriter.java b/logisland-documentation/src/main/java/com/hurence/logisland/documentation/yaml/YamlPrintWriter.java new file mode 100644 index 000000000..0518a8835 --- /dev/null +++ b/logisland-documentation/src/main/java/com/hurence/logisland/documentation/yaml/YamlPrintWriter.java @@ -0,0 +1,100 @@ +/** + * Copyright (C) 2016 Hurence (support@hurence.com) + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.hurence.logisland.documentation.yaml; + +import java.io.OutputStream; +import java.io.PrintWriter; +import java.util.Arrays; + +public class YamlPrintWriter extends PrintWriter { + + private static final Character[] SECTION_DELIMITERS = new Character[]{'=', '-', '_', '.', ':', '`', '\'', '\"', '~', '^', '*', '+', '#'}; + + public YamlPrintWriter(OutputStream out, boolean autoFlush) { + super(out, autoFlush); + } + + + public void printDescriptionString(String descriptionString) { + println(descriptionString); + } + + + public void writeProperty(final int sectionLevel, final String key, final String value) { + assert key != null; + assert !key.isEmpty(); + + char[] charArray = new char[2 * sectionLevel]; + Arrays.fill(charArray, ' '); + String delimiter = ": "; + + print(charArray); + print(key); + print(delimiter); + + if (value.contains("\n")) { + String[] desc = value.split("\n"); + println(" >"); + for (String line : desc) { + print(charArray); + print(" "); + println(line); + } + } else { + println(value); + } + + + } + + + public void printCsvTable(final String title, final String[] headers, final int[] widths, final Character escape) { + println(); + print(".. csv-table:: "); + println(title); + + + if (headers != null) { + StringBuilder strHeaders = new StringBuilder(); + for (int i = 0; i < headers.length; i++) { + strHeaders.append('"'); + strHeaders.append(headers[i]); + strHeaders.append('"'); + if (i < headers.length - 1) + strHeaders.append(','); + } + print(" :header: "); + println(strHeaders.toString()); + } + + if (widths != null) { + StringBuilder strWidths = new StringBuilder(); + for (int i = 0; i < widths.length; i++) { + strWidths.append(widths[i]); + if (i < widths.length - 1) + strWidths.append(','); + } + print(" :widths: "); + println(strWidths.toString()); + } + if (escape != null) { + print(" :escape: "); + println(escape); + } + + println(); + } +} diff --git a/logisland-documentation/user/components/common-processors.rst b/logisland-documentation/user/components/common-processors.rst index db2e37c66..407ded30a 100644 --- a/logisland-documentation/user/components/common-processors.rst +++ b/logisland-documentation/user/components/common-processors.rst @@ -9,147 +9,17 @@ Find below the list. ---------- -.. _com.hurence.logisland.processor.AddFields: - -AddFields ---------- -Add one or more field to records - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.AddFields - -Tags -____ -record, fields, Add - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" - -Dynamic Properties -__________________ -Dynamic Properties allow the user to specify both the name and value of a property. - -.. csv-table:: dynamic-properties - :header: "Name","Value","Description","Allowable Values","Default Value","EL" - :widths: 20,20,40,40,20,10 - :escape: \ - - "Name of the field to add", "Value of the field to add", "Add a field to the record with the specified value. Expression language can be used.You can not add a field that end with '.type' as this suffix is used to specify the type of fields to add", "", "null", **true** - "Name of the field to add with the suffix '.field.type'", "Type of the field to add", "Add a field to the record with the specified type. These properties are only used if a correspondant property without the suffix '.field.type' is already defined. If this property is not defined, default type for adding fields is String.You can only use Logisland predefined type fields.", "NULL, STRING, INT, LONG, ARRAY, FLOAT, DOUBLE, BYTES, RECORD, MAP, ENUM, BOOLEAN, UNION, DATETIME", "STRING", false - "Name of the field to add with the suffix '.field.name'", "Name of the field to add using expression language", "Add a field to the record with the specified name (which is evaluated using expression language). These properties are only used if a correspondant property without the suffix '.field.name' is already defined. If this property is not defined, the name of the field to add is the key of the first dynamic property (which is the main and only required dynamic property).", "", "null", **true** - -Extra informations -__________________ -.. include:: ./details/common-processors/AddFields-Detail.rst ----------- - -.. _com.hurence.logisland.processor.ApplyRegexp: +.. _com.hurence.logisland.processor.alerting.ComputeTags: -ApplyRegexp +ComputeTags ----------- -This processor is used to create a new set of fields from one field (using regexp). - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.ApplyRegexp - -Tags -____ -parser, regex, log, record - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" - -Dynamic Properties -__________________ -Dynamic Properties allow the user to specify both the name and value of a property. - -.. csv-table:: dynamic-properties - :header: "Name","Value","Description","Allowable Values","Default Value","EL" - :widths: 20,20,40,40,20,10 - :escape: \ - - "alternative regex & mapping", "another regex that could match", "This processor is used to create a new set of fields from one field (using regexp).", "", "null", **true** - -Extra informations -__________________ -.. include:: ./details/common-processors/ApplyRegexp-Detail.rst -See Also: -_________ -`com.hurence.logisland.processor.ApplyRegexp`_ - ----------- - -.. _com.hurence.logisland.processor.datastore.BulkPut: - -BulkPut -------- -Indexes the content of a Record in a Datastore using bulk processor - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.datastore.BulkPut - -Tags -____ -datastore, record, put, bulk - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" - "**default.collection**", "The name of the collection/index/table to insert into", "", "null", "false", "**true**" - "default.type", "The type of this document (required by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" - "**timebased.collection**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" - "date.format", "simple date format for date suffix. default : yyyy.MM.dd", "", "yyyy.MM.dd", "false", "false" - "collection.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "**true**" - "type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" - -Extra informations -__________________ -.. include:: ./details/common-processors/BulkPut-Detail.rst ----------- +Compute tag cross from given formulas. -.. _com.hurence.logisland.processor.alerting.CheckAlerts: +- each dynamic property will return a new record according to the formula definition +- the record name will be set to the property name +- the record time will be set to the current timestamp -CheckAlerts ------------ -Add one or more records representing alerts. Using a datastore. +a threshold_cross has the following properties : count, sum, avg, time, duration, value Module ______ @@ -157,11 +27,11 @@ com.hurence.logisland:logisland-processor-common:1.1.2 Class _____ -com.hurence.logisland.processor.alerting.CheckAlerts +com.hurence.logisland.processor.alerting.ComputeTags Tags ____ -record, alerting, thresholds, opc, tag +record, fields, Add Properties __________ @@ -276,8 +146,6 @@ In the list below, the names of required properties appear in **bold**. Any othe "datastore.cache.collection", "The collection where to find cached objects", "", "test", "false", "false" "js.cache.service", "The cache service to be used to store already sanitized JS expressions. If not specified a in-memory unlimited hash map will be used.", "", "null", "false", "false" "output.record.type", "the type of the output record", "", "event", "false", "false" - "profile.activation.condition", "A javascript expression that activates this alerting profile when true", "", "0==0", "false", "false" - "alert.criticity", "from 0 to ...", "", "0", "false", "false" Dynamic Properties __________________ @@ -292,19 +160,24 @@ Dynamic Properties allow the user to specify both the name and value of a proper Extra informations __________________ -.. include:: ./details/common-processors/CheckAlerts-Detail.rst +.. include:: ./details/common-processors/ComputeTags-Detail.rst ---------- -.. _com.hurence.logisland.processor.alerting.CheckThresholds: +.. _com.hurence.logisland.processor.datastore.EnrichRecords: -CheckThresholds ---------------- -Compute threshold cross from given formulas. +EnrichRecords +------------- +Enrich input records with content indexed in datastore using multiget queries. +Each incoming record must be possibly enriched with information stored in datastore. +The plugin properties are : -- each dynamic property will return a new record according to the formula definition -- the record name will be set to the property name -- the record time will be set to the current timestamp +- es.index (String) : Name of the datastore index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. +- record.key (String) : Name of the field in the input record containing the id to lookup document in elastic search. This field is mandatory. +- es.key (String) : Name of the datastore key on which the multiget query will be performed. This field is mandatory. +- includes (ArrayList) : List of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. +- excludes (ArrayList) : List of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. +Each outcoming record holds at least the input record plus potentially one or more fields coming from of one datastore document. Module ______ @@ -312,127 +185,191 @@ com.hurence.logisland:logisland-processor-common:1.1.2 Class _____ -com.hurence.logisland.processor.alerting.CheckThresholds +com.hurence.logisland.processor.datastore.EnrichRecords Tags ____ -record, threshold, tag, alerting +datastore, enricher Properties __________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . .. csv-table:: allowable-values :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" :widths: 20,60,30,20,10,10 :escape: \ - "max.cpu.time", "maximum CPU time in milliseconds allowed for script execution.", "", "100", "false", "false" - "max.memory", "maximum memory in Bytes which JS executor thread can allocate", "", "51200", "false", "false" - "allow.no.brace", "Force, to check if all blocks are enclosed with curly braces \"\"{}\"\". - - .. raw:: html - -

+ "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" + "record.key", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" + "includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" + "excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" + "type.name", "The typle of record to look for", "", "null", "false", "**true**" + "collection.name", "The name of the collection to look for", "", "null", "false", "**true**" - Explanation: all loops (for, do-while, while, and if-else, and functions +Extra informations +__________________ +.. include:: ./details/common-processors/EnrichRecords-Detail.rst +---------- - should use braces, because poison_pill() function will be inserted after +.. _com.hurence.logisland.processor.DebugStream: - each open brace \"\"{\"\", to ensure interruption checking. Otherwise simple +DebugStream +----------- +This is a processor that logs incoming records - code like: +Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 -

+Class
+_____
+com.hurence.logisland.processor.DebugStream
 
-       while(true) while(true) {
+Tags
+____
+record, debug
 
-         // do nothing
+Properties
+__________
+In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values.
 
-       }
+.. csv-table:: allowable-values
+   :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL"
+   :widths: 20,60,30,20,10,10
+   :escape: \
 
-     
+ "**event.serializer**", "the way to serialize event", "json (serialize events as json blocs), string (serialize events as toString() blocs)", "json", "false", "false" - or even: +Extra informations +__________________ +.. include:: ./details/common-processors/DebugStream-Detail.rst +---------- -
+.. _com.hurence.logisland.processor.datastore.BulkPut: 
 
-       while(true)
+BulkPut
+-------
+Indexes the content of a Record in a Datastore using bulk processor
 
-     
+Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 - cause unbreakable loop, which force this sandbox to use {@link Thread#stop()} +Class +_____ +com.hurence.logisland.processor.datastore.BulkPut - which make JVM unstable. +Tags +____ +datastore, record, put, bulk -

+Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . -

+.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ - Properly writen code (even in bad intention) like: - -

-
-       while(true) { while(true) {
-
-         // do nothing
-
-       }}
-
-     
- - will be changed into: + "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" + "**default.collection**", "The name of the collection/index/table to insert into", "", "null", "false", "**true**" + "default.type", "The type of this document (required by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" + "**timebased.collection**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" + "date.format", "simple date format for date suffix. default : yyyy.MM.dd", "", "yyyy.MM.dd", "false", "false" + "collection.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "**true**" + "type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" -
+Extra informations
+__________________
+.. include:: ./details/common-processors/BulkPut-Detail.rst
+----------
 
-       while(true) {poison_pill(); 
+.. _com.hurence.logisland.processor.datastore.MultiGet: 
 
-         while(true) {poison_pill();
+MultiGet
+--------
+Retrieves a content from datastore using datastore multiget queries.
+Each incoming record contains information regarding the datastore multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) :
 
-           // do nothing
+ - collection (String) : name of the datastore collection on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record.
+ - type (String) : name of the datastore type on which the multiget query will be performed. This field is not mandatory.
+ - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record.
+ - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory.
+ - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory.
 
-         }
+Each outcoming record holds data of one datastore retrieved document. This data is stored in these fields :
 
-       }
+ - collection (same field name as the incoming record) : name of the datastore collection.
+ - type (same field name as the incoming record) : name of the datastore type.
+ - id (same field name as the incoming record) : retrieved document id.
+ - a list of String fields containing :
 
-     
+ - field name : the retrieved field name + - field value : the retrieved field value - which finish nicely when interrupted. +Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 -

+Class +_____ +com.hurence.logisland.processor.datastore.MultiGet - For legacy code, this check can be turned off, but with no guarantee, the +Tags +____ +datastore, get, multiget - JS thread will gracefully finish when interrupted. +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. -

", "", "false", "false", "false" - "max.prepared.statements", "The size of prepared statements LRU cache. If 0, this is disabled. +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ - .. raw:: html + "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" + "**collection.field**", "the name of the incoming records field containing es collection name to use in multiget query. ", "", "null", "false", "false" + "**type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" + "**ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" + "**includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" + "**excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" -

+Extra informations +__________________ +.. include:: ./details/common-processors/MultiGet-Detail.rst +---------- - Each statements when setMaxCPUTime(long) is set is prepared to +.. _com.hurence.logisland.processor.AddFields: - quit itself when time exceeded. To execute only once this procedure per +AddFields +--------- +Add one or more field to records - statement set this value. +Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 -

+Class +_____ +com.hurence.logisland.processor.AddFields -

+Tags +____ +record, fields, Add - When setMaxCPUTime(long) is set 0, this value is ignored. +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. -

+.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ - ", "", "30", "false", "false" - "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" - "datastore.cache.collection", "The collection where to find cached objects", "", "test", "false", "false" - "js.cache.service", "The cache service to be used to store already sanitized JS expressions. If not specified a in-memory unlimited hash map will be used.", "", "null", "false", "false" - "output.record.type", "the type of the output record", "", "event", "false", "false" - "record.ttl", "How long (in ms) do the record will remain in cache", "", "30000", "false", "false" - "min.update.time.ms", "The minimum amount of time (in ms) that we expect between two consecutive update of the same threshold record", "", "200", "false", "false" + "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" Dynamic Properties __________________ @@ -443,24 +380,20 @@ Dynamic Properties allow the user to specify both the name and value of a proper :widths: 20,20,40,40,20,10 :escape: \ - "field to add", "a default value", "Add a field to the record with the default value", "", "null", false + "Name of the field to add", "Value of the field to add", "Add a field to the record with the specified value. Expression language can be used.You can not add a field that end with '.type' as this suffix is used to specify the type of fields to add", "", "null", **true** + "Name of the field to add with the suffix '.field.type'", "Type of the field to add", "Add a field to the record with the specified type. These properties are only used if a correspondant property without the suffix '.field.type' is already defined. If this property is not defined, default type for adding fields is String.You can only use Logisland predefined type fields.", "NULL, STRING, INT, LONG, ARRAY, FLOAT, DOUBLE, BYTES, RECORD, MAP, ENUM, BOOLEAN, UNION, DATETIME", "STRING", false + "Name of the field to add with the suffix '.field.name'", "Name of the field to add using expression language", "Add a field to the record with the specified name (which is evaluated using expression language). These properties are only used if a correspondant property without the suffix '.field.name' is already defined. If this property is not defined, the name of the field to add is the key of the first dynamic property (which is the main and only required dynamic property).", "", "null", **true** Extra informations __________________ -.. include:: ./details/common-processors/CheckThresholds-Detail.rst +.. include:: ./details/common-processors/AddFields-Detail.rst ---------- -.. _com.hurence.logisland.processor.alerting.ComputeTags: +.. _com.hurence.logisland.processor.ApplyRegexp: -ComputeTags +ApplyRegexp ----------- -Compute tag cross from given formulas. - -- each dynamic property will return a new record according to the formula definition -- the record name will be set to the property name -- the record time will be set to the current timestamp - -a threshold_cross has the following properties : count, sum, avg, time, duration, value +This processor is used to create a new set of fields from one field (using regexp). Module ______ @@ -468,11 +401,11 @@ com.hurence.logisland:logisland-processor-common:1.1.2 Class _____ -com.hurence.logisland.processor.alerting.ComputeTags +com.hurence.logisland.processor.ApplyRegexp Tags ____ -record, fields, Add +parser, regex, log, record Properties __________ @@ -483,110 +416,7 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "max.cpu.time", "maximum CPU time in milliseconds allowed for script execution.", "", "100", "false", "false" - "max.memory", "maximum memory in Bytes which JS executor thread can allocate", "", "51200", "false", "false" - "allow.no.brace", "Force, to check if all blocks are enclosed with curly braces \"\"{}\"\". - - .. raw:: html - -

- - Explanation: all loops (for, do-while, while, and if-else, and functions - - should use braces, because poison_pill() function will be inserted after - - each open brace \"\"{\"\", to ensure interruption checking. Otherwise simple - - code like: - -

-
-       while(true) while(true) {
-
-         // do nothing
-
-       }
-
-     
- - or even: - -
-
-       while(true)
-
-     
- - cause unbreakable loop, which force this sandbox to use {@link Thread#stop()} - - which make JVM unstable. - -

- -

- - Properly writen code (even in bad intention) like: - -

-
-       while(true) { while(true) {
-
-         // do nothing
-
-       }}
-
-     
- - will be changed into: - -
-
-       while(true) {poison_pill(); 
-
-         while(true) {poison_pill();
-
-           // do nothing
-
-         }
-
-       }
-
-     
- - which finish nicely when interrupted. - -

- - For legacy code, this check can be turned off, but with no guarantee, the - - JS thread will gracefully finish when interrupted. - -

", "", "false", "false", "false" - "max.prepared.statements", "The size of prepared statements LRU cache. If 0, this is disabled. - - .. raw:: html - -

- - Each statements when setMaxCPUTime(long) is set is prepared to - - quit itself when time exceeded. To execute only once this procedure per - - statement set this value. - -

- -

- - When setMaxCPUTime(long) is set 0, this value is ignored. - -

- - ", "", "30", "false", "false" - "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" - "datastore.cache.collection", "The collection where to find cached objects", "", "test", "false", "false" - "js.cache.service", "The cache service to be used to store already sanitized JS expressions. If not specified a in-memory unlimited hash map will be used.", "", "null", "false", "false" - "output.record.type", "the type of the output record", "", "event", "false", "false" + "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" Dynamic Properties __________________ @@ -597,11 +427,15 @@ Dynamic Properties allow the user to specify both the name and value of a proper :widths: 20,20,40,40,20,10 :escape: \ - "field to add", "a default value", "Add a field to the record with the default value", "", "null", false + "alternative regex & mapping", "another regex that could match", "This processor is used to create a new set of fields from one field (using regexp).", "", "null", **true** Extra informations __________________ -.. include:: ./details/common-processors/ComputeTags-Detail.rst +.. include:: ./details/common-processors/ApplyRegexp-Detail.rst +See Also: +_________ +`com.hurence.logisland.processor.ApplyRegexp`_ + ---------- .. _com.hurence.logisland.processor.ConvertFieldsType: @@ -689,138 +523,7 @@ __________________ .. include:: ./details/common-processors/ConvertSimpleDateFormatFields-Detail.rst ---------- -.. _com.hurence.logisland.processor.DebugStream: - -DebugStream ------------ -This is a processor that logs incoming records - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.DebugStream - -Tags -____ -record, debug - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "**event.serializer**", "the way to serialize event", "json (serialize events as json blocs), string (serialize events as toString() blocs)", "json", "false", "false" - -Extra informations -__________________ -.. include:: ./details/common-processors/DebugStream-Detail.rst ----------- - -.. _com.hurence.logisland.processor.datastore.EnrichRecords: - -EnrichRecords -------------- -Enrich input records with content indexed in datastore using multiget queries. -Each incoming record must be possibly enriched with information stored in datastore. -The plugin properties are : - -- es.index (String) : Name of the datastore index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. -- record.key (String) : Name of the field in the input record containing the id to lookup document in elastic search. This field is mandatory. -- es.key (String) : Name of the datastore key on which the multiget query will be performed. This field is mandatory. -- includes (ArrayList) : List of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. -- excludes (ArrayList) : List of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. - -Each outcoming record holds at least the input record plus potentially one or more fields coming from of one datastore document. - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.datastore.EnrichRecords - -Tags -____ -datastore, enricher - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" - "record.key", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" - "includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" - "excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" - "type.name", "The typle of record to look for", "", "null", "false", "**true**" - "collection.name", "The name of the collection to look for", "", "null", "false", "**true**" - -Extra informations -__________________ -.. include:: ./details/common-processors/EnrichRecords-Detail.rst ----------- - -.. _com.hurence.logisland.processor.EvaluateJsonPath: - -EvaluateJsonPath ----------------- -Evaluates one or more JsonPath expressions against the content of a FlowFile. The results of those expressions are assigned to Records Fields depending on configuration of the Processor. JsonPaths are entered by adding user-defined properties; the name of the property maps to the Field Name into which the result will be placed. The value of the property must be a valid JsonPath expression. A Return Type of 'auto-detect' will make a determination based off the configured destination. If the JsonPath evaluates to a JSON array or JSON object and the Return Type is set to 'scalar' the Record will be routed to error. A Return Type of JSON can return scalar values if the provided JsonPath evaluates to the specified value. If the expression matches nothing, Fields will be created with empty strings as the value - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.EvaluateJsonPath - -Tags -____ -JSON, evaluate, JsonPath - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "**return.type**", "Indicates the desired return type of the JSON Path expressions. Selecting 'auto-detect' will set the return type to 'json' or 'scalar' ", "json, scalar", "scalar", "false", "false" - "**path.not.found.behavior**", "Indicates how to handle missing JSON path expressions. Selecting 'warn' will generate a warning when a JSON path expression is not found.", "warn, ignore", "ignore", "false", "false" - "**Null Value Representation**", "Indicates the desired representation of JSON Path expressions resulting in a null value.", "empty string, the string 'null'", "empty string", "false", "false" - "**json.input.field.name**", "the name of the field containing the json string", "", "record_value", "false", "false" - -Dynamic Properties -__________________ -Dynamic Properties allow the user to specify both the name and value of a property. - -.. csv-table:: dynamic-properties - :header: "Name","Value","Description","Allowable Values","Default Value","EL" - :widths: 20,20,40,40,20,10 - :escape: \ - - "A Record field", "A JsonPath expression", "will be set to any JSON objects that match the JsonPath. ", "", "null", false - -Extra informations -__________________ -.. include:: ./details/common-processors/EvaluateJsonPath-Detail.rst ----------- - -.. _com.hurence.logisland.processor.ExpandMapFields: +.. _com.hurence.logisland.processor.ExpandMapFields: ExpandMapFields --------------- @@ -1004,62 +707,6 @@ __________________ .. include:: ./details/common-processors/ModifyId-Detail.rst ---------- -.. _com.hurence.logisland.processor.datastore.MultiGet: - -MultiGet --------- -Retrieves a content from datastore using datastore multiget queries. -Each incoming record contains information regarding the datastore multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : - - - collection (String) : name of the datastore collection on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. - - type (String) : name of the datastore type on which the multiget query will be performed. This field is not mandatory. - - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. - - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. - - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. - -Each outcoming record holds data of one datastore retrieved document. This data is stored in these fields : - - - collection (same field name as the incoming record) : name of the datastore collection. - - type (same field name as the incoming record) : name of the datastore type. - - id (same field name as the incoming record) : retrieved document id. - - a list of String fields containing : - - - field name : the retrieved field name - - field value : the retrieved field value - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.datastore.MultiGet - -Tags -____ -datastore, get, multiget - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" - "**collection.field**", "the name of the incoming records field containing es collection name to use in multiget query. ", "", "null", "false", "false" - "**type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" - "**ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" - "**includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" - "**excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" - -Extra informations -__________________ -.. include:: ./details/common-processors/MultiGet-Detail.rst ----------- - .. _com.hurence.logisland.processor.NormalizeFields: NormalizeFields @@ -1105,41 +752,6 @@ __________________ .. include:: ./details/common-processors/NormalizeFields-Detail.rst ---------- -.. _com.hurence.logisland.processor.ParseProperties: - -ParseProperties ---------------- -Parse a field made of key=value fields separated by spaces -a string like "a=1 b=2 c=3" will add a,b & c fields, respectively with values 1,2 & 3 to the current Record - -Module -______ -com.hurence.logisland:logisland-processor-common:1.1.2 - -Class -_____ -com.hurence.logisland.processor.ParseProperties - -Tags -____ -record, properties, parser - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "**properties.field**", "the field containing the properties to split and treat", "", "null", "false", "false" - -Extra informations -__________________ -.. include:: ./details/common-processors/ParseProperties-Detail.rst ----------- - .. _com.hurence.logisland.processor.RemoveFields: RemoveFields @@ -1209,21 +821,11 @@ __________________ .. include:: ./details/common-processors/SelectDistinctRecords-Detail.rst ---------- -.. _com.hurence.logisland.processor.SendMail: - -SendMail --------- -The SendMail processor is aimed at sending an email (like for instance an alert email) from an incoming record. There are three ways an incoming record can generate an email according to the special fields it must embed. Here is a list of the record fields that generate a mail and how they work: - -- **mail_text**: this is the simplest way for generating a mail. If present, this field means to use its content (value) as the payload of the mail to send. The mail is sent in text format if there is only this special field in the record. Otherwise, used with either mail_html or mail_use_template, the content of mail_text is the aletrnative text to the HTML mail that is generated. - -- **mail_html**: this field specifies that the mail should be sent as HTML and the value of the field is mail payload. If mail_text is also present, its value is used as the alternative text for the mail. mail_html cannot be used with mail_use_template: only one of those two fields should be present in the record. - -- **mail_use_template**: If present, this field specifies that the mail should be sent as HTML and the HTML content is to be generated from the template in the processor configuration key **html.template**. The template can contain parameters which must also be present in the record as fields. See documentation of html.template for further explanations. mail_use_template cannot be used with mail_html: only one of those two fields should be present in the record. - - If **allow_overwrite** configuration key is true, any mail.* (dot format) configuration key may be overwritten with a matching field in the record of the form mail_* (underscore format). For instance if allow_overwrite is true and mail.to is set to config_address@domain.com, a record generating a mail with a mail_to field set to record_address@domain.com will send a mail to record_address@domain.com. +.. _com.hurence.logisland.processor.EvaluateJsonPath: - Apart from error records (when he is unable to process the incoming record or to send the mail), this processor is not expected to produce any output records. +EvaluateJsonPath +---------------- +Evaluates one or more JsonPath expressions against the content of a FlowFile. The results of those expressions are assigned to Records Fields depending on configuration of the Processor. JsonPaths are entered by adding user-defined properties; the name of the property maps to the Field Name into which the result will be placed. The value of the property must be a valid JsonPath expression. A Return Type of 'auto-detect' will make a determination based off the configured destination. If the JsonPath evaluates to a JSON array or JSON object and the Return Type is set to 'scalar' the Record will be routed to error. A Return Type of JSON can return scalar values if the provided JsonPath evaluates to the specified value. If the expression matches nothing, Fields will be created with empty strings as the value Module ______ @@ -1231,11 +833,11 @@ com.hurence.logisland:logisland-processor-common:1.1.2 Class _____ -com.hurence.logisland.processor.SendMail +com.hurence.logisland.processor.EvaluateJsonPath Tags ____ -smtp, email, e-mail, mail, mailer, sendmail, message, alert, html +JSON, evaluate, JsonPath Properties __________ @@ -1246,24 +848,60 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "debug", "Enable debug. If enabled, debug information are written to stdout.", "", "false", "false", "false" - "**smtp.server**", "FQDN, hostname or IP address of the SMTP server to use.", "", "null", "false", "false" - "smtp.port", "TCP port number of the SMTP server to use.", "", "25", "false", "false" - "smtp.security.username", "SMTP username.", "", "null", "false", "false" - "smtp.security.password", "SMTP password.", "", "null", "false", "false" - "smtp.security.ssl", "Use SSL under SMTP or not (SMTPS). Default is false.", "", "false", "false", "false" - "**mail.from.address**", "Valid mail sender email address.", "", "null", "false", "false" - "mail.from.name", "Mail sender name.", "", "null", "false", "false" - "**mail.bounce.address**", "Valid bounce email address (where error mail is sent if the mail is refused by the recipient server).", "", "null", "false", "false" - "mail.replyto.address", "Reply to email address.", "", "null", "false", "false" - "mail.subject", "Mail subject.", "", "[LOGISLAND] Automatic email", "false", "false" - "mail.to", "Comma separated list of email recipients. If not set, the record must have a mail_to field and allow_overwrite configuration key should be true.", "", "null", "false", "false" - "allow_overwrite", "If true, allows to overwrite processor configuration with special record fields (mail_to, mail_from_address, mail_from_name, mail_bounce_address, mail_replyto_address, mail_subject). If false, special record fields are ignored and only processor configuration keys are used.", "", "true", "false", "false" - "html.template", "HTML template to use. It is used when the incoming record contains a mail_use_template field. The template may contain some parameters. The parameter format in the template is of the form ${xxx}. For instance ${param_user} in the template means that a field named param_user must be present in the record and its value will replace the ${param_user} string in the HTML template when the mail will be sent. If some parameters are declared in the template, everyone of them must be present in the record as fields, otherwise the record will generate an error record. If an incoming record contains a mail_use_template field, a template must be present in the configuration and the HTML mail format will be used. If the record also contains a mail_text field, its content will be used as an alternative text message to be used in the mail reader program of the recipient if it does not supports HTML.", "", "null", "false", "false" + "**return.type**", "Indicates the desired return type of the JSON Path expressions. Selecting 'auto-detect' will set the return type to 'json' or 'scalar' ", "json, scalar", "scalar", "false", "false" + "**path.not.found.behavior**", "Indicates how to handle missing JSON path expressions. Selecting 'warn' will generate a warning when a JSON path expression is not found.", "warn, ignore", "ignore", "false", "false" + "**Null Value Representation**", "Indicates the desired representation of JSON Path expressions resulting in a null value.", "empty string, the string 'null'", "empty string", "false", "false" + "**json.input.field.name**", "the name of the field containing the json string", "", "record_value", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "A Record field", "A JsonPath expression", "will be set to any JSON objects that match the JsonPath. ", "", "null", false + +Extra informations +__________________ +.. include:: ./details/common-processors/EvaluateJsonPath-Detail.rst +---------- + +.. _com.hurence.logisland.processor.ParseProperties: + +ParseProperties +--------------- +Parse a field made of key=value fields separated by spaces +a string like "a=1 b=2 c=3" will add a,b & c fields, respectively with values 1,2 & 3 to the current Record + +Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 + +Class +_____ +com.hurence.logisland.processor.ParseProperties + +Tags +____ +record, properties, parser + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**properties.field**", "the field containing the properties to split and treat", "", "null", "false", "false" Extra informations __________________ -.. include:: ./details/common-processors/SendMail-Detail.rst +.. include:: ./details/common-processors/ParseProperties-Detail.rst ---------- .. _com.hurence.logisland.processor.SetJsonAsFields: @@ -1500,3 +1138,366 @@ __________________ See Also: _________ `com.hurence.logisland.processor.SplitTextMultiline`_ + +---------- + +.. _com.hurence.logisland.processor.alerting.CheckAlerts: + +CheckAlerts +----------- +Add one or more records representing alerts. Using a datastore. + +Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 + +Class +_____ +com.hurence.logisland.processor.alerting.CheckAlerts + +Tags +____ +record, alerting, thresholds, opc, tag + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "max.cpu.time", "maximum CPU time in milliseconds allowed for script execution.", "", "100", "false", "false" + "max.memory", "maximum memory in Bytes which JS executor thread can allocate", "", "51200", "false", "false" + "allow.no.brace", "Force, to check if all blocks are enclosed with curly braces \"\"{}\"\". + + .. raw:: html + +

+ + Explanation: all loops (for, do-while, while, and if-else, and functions + + should use braces, because poison_pill() function will be inserted after + + each open brace \"\"{\"\", to ensure interruption checking. Otherwise simple + + code like: + +

+
+       while(true) while(true) {
+
+         // do nothing
+
+       }
+
+     
+ + or even: + +
+
+       while(true)
+
+     
+ + cause unbreakable loop, which force this sandbox to use {@link Thread#stop()} + + which make JVM unstable. + +

+ +

+ + Properly writen code (even in bad intention) like: + +

+
+       while(true) { while(true) {
+
+         // do nothing
+
+       }}
+
+     
+ + will be changed into: + +
+
+       while(true) {poison_pill(); 
+
+         while(true) {poison_pill();
+
+           // do nothing
+
+         }
+
+       }
+
+     
+ + which finish nicely when interrupted. + +

+ + For legacy code, this check can be turned off, but with no guarantee, the + + JS thread will gracefully finish when interrupted. + +

", "", "false", "false", "false" + "max.prepared.statements", "The size of prepared statements LRU cache. If 0, this is disabled. + + .. raw:: html + +

+ + Each statements when setMaxCPUTime(long) is set is prepared to + + quit itself when time exceeded. To execute only once this procedure per + + statement set this value. + +

+ +

+ + When setMaxCPUTime(long) is set 0, this value is ignored. + +

+ + ", "", "30", "false", "false" + "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" + "datastore.cache.collection", "The collection where to find cached objects", "", "test", "false", "false" + "js.cache.service", "The cache service to be used to store already sanitized JS expressions. If not specified a in-memory unlimited hash map will be used.", "", "null", "false", "false" + "output.record.type", "the type of the output record", "", "event", "false", "false" + "profile.activation.condition", "A javascript expression that activates this alerting profile when true", "", "0==0", "false", "false" + "alert.criticity", "from 0 to ...", "", "0", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "field to add", "a default value", "Add a field to the record with the default value", "", "null", false + +Extra informations +__________________ +.. include:: ./details/common-processors/CheckAlerts-Detail.rst +---------- + +.. _com.hurence.logisland.processor.alerting.CheckThresholds: + +CheckThresholds +--------------- +Compute threshold cross from given formulas. + +- each dynamic property will return a new record according to the formula definition +- the record name will be set to the property name +- the record time will be set to the current timestamp + + +Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 + +Class +_____ +com.hurence.logisland.processor.alerting.CheckThresholds + +Tags +____ +record, threshold, tag, alerting + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "max.cpu.time", "maximum CPU time in milliseconds allowed for script execution.", "", "100", "false", "false" + "max.memory", "maximum memory in Bytes which JS executor thread can allocate", "", "51200", "false", "false" + "allow.no.brace", "Force, to check if all blocks are enclosed with curly braces \"\"{}\"\". + + .. raw:: html + +

+ + Explanation: all loops (for, do-while, while, and if-else, and functions + + should use braces, because poison_pill() function will be inserted after + + each open brace \"\"{\"\", to ensure interruption checking. Otherwise simple + + code like: + +

+
+       while(true) while(true) {
+
+         // do nothing
+
+       }
+
+     
+ + or even: + +
+
+       while(true)
+
+     
+ + cause unbreakable loop, which force this sandbox to use {@link Thread#stop()} + + which make JVM unstable. + +

+ +

+ + Properly writen code (even in bad intention) like: + +

+
+       while(true) { while(true) {
+
+         // do nothing
+
+       }}
+
+     
+ + will be changed into: + +
+
+       while(true) {poison_pill(); 
+
+         while(true) {poison_pill();
+
+           // do nothing
+
+         }
+
+       }
+
+     
+ + which finish nicely when interrupted. + +

+ + For legacy code, this check can be turned off, but with no guarantee, the + + JS thread will gracefully finish when interrupted. + +

", "", "false", "false", "false" + "max.prepared.statements", "The size of prepared statements LRU cache. If 0, this is disabled. + + .. raw:: html + +

+ + Each statements when setMaxCPUTime(long) is set is prepared to + + quit itself when time exceeded. To execute only once this procedure per + + statement set this value. + +

+ +

+ + When setMaxCPUTime(long) is set 0, this value is ignored. + +

+ + ", "", "30", "false", "false" + "**datastore.client.service**", "The instance of the Controller Service to use for accessing datastore.", "", "null", "false", "false" + "datastore.cache.collection", "The collection where to find cached objects", "", "test", "false", "false" + "js.cache.service", "The cache service to be used to store already sanitized JS expressions. If not specified a in-memory unlimited hash map will be used.", "", "null", "false", "false" + "output.record.type", "the type of the output record", "", "event", "false", "false" + "record.ttl", "How long (in ms) do the record will remain in cache", "", "30000", "false", "false" + "min.update.time.ms", "The minimum amount of time (in ms) that we expect between two consecutive update of the same threshold record", "", "200", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "field to add", "a default value", "Add a field to the record with the default value", "", "null", false + +Extra informations +__________________ +.. include:: ./details/common-processors/CheckThresholds-Detail.rst +---------- + +.. _com.hurence.logisland.processor.SendMail: + +SendMail +-------- +The SendMail processor is aimed at sending an email (like for instance an alert email) from an incoming record. There are three ways an incoming record can generate an email according to the special fields it must embed. Here is a list of the record fields that generate a mail and how they work: + +- **mail_text**: this is the simplest way for generating a mail. If present, this field means to use its content (value) as the payload of the mail to send. The mail is sent in text format if there is only this special field in the record. Otherwise, used with either mail_html or mail_use_template, the content of mail_text is the aletrnative text to the HTML mail that is generated. + +- **mail_html**: this field specifies that the mail should be sent as HTML and the value of the field is mail payload. If mail_text is also present, its value is used as the alternative text for the mail. mail_html cannot be used with mail_use_template: only one of those two fields should be present in the record. + +- **mail_use_template**: If present, this field specifies that the mail should be sent as HTML and the HTML content is to be generated from the template in the processor configuration key **html.template**. The template can contain parameters which must also be present in the record as fields. See documentation of html.template for further explanations. mail_use_template cannot be used with mail_html: only one of those two fields should be present in the record. + + If **allow_overwrite** configuration key is true, any mail.* (dot format) configuration key may be overwritten with a matching field in the record of the form mail_* (underscore format). For instance if allow_overwrite is true and mail.to is set to config_address@domain.com, a record generating a mail with a mail_to field set to record_address@domain.com will send a mail to record_address@domain.com. + + Apart from error records (when he is unable to process the incoming record or to send the mail), this processor is not expected to produce any output records. + +Module +______ +com.hurence.logisland:logisland-processor-common:1.1.2 + +Class +_____ +com.hurence.logisland.processor.SendMail + +Tags +____ +smtp, email, e-mail, mail, mailer, sendmail, message, alert, html + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, debug information are written to stdout.", "", "false", "false", "false" + "**smtp.server**", "FQDN, hostname or IP address of the SMTP server to use.", "", "null", "false", "false" + "smtp.port", "TCP port number of the SMTP server to use.", "", "25", "false", "false" + "smtp.security.username", "SMTP username.", "", "null", "false", "false" + "smtp.security.password", "SMTP password.", "", "null", "false", "false" + "smtp.security.ssl", "Use SSL under SMTP or not (SMTPS). Default is false.", "", "false", "false", "false" + "**mail.from.address**", "Valid mail sender email address.", "", "null", "false", "false" + "mail.from.name", "Mail sender name.", "", "null", "false", "false" + "**mail.bounce.address**", "Valid bounce email address (where error mail is sent if the mail is refused by the recipient server).", "", "null", "false", "false" + "mail.replyto.address", "Reply to email address.", "", "null", "false", "false" + "mail.subject", "Mail subject.", "", "[LOGISLAND] Automatic email", "false", "false" + "mail.to", "Comma separated list of email recipients. If not set, the record must have a mail_to field and allow_overwrite configuration key should be true.", "", "null", "false", "false" + "allow_overwrite", "If true, allows to overwrite processor configuration with special record fields (mail_to, mail_from_address, mail_from_name, mail_bounce_address, mail_replyto_address, mail_subject). If false, special record fields are ignored and only processor configuration keys are used.", "", "true", "false", "false" + "html.template", "HTML template to use. It is used when the incoming record contains a mail_use_template field. The template may contain some parameters. The parameter format in the template is of the form ${xxx}. For instance ${param_user} in the template means that a field named param_user must be present in the record and its value will replace the ${param_user} string in the HTML template when the mail will be sent. If some parameters are declared in the template, everyone of them must be present in the record as fields, otherwise the record will generate an error record. If an incoming record contains a mail_use_template field, a template must be present in the configuration and the HTML mail format will be used. If the record also contains a mail_text field, its content will be used as an alternative text message to be used in the mail reader program of the recipient if it does not supports HTML.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/common-processors/SendMail-Detail.rst \ No newline at end of file diff --git a/logisland-documentation/user/components/components.yaml b/logisland-documentation/user/components/components.yaml new file mode 100644 index 000000000..e1af3ce05 --- /dev/null +++ b/logisland-documentation/user/components/components.yaml @@ -0,0 +1,678 @@ +--- # document start + +categories: + - processing + - parsing + - datastore + - alerting + - security + - enrichment + - analytics + - timeseries +extensions: + - name: ComputeTags + description: > + Compute tag cross from given formulas. + + - each dynamic property will return a new record according to the formula definition + - the record name will be set to the property name + - the record time will be set to the current timestamp + + a threshold_cross has the following properties : count, sum, avg, time, duration, value + category: enrichment + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.alerting.ComputeTags + tags: [record, fields, Add] + - name: EnrichRecords + description: > + Enrich input records with content indexed in datastore using multiget queries. + Each incoming record must be possibly enriched with information stored in datastore. + The plugin properties are : + + - es.index (String) : Name of the datastore index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - record.key (String) : Name of the field in the input record containing the id to lookup document in elastic search. This field is mandatory. + - es.key (String) : Name of the datastore key on which the multiget query will be performed. This field is mandatory. + - includes (ArrayList) : List of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (ArrayList) : List of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. + + Each outcoming record holds at least the input record plus potentially one or more fields coming from of one datastore document. + category: enrichment + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.datastore.EnrichRecords + tags: [datastore, enricher] + - name: DebugStream + description: This is a processor that logs incoming records + category: utils + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.DebugStream + tags: [record, debug] + - name: BulkPut + description: Indexes the content of a Record in a Datastore using bulk processor + category: datastore + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.datastore.BulkPut + tags: [datastore, record, put, bulk] + - name: MultiGet + description: > + Retrieves a content from datastore using datastore multiget queries. + Each incoming record contains information regarding the datastore multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : + + - collection (String) : name of the datastore collection on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - type (String) : name of the datastore type on which the multiget query will be performed. This field is not mandatory. + - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. + + Each outcoming record holds data of one datastore retrieved document. This data is stored in these fields : + + - collection (same field name as the incoming record) : name of the datastore collection. + - type (same field name as the incoming record) : name of the datastore type. + - id (same field name as the incoming record) : retrieved document id. + - a list of String fields containing : + + - field name : the retrieved field name + - field value : the retrieved field value + category: datastore + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.datastore.MultiGet + tags: [datastore, get, multiget] + - name: AddFields + description: Add one or more field to records + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.AddFields + tags: [record, fields, Add] + - name: ApplyRegexp + description: This processor is used to create a new set of fields from one field (using regexp). + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.ApplyRegexp + tags: [parser, regex, log, record] + - name: ConvertFieldsType + description: Converts a field value into the given type. does nothing if conversion is not possible + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.ConvertFieldsType + tags: [type, fields, update, convert] + - name: ConvertSimpleDateFormatFields + description: Convert one or more field representing a date into a Unix Epoch Time (time in milliseconds since &st January 1970, 00:00:00 GMT)... + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.ConvertSimpleDateFormatFields + tags: [record, fields, Add] + - name: ExpandMapFields + description: Expands the content of a MAP field to the root. + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.ExpandMapFields + tags: [record, fields, Expand, Map] + - name: FilterRecords + description: Keep only records based on a given field value + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.FilterRecords + tags: [record, fields, remove, delete] + - name: FlatMap + description: Converts each field records into a single flatten record... + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.FlatMap + tags: [record, fields, flatmap, flatten] + - name: GenerateRandomRecord + description: This is a processor that make random records given an Avro schema + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.GenerateRandomRecord + tags: [record, avro, generator] + - name: ModifyId + description: modify id of records or generate it following defined rules + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.ModifyId + tags: [record, id, idempotent, generate, modify] + - name: NormalizeFields + description: Changes the name of a field according to a provided name mapping... + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.NormalizeFields + tags: [record, fields, normalizer] + - name: RemoveFields + description: Removes a list of fields defined by a comma separated list of field names or keeps only fields defined by a comma separated list of field names. + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.RemoveFields + tags: [record, fields, remove, delete, keep] + - name: SelectDistinctRecords + description: Keep only distinct records based on a given field + category: processing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.SelectDistinctRecords + tags: [record, fields, remove, delete] + - name: EvaluateJsonPath + description: Evaluates one or more JsonPath expressions against the content of a FlowFile. The results of those expressions are assigned to Records Fields depending on configuration of the Processor. JsonPaths are entered by adding user-defined properties; the name of the property maps to the Field Name into which the result will be placed. The value of the property must be a valid JsonPath expression. A Return Type of 'auto-detect' will make a determination based off the configured destination. If the JsonPath evaluates to a JSON array or JSON object and the Return Type is set to 'scalar' the Record will be routed to error. A Return Type of JSON can return scalar values if the provided JsonPath evaluates to the specified value. If the expression matches nothing, Fields will be created with empty strings as the value + category: parsing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.EvaluateJsonPath + tags: [JSON, evaluate, JsonPath] + - name: ParseProperties + description: > + Parse a field made of key=value fields separated by spaces + a string like "a=1 b=2 c=3" will add a,b & c fields, respectively with values 1,2 & 3 to the current Record + category: parsing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.ParseProperties + tags: [record, properties, parser] + - name: SetJsonAsFields + description: The SetJsonAsFields processor reads the content of a string field containing a json string and sets each json attribute as a field of the current record. Note that this could be achieved with the EvaluateJsonPath processor, but this implies to declare each json first level attribute in the configuration and also to know by advance every one of them. Whereas for this simple case, the SetJsonAsFields processor does not require such a configuration and will work with any incoming json, regardless of the list of first level attributes. + category: parsing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.SetJsonAsFields + tags: [json] + - name: SplitField + description: This processor is used to create a new set of fields from one field (using split). + category: parsing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.SplitField + tags: [parser, split, log, record] + - name: SplitText + description: This is a processor that is used to split a String into fields according to a given Record mapping + category: parsing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.SplitText + tags: [parser, regex, log, record] + - name: SplitTextMultiline + description: No description provided. + category: parsing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.SplitTextMultiline + - name: SplitTextWithProperties + description: This is a processor that is used to split a String into fields according to a given Record mapping + category: parsing + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.SplitTextWithProperties + tags: [parser, regex, log, record] + - name: CheckAlerts + description: Add one or more records representing alerts. Using a datastore. + category: alerting + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.alerting.CheckAlerts + tags: [record, alerting, thresholds, opc, tag] + - name: CheckThresholds + description: > + Compute threshold cross from given formulas. + + - each dynamic property will return a new record according to the formula definition + - the record name will be set to the property name + - the record time will be set to the current timestamp + category: alerting + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.alerting.CheckThresholds + tags: [record, threshold, tag, alerting] + - name: SendMail + description: > + The SendMail processor is aimed at sending an email (like for instance an alert email) from an incoming record. There are three ways an incoming record can generate an email according to the special fields it must embed. Here is a list of the record fields that generate a mail and how they work: + + - **mail_text**: this is the simplest way for generating a mail. If present, this field means to use its content (value) as the payload of the mail to send. The mail is sent in text format if there is only this special field in the record. Otherwise, used with either mail_html or mail_use_template, the content of mail_text is the aletrnative text to the HTML mail that is generated. + + - **mail_html**: this field specifies that the mail should be sent as HTML and the value of the field is mail payload. If mail_text is also present, its value is used as the alternative text for the mail. mail_html cannot be used with mail_use_template: only one of those two fields should be present in the record. + + - **mail_use_template**: If present, this field specifies that the mail should be sent as HTML and the HTML content is to be generated from the template in the processor configuration key **html.template**. The template can contain parameters which must also be present in the record as fields. See documentation of html.template for further explanations. mail_use_template cannot be used with mail_html: only one of those two fields should be present in the record. + + If **allow_overwrite** configuration key is true, any mail.* (dot format) configuration key may be overwritten with a matching field in the record of the form mail_* (underscore format). For instance if allow_overwrite is true and mail.to is set to config_address@domain.com, a record generating a mail with a mail_to field set to record_address@domain.com will send a mail to record_address@domain.com. + + Apart from error records (when he is unable to process the incoming record or to send the mail), this processor is not expected to produce any output records. + category: alerting + module: com.hurence.logisland:logisland-processor-common:1.1.2 + class: com.hurence.logisland.processor.SendMail + tags: [smtp, email, e-mail, mail, mailer, sendmail, message, alert, html] + - name: ParseUserAgent + description: The user-agent processor allows to decompose User-Agent value from an HTTP header into several attributes of interest. There is no standard format for User-Agent strings, hence it is not easily possible to use regexp to handle them. This processor rely on the `YAUAA library `_ to do the heavy work. + category: enrichment + module: com.hurence.logisland:logisland-processor-useragent:1.1.2 + class: com.hurence.logisland.processor.useragent.ParseUserAgent + tags: [User-Agent, clickstream, DMP] + - name: ConsolidateSession + description: > + The ConsolidateSession processor is the Logisland entry point to get and process events from the Web Analytics.As an example here is an incoming event from the Web Analytics: + + "fields": [{ "name": "timestamp", "type": "long" },{ "name": "remoteHost", "type": "string"},{ "name": "record_type", "type": ["null", "string"], "default": null },{ "name": "record_id", "type": ["null", "string"], "default": null },{ "name": "location", "type": ["null", "string"], "default": null },{ "name": "hitType", "type": ["null", "string"], "default": null },{ "name": "eventCategory", "type": ["null", "string"], "default": null },{ "name": "eventAction", "type": ["null", "string"], "default": null },{ "name": "eventLabel", "type": ["null", "string"], "default": null },{ "name": "localPath", "type": ["null", "string"], "default": null },{ "name": "q", "type": ["null", "string"], "default": null },{ "name": "n", "type": ["null", "int"], "default": null },{ "name": "referer", "type": ["null", "string"], "default": null },{ "name": "viewportPixelWidth", "type": ["null", "int"], "default": null },{ "name": "viewportPixelHeight", "type": ["null", "int"], "default": null },{ "name": "screenPixelWidth", "type": ["null", "int"], "default": null },{ "name": "screenPixelHeight", "type": ["null", "int"], "default": null },{ "name": "partyId", "type": ["null", "string"], "default": null },{ "name": "sessionId", "type": ["null", "string"], "default": null },{ "name": "pageViewId", "type": ["null", "string"], "default": null },{ "name": "is_newSession", "type": ["null", "boolean"],"default": null },{ "name": "userAgentString", "type": ["null", "string"], "default": null },{ "name": "pageType", "type": ["null", "string"], "default": null },{ "name": "UserId", "type": ["null", "string"], "default": null },{ "name": "B2Bunit", "type": ["null", "string"], "default": null },{ "name": "pointOfService", "type": ["null", "string"], "default": null },{ "name": "companyID", "type": ["null", "string"], "default": null },{ "name": "GroupCode", "type": ["null", "string"], "default": null },{ "name": "userRoles", "type": ["null", "string"], "default": null },{ "name": "is_PunchOut", "type": ["null", "string"], "default": null }]The ConsolidateSession processor groups the records by sessions and compute the duration between now and the last received event. If the distance from the last event is beyond a given threshold (by default 30mn), then the session is considered closed.The ConsolidateSession is building an aggregated session object for each active session.This aggregated object includes: - The actual session duration. - A boolean representing wether the session is considered active or closed. Note: it is possible to ressurect a session if for instance an event arrives after a session has been marked closed. - User related infos: userId, B2Bunit code, groupCode, userRoles, companyId - First visited page: URL - Last visited page: URL The properties to configure the processor are: - sessionid.field: Property name containing the session identifier (default: sessionId). - timestamp.field: Property name containing the timestamp of the event (default: timestamp). - session.timeout: Timeframe of inactivity (in seconds) after which a session is considered closed (default: 30mn). - visitedpage.field: Property name containing the page visited by the customer (default: location). - fields.to.return: List of fields to return in the aggregated object. (default: N/A) + category: analytics + module: com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + class: com.hurence.logisland.processor.webAnalytics.ConsolidateSession + tags: [analytics, web, session] + - name: DetectOutliers + description: > + Outlier Analysis: A Hybrid Approach + + In order to function at scale, a two-phase approach is taken + + For every data point + + - Detect outlier candidates using a robust estimator of variability (e.g. median absolute deviation) that uses distributional sketching (e.g. Q-trees) + - Gather a biased sample (biased by recency) + - Extremely deterministic in space and cheap in computation + + For every outlier candidate + + - Use traditional, more computationally complex approaches to outlier analysis (e.g. Robust PCA) on the biased sample + - Expensive computationally, but run infrequently + + This becomes a data filter which can be attached to a timeseries data stream within a distributed computational framework (i.e. Storm, Spark, Flink, NiFi) to detect outliers. + category: analytics + module: com.hurence.logisland:logisland-processor-outlier-detection:1.1.2 + class: com.hurence.logisland.processor.DetectOutliers + tags: [analytic, outlier, record, iot, timeseries] + - name: IncrementalWebSession + description: > + This processor creates and updates web-sessions based on incoming web-events. Note that both web-sessions and web-events are stored in elasticsearch. + Firstly, web-events are grouped by their session identifier and processed in chronological order. + Then each web-session associated to each group is retrieved from elasticsearch. + In case none exists yet then a new web session is created based on the first web event. + The following fields of the newly created web session are set based on the associated web event: session identifier, first timestamp, first visited page. Secondly, once created, or retrieved, the web session is updated by the remaining web-events. + Updates have impacts on fields of the web session such as event counter, last visited page, session duration, ... + Before updates are actually applied, checks are performed to detect rules that would trigger the creation of a new session: + + the duration between the web session and the web event must not exceed the specified time-out, + the web session and the web event must have timestamps within the same day (at midnight a new web session is created), + source of traffic (campaign, ...) must be the same on the web session and the web event. + + When a breaking rule is detected, a new web session is created with a new session identifier where as remaining web-events still have the original session identifier. The new session identifier is the original session suffixed with the character '#' followed with an incremented counter. This new session identifier is also set on the remaining web-events. + Finally when all web events were applied, all web events -potentially modified with a new session identifier- are save in elasticsearch. And web sessions are passed to the next processor. + + WebSession information are: + - first and last visited page + - first and last timestamp of processed event + - total number of processed events + - the userId + - a boolean denoting if the web-session is still active or not + - an integer denoting the duration of the web-sessions + - optional fields that may be retrieved from the processed events + category: analytics + module: com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + class: com.hurence.logisland.processor.webAnalytics.IncrementalWebSession + tags: [analytics, web, session] + - name: SetSourceOfTraffic + description: > + Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, + including advertising/paying campaigns, search engines, social networks, referring sites or direct access. + When analysing user experience on a webshop, it is crucial to collect, process, and report the campaign and traffic-source data. + To compute the source of traffic of a web session, the user has to provide the utm_* related properties if available + i-e: **utm_source.field**, **utm_medium.field**, **utm_campaign.field**, **utm_content.field**, **utm_term.field**) + , the referer (**referer.field** property) and the first visited page of the session (**first.visited.page.field** property). + By default the source of traffic information are placed in a flat structure (specified by the **source_of_traffic.suffix** property + with a default value of source_of_traffic). To work properly the SetSourceOfTraffic processor needs to have access to an + Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **es.index** property) should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field (default being search_engine) specified by the property **es.search_engine.field** with a value set to true. If the domain is a social network , the related ES doc MUST have a boolean field (default being social_network) specified by the property **es.social_network.field** with a value set to true. + category: analytics + module: com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + class: com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic + tags: [session, traffic, source, web, analytics] + - name: URLDecoder + description: > + Decode one or more field containing an URL with possibly special chars encoded + ... + category: analytics + module: com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + class: com.hurence.logisland.processor.webAnalytics.URLDecoder + tags: [record, fields, Decode] + - name: EnrichRecordsElasticsearch + description: > + Enrich input records with content indexed in elasticsearch using multiget queries. + Each incoming record must be possibly enriched with information stored in elasticsearch. + Each outcoming record holds at least the input record plus potentially one or more fields coming from of one elasticsearch document. + category: enrichment + module: com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + class: com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch + tags: [elasticsearch] + - name: IpToFqdn + description: Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The resolution mechanism is based on the underlying operating system. The resolution request may take some time, specially if the IP address cannot be translated into a FQDN. For these reasons this processor relies on the logisland cache service so that once a resolution occurs or not, the result is put into the cache. That way, the real request for the same IP is not re-triggered during a certain period of time, until the cache entry expires. This timeout is configurable but by default a request for the same IP is not triggered before 24 hours to let the time to the underlying DNS system to be potentially updated. + category: enrichment + module: com.hurence.logisland:logisland-processor-enrichment:1.1.2 + class: com.hurence.logisland.processor.enrichment.IpToFqdn + tags: [dns, ip, fqdn, domain, address, fqhn, reverse, resolution, enrich] + - name: IpToGeo + description: Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **ip.address.field** property. By default, the geo information are put in a hierarchical structure. That is, if the name of the IP field is 'X', then the the geo attributes added by enrichment are added under a father field named X_geo. "_geo" is the default hierarchical suffix that may be changed with the **geo.hierarchical.suffix** property. If one wants to put the geo fields at the same level as the IP field, then the **geo.hierarchical** property should be set to false and then the geo attributes are created at the same level as him with the naming pattern X_geo_. "_geo_" is the default flat suffix but this may be changed with the **geo.flat.suffix** property. The IpToGeo processor requires a reference to an Ip to Geo service. This must be defined in the **iptogeo.service** property. The added geo fields are dependant on the underlying Ip to Geo service. The **geo.fields** property must contain the list of geo fields that should be created if data is available for the IP to resolve. This property defaults to "*" which means to add every available fields. If one only wants a subset of the fields, one must define a comma separated list of fields as a value for the **geo.fields** property. The list of the available geo fields is in the description of the **geo.fields** property. + category: enrichment + module: com.hurence.logisland:logisland-processor-enrichment:1.1.2 + class: com.hurence.logisland.processor.enrichment.IpToGeo + tags: [geo, enrich, ip] + - name: ParseBroEvent + description: > + The ParseBroEvent processor is the Logisland entry point to get and process `Bro `_ events. The `Bro-Kafka plugin `_ should be used and configured in order to have Bro events sent to Kafka. See the `Bro/Logisland tutorial `_ for an example of usage for this processor. The ParseBroEvent processor does some minor pre-processing on incoming Bro events from the Bro-Kafka plugin to adapt them to Logisland. + + Basically the events coming from the Bro-Kafka plugin are JSON documents with a first level field indicating the type of the event. The ParseBroEvent processor takes the incoming JSON document, sets the event type in a record_type field and sets the original sub-fields of the JSON event as first level fields in the record. Also any dot in a field name is transformed into an underscore. Thus, for instance, the field id.orig_h becomes id_orig_h. The next processors in the stream can then process the Bro events generated by this ParseBroEvent processor. + + As an example here is an incoming event from Bro: + + { + + "conn": { + + "id.resp_p": 9092, + + "resp_pkts": 0, + + "resp_ip_bytes": 0, + + "local_orig": true, + + "orig_ip_bytes": 0, + + "orig_pkts": 0, + + "missed_bytes": 0, + + "history": "Cc", + + "tunnel_parents": [], + + "id.orig_p": 56762, + + "local_resp": true, + + "uid": "Ct3Ms01I3Yc6pmMZx7", + + "conn_state": "OTH", + + "id.orig_h": "172.17.0.2", + + "proto": "tcp", + + "id.resp_h": "172.17.0.3", + + "ts": 1487596886.953917 + + } + + } + + It gets processed and transformed into the following Logisland record by the ParseBroEvent processor: + + "@timestamp": "2017-02-20T13:36:32Z" + + "record_id": "6361f80a-c5c9-4a16-9045-4bb51736333d" + + "record_time": 1487597792782 + + "record_type": "conn" + + "id_resp_p": 9092 + + "resp_pkts": 0 + + "resp_ip_bytes": 0 + + "local_orig": true + + "orig_ip_bytes": 0 + + "orig_pkts": 0 + + "missed_bytes": 0 + + "history": "Cc" + + "tunnel_parents": [] + + "id_orig_p": 56762 + + "local_resp": true + + "uid": "Ct3Ms01I3Yc6pmMZx7" + + "conn_state": "OTH" + + "id_orig_h": "172.17.0.2" + + "proto": "tcp" + + "id_resp_h": "172.17.0.3" + + "ts": 1487596886.953917 + category: security + module: com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + class: com.hurence.logisland.processor.bro.ParseBroEvent + tags: [bro, security, IDS, NIDS] + - name: ParseNetflowEvent + description: > + The `Netflow V5 `_ processor is the Logisland entry point to process Netflow (V5) events. NetFlow is a feature introduced on Cisco routers that provides the ability to collect IP network traffic.We can distinguish 2 components: + + - Flow exporter: aggregates packets into flows and exports flow records (binary format) towards one or more flow collectors + + - Flow collector: responsible for reception, storage and pre-processing of flow data received from a flow exporter + + The collected data are then available for analysis purpose (intrusion detection, traffic analysis...) + Netflow are sent to kafka in order to be processed by logisland. + In the tutorial we will simulate Netflow traffic using `nfgen `_. this traffic will be sent to port 2055. The we rely on nifi to listen of that port for incoming netflow (V5) traffic and send them to a kafka topic. The Netflow processor could thus treat these events and generate corresponding logisland records. The following processors in the stream can then process the Netflow records generated by this processor. + category: security + module: com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + class: com.hurence.logisland.processor.netflow.ParseNetflowEvent + tags: [netflow, security] + - name: ParseNetworkPacket + description: The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). In batch mode, the processor decodes the bytes of the incoming pcap record, where a Global header followed by a sequence of [packet header, packet data] pairs are stored. Then, each incoming pcap event is parsed into n packet records. The fields of packet headers are then extracted and made available in dedicated record fields. See the `Capturing Network packets tutorial `_ for an example of usage of this processor. + category: security + module: com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + class: com.hurence.logisland.processor.networkpacket.ParseNetworkPacket + tags: [PCap, security, IDS, NIDS] + - name: SampleRecords + description: > + Query matching based on `Luwak `_ + + you can use this processor to handle custom events defined by lucene queries + a new record is added to output each time a registered query is matched + + A query is expressed as a lucene query against a field like for example: + + .. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + + Please read the `Lucene syntax guide `_ for supported operations + + .. warning:: + don't forget to set numeric fields property to handle correctly numeric ranges queries + category: timeseries + module: com.hurence.logisland:logisland-processor-sampling:1.1.2 + class: com.hurence.logisland.processor.SampleRecords + tags: [analytic, sampler, record, iot, timeseries] + - name: BulkAddElasticsearch + description: Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor + category: datastore + module: com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + class: com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch + tags: [elasticsearch] + - name: FetchHBaseRow + description: Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files. + category: datastore + module: com.hurence.logisland:logisland-processor-hbase:1.1.2 + class: com.hurence.logisland.processor.hbase.FetchHBaseRow + tags: [hbase, scan, fetch, get, enrich] + - name: MultiGetElasticsearch + description: > + Retrieves a content indexed in elasticsearch using elasticsearch multiget queries. + Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : + + - index (String) : name of the elasticsearch index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - type (String) : name of the elasticsearch type on which the multiget query will be performed. This field is not mandatory. + - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. + + Each outcoming record holds data of one elasticsearch retrieved document. This data is stored in these fields : + + - index (same field name as the incoming record) : name of the elasticsearch index. + - type (same field name as the incoming record) : name of the elasticsearch type. + - id (same field name as the incoming record) : retrieved document id. + - a list of String fields containing : + + * field name : the retrieved field name + * field value : the retrieved field value + category: datastore + module: com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + class: com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch + tags: [elasticsearch] + - name: PutHBaseCell + description: Adds the Contents of a Record to HBase as the value of a single cell + category: datastore + module: com.hurence.logisland:logisland-processor-hbase:1.1.2 + class: com.hurence.logisland.processor.hbase.PutHBaseCell + tags: [hadoop, hbase] + - name: RunPython + description: > + !!!! WARNING !!!! + + The RunPython processor is currently an experimental feature : it is delivered as is, with the current set of features and is subject to modifications in API or anything else in further logisland releases without warnings. There is no tutorial yet. If you want to play with this processor, use the python-processing.yml example and send the apache logs of the index apache logs tutorial. The debug stream processor at the end of the stream should output events in stderr file of the executors from the spark console. + + This processor allows to implement and run a processor written in python. This can be done in 2 ways. Either directly defining the process method code in the **script.code.process** configuration property or poiting to an external python module script file in the **script.path** configuration property. Directly defining methods is called the inline mode whereas using a script file is called the file mode. Both ways are mutually exclusive. Whether using the inline of file mode, your python code may depend on some python dependencies. If the set of python dependencies already delivered with the Logisland framework is not sufficient, you can use the **dependencies.path** configuration property to give their location. Currently only the nltk python library is delivered with Logisland. + category: processing + module: com.hurence.logisland:logisland-processor-scripting:1.1.2 + class: com.hurence.logisland.processor.scripting.python.RunPython + tags: [scripting, python] + - name: EvaluateXPath + description: Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to new attributes in the records, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed. The value of the property must be a valid XPath expression. If the expression matches nothing, no attributes is added. + category: parsing + module: com.hurence.logisland:logisland-processor-xml:1.1.2 + class: com.hurence.logisland.processor.xml.EvaluateXPath + tags: [XML, evaluate, XPath] + - name: ExcelExtract + description: Consumes a Microsoft Excel document and converts each worksheet's line to a structured record. The processor is assuming to receive raw excel file as input record. + category: parsing + module: com.hurence.logisland:logisland-processor-excel:1.1.2 + class: com.hurence.logisland.processor.excel.ExcelExtract + tags: [excel, processor, poi] + - name: ParseGitlabLog + description: The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs. This allows for instance to monitor activities in your Gitlab server. The expected input of this processor are records from the production_json.log log file of Gitlab which contains JSON records. You can for instance use the `kafkacat `_ command to inject those logs into kafka and thus Logisland. + category: parsing + module: com.hurence.logisland:logisland-processor-common-logs:1.1.2 + class: com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog + tags: [logs, gitlab] + - name: MatchIP + description: > + IP address Query matching (using `Luwak )`_ + + You can use this processor to handle custom events matching IP address (CIDR) + The record sent from a matching an IP address record is tagged appropriately. + + A query is expressed as a lucene query against a field like for example: + + .. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + + Please read the `Lucene syntax guide `_ for supported operations + + .. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + category: alerting + module: com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + class: com.hurence.logisland.processor.MatchIP + tags: [analytic, percolator, record, record, query, lucene] + - name: MatchQuery + description: > + Query matching based on `Luwak `_ + + you can use this processor to handle custom events defined by lucene queries + a new record is added to output each time a registered query is matched + + A query is expressed as a lucene query against a field like for example: + + .. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + + Please read the `Lucene syntax guide `_ for supported operations + + .. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + category: alerting + module: com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + class: com.hurence.logisland.processor.MatchQuery + tags: [analytic, percolator, record, record, query, lucene] + - name: MaxmindIpToGeoService + description: Implementation of the IP 2 GEO Service using maxmind lite db file + category: enrichment + module: com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + class: com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + tags: [ip, service, geo, maxmind] + - name: CSVKeyValueCacheService + description: A cache that store csv lines as records loaded from a file + category: datastore + module: com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + class: com.hurence.logisland.service.cache.CSVKeyValueCacheService + tags: [csv, service, cache] + - name: CassandraControllerService + description: Provides a controller service that for the moment only allows to bulkput records into cassandra. + category: datastore + module: com.hurence.logisland:logisland-service-cassandra-client:1.1.2 + class: com.hurence.logisland.service.cassandra.CassandraControllerService + tags: [cassandra, service] + - name: Elasticsearch_2_4_0_ClientService + description: Implementation of ElasticsearchClientService for Elasticsearch 2.4.0. + category: datastore + module: com.hurence.logisland:logisland-service-elasticsearch_2_4_0-client:1.1.2 + class: com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService + tags: [elasticsearch, client] + - name: Elasticsearch_5_4_0_ClientService + description: Implementation of ElasticsearchClientService for Elasticsearch 5.4.0. + category: datastore + module: com.hurence.logisland:logisland-service-elasticsearch_5_4_0-client:1.1.2 + class: com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService + tags: [elasticsearch, client] + - name: HBase_1_1_2_ClientService + description: Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files are provided, they will be loaded first, and the values of the additional properties will override the values from the configuration files. In addition, any user defined properties on the processor will also be passed to the HBase configuration. + category: datastore + module: com.hurence.logisland:logisland-service-hbase_1_1_2-client:1.1.2 + class: com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService + tags: [hbase, client] + - name: InfluxDBControllerService + description: Provides a controller service that for the moment only allows to bulkput records into influxdb. + category: datastore + module: com.hurence.logisland:logisland-service-influxdb-client:1.1.2 + class: com.hurence.logisland.service.influxdb.InfluxDBControllerService + tags: [influxdb, service, time series] + - name: LRUKeyValueCacheService + description: A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap + category: datastore + module: com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + class: com.hurence.logisland.service.cache.LRUKeyValueCacheService + tags: [cache, service, key, value, pair, LRU] + - name: MongoDBControllerService + description: Provides a controller service that wraps most of the functionality of the MongoDB driver. + category: datastore + module: com.hurence.logisland:logisland-service-mongodb-client:1.1.2 + class: com.hurence.logisland.service.mongodb.MongoDBControllerService + tags: [mongo, mongodb, service] + - name: RedisKeyValueCacheService + description: A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap + category: datastore + module: com.hurence.logisland:logisland-service-redis:1.1.2 + class: com.hurence.logisland.redis.service.RedisKeyValueCacheService + tags: [cache, service, key, value, pair, redis] + - name: Solr_5_5_5_ClientService + description: Implementation of ElasticsearchClientService for Solr 5.5.5. + category: datastore + module: com.hurence.logisland:logisland-service-solr_5_5_5-client:1.1.2 + class: com.hurence.logisland.service.solr.Solr_5_5_5_ClientService + tags: [solr, client] + - name: Solr_6_4_2_ChronixClientService + description: Implementation of ChronixClientService for Solr 6 4 2 + category: datastore + module: com.hurence.logisland:logisland-service-solr_chronix_6.4.2-client:1.1.2 + class: com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService + tags: [solr, client] + - name: Solr_6_6_2_ClientService + description: Implementation of ElasticsearchClientService for Solr 5.5.5. + category: datastore + module: com.hurence.logisland:logisland-service-solr_6_6_2-client:1.1.2 + class: com.hurence.logisland.service.solr.Solr_6_6_2_ClientService + tags: [solr, client] diff --git a/logisland-documentation/user/components/engines/components.yaml b/logisland-documentation/user/components/engines/components.yaml new file mode 100644 index 000000000..b357cf598 --- /dev/null +++ b/logisland-documentation/user/components/engines/components.yaml @@ -0,0 +1,24 @@ +--- # document start + +categories: + - processing + - parsing + - datastore + - alerting + - security + - enrichment + - analytics + - timeseries +extensions: + - name: AmqpClientPipelineStream + description: No description provided. + category: misc + class: com.hurence.logisland.engine.vanilla.stream.amqp.AmqpClientPipelineStream + - name: KafkaStreamsPipelineStream + description: No description provided. + category: misc + class: com.hurence.logisland.engine.vanilla.stream.kafka.KafkaStreamsPipelineStream + - name: PlainJavaEngine + description: No description provided. + category: misc + class: com.hurence.logisland.engine.vanilla.PlainJavaEngine diff --git a/logisland-documentation/user/components/engines/engine-vanilla.yaml b/logisland-documentation/user/components/engines/engine-vanilla.yaml new file mode 100644 index 000000000..1d3bf4711 --- /dev/null +++ b/logisland-documentation/user/components/engines/engine-vanilla.yaml @@ -0,0 +1,19 @@ +--- # document start + +categories: + + - category: misc + extensions: + + - name: AmqpClientPipelineStream + description: No description provided. + category: misc + class: com.hurence.logisland.engine.vanilla.stream.amqp.AmqpClientPipelineStream + - name: KafkaStreamsPipelineStream + description: No description provided. + category: misc + class: com.hurence.logisland.engine.vanilla.stream.kafka.KafkaStreamsPipelineStream + - name: PlainJavaEngine + description: No description provided. + category: misc + class: com.hurence.logisland.engine.vanilla.PlainJavaEngine diff --git a/logisland-documentation/user/components/other-processors.rst b/logisland-documentation/user/components/other-processors.rst index 24150f514..9cc1043d8 100644 --- a/logisland-documentation/user/components/other-processors.rst +++ b/logisland-documentation/user/components/other-processors.rst @@ -50,45 +50,6 @@ __________________ .. include:: ./details/ParseUserAgent-Detail.rst ---------- -.. _com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch: - -BulkAddElasticsearch --------------------- -Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor - -Module -______ -com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 - -Class -_____ -com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch - -Tags -____ -elasticsearch - -Properties -__________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . - -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" - "**default.index**", "The name of the index to insert into", "", "null", "false", "**true**" - "**default.type**", "The type of this document (used by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" - "**timebased.index**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" - "es.index.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "false" - "es.type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" - -Extra informations -__________________ -.. include:: ./details/BulkAddElasticsearch-Detail.rst ----------- - .. _com.hurence.logisland.processor.webAnalytics.ConsolidateSession: ConsolidateSession @@ -216,64 +177,112 @@ __________________ .. include:: ./details/DetectOutliers-Detail.rst ---------- -.. _com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch: +.. _com.hurence.logisland.processor.webAnalytics.IncrementalWebSession: + +IncrementalWebSession +--------------------- +This processor creates and updates web-sessions based on incoming web-events. Note that both web-sessions and web-events are stored in elasticsearch. + Firstly, web-events are grouped by their session identifier and processed in chronological order. + Then each web-session associated to each group is retrieved from elasticsearch. + In case none exists yet then a new web session is created based on the first web event. + The following fields of the newly created web session are set based on the associated web event: session identifier, first timestamp, first visited page. Secondly, once created, or retrieved, the web session is updated by the remaining web-events. + Updates have impacts on fields of the web session such as event counter, last visited page, session duration, ... + Before updates are actually applied, checks are performed to detect rules that would trigger the creation of a new session: + + the duration between the web session and the web event must not exceed the specified time-out, + the web session and the web event must have timestamps within the same day (at midnight a new web session is created), + source of traffic (campaign, ...) must be the same on the web session and the web event. + + When a breaking rule is detected, a new web session is created with a new session identifier where as remaining web-events still have the original session identifier. The new session identifier is the original session suffixed with the character '#' followed with an incremented counter. This new session identifier is also set on the remaining web-events. + Finally when all web events were applied, all web events -potentially modified with a new session identifier- are save in elasticsearch. And web sessions are passed to the next processor. + +WebSession information are: +- first and last visited page +- first and last timestamp of processed event +- total number of processed events +- the userId +- a boolean denoting if the web-session is still active or not +- an integer denoting the duration of the web-sessions +- optional fields that may be retrieved from the processed events + -EnrichRecordsElasticsearch --------------------------- -Enrich input records with content indexed in elasticsearch using multiget queries. -Each incoming record must be possibly enriched with information stored in elasticsearch. -Each outcoming record holds at least the input record plus potentially one or more fields coming from of one elasticsearch document. Module ______ -com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 Class _____ -com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch +com.hurence.logisland.processor.webAnalytics.IncrementalWebSession Tags ____ -elasticsearch +analytics, web, session Properties __________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. .. csv-table:: allowable-values :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" :widths: 20,60,30,20,10,10 :escape: \ + "debug", "Enable debug. If enabled, debug information are logged.", "", "false", "false", "false" + "**es.session.index.field**", "Name of the field in the record defining the ES index containing the web session documents.", "", "null", "false", "false" + "**es.session.type.name**", "Name of the ES type of web session documents.", "", "null", "false", "false" + "**es.event.index.prefix**", "Prefix of the index containing the web event documents.", "", "null", "false", "false" + "**es.event.type.name**", "Name of the ES type of web event documents.", "", "null", "false", "false" + "**es.mapping.event.to.session.index.name**", "Name of the ES index containing the mapping of web session documents.", "", "null", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "newSessionReason.out.field", "the name of the field containing the reason why a new session was created => will override default value if set", "", "reasonForNewSession", "false", "false" + "transactionIds.out.field", "the name of the field containing all transactionIds => will override default value if set", "", "transactionIds", "false", "false" + "source_of_traffic.suffix", "Prefix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" - "**record.key**", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" - "**es.index**", "The name of the ES index to use in multiget query. ", "", "null", "false", "**true**" - "es.type", "The name of the ES type to use in multiget query.", "", "default", "false", "**true**" - "es.includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" - "es.excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" Extra informations __________________ -.. include:: ./details/EnrichRecordsElasticsearch-Detail.rst +.. include:: ./details/IncrementalWebSession-Detail.rst ---------- -.. _com.hurence.logisland.processor.xml.EvaluateXPath: +.. _com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic: -EvaluateXPath -------------- -Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to new attributes in the records, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed. The value of the property must be a valid XPath expression. If the expression matches nothing, no attributes is added. +SetSourceOfTraffic +------------------ +Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, +including advertising/paying campaigns, search engines, social networks, referring sites or direct access. +When analysing user experience on a webshop, it is crucial to collect, process, and report the campaign and traffic-source data. +To compute the source of traffic of a web session, the user has to provide the utm_* related properties if available +i-e: **utm_source.field**, **utm_medium.field**, **utm_campaign.field**, **utm_content.field**, **utm_term.field**) +, the referer (**referer.field** property) and the first visited page of the session (**first.visited.page.field** property). +By default the source of traffic information are placed in a flat structure (specified by the **source_of_traffic.suffix** property +with a default value of source_of_traffic). To work properly the SetSourceOfTraffic processor needs to have access to an +Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **es.index** property) should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field (default being search_engine) specified by the property **es.search_engine.field** with a value set to true. If the domain is a social network , the related ES doc MUST have a boolean field (default being social_network) specified by the property **es.social_network.field** with a value set to true. Module ______ -com.hurence.logisland:logisland-processor-xml:1.1.2 +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 Class _____ -com.hurence.logisland.processor.xml.EvaluateXPath +com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic Tags ____ -XML, evaluate, XPath +session, traffic, source, web, analytics Properties __________ @@ -284,9 +293,59 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "**source**", "Indicates the attribute containing the xml data to evaluate xpath against.", "", "null", "false", "false" - "**validate_dtd**", "Specifies whether or not the XML content should be validated against the DTD.", "true, false", "true", "false", "false" - "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" + "referer.field", "Name of the field containing the referer value in the session", "", "referer", "false", "false" + "first.visited.page.field", "Name of the field containing the first visited page in the session", "", "firstVisitedPage", "false", "false" + "utm_source.field", "Name of the field containing the utm_source value in the session", "", "utm_source", "false", "false" + "utm_medium.field", "Name of the field containing the utm_medium value in the session", "", "utm_medium", "false", "false" + "utm_campaign.field", "Name of the field containing the utm_campaign value in the session", "", "utm_campaign", "false", "false" + "utm_content.field", "Name of the field containing the utm_content value in the session", "", "utm_content", "false", "false" + "utm_term.field", "Name of the field containing the utm_term value in the session", "", "utm_term", "false", "false" + "source_of_traffic.suffix", "Suffix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "source_of_traffic.hierarchical", "Should the additional source of trafic information fields be added under a hierarchical father field or not.", "", "false", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**cache.service**", "Name of the cache service to use.", "", "null", "false", "false" + "cache.validity.timeout", "Timeout validity (in seconds) of an entry in the cache.", "", "0", "false", "false" + "debug", "If true, an additional debug field is added. If the source info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the source fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + "**es.index**", "Name of the ES index containing the list of search engines and social network. ", "", "null", "false", "false" + "es.type", "Name of the ES type to use.", "", "default", "false", "false" + "es.search_engine.field", "Name of the ES field used to specify that the domain is a search engine.", "", "search_engine", "false", "false" + "es.social_network.field", "Name of the ES field used to specify that the domain is a social network.", "", "social_network", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SetSourceOfTraffic-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.URLDecoder: + +URLDecoder +---------- +Decode one or more field containing an URL with possibly special chars encoded +... + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.URLDecoder + +Tags +____ +record, fields, Decode + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**decode.fields**", "List of fields (URL) to decode", "", "null", "false", "false" + "charset", "Charset to use to decode the URL", "", "UTF-8", "false", "false" Dynamic Properties __________________ @@ -297,96 +356,4675 @@ Dynamic Properties allow the user to specify both the name and value of a proper :widths: 20,20,40,40,20,10 :escape: \ - "An attribute", "An XPath expression", " the attribute is set to the result of the XPath Expression.", "", "null", false + "fields to decode", "a default value", "Decode one or more fields from the record ", "", "null", false Extra informations __________________ -.. include:: ./details/EvaluateXPath-Detail.rst +.. include:: ./details/URLDecoder-Detail.rst ---------- -.. _com.hurence.logisland.processor.excel.ExcelExtract: +.. _com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch: -ExcelExtract ------------- -Consumes a Microsoft Excel document and converts each worksheet's line to a structured record. The processor is assuming to receive raw excel file as input record. +EnrichRecordsElasticsearch +-------------------------- +Enrich input records with content indexed in elasticsearch using multiget queries. +Each incoming record must be possibly enriched with information stored in elasticsearch. +Each outcoming record holds at least the input record plus potentially one or more fields coming from of one elasticsearch document. Module ______ -com.hurence.logisland:logisland-processor-excel:1.1.2 +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 Class _____ -com.hurence.logisland.processor.excel.ExcelExtract +com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch Tags ____ -excel, processor, poi +elasticsearch Properties __________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . .. csv-table:: allowable-values :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" :widths: 20,60,30,20,10,10 :escape: \ - "sheets", "Comma separated list of Excel document sheet names that should be extracted from the excel document. If this property is left blank then all of the sheets will be extracted from the Excel document. You can specify regular expressions. Any sheets not specified in this value will be ignored.", "", "", "false", "false" - "skip.columns", "Comma delimited list of column numbers to skip. Use the columns number and not the letter designation. Use this to skip over columns anywhere in your worksheet that you don't want extracted as part of the record.", "", "", "false", "false" - "field.names", "The comma separated list representing the names of columns of extracted cells. Order matters! You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" - "skip.rows", "The row number of the first row to start processing.Use this to skip over rows of data at the top of your worksheet that are not part of the dataset.Empty rows of data anywhere in the spreadsheet will always be skipped, no matter what this value is set to.", "", "0", "false", "false" - "record.type", "Default type of record", "", "excel_record", "false", "false" - "field.row.header", "If set, field names mapping will be extracted from the specified row number. You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**record.key**", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" + "**es.index**", "The name of the ES index to use in multiget query. ", "", "null", "false", "**true**" + "es.type", "The name of the ES type to use in multiget query.", "", "default", "false", "**true**" + "es.includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" + "es.excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" Extra informations __________________ -.. include:: ./details/ExcelExtract-Detail.rst +.. include:: ./details/EnrichRecordsElasticsearch-Detail.rst ---------- -.. _com.hurence.logisland.processor.hbase.FetchHBaseRow: +.. _com.hurence.logisland.processor.enrichment.IpToFqdn: -FetchHBaseRow -------------- -Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files. +IpToFqdn +-------- +Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The resolution mechanism is based on the underlying operating system. The resolution request may take some time, specially if the IP address cannot be translated into a FQDN. For these reasons this processor relies on the logisland cache service so that once a resolution occurs or not, the result is put into the cache. That way, the real request for the same IP is not re-triggered during a certain period of time, until the cache entry expires. This timeout is configurable but by default a request for the same IP is not triggered before 24 hours to let the time to the underlying DNS system to be potentially updated. Module ______ -com.hurence.logisland:logisland-processor-hbase:1.1.2 +com.hurence.logisland:logisland-processor-enrichment:1.1.2 Class _____ -com.hurence.logisland.processor.hbase.FetchHBaseRow +com.hurence.logisland.processor.enrichment.IpToFqdn Tags ____ -hbase, scan, fetch, get, enrich +dns, ip, fqdn, domain, address, fqhn, reverse, resolution, enrich Properties __________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. .. csv-table:: allowable-values :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" :widths: 20,60,30,20,10,10 :escape: \ - "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" - "**table.name.field**", "The field containing the name of the HBase Table to fetch from.", "", "null", "false", "**true**" - "**row.identifier.field**", "The field containing the identifier of the row to fetch.", "", "null", "false", "**true**" - "columns.field", "The field containing an optional comma-separated list of \"\":\"\" pairs to fetch. To return all columns for a given family, leave off the qualifier such as \"\",\"\".", "", "null", "false", "**true**" - "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" - "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" - "table.name.default", "The table to use if table name field is not set", "", "null", "false", "false" + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**fqdn.field**", "The field that will contain the full qualified domain name corresponding to the ip address.", "", "null", "false", "false" + "overwrite.fqdn.field", "If the field should be overwritten when it already exists.", "", "false", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "cache.max.time", "The amount of time, in seconds, for which a cached FQDN value is valid in the cache service. After this delay, the next new request to translate the same IP into FQDN will trigger a new reverse DNS request and the result will overwrite the entry in the cache. This allows two things: if the IP was not resolved into a FQDN, this will get a chance to obtain a FQDN if the DNS system has been updated, if the IP is resolved into a FQDN, this will allow to be more accurate if the DNS system has been updated. A value of 0 seconds disables this expiration mechanism. The default value is 84600 seconds, which corresponds to new requests triggered every day if a record with the same IP passes every day in the processor.", "", "84600", "false", "false" + "resolution.timeout", "The amount of time, in milliseconds, to wait at most for the resolution to occur. This avoids to block the stream for too much time. Default value is 1000ms. If the delay expires and no resolution could occur before, the FQDN field is not created. A special value of 0 disables the logisland timeout and the resolution request may last for many seconds if the IP cannot be translated into a FQDN by the underlying operating system. In any case, whether the timeout occurs in logisland of in the operating system, the fact that a timeout occurs is kept in the cache system so that a resolution request for the same IP will not occur before the cache entry expires.", "", "1000", "false", "false" + "debug", "If true, some additional debug fields are added. If the FQDN field is named X, a debug field named X_os_resolution_time_ms contains the resolution time in ms (using the operating system, not the cache). This field is added whether the resolution occurs or time is out. A debug field named X_os_resolution_timeout contains a boolean value to indicate if the timeout occurred. Finally, a debug field named X_from_cache contains a boolean value to indicate the origin of the FQDN field. The default value for this property is false (debug is disabled.", "", "false", "false", "false" Extra informations __________________ -.. include:: ./details/FetchHBaseRow-Detail.rst +.. include:: ./details/IpToFqdn-Detail.rst ---------- -.. _com.hurence.logisland.processor.webAnalytics.IncrementalWebSession: +.. _com.hurence.logisland.processor.enrichment.IpToGeo: -IncrementalWebSession ---------------------- +IpToGeo +------- +Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **ip.address.field** property. By default, the geo information are put in a hierarchical structure. That is, if the name of the IP field is 'X', then the the geo attributes added by enrichment are added under a father field named X_geo. "_geo" is the default hierarchical suffix that may be changed with the **geo.hierarchical.suffix** property. If one wants to put the geo fields at the same level as the IP field, then the **geo.hierarchical** property should be set to false and then the geo attributes are created at the same level as him with the naming pattern X_geo_. "_geo_" is the default flat suffix but this may be changed with the **geo.flat.suffix** property. The IpToGeo processor requires a reference to an Ip to Geo service. This must be defined in the **iptogeo.service** property. The added geo fields are dependant on the underlying Ip to Geo service. The **geo.fields** property must contain the list of geo fields that should be created if data is available for the IP to resolve. This property defaults to "*" which means to add every available fields. If one only wants a subset of the fields, one must define a comma separated list of fields as a value for the **geo.fields** property. The list of the available geo fields is in the description of the **geo.fields** property. + +Module +______ +com.hurence.logisland:logisland-processor-enrichment:1.1.2 + +Class +_____ +com.hurence.logisland.processor.enrichment.IpToGeo + +Tags +____ +geo, enrich, ip + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**iptogeo.service**", "The reference to the IP to Geo service to use.", "", "null", "false", "false" + "geo.fields", "Comma separated list of geo information fields to add to the record. Defaults to '*', which means to include all available fields. If a list of fields is specified and the data is not available, the geo field is not created. The geo fields are dependant on the underlying defined Ip to Geo service. The currently only supported type of Ip to Geo service is the Maxmind Ip to Geo service. This means that the currently supported list of geo fields is the following:**continent**: the identified continent for this IP address. **continent_code**: the identified continent code for this IP address. **city**: the identified city for this IP address. **latitude**: the identified latitude for this IP address. **longitude**: the identified longitude for this IP address. **location**: the identified location for this IP address, defined as Geo-point expressed as a string with the format: 'latitude,longitude'. **accuracy_radius**: the approximate accuracy radius, in kilometers, around the latitude and longitude for the location. **time_zone**: the identified time zone for this IP address. **subdivision_N**: the identified subdivision for this IP address. N is a one-up number at the end of the attribute name, starting with 0. **subdivision_isocode_N**: the iso code matching the identified subdivision_N. **country**: the identified country for this IP address. **country_isocode**: the iso code for the identified country for this IP address. **postalcode**: the identified postal code for this IP address. **lookup_micros**: the number of microseconds that the geo lookup took. The Ip to Geo service must have the lookup_micros property enabled in order to have this field available.", "", "*", "false", "false" + "geo.hierarchical", "Should the additional geo information fields be added under a hierarchical father field or not.", "", "true", "false", "false" + "geo.hierarchical.suffix", "Suffix to use for the field holding geo information. If geo.hierarchical is true, then use this suffix appended to the IP field name to define the father field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo", "false", "false" + "geo.flat.suffix", "Suffix to use for geo information fields when they are flat. If geo.hierarchical is false, then use this suffix appended to the IP field name but before the geo field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo_", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "debug", "If true, an additional debug field is added. If the geo info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the geo fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IpToGeo-Detail.rst +---------- + +.. _com.hurence.logisland.processor.bro.ParseBroEvent: + +ParseBroEvent +------------- +The ParseBroEvent processor is the Logisland entry point to get and process `Bro `_ events. The `Bro-Kafka plugin `_ should be used and configured in order to have Bro events sent to Kafka. See the `Bro/Logisland tutorial `_ for an example of usage for this processor. The ParseBroEvent processor does some minor pre-processing on incoming Bro events from the Bro-Kafka plugin to adapt them to Logisland. + +Basically the events coming from the Bro-Kafka plugin are JSON documents with a first level field indicating the type of the event. The ParseBroEvent processor takes the incoming JSON document, sets the event type in a record_type field and sets the original sub-fields of the JSON event as first level fields in the record. Also any dot in a field name is transformed into an underscore. Thus, for instance, the field id.orig_h becomes id_orig_h. The next processors in the stream can then process the Bro events generated by this ParseBroEvent processor. + +As an example here is an incoming event from Bro: + +{ + + "conn": { + + "id.resp_p": 9092, + + "resp_pkts": 0, + + "resp_ip_bytes": 0, + + "local_orig": true, + + "orig_ip_bytes": 0, + + "orig_pkts": 0, + + "missed_bytes": 0, + + "history": "Cc", + + "tunnel_parents": [], + + "id.orig_p": 56762, + + "local_resp": true, + + "uid": "Ct3Ms01I3Yc6pmMZx7", + + "conn_state": "OTH", + + "id.orig_h": "172.17.0.2", + + "proto": "tcp", + + "id.resp_h": "172.17.0.3", + + "ts": 1487596886.953917 + + } + + } + +It gets processed and transformed into the following Logisland record by the ParseBroEvent processor: + +"@timestamp": "2017-02-20T13:36:32Z" + +"record_id": "6361f80a-c5c9-4a16-9045-4bb51736333d" + +"record_time": 1487597792782 + +"record_type": "conn" + +"id_resp_p": 9092 + +"resp_pkts": 0 + +"resp_ip_bytes": 0 + +"local_orig": true + +"orig_ip_bytes": 0 + +"orig_pkts": 0 + +"missed_bytes": 0 + +"history": "Cc" + +"tunnel_parents": [] + +"id_orig_p": 56762 + +"local_resp": true + +"uid": "Ct3Ms01I3Yc6pmMZx7" + +"conn_state": "OTH" + +"id_orig_h": "172.17.0.2" + +"proto": "tcp" + +"id_resp_h": "172.17.0.3" + +"ts": 1487596886.953917 + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.bro.ParseBroEvent + +Tags +____ +bro, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseBroEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.netflow.ParseNetflowEvent: + +ParseNetflowEvent +----------------- +The `Netflow V5 `_ processor is the Logisland entry point to process Netflow (V5) events. NetFlow is a feature introduced on Cisco routers that provides the ability to collect IP network traffic.We can distinguish 2 components: + + - Flow exporter: aggregates packets into flows and exports flow records (binary format) towards one or more flow collectors + + - Flow collector: responsible for reception, storage and pre-processing of flow data received from a flow exporter + +The collected data are then available for analysis purpose (intrusion detection, traffic analysis...) +Netflow are sent to kafka in order to be processed by logisland. +In the tutorial we will simulate Netflow traffic using `nfgen `_. this traffic will be sent to port 2055. The we rely on nifi to listen of that port for incoming netflow (V5) traffic and send them to a kafka topic. The Netflow processor could thus treat these events and generate corresponding logisland records. The following processors in the stream can then process the Netflow records generated by this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.netflow.ParseNetflowEvent + +Tags +____ +netflow, security + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + "output.record.type", "the output type of the record", "", "netflowevent", "false", "false" + "enrich.record", "Enrich data. If enabledthe netflow record is enriched with inferred data", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseNetflowEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.networkpacket.ParseNetworkPacket: + +ParseNetworkPacket +------------------ +The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). In batch mode, the processor decodes the bytes of the incoming pcap record, where a Global header followed by a sequence of [packet header, packet data] pairs are stored. Then, each incoming pcap event is parsed into n packet records. The fields of packet headers are then extracted and made available in dedicated record fields. See the `Capturing Network packets tutorial `_ for an example of usage of this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.networkpacket.ParseNetworkPacket + +Tags +____ +PCap, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "**flow.mode**", "Flow Mode. Indicate whether packets are provided in batch mode (via pcap files) or in stream mode (without headers). Allowed values are batch and stream.", "batch, stream", "null", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.processor.SampleRecords: + +SampleRecords +------------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-sampling:1.1.2 + +Class +_____ +com.hurence.logisland.processor.SampleRecords + +Tags +____ +analytic, sampler, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "record.value.field", "the name of the numeric field to sample", "", "record_value", "false", "false" + "record.time.field", "the name of the time field to sample", "", "record_time", "false", "false" + "**sampling.algorithm**", "the implementation of the algorithm", "none, lttb, average, first_item, min_max, mode_median", "null", "false", "false" + "**sampling.parameter**", "the parmater of the algorithm", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SampleRecords-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch: + +BulkAddElasticsearch +-------------------- +Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**default.index**", "The name of the index to insert into", "", "null", "false", "**true**" + "**default.type**", "The type of this document (used by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" + "**timebased.index**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" + "es.index.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "false" + "es.type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/BulkAddElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.FetchHBaseRow: + +FetchHBaseRow +------------- +Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files. + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.FetchHBaseRow + +Tags +____ +hbase, scan, fetch, get, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to fetch from.", "", "null", "false", "**true**" + "**row.identifier.field**", "The field containing the identifier of the row to fetch.", "", "null", "false", "**true**" + "columns.field", "The field containing an optional comma-separated list of \"\":\"\" pairs to fetch. To return all columns for a given family, leave off the qualifier such as \"\",\"\".", "", "null", "false", "**true**" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "table.name.default", "The table to use if table name field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/FetchHBaseRow-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch: + +MultiGetElasticsearch +--------------------- +Retrieves a content indexed in elasticsearch using elasticsearch multiget queries. +Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : + + - index (String) : name of the elasticsearch index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - type (String) : name of the elasticsearch type on which the multiget query will be performed. This field is not mandatory. + - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. + +Each outcoming record holds data of one elasticsearch retrieved document. This data is stored in these fields : + + - index (same field name as the incoming record) : name of the elasticsearch index. + - type (same field name as the incoming record) : name of the elasticsearch type. + - id (same field name as the incoming record) : retrieved document id. + - a list of String fields containing : + + * field name : the retrieved field name + * field value : the retrieved field value + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**es.index.field**", "the name of the incoming records field containing es index name to use in multiget query. ", "", "null", "false", "false" + "**es.type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" + "**es.ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" + "**es.includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" + "**es.excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/MultiGetElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.PutHBaseCell: + +PutHBaseCell +------------ +Adds the Contents of a Record to HBase as the value of a single cell + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.PutHBaseCell + +Tags +____ +hadoop, hbase + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to put data into", "", "null", "false", "**true**" + "row.identifier.field", "Specifies field containing the Row ID to use when inserting data into HBase", "", "null", "false", "**true**" + "row.identifier.encoding.strategy", "Specifies the data type of Row ID used when inserting data into HBase. The default behavior is to convert the row id to a UTF-8 byte array. Choosing Binary will convert a binary formatted string to the correct byte[] representation. The Binary option should be used if you are using Binary row keys in HBase", "String (Stores the value of row id as a UTF-8 String.), Binary (Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string.)", "String", "false", "false" + "**column.family.field**", "The field containing the Column Family to use when inserting data into HBase", "", "null", "false", "**true**" + "**column.qualifier.field**", "The field containing the Column Qualifier to use when inserting data into HBase", "", "null", "false", "**true**" + "**batch.size**", "The maximum number of Records to process in a single execution. The Records will be grouped by table, and a single Put per table will be performed.", "", "25", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "table.name.default", "The table table to use if table name field is not set", "", "null", "false", "false" + "column.family.default", "The column family to use if column family field is not set", "", "null", "false", "false" + "column.qualifier.default", "The column qualifier to use if column qualifier field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/PutHBaseCell-Detail.rst +---------- + +.. _com.hurence.logisland.processor.scripting.python.RunPython: + +RunPython +--------- + !!!! WARNING !!!! + +The RunPython processor is currently an experimental feature : it is delivered as is, with the current set of features and is subject to modifications in API or anything else in further logisland releases without warnings. There is no tutorial yet. If you want to play with this processor, use the python-processing.yml example and send the apache logs of the index apache logs tutorial. The debug stream processor at the end of the stream should output events in stderr file of the executors from the spark console. + +This processor allows to implement and run a processor written in python. This can be done in 2 ways. Either directly defining the process method code in the **script.code.process** configuration property or poiting to an external python module script file in the **script.path** configuration property. Directly defining methods is called the inline mode whereas using a script file is called the file mode. Both ways are mutually exclusive. Whether using the inline of file mode, your python code may depend on some python dependencies. If the set of python dependencies already delivered with the Logisland framework is not sufficient, you can use the **dependencies.path** configuration property to give their location. Currently only the nltk python library is delivered with Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-scripting:1.1.2 + +Class +_____ +com.hurence.logisland.processor.scripting.python.RunPython + +Tags +____ +scripting, python + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "script.code.imports", "For inline mode only. This is the python code that should hold the import statements if required.", "", "null", "false", "false" + "script.code.init", "The python code to be called when the processor is initialized. This is the python equivalent of the init method code for a java processor. This is not mandatory but can only be used if **script.code.process** is defined (inline mode).", "", "null", "false", "false" + "script.code.process", "The python code to be called to process the records. This is the pyhton equivalent of the process method code for a java processor. For inline mode, this is the only minimum required configuration property. Using this property, you may also optionally define the **script.code.init** and **script.code.imports** properties.", "", "null", "false", "false" + "script.path", "The path to the user's python processor script. Use this property for file mode. Your python code must be in a python file with the following constraints: let's say your pyhton script is named MyProcessor.py. Then MyProcessor.py is a module file that must contain a class named MyProcessor which must inherits from the Logisland delivered class named AbstractProcessor. You can then define your code in the process method and in the other traditional methods (init...) as you would do in java in a class inheriting from the AbstractProcessor java class.", "", "null", "false", "false" + "dependencies.path", "The path to the additional dependencies for the user's python code, whether using inline or file mode. This is optional as your code may not have additional dependencies. If you defined **script.path** (so using file mode) and if **dependencies.path** is not defined, Logisland will scan a potential directory named **dependencies** in the same directory where the script file resides and if it exists, any python code located there will be loaded as dependency as needed.", "", "null", "false", "false" + "logisland.dependencies.path", "The path to the directory containing the python dependencies shipped with logisland. You should not have to tune this parameter.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/RunPython-Detail.rst +---------- + +.. _com.hurence.logisland.processor.xml.EvaluateXPath: + +EvaluateXPath +------------- +Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to new attributes in the records, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed. The value of the property must be a valid XPath expression. If the expression matches nothing, no attributes is added. + +Module +______ +com.hurence.logisland:logisland-processor-xml:1.1.2 + +Class +_____ +com.hurence.logisland.processor.xml.EvaluateXPath + +Tags +____ +XML, evaluate, XPath + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**source**", "Indicates the attribute containing the xml data to evaluate xpath against.", "", "null", "false", "false" + "**validate_dtd**", "Specifies whether or not the XML content should be validated against the DTD.", "true, false", "true", "false", "false" + "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "An attribute", "An XPath expression", " the attribute is set to the result of the XPath Expression.", "", "null", false + +Extra informations +__________________ +.. include:: ./details/EvaluateXPath-Detail.rst +---------- + +.. _com.hurence.logisland.processor.excel.ExcelExtract: + +ExcelExtract +------------ +Consumes a Microsoft Excel document and converts each worksheet's line to a structured record. The processor is assuming to receive raw excel file as input record. + +Module +______ +com.hurence.logisland:logisland-processor-excel:1.1.2 + +Class +_____ +com.hurence.logisland.processor.excel.ExcelExtract + +Tags +____ +excel, processor, poi + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "sheets", "Comma separated list of Excel document sheet names that should be extracted from the excel document. If this property is left blank then all of the sheets will be extracted from the Excel document. You can specify regular expressions. Any sheets not specified in this value will be ignored.", "", "", "false", "false" + "skip.columns", "Comma delimited list of column numbers to skip. Use the columns number and not the letter designation. Use this to skip over columns anywhere in your worksheet that you don't want extracted as part of the record.", "", "", "false", "false" + "field.names", "The comma separated list representing the names of columns of extracted cells. Order matters! You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + "skip.rows", "The row number of the first row to start processing.Use this to skip over rows of data at the top of your worksheet that are not part of the dataset.Empty rows of data anywhere in the spreadsheet will always be skipped, no matter what this value is set to.", "", "0", "false", "false" + "record.type", "Default type of record", "", "excel_record", "false", "false" + "field.row.header", "If set, field names mapping will be extracted from the specified row number. You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ExcelExtract-Detail.rst +---------- + +.. _com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog: + +ParseGitlabLog +-------------- +The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs. This allows for instance to monitor activities in your Gitlab server. The expected input of this processor are records from the production_json.log log file of Gitlab which contains JSON records. You can for instance use the `kafkacat `_ command to inject those logs into kafka and thus Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-common-logs:1.1.2 + +Class +_____ +com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog + +Tags +____ +logs, gitlab + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseGitlabLog-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchIP: + +MatchIP +------- +IP address Query matching (using `Luwak )`_ + +You can use this processor to handle custom events matching IP address (CIDR) +The record sent from a matching an IP address record is tagged appropriately. + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchIP + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchIP-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchQuery: + +MatchQuery +---------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchQuery + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchQuery-Detail.rst +---------- + +.. _com.hurence.logisland.processor.useragent.ParseUserAgent: + +ParseUserAgent +-------------- +The user-agent processor allows to decompose User-Agent value from an HTTP header into several attributes of interest. There is no standard format for User-Agent strings, hence it is not easily possible to use regexp to handle them. This processor rely on the `YAUAA library `_ to do the heavy work. + +Module +______ +com.hurence.logisland:logisland-processor-useragent:1.1.2 + +Class +_____ +com.hurence.logisland.processor.useragent.ParseUserAgent + +Tags +____ +User-Agent, clickstream, DMP + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "cache.enabled", "Enable caching. Caching to avoid to redo the same computation for many identical User-Agent strings.", "", "true", "false", "false" + "cache.size", "Set the size of the cache.", "", "1000", "false", "false" + "**useragent.field**", "Must contain the name of the field that contains the User-Agent value in the incoming record.", "", "null", "false", "false" + "useragent.keep", "Defines if the field that contained the User-Agent must be kept or not in the resulting records.", "", "true", "false", "false" + "confidence.enabled", "Enable confidence reporting. Each field will report a confidence attribute with a value comprised between 0 and 10000.", "", "false", "false", "false" + "ambiguity.enabled", "Enable ambiguity reporting. Reports a count of ambiguities.", "", "false", "false", "false" + "fields", "Defines the fields to be returned.", "", "DeviceClass, DeviceName, DeviceBrand, DeviceCpu, DeviceFirmwareVersion, DeviceVersion, OperatingSystemClass, OperatingSystemName, OperatingSystemVersion, OperatingSystemNameVersion, OperatingSystemVersionBuild, LayoutEngineClass, LayoutEngineName, LayoutEngineVersion, LayoutEngineVersionMajor, LayoutEngineNameVersion, LayoutEngineNameVersionMajor, LayoutEngineBuild, AgentClass, AgentName, AgentVersion, AgentVersionMajor, AgentNameVersion, AgentNameVersionMajor, AgentBuild, AgentLanguage, AgentLanguageCode, AgentInformationEmail, AgentInformationUrl, AgentSecurity, AgentUuid, FacebookCarrier, FacebookDeviceClass, FacebookDeviceName, FacebookDeviceVersion, FacebookFBOP, FacebookFBSS, FacebookOperatingSystemName, FacebookOperatingSystemVersion, Anonymized, HackerAttackVector, HackerToolkit, KoboAffiliate, KoboPlatformId, IECompatibilityVersion, IECompatibilityVersionMajor, IECompatibilityNameVersion, IECompatibilityNameVersionMajor, __SyntaxError__, Carrier, GSAInstallationID, WebviewAppName, WebviewAppNameVersionMajor, WebviewAppVersion, WebviewAppVersionMajor", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseUserAgent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.ConsolidateSession: + +ConsolidateSession +------------------ +The ConsolidateSession processor is the Logisland entry point to get and process events from the Web Analytics.As an example here is an incoming event from the Web Analytics: + +"fields": [{ "name": "timestamp", "type": "long" },{ "name": "remoteHost", "type": "string"},{ "name": "record_type", "type": ["null", "string"], "default": null },{ "name": "record_id", "type": ["null", "string"], "default": null },{ "name": "location", "type": ["null", "string"], "default": null },{ "name": "hitType", "type": ["null", "string"], "default": null },{ "name": "eventCategory", "type": ["null", "string"], "default": null },{ "name": "eventAction", "type": ["null", "string"], "default": null },{ "name": "eventLabel", "type": ["null", "string"], "default": null },{ "name": "localPath", "type": ["null", "string"], "default": null },{ "name": "q", "type": ["null", "string"], "default": null },{ "name": "n", "type": ["null", "int"], "default": null },{ "name": "referer", "type": ["null", "string"], "default": null },{ "name": "viewportPixelWidth", "type": ["null", "int"], "default": null },{ "name": "viewportPixelHeight", "type": ["null", "int"], "default": null },{ "name": "screenPixelWidth", "type": ["null", "int"], "default": null },{ "name": "screenPixelHeight", "type": ["null", "int"], "default": null },{ "name": "partyId", "type": ["null", "string"], "default": null },{ "name": "sessionId", "type": ["null", "string"], "default": null },{ "name": "pageViewId", "type": ["null", "string"], "default": null },{ "name": "is_newSession", "type": ["null", "boolean"],"default": null },{ "name": "userAgentString", "type": ["null", "string"], "default": null },{ "name": "pageType", "type": ["null", "string"], "default": null },{ "name": "UserId", "type": ["null", "string"], "default": null },{ "name": "B2Bunit", "type": ["null", "string"], "default": null },{ "name": "pointOfService", "type": ["null", "string"], "default": null },{ "name": "companyID", "type": ["null", "string"], "default": null },{ "name": "GroupCode", "type": ["null", "string"], "default": null },{ "name": "userRoles", "type": ["null", "string"], "default": null },{ "name": "is_PunchOut", "type": ["null", "string"], "default": null }]The ConsolidateSession processor groups the records by sessions and compute the duration between now and the last received event. If the distance from the last event is beyond a given threshold (by default 30mn), then the session is considered closed.The ConsolidateSession is building an aggregated session object for each active session.This aggregated object includes: - The actual session duration. - A boolean representing wether the session is considered active or closed. Note: it is possible to ressurect a session if for instance an event arrives after a session has been marked closed. - User related infos: userId, B2Bunit code, groupCode, userRoles, companyId - First visited page: URL - Last visited page: URL The properties to configure the processor are: - sessionid.field: Property name containing the session identifier (default: sessionId). - timestamp.field: Property name containing the timestamp of the event (default: timestamp). - session.timeout: Timeframe of inactivity (in seconds) after which a session is considered closed (default: 30mn). - visitedpage.field: Property name containing the page visited by the customer (default: location). - fields.to.return: List of fields to return in the aggregated object. (default: N/A) + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.ConsolidateSession + +Tags +____ +analytics, web, session + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "null", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ConsolidateSession-Detail.rst +---------- + +.. _com.hurence.logisland.processor.DetectOutliers: + +DetectOutliers +-------------- +Outlier Analysis: A Hybrid Approach + +In order to function at scale, a two-phase approach is taken + +For every data point + +- Detect outlier candidates using a robust estimator of variability (e.g. median absolute deviation) that uses distributional sketching (e.g. Q-trees) +- Gather a biased sample (biased by recency) +- Extremely deterministic in space and cheap in computation + +For every outlier candidate + +- Use traditional, more computationally complex approaches to outlier analysis (e.g. Robust PCA) on the biased sample +- Expensive computationally, but run infrequently + +This becomes a data filter which can be attached to a timeseries data stream within a distributed computational framework (i.e. Storm, Spark, Flink, NiFi) to detect outliers. + +Module +______ +com.hurence.logisland:logisland-processor-outlier-detection:1.1.2 + +Class +_____ +com.hurence.logisland.processor.DetectOutliers + +Tags +____ +analytic, outlier, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**value.field**", "the numeric field to get the value", "", "record_value", "false", "false" + "**time.field**", "the numeric field to get the value", "", "record_time", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "**rotation.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**rotation.policy.amount**", "...", "", "100", "false", "false" + "**rotation.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "**chunking.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**chunking.policy.amount**", "...", "", "100", "false", "false" + "**chunking.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "sketchy.outlier.algorithm", "...", "SKETCHY_MOVING_MAD", "SKETCHY_MOVING_MAD", "false", "false" + "batch.outlier.algorithm", "...", "RAD", "RAD", "false", "false" + "global.statistics.min", "minimum value", "", "null", "false", "false" + "global.statistics.max", "maximum value", "", "null", "false", "false" + "global.statistics.mean", "mean value", "", "null", "false", "false" + "global.statistics.stddev", "standard deviation value", "", "null", "false", "false" + "**zscore.cutoffs.normal**", "zscoreCutoffs level for normal outlier", "", "0.000000000000001", "false", "false" + "**zscore.cutoffs.moderate**", "zscoreCutoffs level for moderate outlier", "", "1.5", "false", "false" + "**zscore.cutoffs.severe**", "zscoreCutoffs level for severe outlier", "", "10.0", "false", "false" + "zscore.cutoffs.notEnoughData", "zscoreCutoffs level for notEnoughData outlier", "", "100", "false", "false" + "smooth", "do smoothing ?", "", "false", "false", "false" + "decay", "the decay", "", "0.1", "false", "false" + "**min.amount.to.predict**", "minAmountToPredict", "", "100", "false", "false" + "min_zscore_percentile", "minZscorePercentile", "", "50.0", "false", "false" + "reservoir_size", "the size of points reservoir", "", "100", "false", "false" + "rpca.force.diff", "No Description Provided.", "", "null", "false", "false" + "rpca.lpenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.min.records", "No Description Provided.", "", "null", "false", "false" + "rpca.spenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.threshold", "No Description Provided.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/DetectOutliers-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.IncrementalWebSession: + +IncrementalWebSession +--------------------- +This processor creates and updates web-sessions based on incoming web-events. Note that both web-sessions and web-events are stored in elasticsearch. + Firstly, web-events are grouped by their session identifier and processed in chronological order. + Then each web-session associated to each group is retrieved from elasticsearch. + In case none exists yet then a new web session is created based on the first web event. + The following fields of the newly created web session are set based on the associated web event: session identifier, first timestamp, first visited page. Secondly, once created, or retrieved, the web session is updated by the remaining web-events. + Updates have impacts on fields of the web session such as event counter, last visited page, session duration, ... + Before updates are actually applied, checks are performed to detect rules that would trigger the creation of a new session: + + the duration between the web session and the web event must not exceed the specified time-out, + the web session and the web event must have timestamps within the same day (at midnight a new web session is created), + source of traffic (campaign, ...) must be the same on the web session and the web event. + + When a breaking rule is detected, a new web session is created with a new session identifier where as remaining web-events still have the original session identifier. The new session identifier is the original session suffixed with the character '#' followed with an incremented counter. This new session identifier is also set on the remaining web-events. + Finally when all web events were applied, all web events -potentially modified with a new session identifier- are save in elasticsearch. And web sessions are passed to the next processor. + +WebSession information are: +- first and last visited page +- first and last timestamp of processed event +- total number of processed events +- the userId +- a boolean denoting if the web-session is still active or not +- an integer denoting the duration of the web-sessions +- optional fields that may be retrieved from the processed events + + + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.IncrementalWebSession + +Tags +____ +analytics, web, session + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, debug information are logged.", "", "false", "false", "false" + "**es.session.index.field**", "Name of the field in the record defining the ES index containing the web session documents.", "", "null", "false", "false" + "**es.session.type.name**", "Name of the ES type of web session documents.", "", "null", "false", "false" + "**es.event.index.prefix**", "Prefix of the index containing the web event documents.", "", "null", "false", "false" + "**es.event.type.name**", "Name of the ES type of web event documents.", "", "null", "false", "false" + "**es.mapping.event.to.session.index.name**", "Name of the ES index containing the mapping of web session documents.", "", "null", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "newSessionReason.out.field", "the name of the field containing the reason why a new session was created => will override default value if set", "", "reasonForNewSession", "false", "false" + "transactionIds.out.field", "the name of the field containing all transactionIds => will override default value if set", "", "transactionIds", "false", "false" + "source_of_traffic.suffix", "Prefix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IncrementalWebSession-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic: + +SetSourceOfTraffic +------------------ +Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, +including advertising/paying campaigns, search engines, social networks, referring sites or direct access. +When analysing user experience on a webshop, it is crucial to collect, process, and report the campaign and traffic-source data. +To compute the source of traffic of a web session, the user has to provide the utm_* related properties if available +i-e: **utm_source.field**, **utm_medium.field**, **utm_campaign.field**, **utm_content.field**, **utm_term.field**) +, the referer (**referer.field** property) and the first visited page of the session (**first.visited.page.field** property). +By default the source of traffic information are placed in a flat structure (specified by the **source_of_traffic.suffix** property +with a default value of source_of_traffic). To work properly the SetSourceOfTraffic processor needs to have access to an +Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **es.index** property) should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field (default being search_engine) specified by the property **es.search_engine.field** with a value set to true. If the domain is a social network , the related ES doc MUST have a boolean field (default being social_network) specified by the property **es.social_network.field** with a value set to true. + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic + +Tags +____ +session, traffic, source, web, analytics + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "referer.field", "Name of the field containing the referer value in the session", "", "referer", "false", "false" + "first.visited.page.field", "Name of the field containing the first visited page in the session", "", "firstVisitedPage", "false", "false" + "utm_source.field", "Name of the field containing the utm_source value in the session", "", "utm_source", "false", "false" + "utm_medium.field", "Name of the field containing the utm_medium value in the session", "", "utm_medium", "false", "false" + "utm_campaign.field", "Name of the field containing the utm_campaign value in the session", "", "utm_campaign", "false", "false" + "utm_content.field", "Name of the field containing the utm_content value in the session", "", "utm_content", "false", "false" + "utm_term.field", "Name of the field containing the utm_term value in the session", "", "utm_term", "false", "false" + "source_of_traffic.suffix", "Suffix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "source_of_traffic.hierarchical", "Should the additional source of trafic information fields be added under a hierarchical father field or not.", "", "false", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**cache.service**", "Name of the cache service to use.", "", "null", "false", "false" + "cache.validity.timeout", "Timeout validity (in seconds) of an entry in the cache.", "", "0", "false", "false" + "debug", "If true, an additional debug field is added. If the source info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the source fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + "**es.index**", "Name of the ES index containing the list of search engines and social network. ", "", "null", "false", "false" + "es.type", "Name of the ES type to use.", "", "default", "false", "false" + "es.search_engine.field", "Name of the ES field used to specify that the domain is a search engine.", "", "search_engine", "false", "false" + "es.social_network.field", "Name of the ES field used to specify that the domain is a social network.", "", "social_network", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SetSourceOfTraffic-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.URLDecoder: + +URLDecoder +---------- +Decode one or more field containing an URL with possibly special chars encoded +... + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.URLDecoder + +Tags +____ +record, fields, Decode + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**decode.fields**", "List of fields (URL) to decode", "", "null", "false", "false" + "charset", "Charset to use to decode the URL", "", "UTF-8", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "fields to decode", "a default value", "Decode one or more fields from the record ", "", "null", false + +Extra informations +__________________ +.. include:: ./details/URLDecoder-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch: + +EnrichRecordsElasticsearch +-------------------------- +Enrich input records with content indexed in elasticsearch using multiget queries. +Each incoming record must be possibly enriched with information stored in elasticsearch. +Each outcoming record holds at least the input record plus potentially one or more fields coming from of one elasticsearch document. + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**record.key**", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" + "**es.index**", "The name of the ES index to use in multiget query. ", "", "null", "false", "**true**" + "es.type", "The name of the ES type to use in multiget query.", "", "default", "false", "**true**" + "es.includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" + "es.excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" + +Extra informations +__________________ +.. include:: ./details/EnrichRecordsElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.enrichment.IpToFqdn: + +IpToFqdn +-------- +Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The resolution mechanism is based on the underlying operating system. The resolution request may take some time, specially if the IP address cannot be translated into a FQDN. For these reasons this processor relies on the logisland cache service so that once a resolution occurs or not, the result is put into the cache. That way, the real request for the same IP is not re-triggered during a certain period of time, until the cache entry expires. This timeout is configurable but by default a request for the same IP is not triggered before 24 hours to let the time to the underlying DNS system to be potentially updated. + +Module +______ +com.hurence.logisland:logisland-processor-enrichment:1.1.2 + +Class +_____ +com.hurence.logisland.processor.enrichment.IpToFqdn + +Tags +____ +dns, ip, fqdn, domain, address, fqhn, reverse, resolution, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**fqdn.field**", "The field that will contain the full qualified domain name corresponding to the ip address.", "", "null", "false", "false" + "overwrite.fqdn.field", "If the field should be overwritten when it already exists.", "", "false", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "cache.max.time", "The amount of time, in seconds, for which a cached FQDN value is valid in the cache service. After this delay, the next new request to translate the same IP into FQDN will trigger a new reverse DNS request and the result will overwrite the entry in the cache. This allows two things: if the IP was not resolved into a FQDN, this will get a chance to obtain a FQDN if the DNS system has been updated, if the IP is resolved into a FQDN, this will allow to be more accurate if the DNS system has been updated. A value of 0 seconds disables this expiration mechanism. The default value is 84600 seconds, which corresponds to new requests triggered every day if a record with the same IP passes every day in the processor.", "", "84600", "false", "false" + "resolution.timeout", "The amount of time, in milliseconds, to wait at most for the resolution to occur. This avoids to block the stream for too much time. Default value is 1000ms. If the delay expires and no resolution could occur before, the FQDN field is not created. A special value of 0 disables the logisland timeout and the resolution request may last for many seconds if the IP cannot be translated into a FQDN by the underlying operating system. In any case, whether the timeout occurs in logisland of in the operating system, the fact that a timeout occurs is kept in the cache system so that a resolution request for the same IP will not occur before the cache entry expires.", "", "1000", "false", "false" + "debug", "If true, some additional debug fields are added. If the FQDN field is named X, a debug field named X_os_resolution_time_ms contains the resolution time in ms (using the operating system, not the cache). This field is added whether the resolution occurs or time is out. A debug field named X_os_resolution_timeout contains a boolean value to indicate if the timeout occurred. Finally, a debug field named X_from_cache contains a boolean value to indicate the origin of the FQDN field. The default value for this property is false (debug is disabled.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IpToFqdn-Detail.rst +---------- + +.. _com.hurence.logisland.processor.enrichment.IpToGeo: + +IpToGeo +------- +Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **ip.address.field** property. By default, the geo information are put in a hierarchical structure. That is, if the name of the IP field is 'X', then the the geo attributes added by enrichment are added under a father field named X_geo. "_geo" is the default hierarchical suffix that may be changed with the **geo.hierarchical.suffix** property. If one wants to put the geo fields at the same level as the IP field, then the **geo.hierarchical** property should be set to false and then the geo attributes are created at the same level as him with the naming pattern X_geo_. "_geo_" is the default flat suffix but this may be changed with the **geo.flat.suffix** property. The IpToGeo processor requires a reference to an Ip to Geo service. This must be defined in the **iptogeo.service** property. The added geo fields are dependant on the underlying Ip to Geo service. The **geo.fields** property must contain the list of geo fields that should be created if data is available for the IP to resolve. This property defaults to "*" which means to add every available fields. If one only wants a subset of the fields, one must define a comma separated list of fields as a value for the **geo.fields** property. The list of the available geo fields is in the description of the **geo.fields** property. + +Module +______ +com.hurence.logisland:logisland-processor-enrichment:1.1.2 + +Class +_____ +com.hurence.logisland.processor.enrichment.IpToGeo + +Tags +____ +geo, enrich, ip + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**iptogeo.service**", "The reference to the IP to Geo service to use.", "", "null", "false", "false" + "geo.fields", "Comma separated list of geo information fields to add to the record. Defaults to '*', which means to include all available fields. If a list of fields is specified and the data is not available, the geo field is not created. The geo fields are dependant on the underlying defined Ip to Geo service. The currently only supported type of Ip to Geo service is the Maxmind Ip to Geo service. This means that the currently supported list of geo fields is the following:**continent**: the identified continent for this IP address. **continent_code**: the identified continent code for this IP address. **city**: the identified city for this IP address. **latitude**: the identified latitude for this IP address. **longitude**: the identified longitude for this IP address. **location**: the identified location for this IP address, defined as Geo-point expressed as a string with the format: 'latitude,longitude'. **accuracy_radius**: the approximate accuracy radius, in kilometers, around the latitude and longitude for the location. **time_zone**: the identified time zone for this IP address. **subdivision_N**: the identified subdivision for this IP address. N is a one-up number at the end of the attribute name, starting with 0. **subdivision_isocode_N**: the iso code matching the identified subdivision_N. **country**: the identified country for this IP address. **country_isocode**: the iso code for the identified country for this IP address. **postalcode**: the identified postal code for this IP address. **lookup_micros**: the number of microseconds that the geo lookup took. The Ip to Geo service must have the lookup_micros property enabled in order to have this field available.", "", "*", "false", "false" + "geo.hierarchical", "Should the additional geo information fields be added under a hierarchical father field or not.", "", "true", "false", "false" + "geo.hierarchical.suffix", "Suffix to use for the field holding geo information. If geo.hierarchical is true, then use this suffix appended to the IP field name to define the father field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo", "false", "false" + "geo.flat.suffix", "Suffix to use for geo information fields when they are flat. If geo.hierarchical is false, then use this suffix appended to the IP field name but before the geo field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo_", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "debug", "If true, an additional debug field is added. If the geo info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the geo fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IpToGeo-Detail.rst +---------- + +.. _com.hurence.logisland.processor.bro.ParseBroEvent: + +ParseBroEvent +------------- +The ParseBroEvent processor is the Logisland entry point to get and process `Bro `_ events. The `Bro-Kafka plugin `_ should be used and configured in order to have Bro events sent to Kafka. See the `Bro/Logisland tutorial `_ for an example of usage for this processor. The ParseBroEvent processor does some minor pre-processing on incoming Bro events from the Bro-Kafka plugin to adapt them to Logisland. + +Basically the events coming from the Bro-Kafka plugin are JSON documents with a first level field indicating the type of the event. The ParseBroEvent processor takes the incoming JSON document, sets the event type in a record_type field and sets the original sub-fields of the JSON event as first level fields in the record. Also any dot in a field name is transformed into an underscore. Thus, for instance, the field id.orig_h becomes id_orig_h. The next processors in the stream can then process the Bro events generated by this ParseBroEvent processor. + +As an example here is an incoming event from Bro: + +{ + + "conn": { + + "id.resp_p": 9092, + + "resp_pkts": 0, + + "resp_ip_bytes": 0, + + "local_orig": true, + + "orig_ip_bytes": 0, + + "orig_pkts": 0, + + "missed_bytes": 0, + + "history": "Cc", + + "tunnel_parents": [], + + "id.orig_p": 56762, + + "local_resp": true, + + "uid": "Ct3Ms01I3Yc6pmMZx7", + + "conn_state": "OTH", + + "id.orig_h": "172.17.0.2", + + "proto": "tcp", + + "id.resp_h": "172.17.0.3", + + "ts": 1487596886.953917 + + } + + } + +It gets processed and transformed into the following Logisland record by the ParseBroEvent processor: + +"@timestamp": "2017-02-20T13:36:32Z" + +"record_id": "6361f80a-c5c9-4a16-9045-4bb51736333d" + +"record_time": 1487597792782 + +"record_type": "conn" + +"id_resp_p": 9092 + +"resp_pkts": 0 + +"resp_ip_bytes": 0 + +"local_orig": true + +"orig_ip_bytes": 0 + +"orig_pkts": 0 + +"missed_bytes": 0 + +"history": "Cc" + +"tunnel_parents": [] + +"id_orig_p": 56762 + +"local_resp": true + +"uid": "Ct3Ms01I3Yc6pmMZx7" + +"conn_state": "OTH" + +"id_orig_h": "172.17.0.2" + +"proto": "tcp" + +"id_resp_h": "172.17.0.3" + +"ts": 1487596886.953917 + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.bro.ParseBroEvent + +Tags +____ +bro, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseBroEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.netflow.ParseNetflowEvent: + +ParseNetflowEvent +----------------- +The `Netflow V5 `_ processor is the Logisland entry point to process Netflow (V5) events. NetFlow is a feature introduced on Cisco routers that provides the ability to collect IP network traffic.We can distinguish 2 components: + + - Flow exporter: aggregates packets into flows and exports flow records (binary format) towards one or more flow collectors + + - Flow collector: responsible for reception, storage and pre-processing of flow data received from a flow exporter + +The collected data are then available for analysis purpose (intrusion detection, traffic analysis...) +Netflow are sent to kafka in order to be processed by logisland. +In the tutorial we will simulate Netflow traffic using `nfgen `_. this traffic will be sent to port 2055. The we rely on nifi to listen of that port for incoming netflow (V5) traffic and send them to a kafka topic. The Netflow processor could thus treat these events and generate corresponding logisland records. The following processors in the stream can then process the Netflow records generated by this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.netflow.ParseNetflowEvent + +Tags +____ +netflow, security + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + "output.record.type", "the output type of the record", "", "netflowevent", "false", "false" + "enrich.record", "Enrich data. If enabledthe netflow record is enriched with inferred data", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseNetflowEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.networkpacket.ParseNetworkPacket: + +ParseNetworkPacket +------------------ +The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). In batch mode, the processor decodes the bytes of the incoming pcap record, where a Global header followed by a sequence of [packet header, packet data] pairs are stored. Then, each incoming pcap event is parsed into n packet records. The fields of packet headers are then extracted and made available in dedicated record fields. See the `Capturing Network packets tutorial `_ for an example of usage of this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.networkpacket.ParseNetworkPacket + +Tags +____ +PCap, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "**flow.mode**", "Flow Mode. Indicate whether packets are provided in batch mode (via pcap files) or in stream mode (without headers). Allowed values are batch and stream.", "batch, stream", "null", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.processor.SampleRecords: + +SampleRecords +------------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-sampling:1.1.2 + +Class +_____ +com.hurence.logisland.processor.SampleRecords + +Tags +____ +analytic, sampler, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "record.value.field", "the name of the numeric field to sample", "", "record_value", "false", "false" + "record.time.field", "the name of the time field to sample", "", "record_time", "false", "false" + "**sampling.algorithm**", "the implementation of the algorithm", "none, lttb, average, first_item, min_max, mode_median", "null", "false", "false" + "**sampling.parameter**", "the parmater of the algorithm", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SampleRecords-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch: + +BulkAddElasticsearch +-------------------- +Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**default.index**", "The name of the index to insert into", "", "null", "false", "**true**" + "**default.type**", "The type of this document (used by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" + "**timebased.index**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" + "es.index.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "false" + "es.type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/BulkAddElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.FetchHBaseRow: + +FetchHBaseRow +------------- +Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files. + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.FetchHBaseRow + +Tags +____ +hbase, scan, fetch, get, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to fetch from.", "", "null", "false", "**true**" + "**row.identifier.field**", "The field containing the identifier of the row to fetch.", "", "null", "false", "**true**" + "columns.field", "The field containing an optional comma-separated list of \"\":\"\" pairs to fetch. To return all columns for a given family, leave off the qualifier such as \"\",\"\".", "", "null", "false", "**true**" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "table.name.default", "The table to use if table name field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/FetchHBaseRow-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch: + +MultiGetElasticsearch +--------------------- +Retrieves a content indexed in elasticsearch using elasticsearch multiget queries. +Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : + + - index (String) : name of the elasticsearch index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - type (String) : name of the elasticsearch type on which the multiget query will be performed. This field is not mandatory. + - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. + +Each outcoming record holds data of one elasticsearch retrieved document. This data is stored in these fields : + + - index (same field name as the incoming record) : name of the elasticsearch index. + - type (same field name as the incoming record) : name of the elasticsearch type. + - id (same field name as the incoming record) : retrieved document id. + - a list of String fields containing : + + * field name : the retrieved field name + * field value : the retrieved field value + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**es.index.field**", "the name of the incoming records field containing es index name to use in multiget query. ", "", "null", "false", "false" + "**es.type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" + "**es.ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" + "**es.includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" + "**es.excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/MultiGetElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.PutHBaseCell: + +PutHBaseCell +------------ +Adds the Contents of a Record to HBase as the value of a single cell + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.PutHBaseCell + +Tags +____ +hadoop, hbase + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to put data into", "", "null", "false", "**true**" + "row.identifier.field", "Specifies field containing the Row ID to use when inserting data into HBase", "", "null", "false", "**true**" + "row.identifier.encoding.strategy", "Specifies the data type of Row ID used when inserting data into HBase. The default behavior is to convert the row id to a UTF-8 byte array. Choosing Binary will convert a binary formatted string to the correct byte[] representation. The Binary option should be used if you are using Binary row keys in HBase", "String (Stores the value of row id as a UTF-8 String.), Binary (Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string.)", "String", "false", "false" + "**column.family.field**", "The field containing the Column Family to use when inserting data into HBase", "", "null", "false", "**true**" + "**column.qualifier.field**", "The field containing the Column Qualifier to use when inserting data into HBase", "", "null", "false", "**true**" + "**batch.size**", "The maximum number of Records to process in a single execution. The Records will be grouped by table, and a single Put per table will be performed.", "", "25", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "table.name.default", "The table table to use if table name field is not set", "", "null", "false", "false" + "column.family.default", "The column family to use if column family field is not set", "", "null", "false", "false" + "column.qualifier.default", "The column qualifier to use if column qualifier field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/PutHBaseCell-Detail.rst +---------- + +.. _com.hurence.logisland.processor.scripting.python.RunPython: + +RunPython +--------- + !!!! WARNING !!!! + +The RunPython processor is currently an experimental feature : it is delivered as is, with the current set of features and is subject to modifications in API or anything else in further logisland releases without warnings. There is no tutorial yet. If you want to play with this processor, use the python-processing.yml example and send the apache logs of the index apache logs tutorial. The debug stream processor at the end of the stream should output events in stderr file of the executors from the spark console. + +This processor allows to implement and run a processor written in python. This can be done in 2 ways. Either directly defining the process method code in the **script.code.process** configuration property or poiting to an external python module script file in the **script.path** configuration property. Directly defining methods is called the inline mode whereas using a script file is called the file mode. Both ways are mutually exclusive. Whether using the inline of file mode, your python code may depend on some python dependencies. If the set of python dependencies already delivered with the Logisland framework is not sufficient, you can use the **dependencies.path** configuration property to give their location. Currently only the nltk python library is delivered with Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-scripting:1.1.2 + +Class +_____ +com.hurence.logisland.processor.scripting.python.RunPython + +Tags +____ +scripting, python + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "script.code.imports", "For inline mode only. This is the python code that should hold the import statements if required.", "", "null", "false", "false" + "script.code.init", "The python code to be called when the processor is initialized. This is the python equivalent of the init method code for a java processor. This is not mandatory but can only be used if **script.code.process** is defined (inline mode).", "", "null", "false", "false" + "script.code.process", "The python code to be called to process the records. This is the pyhton equivalent of the process method code for a java processor. For inline mode, this is the only minimum required configuration property. Using this property, you may also optionally define the **script.code.init** and **script.code.imports** properties.", "", "null", "false", "false" + "script.path", "The path to the user's python processor script. Use this property for file mode. Your python code must be in a python file with the following constraints: let's say your pyhton script is named MyProcessor.py. Then MyProcessor.py is a module file that must contain a class named MyProcessor which must inherits from the Logisland delivered class named AbstractProcessor. You can then define your code in the process method and in the other traditional methods (init...) as you would do in java in a class inheriting from the AbstractProcessor java class.", "", "null", "false", "false" + "dependencies.path", "The path to the additional dependencies for the user's python code, whether using inline or file mode. This is optional as your code may not have additional dependencies. If you defined **script.path** (so using file mode) and if **dependencies.path** is not defined, Logisland will scan a potential directory named **dependencies** in the same directory where the script file resides and if it exists, any python code located there will be loaded as dependency as needed.", "", "null", "false", "false" + "logisland.dependencies.path", "The path to the directory containing the python dependencies shipped with logisland. You should not have to tune this parameter.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/RunPython-Detail.rst +---------- + +.. _com.hurence.logisland.processor.xml.EvaluateXPath: + +EvaluateXPath +------------- +Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to new attributes in the records, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed. The value of the property must be a valid XPath expression. If the expression matches nothing, no attributes is added. + +Module +______ +com.hurence.logisland:logisland-processor-xml:1.1.2 + +Class +_____ +com.hurence.logisland.processor.xml.EvaluateXPath + +Tags +____ +XML, evaluate, XPath + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**source**", "Indicates the attribute containing the xml data to evaluate xpath against.", "", "null", "false", "false" + "**validate_dtd**", "Specifies whether or not the XML content should be validated against the DTD.", "true, false", "true", "false", "false" + "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "An attribute", "An XPath expression", " the attribute is set to the result of the XPath Expression.", "", "null", false + +Extra informations +__________________ +.. include:: ./details/EvaluateXPath-Detail.rst +---------- + +.. _com.hurence.logisland.processor.excel.ExcelExtract: + +ExcelExtract +------------ +Consumes a Microsoft Excel document and converts each worksheet's line to a structured record. The processor is assuming to receive raw excel file as input record. + +Module +______ +com.hurence.logisland:logisland-processor-excel:1.1.2 + +Class +_____ +com.hurence.logisland.processor.excel.ExcelExtract + +Tags +____ +excel, processor, poi + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "sheets", "Comma separated list of Excel document sheet names that should be extracted from the excel document. If this property is left blank then all of the sheets will be extracted from the Excel document. You can specify regular expressions. Any sheets not specified in this value will be ignored.", "", "", "false", "false" + "skip.columns", "Comma delimited list of column numbers to skip. Use the columns number and not the letter designation. Use this to skip over columns anywhere in your worksheet that you don't want extracted as part of the record.", "", "", "false", "false" + "field.names", "The comma separated list representing the names of columns of extracted cells. Order matters! You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + "skip.rows", "The row number of the first row to start processing.Use this to skip over rows of data at the top of your worksheet that are not part of the dataset.Empty rows of data anywhere in the spreadsheet will always be skipped, no matter what this value is set to.", "", "0", "false", "false" + "record.type", "Default type of record", "", "excel_record", "false", "false" + "field.row.header", "If set, field names mapping will be extracted from the specified row number. You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ExcelExtract-Detail.rst +---------- + +.. _com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog: + +ParseGitlabLog +-------------- +The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs. This allows for instance to monitor activities in your Gitlab server. The expected input of this processor are records from the production_json.log log file of Gitlab which contains JSON records. You can for instance use the `kafkacat `_ command to inject those logs into kafka and thus Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-common-logs:1.1.2 + +Class +_____ +com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog + +Tags +____ +logs, gitlab + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseGitlabLog-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchIP: + +MatchIP +------- +IP address Query matching (using `Luwak )`_ + +You can use this processor to handle custom events matching IP address (CIDR) +The record sent from a matching an IP address record is tagged appropriately. + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchIP + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchIP-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchQuery: + +MatchQuery +---------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchQuery + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchQuery-Detail.rst +---------- + +.. _com.hurence.logisland.processor.useragent.ParseUserAgent: + +ParseUserAgent +-------------- +The user-agent processor allows to decompose User-Agent value from an HTTP header into several attributes of interest. There is no standard format for User-Agent strings, hence it is not easily possible to use regexp to handle them. This processor rely on the `YAUAA library `_ to do the heavy work. + +Module +______ +com.hurence.logisland:logisland-processor-useragent:1.1.2 + +Class +_____ +com.hurence.logisland.processor.useragent.ParseUserAgent + +Tags +____ +User-Agent, clickstream, DMP + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "cache.enabled", "Enable caching. Caching to avoid to redo the same computation for many identical User-Agent strings.", "", "true", "false", "false" + "cache.size", "Set the size of the cache.", "", "1000", "false", "false" + "**useragent.field**", "Must contain the name of the field that contains the User-Agent value in the incoming record.", "", "null", "false", "false" + "useragent.keep", "Defines if the field that contained the User-Agent must be kept or not in the resulting records.", "", "true", "false", "false" + "confidence.enabled", "Enable confidence reporting. Each field will report a confidence attribute with a value comprised between 0 and 10000.", "", "false", "false", "false" + "ambiguity.enabled", "Enable ambiguity reporting. Reports a count of ambiguities.", "", "false", "false", "false" + "fields", "Defines the fields to be returned.", "", "DeviceClass, DeviceName, DeviceBrand, DeviceCpu, DeviceFirmwareVersion, DeviceVersion, OperatingSystemClass, OperatingSystemName, OperatingSystemVersion, OperatingSystemNameVersion, OperatingSystemVersionBuild, LayoutEngineClass, LayoutEngineName, LayoutEngineVersion, LayoutEngineVersionMajor, LayoutEngineNameVersion, LayoutEngineNameVersionMajor, LayoutEngineBuild, AgentClass, AgentName, AgentVersion, AgentVersionMajor, AgentNameVersion, AgentNameVersionMajor, AgentBuild, AgentLanguage, AgentLanguageCode, AgentInformationEmail, AgentInformationUrl, AgentSecurity, AgentUuid, FacebookCarrier, FacebookDeviceClass, FacebookDeviceName, FacebookDeviceVersion, FacebookFBOP, FacebookFBSS, FacebookOperatingSystemName, FacebookOperatingSystemVersion, Anonymized, HackerAttackVector, HackerToolkit, KoboAffiliate, KoboPlatformId, IECompatibilityVersion, IECompatibilityVersionMajor, IECompatibilityNameVersion, IECompatibilityNameVersionMajor, __SyntaxError__, Carrier, GSAInstallationID, WebviewAppName, WebviewAppNameVersionMajor, WebviewAppVersion, WebviewAppVersionMajor", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseUserAgent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.ConsolidateSession: + +ConsolidateSession +------------------ +The ConsolidateSession processor is the Logisland entry point to get and process events from the Web Analytics.As an example here is an incoming event from the Web Analytics: + +"fields": [{ "name": "timestamp", "type": "long" },{ "name": "remoteHost", "type": "string"},{ "name": "record_type", "type": ["null", "string"], "default": null },{ "name": "record_id", "type": ["null", "string"], "default": null },{ "name": "location", "type": ["null", "string"], "default": null },{ "name": "hitType", "type": ["null", "string"], "default": null },{ "name": "eventCategory", "type": ["null", "string"], "default": null },{ "name": "eventAction", "type": ["null", "string"], "default": null },{ "name": "eventLabel", "type": ["null", "string"], "default": null },{ "name": "localPath", "type": ["null", "string"], "default": null },{ "name": "q", "type": ["null", "string"], "default": null },{ "name": "n", "type": ["null", "int"], "default": null },{ "name": "referer", "type": ["null", "string"], "default": null },{ "name": "viewportPixelWidth", "type": ["null", "int"], "default": null },{ "name": "viewportPixelHeight", "type": ["null", "int"], "default": null },{ "name": "screenPixelWidth", "type": ["null", "int"], "default": null },{ "name": "screenPixelHeight", "type": ["null", "int"], "default": null },{ "name": "partyId", "type": ["null", "string"], "default": null },{ "name": "sessionId", "type": ["null", "string"], "default": null },{ "name": "pageViewId", "type": ["null", "string"], "default": null },{ "name": "is_newSession", "type": ["null", "boolean"],"default": null },{ "name": "userAgentString", "type": ["null", "string"], "default": null },{ "name": "pageType", "type": ["null", "string"], "default": null },{ "name": "UserId", "type": ["null", "string"], "default": null },{ "name": "B2Bunit", "type": ["null", "string"], "default": null },{ "name": "pointOfService", "type": ["null", "string"], "default": null },{ "name": "companyID", "type": ["null", "string"], "default": null },{ "name": "GroupCode", "type": ["null", "string"], "default": null },{ "name": "userRoles", "type": ["null", "string"], "default": null },{ "name": "is_PunchOut", "type": ["null", "string"], "default": null }]The ConsolidateSession processor groups the records by sessions and compute the duration between now and the last received event. If the distance from the last event is beyond a given threshold (by default 30mn), then the session is considered closed.The ConsolidateSession is building an aggregated session object for each active session.This aggregated object includes: - The actual session duration. - A boolean representing wether the session is considered active or closed. Note: it is possible to ressurect a session if for instance an event arrives after a session has been marked closed. - User related infos: userId, B2Bunit code, groupCode, userRoles, companyId - First visited page: URL - Last visited page: URL The properties to configure the processor are: - sessionid.field: Property name containing the session identifier (default: sessionId). - timestamp.field: Property name containing the timestamp of the event (default: timestamp). - session.timeout: Timeframe of inactivity (in seconds) after which a session is considered closed (default: 30mn). - visitedpage.field: Property name containing the page visited by the customer (default: location). - fields.to.return: List of fields to return in the aggregated object. (default: N/A) + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.ConsolidateSession + +Tags +____ +analytics, web, session + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "null", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ConsolidateSession-Detail.rst +---------- + +.. _com.hurence.logisland.processor.DetectOutliers: + +DetectOutliers +-------------- +Outlier Analysis: A Hybrid Approach + +In order to function at scale, a two-phase approach is taken + +For every data point + +- Detect outlier candidates using a robust estimator of variability (e.g. median absolute deviation) that uses distributional sketching (e.g. Q-trees) +- Gather a biased sample (biased by recency) +- Extremely deterministic in space and cheap in computation + +For every outlier candidate + +- Use traditional, more computationally complex approaches to outlier analysis (e.g. Robust PCA) on the biased sample +- Expensive computationally, but run infrequently + +This becomes a data filter which can be attached to a timeseries data stream within a distributed computational framework (i.e. Storm, Spark, Flink, NiFi) to detect outliers. + +Module +______ +com.hurence.logisland:logisland-processor-outlier-detection:1.1.2 + +Class +_____ +com.hurence.logisland.processor.DetectOutliers + +Tags +____ +analytic, outlier, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**value.field**", "the numeric field to get the value", "", "record_value", "false", "false" + "**time.field**", "the numeric field to get the value", "", "record_time", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "**rotation.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**rotation.policy.amount**", "...", "", "100", "false", "false" + "**rotation.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "**chunking.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**chunking.policy.amount**", "...", "", "100", "false", "false" + "**chunking.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "sketchy.outlier.algorithm", "...", "SKETCHY_MOVING_MAD", "SKETCHY_MOVING_MAD", "false", "false" + "batch.outlier.algorithm", "...", "RAD", "RAD", "false", "false" + "global.statistics.min", "minimum value", "", "null", "false", "false" + "global.statistics.max", "maximum value", "", "null", "false", "false" + "global.statistics.mean", "mean value", "", "null", "false", "false" + "global.statistics.stddev", "standard deviation value", "", "null", "false", "false" + "**zscore.cutoffs.normal**", "zscoreCutoffs level for normal outlier", "", "0.000000000000001", "false", "false" + "**zscore.cutoffs.moderate**", "zscoreCutoffs level for moderate outlier", "", "1.5", "false", "false" + "**zscore.cutoffs.severe**", "zscoreCutoffs level for severe outlier", "", "10.0", "false", "false" + "zscore.cutoffs.notEnoughData", "zscoreCutoffs level for notEnoughData outlier", "", "100", "false", "false" + "smooth", "do smoothing ?", "", "false", "false", "false" + "decay", "the decay", "", "0.1", "false", "false" + "**min.amount.to.predict**", "minAmountToPredict", "", "100", "false", "false" + "min_zscore_percentile", "minZscorePercentile", "", "50.0", "false", "false" + "reservoir_size", "the size of points reservoir", "", "100", "false", "false" + "rpca.force.diff", "No Description Provided.", "", "null", "false", "false" + "rpca.lpenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.min.records", "No Description Provided.", "", "null", "false", "false" + "rpca.spenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.threshold", "No Description Provided.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/DetectOutliers-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.IncrementalWebSession: + +IncrementalWebSession +--------------------- +This processor creates and updates web-sessions based on incoming web-events. Note that both web-sessions and web-events are stored in elasticsearch. + Firstly, web-events are grouped by their session identifier and processed in chronological order. + Then each web-session associated to each group is retrieved from elasticsearch. + In case none exists yet then a new web session is created based on the first web event. + The following fields of the newly created web session are set based on the associated web event: session identifier, first timestamp, first visited page. Secondly, once created, or retrieved, the web session is updated by the remaining web-events. + Updates have impacts on fields of the web session such as event counter, last visited page, session duration, ... + Before updates are actually applied, checks are performed to detect rules that would trigger the creation of a new session: + + the duration between the web session and the web event must not exceed the specified time-out, + the web session and the web event must have timestamps within the same day (at midnight a new web session is created), + source of traffic (campaign, ...) must be the same on the web session and the web event. + + When a breaking rule is detected, a new web session is created with a new session identifier where as remaining web-events still have the original session identifier. The new session identifier is the original session suffixed with the character '#' followed with an incremented counter. This new session identifier is also set on the remaining web-events. + Finally when all web events were applied, all web events -potentially modified with a new session identifier- are save in elasticsearch. And web sessions are passed to the next processor. + +WebSession information are: +- first and last visited page +- first and last timestamp of processed event +- total number of processed events +- the userId +- a boolean denoting if the web-session is still active or not +- an integer denoting the duration of the web-sessions +- optional fields that may be retrieved from the processed events + + + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.IncrementalWebSession + +Tags +____ +analytics, web, session + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, debug information are logged.", "", "false", "false", "false" + "**es.session.index.field**", "Name of the field in the record defining the ES index containing the web session documents.", "", "null", "false", "false" + "**es.session.type.name**", "Name of the ES type of web session documents.", "", "null", "false", "false" + "**es.event.index.prefix**", "Prefix of the index containing the web event documents.", "", "null", "false", "false" + "**es.event.type.name**", "Name of the ES type of web event documents.", "", "null", "false", "false" + "**es.mapping.event.to.session.index.name**", "Name of the ES index containing the mapping of web session documents.", "", "null", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "newSessionReason.out.field", "the name of the field containing the reason why a new session was created => will override default value if set", "", "reasonForNewSession", "false", "false" + "transactionIds.out.field", "the name of the field containing all transactionIds => will override default value if set", "", "transactionIds", "false", "false" + "source_of_traffic.suffix", "Prefix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IncrementalWebSession-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic: + +SetSourceOfTraffic +------------------ +Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, +including advertising/paying campaigns, search engines, social networks, referring sites or direct access. +When analysing user experience on a webshop, it is crucial to collect, process, and report the campaign and traffic-source data. +To compute the source of traffic of a web session, the user has to provide the utm_* related properties if available +i-e: **utm_source.field**, **utm_medium.field**, **utm_campaign.field**, **utm_content.field**, **utm_term.field**) +, the referer (**referer.field** property) and the first visited page of the session (**first.visited.page.field** property). +By default the source of traffic information are placed in a flat structure (specified by the **source_of_traffic.suffix** property +with a default value of source_of_traffic). To work properly the SetSourceOfTraffic processor needs to have access to an +Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **es.index** property) should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field (default being search_engine) specified by the property **es.search_engine.field** with a value set to true. If the domain is a social network , the related ES doc MUST have a boolean field (default being social_network) specified by the property **es.social_network.field** with a value set to true. + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic + +Tags +____ +session, traffic, source, web, analytics + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "referer.field", "Name of the field containing the referer value in the session", "", "referer", "false", "false" + "first.visited.page.field", "Name of the field containing the first visited page in the session", "", "firstVisitedPage", "false", "false" + "utm_source.field", "Name of the field containing the utm_source value in the session", "", "utm_source", "false", "false" + "utm_medium.field", "Name of the field containing the utm_medium value in the session", "", "utm_medium", "false", "false" + "utm_campaign.field", "Name of the field containing the utm_campaign value in the session", "", "utm_campaign", "false", "false" + "utm_content.field", "Name of the field containing the utm_content value in the session", "", "utm_content", "false", "false" + "utm_term.field", "Name of the field containing the utm_term value in the session", "", "utm_term", "false", "false" + "source_of_traffic.suffix", "Suffix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "source_of_traffic.hierarchical", "Should the additional source of trafic information fields be added under a hierarchical father field or not.", "", "false", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**cache.service**", "Name of the cache service to use.", "", "null", "false", "false" + "cache.validity.timeout", "Timeout validity (in seconds) of an entry in the cache.", "", "0", "false", "false" + "debug", "If true, an additional debug field is added. If the source info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the source fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + "**es.index**", "Name of the ES index containing the list of search engines and social network. ", "", "null", "false", "false" + "es.type", "Name of the ES type to use.", "", "default", "false", "false" + "es.search_engine.field", "Name of the ES field used to specify that the domain is a search engine.", "", "search_engine", "false", "false" + "es.social_network.field", "Name of the ES field used to specify that the domain is a social network.", "", "social_network", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SetSourceOfTraffic-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.URLDecoder: + +URLDecoder +---------- +Decode one or more field containing an URL with possibly special chars encoded +... + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.URLDecoder + +Tags +____ +record, fields, Decode + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**decode.fields**", "List of fields (URL) to decode", "", "null", "false", "false" + "charset", "Charset to use to decode the URL", "", "UTF-8", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "fields to decode", "a default value", "Decode one or more fields from the record ", "", "null", false + +Extra informations +__________________ +.. include:: ./details/URLDecoder-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch: + +EnrichRecordsElasticsearch +-------------------------- +Enrich input records with content indexed in elasticsearch using multiget queries. +Each incoming record must be possibly enriched with information stored in elasticsearch. +Each outcoming record holds at least the input record plus potentially one or more fields coming from of one elasticsearch document. + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**record.key**", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" + "**es.index**", "The name of the ES index to use in multiget query. ", "", "null", "false", "**true**" + "es.type", "The name of the ES type to use in multiget query.", "", "default", "false", "**true**" + "es.includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" + "es.excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" + +Extra informations +__________________ +.. include:: ./details/EnrichRecordsElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.enrichment.IpToFqdn: + +IpToFqdn +-------- +Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The resolution mechanism is based on the underlying operating system. The resolution request may take some time, specially if the IP address cannot be translated into a FQDN. For these reasons this processor relies on the logisland cache service so that once a resolution occurs or not, the result is put into the cache. That way, the real request for the same IP is not re-triggered during a certain period of time, until the cache entry expires. This timeout is configurable but by default a request for the same IP is not triggered before 24 hours to let the time to the underlying DNS system to be potentially updated. + +Module +______ +com.hurence.logisland:logisland-processor-enrichment:1.1.2 + +Class +_____ +com.hurence.logisland.processor.enrichment.IpToFqdn + +Tags +____ +dns, ip, fqdn, domain, address, fqhn, reverse, resolution, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**fqdn.field**", "The field that will contain the full qualified domain name corresponding to the ip address.", "", "null", "false", "false" + "overwrite.fqdn.field", "If the field should be overwritten when it already exists.", "", "false", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "cache.max.time", "The amount of time, in seconds, for which a cached FQDN value is valid in the cache service. After this delay, the next new request to translate the same IP into FQDN will trigger a new reverse DNS request and the result will overwrite the entry in the cache. This allows two things: if the IP was not resolved into a FQDN, this will get a chance to obtain a FQDN if the DNS system has been updated, if the IP is resolved into a FQDN, this will allow to be more accurate if the DNS system has been updated. A value of 0 seconds disables this expiration mechanism. The default value is 84600 seconds, which corresponds to new requests triggered every day if a record with the same IP passes every day in the processor.", "", "84600", "false", "false" + "resolution.timeout", "The amount of time, in milliseconds, to wait at most for the resolution to occur. This avoids to block the stream for too much time. Default value is 1000ms. If the delay expires and no resolution could occur before, the FQDN field is not created. A special value of 0 disables the logisland timeout and the resolution request may last for many seconds if the IP cannot be translated into a FQDN by the underlying operating system. In any case, whether the timeout occurs in logisland of in the operating system, the fact that a timeout occurs is kept in the cache system so that a resolution request for the same IP will not occur before the cache entry expires.", "", "1000", "false", "false" + "debug", "If true, some additional debug fields are added. If the FQDN field is named X, a debug field named X_os_resolution_time_ms contains the resolution time in ms (using the operating system, not the cache). This field is added whether the resolution occurs or time is out. A debug field named X_os_resolution_timeout contains a boolean value to indicate if the timeout occurred. Finally, a debug field named X_from_cache contains a boolean value to indicate the origin of the FQDN field. The default value for this property is false (debug is disabled.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IpToFqdn-Detail.rst +---------- + +.. _com.hurence.logisland.processor.enrichment.IpToGeo: + +IpToGeo +------- +Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **ip.address.field** property. By default, the geo information are put in a hierarchical structure. That is, if the name of the IP field is 'X', then the the geo attributes added by enrichment are added under a father field named X_geo. "_geo" is the default hierarchical suffix that may be changed with the **geo.hierarchical.suffix** property. If one wants to put the geo fields at the same level as the IP field, then the **geo.hierarchical** property should be set to false and then the geo attributes are created at the same level as him with the naming pattern X_geo_. "_geo_" is the default flat suffix but this may be changed with the **geo.flat.suffix** property. The IpToGeo processor requires a reference to an Ip to Geo service. This must be defined in the **iptogeo.service** property. The added geo fields are dependant on the underlying Ip to Geo service. The **geo.fields** property must contain the list of geo fields that should be created if data is available for the IP to resolve. This property defaults to "*" which means to add every available fields. If one only wants a subset of the fields, one must define a comma separated list of fields as a value for the **geo.fields** property. The list of the available geo fields is in the description of the **geo.fields** property. + +Module +______ +com.hurence.logisland:logisland-processor-enrichment:1.1.2 + +Class +_____ +com.hurence.logisland.processor.enrichment.IpToGeo + +Tags +____ +geo, enrich, ip + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**iptogeo.service**", "The reference to the IP to Geo service to use.", "", "null", "false", "false" + "geo.fields", "Comma separated list of geo information fields to add to the record. Defaults to '*', which means to include all available fields. If a list of fields is specified and the data is not available, the geo field is not created. The geo fields are dependant on the underlying defined Ip to Geo service. The currently only supported type of Ip to Geo service is the Maxmind Ip to Geo service. This means that the currently supported list of geo fields is the following:**continent**: the identified continent for this IP address. **continent_code**: the identified continent code for this IP address. **city**: the identified city for this IP address. **latitude**: the identified latitude for this IP address. **longitude**: the identified longitude for this IP address. **location**: the identified location for this IP address, defined as Geo-point expressed as a string with the format: 'latitude,longitude'. **accuracy_radius**: the approximate accuracy radius, in kilometers, around the latitude and longitude for the location. **time_zone**: the identified time zone for this IP address. **subdivision_N**: the identified subdivision for this IP address. N is a one-up number at the end of the attribute name, starting with 0. **subdivision_isocode_N**: the iso code matching the identified subdivision_N. **country**: the identified country for this IP address. **country_isocode**: the iso code for the identified country for this IP address. **postalcode**: the identified postal code for this IP address. **lookup_micros**: the number of microseconds that the geo lookup took. The Ip to Geo service must have the lookup_micros property enabled in order to have this field available.", "", "*", "false", "false" + "geo.hierarchical", "Should the additional geo information fields be added under a hierarchical father field or not.", "", "true", "false", "false" + "geo.hierarchical.suffix", "Suffix to use for the field holding geo information. If geo.hierarchical is true, then use this suffix appended to the IP field name to define the father field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo", "false", "false" + "geo.flat.suffix", "Suffix to use for geo information fields when they are flat. If geo.hierarchical is false, then use this suffix appended to the IP field name but before the geo field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo_", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "debug", "If true, an additional debug field is added. If the geo info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the geo fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IpToGeo-Detail.rst +---------- + +.. _com.hurence.logisland.processor.bro.ParseBroEvent: + +ParseBroEvent +------------- +The ParseBroEvent processor is the Logisland entry point to get and process `Bro `_ events. The `Bro-Kafka plugin `_ should be used and configured in order to have Bro events sent to Kafka. See the `Bro/Logisland tutorial `_ for an example of usage for this processor. The ParseBroEvent processor does some minor pre-processing on incoming Bro events from the Bro-Kafka plugin to adapt them to Logisland. + +Basically the events coming from the Bro-Kafka plugin are JSON documents with a first level field indicating the type of the event. The ParseBroEvent processor takes the incoming JSON document, sets the event type in a record_type field and sets the original sub-fields of the JSON event as first level fields in the record. Also any dot in a field name is transformed into an underscore. Thus, for instance, the field id.orig_h becomes id_orig_h. The next processors in the stream can then process the Bro events generated by this ParseBroEvent processor. + +As an example here is an incoming event from Bro: + +{ + + "conn": { + + "id.resp_p": 9092, + + "resp_pkts": 0, + + "resp_ip_bytes": 0, + + "local_orig": true, + + "orig_ip_bytes": 0, + + "orig_pkts": 0, + + "missed_bytes": 0, + + "history": "Cc", + + "tunnel_parents": [], + + "id.orig_p": 56762, + + "local_resp": true, + + "uid": "Ct3Ms01I3Yc6pmMZx7", + + "conn_state": "OTH", + + "id.orig_h": "172.17.0.2", + + "proto": "tcp", + + "id.resp_h": "172.17.0.3", + + "ts": 1487596886.953917 + + } + + } + +It gets processed and transformed into the following Logisland record by the ParseBroEvent processor: + +"@timestamp": "2017-02-20T13:36:32Z" + +"record_id": "6361f80a-c5c9-4a16-9045-4bb51736333d" + +"record_time": 1487597792782 + +"record_type": "conn" + +"id_resp_p": 9092 + +"resp_pkts": 0 + +"resp_ip_bytes": 0 + +"local_orig": true + +"orig_ip_bytes": 0 + +"orig_pkts": 0 + +"missed_bytes": 0 + +"history": "Cc" + +"tunnel_parents": [] + +"id_orig_p": 56762 + +"local_resp": true + +"uid": "Ct3Ms01I3Yc6pmMZx7" + +"conn_state": "OTH" + +"id_orig_h": "172.17.0.2" + +"proto": "tcp" + +"id_resp_h": "172.17.0.3" + +"ts": 1487596886.953917 + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.bro.ParseBroEvent + +Tags +____ +bro, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseBroEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.netflow.ParseNetflowEvent: + +ParseNetflowEvent +----------------- +The `Netflow V5 `_ processor is the Logisland entry point to process Netflow (V5) events. NetFlow is a feature introduced on Cisco routers that provides the ability to collect IP network traffic.We can distinguish 2 components: + + - Flow exporter: aggregates packets into flows and exports flow records (binary format) towards one or more flow collectors + + - Flow collector: responsible for reception, storage and pre-processing of flow data received from a flow exporter + +The collected data are then available for analysis purpose (intrusion detection, traffic analysis...) +Netflow are sent to kafka in order to be processed by logisland. +In the tutorial we will simulate Netflow traffic using `nfgen `_. this traffic will be sent to port 2055. The we rely on nifi to listen of that port for incoming netflow (V5) traffic and send them to a kafka topic. The Netflow processor could thus treat these events and generate corresponding logisland records. The following processors in the stream can then process the Netflow records generated by this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.netflow.ParseNetflowEvent + +Tags +____ +netflow, security + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + "output.record.type", "the output type of the record", "", "netflowevent", "false", "false" + "enrich.record", "Enrich data. If enabledthe netflow record is enriched with inferred data", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseNetflowEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.networkpacket.ParseNetworkPacket: + +ParseNetworkPacket +------------------ +The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). In batch mode, the processor decodes the bytes of the incoming pcap record, where a Global header followed by a sequence of [packet header, packet data] pairs are stored. Then, each incoming pcap event is parsed into n packet records. The fields of packet headers are then extracted and made available in dedicated record fields. See the `Capturing Network packets tutorial `_ for an example of usage of this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.networkpacket.ParseNetworkPacket + +Tags +____ +PCap, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "**flow.mode**", "Flow Mode. Indicate whether packets are provided in batch mode (via pcap files) or in stream mode (without headers). Allowed values are batch and stream.", "batch, stream", "null", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.processor.SampleRecords: + +SampleRecords +------------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-sampling:1.1.2 + +Class +_____ +com.hurence.logisland.processor.SampleRecords + +Tags +____ +analytic, sampler, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "record.value.field", "the name of the numeric field to sample", "", "record_value", "false", "false" + "record.time.field", "the name of the time field to sample", "", "record_time", "false", "false" + "**sampling.algorithm**", "the implementation of the algorithm", "none, lttb, average, first_item, min_max, mode_median", "null", "false", "false" + "**sampling.parameter**", "the parmater of the algorithm", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SampleRecords-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch: + +BulkAddElasticsearch +-------------------- +Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**default.index**", "The name of the index to insert into", "", "null", "false", "**true**" + "**default.type**", "The type of this document (used by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" + "**timebased.index**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" + "es.index.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "false" + "es.type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/BulkAddElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.FetchHBaseRow: + +FetchHBaseRow +------------- +Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files. + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.FetchHBaseRow + +Tags +____ +hbase, scan, fetch, get, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to fetch from.", "", "null", "false", "**true**" + "**row.identifier.field**", "The field containing the identifier of the row to fetch.", "", "null", "false", "**true**" + "columns.field", "The field containing an optional comma-separated list of \"\":\"\" pairs to fetch. To return all columns for a given family, leave off the qualifier such as \"\",\"\".", "", "null", "false", "**true**" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "table.name.default", "The table to use if table name field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/FetchHBaseRow-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch: + +MultiGetElasticsearch +--------------------- +Retrieves a content indexed in elasticsearch using elasticsearch multiget queries. +Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : + + - index (String) : name of the elasticsearch index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - type (String) : name of the elasticsearch type on which the multiget query will be performed. This field is not mandatory. + - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. + +Each outcoming record holds data of one elasticsearch retrieved document. This data is stored in these fields : + + - index (same field name as the incoming record) : name of the elasticsearch index. + - type (same field name as the incoming record) : name of the elasticsearch type. + - id (same field name as the incoming record) : retrieved document id. + - a list of String fields containing : + + * field name : the retrieved field name + * field value : the retrieved field value + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**es.index.field**", "the name of the incoming records field containing es index name to use in multiget query. ", "", "null", "false", "false" + "**es.type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" + "**es.ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" + "**es.includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" + "**es.excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/MultiGetElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.PutHBaseCell: + +PutHBaseCell +------------ +Adds the Contents of a Record to HBase as the value of a single cell + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.PutHBaseCell + +Tags +____ +hadoop, hbase + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to put data into", "", "null", "false", "**true**" + "row.identifier.field", "Specifies field containing the Row ID to use when inserting data into HBase", "", "null", "false", "**true**" + "row.identifier.encoding.strategy", "Specifies the data type of Row ID used when inserting data into HBase. The default behavior is to convert the row id to a UTF-8 byte array. Choosing Binary will convert a binary formatted string to the correct byte[] representation. The Binary option should be used if you are using Binary row keys in HBase", "String (Stores the value of row id as a UTF-8 String.), Binary (Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string.)", "String", "false", "false" + "**column.family.field**", "The field containing the Column Family to use when inserting data into HBase", "", "null", "false", "**true**" + "**column.qualifier.field**", "The field containing the Column Qualifier to use when inserting data into HBase", "", "null", "false", "**true**" + "**batch.size**", "The maximum number of Records to process in a single execution. The Records will be grouped by table, and a single Put per table will be performed.", "", "25", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "table.name.default", "The table table to use if table name field is not set", "", "null", "false", "false" + "column.family.default", "The column family to use if column family field is not set", "", "null", "false", "false" + "column.qualifier.default", "The column qualifier to use if column qualifier field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/PutHBaseCell-Detail.rst +---------- + +.. _com.hurence.logisland.processor.scripting.python.RunPython: + +RunPython +--------- + !!!! WARNING !!!! + +The RunPython processor is currently an experimental feature : it is delivered as is, with the current set of features and is subject to modifications in API or anything else in further logisland releases without warnings. There is no tutorial yet. If you want to play with this processor, use the python-processing.yml example and send the apache logs of the index apache logs tutorial. The debug stream processor at the end of the stream should output events in stderr file of the executors from the spark console. + +This processor allows to implement and run a processor written in python. This can be done in 2 ways. Either directly defining the process method code in the **script.code.process** configuration property or poiting to an external python module script file in the **script.path** configuration property. Directly defining methods is called the inline mode whereas using a script file is called the file mode. Both ways are mutually exclusive. Whether using the inline of file mode, your python code may depend on some python dependencies. If the set of python dependencies already delivered with the Logisland framework is not sufficient, you can use the **dependencies.path** configuration property to give their location. Currently only the nltk python library is delivered with Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-scripting:1.1.2 + +Class +_____ +com.hurence.logisland.processor.scripting.python.RunPython + +Tags +____ +scripting, python + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "script.code.imports", "For inline mode only. This is the python code that should hold the import statements if required.", "", "null", "false", "false" + "script.code.init", "The python code to be called when the processor is initialized. This is the python equivalent of the init method code for a java processor. This is not mandatory but can only be used if **script.code.process** is defined (inline mode).", "", "null", "false", "false" + "script.code.process", "The python code to be called to process the records. This is the pyhton equivalent of the process method code for a java processor. For inline mode, this is the only minimum required configuration property. Using this property, you may also optionally define the **script.code.init** and **script.code.imports** properties.", "", "null", "false", "false" + "script.path", "The path to the user's python processor script. Use this property for file mode. Your python code must be in a python file with the following constraints: let's say your pyhton script is named MyProcessor.py. Then MyProcessor.py is a module file that must contain a class named MyProcessor which must inherits from the Logisland delivered class named AbstractProcessor. You can then define your code in the process method and in the other traditional methods (init...) as you would do in java in a class inheriting from the AbstractProcessor java class.", "", "null", "false", "false" + "dependencies.path", "The path to the additional dependencies for the user's python code, whether using inline or file mode. This is optional as your code may not have additional dependencies. If you defined **script.path** (so using file mode) and if **dependencies.path** is not defined, Logisland will scan a potential directory named **dependencies** in the same directory where the script file resides and if it exists, any python code located there will be loaded as dependency as needed.", "", "null", "false", "false" + "logisland.dependencies.path", "The path to the directory containing the python dependencies shipped with logisland. You should not have to tune this parameter.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/RunPython-Detail.rst +---------- + +.. _com.hurence.logisland.processor.xml.EvaluateXPath: + +EvaluateXPath +------------- +Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to new attributes in the records, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed. The value of the property must be a valid XPath expression. If the expression matches nothing, no attributes is added. + +Module +______ +com.hurence.logisland:logisland-processor-xml:1.1.2 + +Class +_____ +com.hurence.logisland.processor.xml.EvaluateXPath + +Tags +____ +XML, evaluate, XPath + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**source**", "Indicates the attribute containing the xml data to evaluate xpath against.", "", "null", "false", "false" + "**validate_dtd**", "Specifies whether or not the XML content should be validated against the DTD.", "true, false", "true", "false", "false" + "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "An attribute", "An XPath expression", " the attribute is set to the result of the XPath Expression.", "", "null", false + +Extra informations +__________________ +.. include:: ./details/EvaluateXPath-Detail.rst +---------- + +.. _com.hurence.logisland.processor.excel.ExcelExtract: + +ExcelExtract +------------ +Consumes a Microsoft Excel document and converts each worksheet's line to a structured record. The processor is assuming to receive raw excel file as input record. + +Module +______ +com.hurence.logisland:logisland-processor-excel:1.1.2 + +Class +_____ +com.hurence.logisland.processor.excel.ExcelExtract + +Tags +____ +excel, processor, poi + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "sheets", "Comma separated list of Excel document sheet names that should be extracted from the excel document. If this property is left blank then all of the sheets will be extracted from the Excel document. You can specify regular expressions. Any sheets not specified in this value will be ignored.", "", "", "false", "false" + "skip.columns", "Comma delimited list of column numbers to skip. Use the columns number and not the letter designation. Use this to skip over columns anywhere in your worksheet that you don't want extracted as part of the record.", "", "", "false", "false" + "field.names", "The comma separated list representing the names of columns of extracted cells. Order matters! You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + "skip.rows", "The row number of the first row to start processing.Use this to skip over rows of data at the top of your worksheet that are not part of the dataset.Empty rows of data anywhere in the spreadsheet will always be skipped, no matter what this value is set to.", "", "0", "false", "false" + "record.type", "Default type of record", "", "excel_record", "false", "false" + "field.row.header", "If set, field names mapping will be extracted from the specified row number. You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ExcelExtract-Detail.rst +---------- + +.. _com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog: + +ParseGitlabLog +-------------- +The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs. This allows for instance to monitor activities in your Gitlab server. The expected input of this processor are records from the production_json.log log file of Gitlab which contains JSON records. You can for instance use the `kafkacat `_ command to inject those logs into kafka and thus Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-common-logs:1.1.2 + +Class +_____ +com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog + +Tags +____ +logs, gitlab + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseGitlabLog-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchIP: + +MatchIP +------- +IP address Query matching (using `Luwak )`_ + +You can use this processor to handle custom events matching IP address (CIDR) +The record sent from a matching an IP address record is tagged appropriately. + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchIP + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchIP-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchQuery: + +MatchQuery +---------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchQuery + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchQuery-Detail.rst +---------- + +.. _com.hurence.logisland.processor.useragent.ParseUserAgent: + +ParseUserAgent +-------------- +The user-agent processor allows to decompose User-Agent value from an HTTP header into several attributes of interest. There is no standard format for User-Agent strings, hence it is not easily possible to use regexp to handle them. This processor rely on the `YAUAA library `_ to do the heavy work. + +Module +______ +com.hurence.logisland:logisland-processor-useragent:1.1.2 + +Class +_____ +com.hurence.logisland.processor.useragent.ParseUserAgent + +Tags +____ +User-Agent, clickstream, DMP + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "cache.enabled", "Enable caching. Caching to avoid to redo the same computation for many identical User-Agent strings.", "", "true", "false", "false" + "cache.size", "Set the size of the cache.", "", "1000", "false", "false" + "**useragent.field**", "Must contain the name of the field that contains the User-Agent value in the incoming record.", "", "null", "false", "false" + "useragent.keep", "Defines if the field that contained the User-Agent must be kept or not in the resulting records.", "", "true", "false", "false" + "confidence.enabled", "Enable confidence reporting. Each field will report a confidence attribute with a value comprised between 0 and 10000.", "", "false", "false", "false" + "ambiguity.enabled", "Enable ambiguity reporting. Reports a count of ambiguities.", "", "false", "false", "false" + "fields", "Defines the fields to be returned.", "", "DeviceClass, DeviceName, DeviceBrand, DeviceCpu, DeviceFirmwareVersion, DeviceVersion, OperatingSystemClass, OperatingSystemName, OperatingSystemVersion, OperatingSystemNameVersion, OperatingSystemVersionBuild, LayoutEngineClass, LayoutEngineName, LayoutEngineVersion, LayoutEngineVersionMajor, LayoutEngineNameVersion, LayoutEngineNameVersionMajor, LayoutEngineBuild, AgentClass, AgentName, AgentVersion, AgentVersionMajor, AgentNameVersion, AgentNameVersionMajor, AgentBuild, AgentLanguage, AgentLanguageCode, AgentInformationEmail, AgentInformationUrl, AgentSecurity, AgentUuid, FacebookCarrier, FacebookDeviceClass, FacebookDeviceName, FacebookDeviceVersion, FacebookFBOP, FacebookFBSS, FacebookOperatingSystemName, FacebookOperatingSystemVersion, Anonymized, HackerAttackVector, HackerToolkit, KoboAffiliate, KoboPlatformId, IECompatibilityVersion, IECompatibilityVersionMajor, IECompatibilityNameVersion, IECompatibilityNameVersionMajor, __SyntaxError__, Carrier, GSAInstallationID, WebviewAppName, WebviewAppNameVersionMajor, WebviewAppVersion, WebviewAppVersionMajor", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseUserAgent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.ConsolidateSession: + +ConsolidateSession +------------------ +The ConsolidateSession processor is the Logisland entry point to get and process events from the Web Analytics.As an example here is an incoming event from the Web Analytics: + +"fields": [{ "name": "timestamp", "type": "long" },{ "name": "remoteHost", "type": "string"},{ "name": "record_type", "type": ["null", "string"], "default": null },{ "name": "record_id", "type": ["null", "string"], "default": null },{ "name": "location", "type": ["null", "string"], "default": null },{ "name": "hitType", "type": ["null", "string"], "default": null },{ "name": "eventCategory", "type": ["null", "string"], "default": null },{ "name": "eventAction", "type": ["null", "string"], "default": null },{ "name": "eventLabel", "type": ["null", "string"], "default": null },{ "name": "localPath", "type": ["null", "string"], "default": null },{ "name": "q", "type": ["null", "string"], "default": null },{ "name": "n", "type": ["null", "int"], "default": null },{ "name": "referer", "type": ["null", "string"], "default": null },{ "name": "viewportPixelWidth", "type": ["null", "int"], "default": null },{ "name": "viewportPixelHeight", "type": ["null", "int"], "default": null },{ "name": "screenPixelWidth", "type": ["null", "int"], "default": null },{ "name": "screenPixelHeight", "type": ["null", "int"], "default": null },{ "name": "partyId", "type": ["null", "string"], "default": null },{ "name": "sessionId", "type": ["null", "string"], "default": null },{ "name": "pageViewId", "type": ["null", "string"], "default": null },{ "name": "is_newSession", "type": ["null", "boolean"],"default": null },{ "name": "userAgentString", "type": ["null", "string"], "default": null },{ "name": "pageType", "type": ["null", "string"], "default": null },{ "name": "UserId", "type": ["null", "string"], "default": null },{ "name": "B2Bunit", "type": ["null", "string"], "default": null },{ "name": "pointOfService", "type": ["null", "string"], "default": null },{ "name": "companyID", "type": ["null", "string"], "default": null },{ "name": "GroupCode", "type": ["null", "string"], "default": null },{ "name": "userRoles", "type": ["null", "string"], "default": null },{ "name": "is_PunchOut", "type": ["null", "string"], "default": null }]The ConsolidateSession processor groups the records by sessions and compute the duration between now and the last received event. If the distance from the last event is beyond a given threshold (by default 30mn), then the session is considered closed.The ConsolidateSession is building an aggregated session object for each active session.This aggregated object includes: - The actual session duration. - A boolean representing wether the session is considered active or closed. Note: it is possible to ressurect a session if for instance an event arrives after a session has been marked closed. - User related infos: userId, B2Bunit code, groupCode, userRoles, companyId - First visited page: URL - Last visited page: URL The properties to configure the processor are: - sessionid.field: Property name containing the session identifier (default: sessionId). - timestamp.field: Property name containing the timestamp of the event (default: timestamp). - session.timeout: Timeframe of inactivity (in seconds) after which a session is considered closed (default: 30mn). - visitedpage.field: Property name containing the page visited by the customer (default: location). - fields.to.return: List of fields to return in the aggregated object. (default: N/A) + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.ConsolidateSession + +Tags +____ +analytics, web, session + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "null", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ConsolidateSession-Detail.rst +---------- + +.. _com.hurence.logisland.processor.DetectOutliers: + +DetectOutliers +-------------- +Outlier Analysis: A Hybrid Approach + +In order to function at scale, a two-phase approach is taken + +For every data point + +- Detect outlier candidates using a robust estimator of variability (e.g. median absolute deviation) that uses distributional sketching (e.g. Q-trees) +- Gather a biased sample (biased by recency) +- Extremely deterministic in space and cheap in computation + +For every outlier candidate + +- Use traditional, more computationally complex approaches to outlier analysis (e.g. Robust PCA) on the biased sample +- Expensive computationally, but run infrequently + +This becomes a data filter which can be attached to a timeseries data stream within a distributed computational framework (i.e. Storm, Spark, Flink, NiFi) to detect outliers. + +Module +______ +com.hurence.logisland:logisland-processor-outlier-detection:1.1.2 + +Class +_____ +com.hurence.logisland.processor.DetectOutliers + +Tags +____ +analytic, outlier, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**value.field**", "the numeric field to get the value", "", "record_value", "false", "false" + "**time.field**", "the numeric field to get the value", "", "record_time", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "**rotation.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**rotation.policy.amount**", "...", "", "100", "false", "false" + "**rotation.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "**chunking.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**chunking.policy.amount**", "...", "", "100", "false", "false" + "**chunking.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "sketchy.outlier.algorithm", "...", "SKETCHY_MOVING_MAD", "SKETCHY_MOVING_MAD", "false", "false" + "batch.outlier.algorithm", "...", "RAD", "RAD", "false", "false" + "global.statistics.min", "minimum value", "", "null", "false", "false" + "global.statistics.max", "maximum value", "", "null", "false", "false" + "global.statistics.mean", "mean value", "", "null", "false", "false" + "global.statistics.stddev", "standard deviation value", "", "null", "false", "false" + "**zscore.cutoffs.normal**", "zscoreCutoffs level for normal outlier", "", "0.000000000000001", "false", "false" + "**zscore.cutoffs.moderate**", "zscoreCutoffs level for moderate outlier", "", "1.5", "false", "false" + "**zscore.cutoffs.severe**", "zscoreCutoffs level for severe outlier", "", "10.0", "false", "false" + "zscore.cutoffs.notEnoughData", "zscoreCutoffs level for notEnoughData outlier", "", "100", "false", "false" + "smooth", "do smoothing ?", "", "false", "false", "false" + "decay", "the decay", "", "0.1", "false", "false" + "**min.amount.to.predict**", "minAmountToPredict", "", "100", "false", "false" + "min_zscore_percentile", "minZscorePercentile", "", "50.0", "false", "false" + "reservoir_size", "the size of points reservoir", "", "100", "false", "false" + "rpca.force.diff", "No Description Provided.", "", "null", "false", "false" + "rpca.lpenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.min.records", "No Description Provided.", "", "null", "false", "false" + "rpca.spenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.threshold", "No Description Provided.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/DetectOutliers-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.IncrementalWebSession: + +IncrementalWebSession +--------------------- +This processor creates and updates web-sessions based on incoming web-events. Note that both web-sessions and web-events are stored in elasticsearch. + Firstly, web-events are grouped by their session identifier and processed in chronological order. + Then each web-session associated to each group is retrieved from elasticsearch. + In case none exists yet then a new web session is created based on the first web event. + The following fields of the newly created web session are set based on the associated web event: session identifier, first timestamp, first visited page. Secondly, once created, or retrieved, the web session is updated by the remaining web-events. + Updates have impacts on fields of the web session such as event counter, last visited page, session duration, ... + Before updates are actually applied, checks are performed to detect rules that would trigger the creation of a new session: + + the duration between the web session and the web event must not exceed the specified time-out, + the web session and the web event must have timestamps within the same day (at midnight a new web session is created), + source of traffic (campaign, ...) must be the same on the web session and the web event. + + When a breaking rule is detected, a new web session is created with a new session identifier where as remaining web-events still have the original session identifier. The new session identifier is the original session suffixed with the character '#' followed with an incremented counter. This new session identifier is also set on the remaining web-events. + Finally when all web events were applied, all web events -potentially modified with a new session identifier- are save in elasticsearch. And web sessions are passed to the next processor. + +WebSession information are: +- first and last visited page +- first and last timestamp of processed event +- total number of processed events +- the userId +- a boolean denoting if the web-session is still active or not +- an integer denoting the duration of the web-sessions +- optional fields that may be retrieved from the processed events + + + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.IncrementalWebSession + +Tags +____ +analytics, web, session + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, debug information are logged.", "", "false", "false", "false" + "**es.session.index.field**", "Name of the field in the record defining the ES index containing the web session documents.", "", "null", "false", "false" + "**es.session.type.name**", "Name of the ES type of web session documents.", "", "null", "false", "false" + "**es.event.index.prefix**", "Prefix of the index containing the web event documents.", "", "null", "false", "false" + "**es.event.type.name**", "Name of the ES type of web event documents.", "", "null", "false", "false" + "**es.mapping.event.to.session.index.name**", "Name of the ES index containing the mapping of web session documents.", "", "null", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "newSessionReason.out.field", "the name of the field containing the reason why a new session was created => will override default value if set", "", "reasonForNewSession", "false", "false" + "transactionIds.out.field", "the name of the field containing all transactionIds => will override default value if set", "", "transactionIds", "false", "false" + "source_of_traffic.suffix", "Prefix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IncrementalWebSession-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic: + +SetSourceOfTraffic +------------------ +Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, +including advertising/paying campaigns, search engines, social networks, referring sites or direct access. +When analysing user experience on a webshop, it is crucial to collect, process, and report the campaign and traffic-source data. +To compute the source of traffic of a web session, the user has to provide the utm_* related properties if available +i-e: **utm_source.field**, **utm_medium.field**, **utm_campaign.field**, **utm_content.field**, **utm_term.field**) +, the referer (**referer.field** property) and the first visited page of the session (**first.visited.page.field** property). +By default the source of traffic information are placed in a flat structure (specified by the **source_of_traffic.suffix** property +with a default value of source_of_traffic). To work properly the SetSourceOfTraffic processor needs to have access to an +Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **es.index** property) should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field (default being search_engine) specified by the property **es.search_engine.field** with a value set to true. If the domain is a social network , the related ES doc MUST have a boolean field (default being social_network) specified by the property **es.social_network.field** with a value set to true. + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic + +Tags +____ +session, traffic, source, web, analytics + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "referer.field", "Name of the field containing the referer value in the session", "", "referer", "false", "false" + "first.visited.page.field", "Name of the field containing the first visited page in the session", "", "firstVisitedPage", "false", "false" + "utm_source.field", "Name of the field containing the utm_source value in the session", "", "utm_source", "false", "false" + "utm_medium.field", "Name of the field containing the utm_medium value in the session", "", "utm_medium", "false", "false" + "utm_campaign.field", "Name of the field containing the utm_campaign value in the session", "", "utm_campaign", "false", "false" + "utm_content.field", "Name of the field containing the utm_content value in the session", "", "utm_content", "false", "false" + "utm_term.field", "Name of the field containing the utm_term value in the session", "", "utm_term", "false", "false" + "source_of_traffic.suffix", "Suffix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "source_of_traffic.hierarchical", "Should the additional source of trafic information fields be added under a hierarchical father field or not.", "", "false", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**cache.service**", "Name of the cache service to use.", "", "null", "false", "false" + "cache.validity.timeout", "Timeout validity (in seconds) of an entry in the cache.", "", "0", "false", "false" + "debug", "If true, an additional debug field is added. If the source info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the source fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + "**es.index**", "Name of the ES index containing the list of search engines and social network. ", "", "null", "false", "false" + "es.type", "Name of the ES type to use.", "", "default", "false", "false" + "es.search_engine.field", "Name of the ES field used to specify that the domain is a search engine.", "", "search_engine", "false", "false" + "es.social_network.field", "Name of the ES field used to specify that the domain is a social network.", "", "social_network", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SetSourceOfTraffic-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.URLDecoder: + +URLDecoder +---------- +Decode one or more field containing an URL with possibly special chars encoded +... + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.URLDecoder + +Tags +____ +record, fields, Decode + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**decode.fields**", "List of fields (URL) to decode", "", "null", "false", "false" + "charset", "Charset to use to decode the URL", "", "UTF-8", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "fields to decode", "a default value", "Decode one or more fields from the record ", "", "null", false + +Extra informations +__________________ +.. include:: ./details/URLDecoder-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch: + +EnrichRecordsElasticsearch +-------------------------- +Enrich input records with content indexed in elasticsearch using multiget queries. +Each incoming record must be possibly enriched with information stored in elasticsearch. +Each outcoming record holds at least the input record plus potentially one or more fields coming from of one elasticsearch document. + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**record.key**", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" + "**es.index**", "The name of the ES index to use in multiget query. ", "", "null", "false", "**true**" + "es.type", "The name of the ES type to use in multiget query.", "", "default", "false", "**true**" + "es.includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" + "es.excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" + +Extra informations +__________________ +.. include:: ./details/EnrichRecordsElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.enrichment.IpToFqdn: + +IpToFqdn +-------- +Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The resolution mechanism is based on the underlying operating system. The resolution request may take some time, specially if the IP address cannot be translated into a FQDN. For these reasons this processor relies on the logisland cache service so that once a resolution occurs or not, the result is put into the cache. That way, the real request for the same IP is not re-triggered during a certain period of time, until the cache entry expires. This timeout is configurable but by default a request for the same IP is not triggered before 24 hours to let the time to the underlying DNS system to be potentially updated. + +Module +______ +com.hurence.logisland:logisland-processor-enrichment:1.1.2 + +Class +_____ +com.hurence.logisland.processor.enrichment.IpToFqdn + +Tags +____ +dns, ip, fqdn, domain, address, fqhn, reverse, resolution, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**fqdn.field**", "The field that will contain the full qualified domain name corresponding to the ip address.", "", "null", "false", "false" + "overwrite.fqdn.field", "If the field should be overwritten when it already exists.", "", "false", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "cache.max.time", "The amount of time, in seconds, for which a cached FQDN value is valid in the cache service. After this delay, the next new request to translate the same IP into FQDN will trigger a new reverse DNS request and the result will overwrite the entry in the cache. This allows two things: if the IP was not resolved into a FQDN, this will get a chance to obtain a FQDN if the DNS system has been updated, if the IP is resolved into a FQDN, this will allow to be more accurate if the DNS system has been updated. A value of 0 seconds disables this expiration mechanism. The default value is 84600 seconds, which corresponds to new requests triggered every day if a record with the same IP passes every day in the processor.", "", "84600", "false", "false" + "resolution.timeout", "The amount of time, in milliseconds, to wait at most for the resolution to occur. This avoids to block the stream for too much time. Default value is 1000ms. If the delay expires and no resolution could occur before, the FQDN field is not created. A special value of 0 disables the logisland timeout and the resolution request may last for many seconds if the IP cannot be translated into a FQDN by the underlying operating system. In any case, whether the timeout occurs in logisland of in the operating system, the fact that a timeout occurs is kept in the cache system so that a resolution request for the same IP will not occur before the cache entry expires.", "", "1000", "false", "false" + "debug", "If true, some additional debug fields are added. If the FQDN field is named X, a debug field named X_os_resolution_time_ms contains the resolution time in ms (using the operating system, not the cache). This field is added whether the resolution occurs or time is out. A debug field named X_os_resolution_timeout contains a boolean value to indicate if the timeout occurred. Finally, a debug field named X_from_cache contains a boolean value to indicate the origin of the FQDN field. The default value for this property is false (debug is disabled.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IpToFqdn-Detail.rst +---------- + +.. _com.hurence.logisland.processor.enrichment.IpToGeo: + +IpToGeo +------- +Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **ip.address.field** property. By default, the geo information are put in a hierarchical structure. That is, if the name of the IP field is 'X', then the the geo attributes added by enrichment are added under a father field named X_geo. "_geo" is the default hierarchical suffix that may be changed with the **geo.hierarchical.suffix** property. If one wants to put the geo fields at the same level as the IP field, then the **geo.hierarchical** property should be set to false and then the geo attributes are created at the same level as him with the naming pattern X_geo_. "_geo_" is the default flat suffix but this may be changed with the **geo.flat.suffix** property. The IpToGeo processor requires a reference to an Ip to Geo service. This must be defined in the **iptogeo.service** property. The added geo fields are dependant on the underlying Ip to Geo service. The **geo.fields** property must contain the list of geo fields that should be created if data is available for the IP to resolve. This property defaults to "*" which means to add every available fields. If one only wants a subset of the fields, one must define a comma separated list of fields as a value for the **geo.fields** property. The list of the available geo fields is in the description of the **geo.fields** property. + +Module +______ +com.hurence.logisland:logisland-processor-enrichment:1.1.2 + +Class +_____ +com.hurence.logisland.processor.enrichment.IpToGeo + +Tags +____ +geo, enrich, ip + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**iptogeo.service**", "The reference to the IP to Geo service to use.", "", "null", "false", "false" + "geo.fields", "Comma separated list of geo information fields to add to the record. Defaults to '*', which means to include all available fields. If a list of fields is specified and the data is not available, the geo field is not created. The geo fields are dependant on the underlying defined Ip to Geo service. The currently only supported type of Ip to Geo service is the Maxmind Ip to Geo service. This means that the currently supported list of geo fields is the following:**continent**: the identified continent for this IP address. **continent_code**: the identified continent code for this IP address. **city**: the identified city for this IP address. **latitude**: the identified latitude for this IP address. **longitude**: the identified longitude for this IP address. **location**: the identified location for this IP address, defined as Geo-point expressed as a string with the format: 'latitude,longitude'. **accuracy_radius**: the approximate accuracy radius, in kilometers, around the latitude and longitude for the location. **time_zone**: the identified time zone for this IP address. **subdivision_N**: the identified subdivision for this IP address. N is a one-up number at the end of the attribute name, starting with 0. **subdivision_isocode_N**: the iso code matching the identified subdivision_N. **country**: the identified country for this IP address. **country_isocode**: the iso code for the identified country for this IP address. **postalcode**: the identified postal code for this IP address. **lookup_micros**: the number of microseconds that the geo lookup took. The Ip to Geo service must have the lookup_micros property enabled in order to have this field available.", "", "*", "false", "false" + "geo.hierarchical", "Should the additional geo information fields be added under a hierarchical father field or not.", "", "true", "false", "false" + "geo.hierarchical.suffix", "Suffix to use for the field holding geo information. If geo.hierarchical is true, then use this suffix appended to the IP field name to define the father field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo", "false", "false" + "geo.flat.suffix", "Suffix to use for geo information fields when they are flat. If geo.hierarchical is false, then use this suffix appended to the IP field name but before the geo field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo_", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "debug", "If true, an additional debug field is added. If the geo info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the geo fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/IpToGeo-Detail.rst +---------- + +.. _com.hurence.logisland.processor.bro.ParseBroEvent: + +ParseBroEvent +------------- +The ParseBroEvent processor is the Logisland entry point to get and process `Bro `_ events. The `Bro-Kafka plugin `_ should be used and configured in order to have Bro events sent to Kafka. See the `Bro/Logisland tutorial `_ for an example of usage for this processor. The ParseBroEvent processor does some minor pre-processing on incoming Bro events from the Bro-Kafka plugin to adapt them to Logisland. + +Basically the events coming from the Bro-Kafka plugin are JSON documents with a first level field indicating the type of the event. The ParseBroEvent processor takes the incoming JSON document, sets the event type in a record_type field and sets the original sub-fields of the JSON event as first level fields in the record. Also any dot in a field name is transformed into an underscore. Thus, for instance, the field id.orig_h becomes id_orig_h. The next processors in the stream can then process the Bro events generated by this ParseBroEvent processor. + +As an example here is an incoming event from Bro: + +{ + + "conn": { + + "id.resp_p": 9092, + + "resp_pkts": 0, + + "resp_ip_bytes": 0, + + "local_orig": true, + + "orig_ip_bytes": 0, + + "orig_pkts": 0, + + "missed_bytes": 0, + + "history": "Cc", + + "tunnel_parents": [], + + "id.orig_p": 56762, + + "local_resp": true, + + "uid": "Ct3Ms01I3Yc6pmMZx7", + + "conn_state": "OTH", + + "id.orig_h": "172.17.0.2", + + "proto": "tcp", + + "id.resp_h": "172.17.0.3", + + "ts": 1487596886.953917 + + } + + } + +It gets processed and transformed into the following Logisland record by the ParseBroEvent processor: + +"@timestamp": "2017-02-20T13:36:32Z" + +"record_id": "6361f80a-c5c9-4a16-9045-4bb51736333d" + +"record_time": 1487597792782 + +"record_type": "conn" + +"id_resp_p": 9092 + +"resp_pkts": 0 + +"resp_ip_bytes": 0 + +"local_orig": true + +"orig_ip_bytes": 0 + +"orig_pkts": 0 + +"missed_bytes": 0 + +"history": "Cc" + +"tunnel_parents": [] + +"id_orig_p": 56762 + +"local_resp": true + +"uid": "Ct3Ms01I3Yc6pmMZx7" + +"conn_state": "OTH" + +"id_orig_h": "172.17.0.2" + +"proto": "tcp" + +"id_resp_h": "172.17.0.3" + +"ts": 1487596886.953917 + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.bro.ParseBroEvent + +Tags +____ +bro, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseBroEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.netflow.ParseNetflowEvent: + +ParseNetflowEvent +----------------- +The `Netflow V5 `_ processor is the Logisland entry point to process Netflow (V5) events. NetFlow is a feature introduced on Cisco routers that provides the ability to collect IP network traffic.We can distinguish 2 components: + + - Flow exporter: aggregates packets into flows and exports flow records (binary format) towards one or more flow collectors + + - Flow collector: responsible for reception, storage and pre-processing of flow data received from a flow exporter + +The collected data are then available for analysis purpose (intrusion detection, traffic analysis...) +Netflow are sent to kafka in order to be processed by logisland. +In the tutorial we will simulate Netflow traffic using `nfgen `_. this traffic will be sent to port 2055. The we rely on nifi to listen of that port for incoming netflow (V5) traffic and send them to a kafka topic. The Netflow processor could thus treat these events and generate corresponding logisland records. The following processors in the stream can then process the Netflow records generated by this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.netflow.ParseNetflowEvent + +Tags +____ +netflow, security + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + "output.record.type", "the output type of the record", "", "netflowevent", "false", "false" + "enrich.record", "Enrich data. If enabledthe netflow record is enriched with inferred data", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseNetflowEvent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.networkpacket.ParseNetworkPacket: + +ParseNetworkPacket +------------------ +The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). In batch mode, the processor decodes the bytes of the incoming pcap record, where a Global header followed by a sequence of [packet header, packet data] pairs are stored. Then, each incoming pcap event is parsed into n packet records. The fields of packet headers are then extracted and made available in dedicated record fields. See the `Capturing Network packets tutorial `_ for an example of usage of this processor. + +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 + +Class +_____ +com.hurence.logisland.processor.networkpacket.ParseNetworkPacket + +Tags +____ +PCap, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "**flow.mode**", "Flow Mode. Indicate whether packets are provided in batch mode (via pcap files) or in stream mode (without headers). Allowed values are batch and stream.", "batch, stream", "null", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.processor.SampleRecords: + +SampleRecords +------------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-sampling:1.1.2 + +Class +_____ +com.hurence.logisland.processor.SampleRecords + +Tags +____ +analytic, sampler, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "record.value.field", "the name of the numeric field to sample", "", "record_value", "false", "false" + "record.time.field", "the name of the time field to sample", "", "record_time", "false", "false" + "**sampling.algorithm**", "the implementation of the algorithm", "none, lttb, average, first_item, min_max, mode_median", "null", "false", "false" + "**sampling.parameter**", "the parmater of the algorithm", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SampleRecords-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch: + +BulkAddElasticsearch +-------------------- +Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**default.index**", "The name of the index to insert into", "", "null", "false", "**true**" + "**default.type**", "The type of this document (used by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" + "**timebased.index**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" + "es.index.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "false" + "es.type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/BulkAddElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.FetchHBaseRow: + +FetchHBaseRow +------------- +Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files. + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.FetchHBaseRow + +Tags +____ +hbase, scan, fetch, get, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to fetch from.", "", "null", "false", "**true**" + "**row.identifier.field**", "The field containing the identifier of the row to fetch.", "", "null", "false", "**true**" + "columns.field", "The field containing an optional comma-separated list of \"\":\"\" pairs to fetch. To return all columns for a given family, leave off the qualifier such as \"\",\"\".", "", "null", "false", "**true**" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "table.name.default", "The table to use if table name field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/FetchHBaseRow-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch: + +MultiGetElasticsearch +--------------------- +Retrieves a content indexed in elasticsearch using elasticsearch multiget queries. +Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : + + - index (String) : name of the elasticsearch index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - type (String) : name of the elasticsearch type on which the multiget query will be performed. This field is not mandatory. + - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. + +Each outcoming record holds data of one elasticsearch retrieved document. This data is stored in these fields : + + - index (same field name as the incoming record) : name of the elasticsearch index. + - type (same field name as the incoming record) : name of the elasticsearch type. + - id (same field name as the incoming record) : retrieved document id. + - a list of String fields containing : + + * field name : the retrieved field name + * field value : the retrieved field value + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**es.index.field**", "the name of the incoming records field containing es index name to use in multiget query. ", "", "null", "false", "false" + "**es.type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" + "**es.ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" + "**es.includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" + "**es.excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/MultiGetElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.PutHBaseCell: + +PutHBaseCell +------------ +Adds the Contents of a Record to HBase as the value of a single cell + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.PutHBaseCell + +Tags +____ +hadoop, hbase + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to put data into", "", "null", "false", "**true**" + "row.identifier.field", "Specifies field containing the Row ID to use when inserting data into HBase", "", "null", "false", "**true**" + "row.identifier.encoding.strategy", "Specifies the data type of Row ID used when inserting data into HBase. The default behavior is to convert the row id to a UTF-8 byte array. Choosing Binary will convert a binary formatted string to the correct byte[] representation. The Binary option should be used if you are using Binary row keys in HBase", "String (Stores the value of row id as a UTF-8 String.), Binary (Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string.)", "String", "false", "false" + "**column.family.field**", "The field containing the Column Family to use when inserting data into HBase", "", "null", "false", "**true**" + "**column.qualifier.field**", "The field containing the Column Qualifier to use when inserting data into HBase", "", "null", "false", "**true**" + "**batch.size**", "The maximum number of Records to process in a single execution. The Records will be grouped by table, and a single Put per table will be performed.", "", "25", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "table.name.default", "The table table to use if table name field is not set", "", "null", "false", "false" + "column.family.default", "The column family to use if column family field is not set", "", "null", "false", "false" + "column.qualifier.default", "The column qualifier to use if column qualifier field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/PutHBaseCell-Detail.rst +---------- + +.. _com.hurence.logisland.processor.scripting.python.RunPython: + +RunPython +--------- + !!!! WARNING !!!! + +The RunPython processor is currently an experimental feature : it is delivered as is, with the current set of features and is subject to modifications in API or anything else in further logisland releases without warnings. There is no tutorial yet. If you want to play with this processor, use the python-processing.yml example and send the apache logs of the index apache logs tutorial. The debug stream processor at the end of the stream should output events in stderr file of the executors from the spark console. + +This processor allows to implement and run a processor written in python. This can be done in 2 ways. Either directly defining the process method code in the **script.code.process** configuration property or poiting to an external python module script file in the **script.path** configuration property. Directly defining methods is called the inline mode whereas using a script file is called the file mode. Both ways are mutually exclusive. Whether using the inline of file mode, your python code may depend on some python dependencies. If the set of python dependencies already delivered with the Logisland framework is not sufficient, you can use the **dependencies.path** configuration property to give their location. Currently only the nltk python library is delivered with Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-scripting:1.1.2 + +Class +_____ +com.hurence.logisland.processor.scripting.python.RunPython + +Tags +____ +scripting, python + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "script.code.imports", "For inline mode only. This is the python code that should hold the import statements if required.", "", "null", "false", "false" + "script.code.init", "The python code to be called when the processor is initialized. This is the python equivalent of the init method code for a java processor. This is not mandatory but can only be used if **script.code.process** is defined (inline mode).", "", "null", "false", "false" + "script.code.process", "The python code to be called to process the records. This is the pyhton equivalent of the process method code for a java processor. For inline mode, this is the only minimum required configuration property. Using this property, you may also optionally define the **script.code.init** and **script.code.imports** properties.", "", "null", "false", "false" + "script.path", "The path to the user's python processor script. Use this property for file mode. Your python code must be in a python file with the following constraints: let's say your pyhton script is named MyProcessor.py. Then MyProcessor.py is a module file that must contain a class named MyProcessor which must inherits from the Logisland delivered class named AbstractProcessor. You can then define your code in the process method and in the other traditional methods (init...) as you would do in java in a class inheriting from the AbstractProcessor java class.", "", "null", "false", "false" + "dependencies.path", "The path to the additional dependencies for the user's python code, whether using inline or file mode. This is optional as your code may not have additional dependencies. If you defined **script.path** (so using file mode) and if **dependencies.path** is not defined, Logisland will scan a potential directory named **dependencies** in the same directory where the script file resides and if it exists, any python code located there will be loaded as dependency as needed.", "", "null", "false", "false" + "logisland.dependencies.path", "The path to the directory containing the python dependencies shipped with logisland. You should not have to tune this parameter.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/RunPython-Detail.rst +---------- + +.. _com.hurence.logisland.processor.xml.EvaluateXPath: + +EvaluateXPath +------------- +Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to new attributes in the records, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed. The value of the property must be a valid XPath expression. If the expression matches nothing, no attributes is added. + +Module +______ +com.hurence.logisland:logisland-processor-xml:1.1.2 + +Class +_____ +com.hurence.logisland.processor.xml.EvaluateXPath + +Tags +____ +XML, evaluate, XPath + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**source**", "Indicates the attribute containing the xml data to evaluate xpath against.", "", "null", "false", "false" + "**validate_dtd**", "Specifies whether or not the XML content should be validated against the DTD.", "true, false", "true", "false", "false" + "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "An attribute", "An XPath expression", " the attribute is set to the result of the XPath Expression.", "", "null", false + +Extra informations +__________________ +.. include:: ./details/EvaluateXPath-Detail.rst +---------- + +.. _com.hurence.logisland.processor.excel.ExcelExtract: + +ExcelExtract +------------ +Consumes a Microsoft Excel document and converts each worksheet's line to a structured record. The processor is assuming to receive raw excel file as input record. + +Module +______ +com.hurence.logisland:logisland-processor-excel:1.1.2 + +Class +_____ +com.hurence.logisland.processor.excel.ExcelExtract + +Tags +____ +excel, processor, poi + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "sheets", "Comma separated list of Excel document sheet names that should be extracted from the excel document. If this property is left blank then all of the sheets will be extracted from the Excel document. You can specify regular expressions. Any sheets not specified in this value will be ignored.", "", "", "false", "false" + "skip.columns", "Comma delimited list of column numbers to skip. Use the columns number and not the letter designation. Use this to skip over columns anywhere in your worksheet that you don't want extracted as part of the record.", "", "", "false", "false" + "field.names", "The comma separated list representing the names of columns of extracted cells. Order matters! You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + "skip.rows", "The row number of the first row to start processing.Use this to skip over rows of data at the top of your worksheet that are not part of the dataset.Empty rows of data anywhere in the spreadsheet will always be skipped, no matter what this value is set to.", "", "0", "false", "false" + "record.type", "Default type of record", "", "excel_record", "false", "false" + "field.row.header", "If set, field names mapping will be extracted from the specified row number. You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ExcelExtract-Detail.rst +---------- + +.. _com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog: + +ParseGitlabLog +-------------- +The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs. This allows for instance to monitor activities in your Gitlab server. The expected input of this processor are records from the production_json.log log file of Gitlab which contains JSON records. You can for instance use the `kafkacat `_ command to inject those logs into kafka and thus Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-common-logs:1.1.2 + +Class +_____ +com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog + +Tags +____ +logs, gitlab + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseGitlabLog-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchIP: + +MatchIP +------- +IP address Query matching (using `Luwak )`_ + +You can use this processor to handle custom events matching IP address (CIDR) +The record sent from a matching an IP address record is tagged appropriately. + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchIP + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchIP-Detail.rst +---------- + +.. _com.hurence.logisland.processor.MatchQuery: + +MatchQuery +---------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries + +Module +______ +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 + +Class +_____ +com.hurence.logisland.processor.MatchQuery + +Tags +____ +analytic, percolator, record, record, query, lucene + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + +Extra informations +__________________ +.. include:: ./details/MatchQuery-Detail.rst +---------- + +.. _com.hurence.logisland.processor.useragent.ParseUserAgent: + +ParseUserAgent +-------------- +The user-agent processor allows to decompose User-Agent value from an HTTP header into several attributes of interest. There is no standard format for User-Agent strings, hence it is not easily possible to use regexp to handle them. This processor rely on the `YAUAA library `_ to do the heavy work. + +Module +______ +com.hurence.logisland:logisland-processor-useragent:1.1.2 + +Class +_____ +com.hurence.logisland.processor.useragent.ParseUserAgent + +Tags +____ +User-Agent, clickstream, DMP + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "cache.enabled", "Enable caching. Caching to avoid to redo the same computation for many identical User-Agent strings.", "", "true", "false", "false" + "cache.size", "Set the size of the cache.", "", "1000", "false", "false" + "**useragent.field**", "Must contain the name of the field that contains the User-Agent value in the incoming record.", "", "null", "false", "false" + "useragent.keep", "Defines if the field that contained the User-Agent must be kept or not in the resulting records.", "", "true", "false", "false" + "confidence.enabled", "Enable confidence reporting. Each field will report a confidence attribute with a value comprised between 0 and 10000.", "", "false", "false", "false" + "ambiguity.enabled", "Enable ambiguity reporting. Reports a count of ambiguities.", "", "false", "false", "false" + "fields", "Defines the fields to be returned.", "", "DeviceClass, DeviceName, DeviceBrand, DeviceCpu, DeviceFirmwareVersion, DeviceVersion, OperatingSystemClass, OperatingSystemName, OperatingSystemVersion, OperatingSystemNameVersion, OperatingSystemVersionBuild, LayoutEngineClass, LayoutEngineName, LayoutEngineVersion, LayoutEngineVersionMajor, LayoutEngineNameVersion, LayoutEngineNameVersionMajor, LayoutEngineBuild, AgentClass, AgentName, AgentVersion, AgentVersionMajor, AgentNameVersion, AgentNameVersionMajor, AgentBuild, AgentLanguage, AgentLanguageCode, AgentInformationEmail, AgentInformationUrl, AgentSecurity, AgentUuid, FacebookCarrier, FacebookDeviceClass, FacebookDeviceName, FacebookDeviceVersion, FacebookFBOP, FacebookFBSS, FacebookOperatingSystemName, FacebookOperatingSystemVersion, Anonymized, HackerAttackVector, HackerToolkit, KoboAffiliate, KoboPlatformId, IECompatibilityVersion, IECompatibilityVersionMajor, IECompatibilityNameVersion, IECompatibilityNameVersionMajor, __SyntaxError__, Carrier, GSAInstallationID, WebviewAppName, WebviewAppNameVersionMajor, WebviewAppVersion, WebviewAppVersionMajor", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseUserAgent-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.ConsolidateSession: + +ConsolidateSession +------------------ +The ConsolidateSession processor is the Logisland entry point to get and process events from the Web Analytics.As an example here is an incoming event from the Web Analytics: + +"fields": [{ "name": "timestamp", "type": "long" },{ "name": "remoteHost", "type": "string"},{ "name": "record_type", "type": ["null", "string"], "default": null },{ "name": "record_id", "type": ["null", "string"], "default": null },{ "name": "location", "type": ["null", "string"], "default": null },{ "name": "hitType", "type": ["null", "string"], "default": null },{ "name": "eventCategory", "type": ["null", "string"], "default": null },{ "name": "eventAction", "type": ["null", "string"], "default": null },{ "name": "eventLabel", "type": ["null", "string"], "default": null },{ "name": "localPath", "type": ["null", "string"], "default": null },{ "name": "q", "type": ["null", "string"], "default": null },{ "name": "n", "type": ["null", "int"], "default": null },{ "name": "referer", "type": ["null", "string"], "default": null },{ "name": "viewportPixelWidth", "type": ["null", "int"], "default": null },{ "name": "viewportPixelHeight", "type": ["null", "int"], "default": null },{ "name": "screenPixelWidth", "type": ["null", "int"], "default": null },{ "name": "screenPixelHeight", "type": ["null", "int"], "default": null },{ "name": "partyId", "type": ["null", "string"], "default": null },{ "name": "sessionId", "type": ["null", "string"], "default": null },{ "name": "pageViewId", "type": ["null", "string"], "default": null },{ "name": "is_newSession", "type": ["null", "boolean"],"default": null },{ "name": "userAgentString", "type": ["null", "string"], "default": null },{ "name": "pageType", "type": ["null", "string"], "default": null },{ "name": "UserId", "type": ["null", "string"], "default": null },{ "name": "B2Bunit", "type": ["null", "string"], "default": null },{ "name": "pointOfService", "type": ["null", "string"], "default": null },{ "name": "companyID", "type": ["null", "string"], "default": null },{ "name": "GroupCode", "type": ["null", "string"], "default": null },{ "name": "userRoles", "type": ["null", "string"], "default": null },{ "name": "is_PunchOut", "type": ["null", "string"], "default": null }]The ConsolidateSession processor groups the records by sessions and compute the duration between now and the last received event. If the distance from the last event is beyond a given threshold (by default 30mn), then the session is considered closed.The ConsolidateSession is building an aggregated session object for each active session.This aggregated object includes: - The actual session duration. - A boolean representing wether the session is considered active or closed. Note: it is possible to ressurect a session if for instance an event arrives after a session has been marked closed. - User related infos: userId, B2Bunit code, groupCode, userRoles, companyId - First visited page: URL - Last visited page: URL The properties to configure the processor are: - sessionid.field: Property name containing the session identifier (default: sessionId). - timestamp.field: Property name containing the timestamp of the event (default: timestamp). - session.timeout: Timeframe of inactivity (in seconds) after which a session is considered closed (default: 30mn). - visitedpage.field: Property name containing the page visited by the customer (default: location). - fields.to.return: List of fields to return in the aggregated object. (default: N/A) + +Module +______ +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 + +Class +_____ +com.hurence.logisland.processor.webAnalytics.ConsolidateSession + +Tags +____ +analytics, web, session + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "null", "false", "false" + "session.timeout", "session timeout in sec", "", "1800", "false", "false" + "sessionid.field", "the name of the field containing the session id => will override default value if set", "", "sessionId", "false", "false" + "timestamp.field", "the name of the field containing the timestamp => will override default value if set", "", "h2kTimestamp", "false", "false" + "visitedpage.field", "the name of the field containing the visited page => will override default value if set", "", "location", "false", "false" + "userid.field", "the name of the field containing the userId => will override default value if set", "", "userId", "false", "false" + "fields.to.return", "the list of fields to return", "", "null", "false", "false" + "firstVisitedPage.out.field", "the name of the field containing the first visited page => will override default value if set", "", "firstVisitedPage", "false", "false" + "lastVisitedPage.out.field", "the name of the field containing the last visited page => will override default value if set", "", "lastVisitedPage", "false", "false" + "isSessionActive.out.field", "the name of the field stating whether the session is active or not => will override default value if set", "", "is_sessionActive", "false", "false" + "sessionDuration.out.field", "the name of the field containing the session duration => will override default value if set", "", "sessionDuration", "false", "false" + "eventsCounter.out.field", "the name of the field containing the session duration => will override default value if set", "", "eventsCounter", "false", "false" + "firstEventDateTime.out.field", "the name of the field containing the date of the first event => will override default value if set", "", "firstEventDateTime", "false", "false" + "lastEventDateTime.out.field", "the name of the field containing the date of the last event => will override default value if set", "", "lastEventDateTime", "false", "false" + "sessionInactivityDuration.out.field", "the name of the field containing the session inactivity duration => will override default value if set", "", "sessionInactivityDuration", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ConsolidateSession-Detail.rst +---------- + +.. _com.hurence.logisland.processor.DetectOutliers: + +DetectOutliers +-------------- +Outlier Analysis: A Hybrid Approach + +In order to function at scale, a two-phase approach is taken + +For every data point + +- Detect outlier candidates using a robust estimator of variability (e.g. median absolute deviation) that uses distributional sketching (e.g. Q-trees) +- Gather a biased sample (biased by recency) +- Extremely deterministic in space and cheap in computation + +For every outlier candidate + +- Use traditional, more computationally complex approaches to outlier analysis (e.g. Robust PCA) on the biased sample +- Expensive computationally, but run infrequently + +This becomes a data filter which can be attached to a timeseries data stream within a distributed computational framework (i.e. Storm, Spark, Flink, NiFi) to detect outliers. + +Module +______ +com.hurence.logisland:logisland-processor-outlier-detection:1.1.2 + +Class +_____ +com.hurence.logisland.processor.DetectOutliers + +Tags +____ +analytic, outlier, record, iot, timeseries + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**value.field**", "the numeric field to get the value", "", "record_value", "false", "false" + "**time.field**", "the numeric field to get the value", "", "record_time", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "**rotation.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**rotation.policy.amount**", "...", "", "100", "false", "false" + "**rotation.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "**chunking.policy.type**", "...", "by_amount, by_time, never", "by_amount", "false", "false" + "**chunking.policy.amount**", "...", "", "100", "false", "false" + "**chunking.policy.unit**", "...", "milliseconds, seconds, hours, days, months, years, points", "points", "false", "false" + "sketchy.outlier.algorithm", "...", "SKETCHY_MOVING_MAD", "SKETCHY_MOVING_MAD", "false", "false" + "batch.outlier.algorithm", "...", "RAD", "RAD", "false", "false" + "global.statistics.min", "minimum value", "", "null", "false", "false" + "global.statistics.max", "maximum value", "", "null", "false", "false" + "global.statistics.mean", "mean value", "", "null", "false", "false" + "global.statistics.stddev", "standard deviation value", "", "null", "false", "false" + "**zscore.cutoffs.normal**", "zscoreCutoffs level for normal outlier", "", "0.000000000000001", "false", "false" + "**zscore.cutoffs.moderate**", "zscoreCutoffs level for moderate outlier", "", "1.5", "false", "false" + "**zscore.cutoffs.severe**", "zscoreCutoffs level for severe outlier", "", "10.0", "false", "false" + "zscore.cutoffs.notEnoughData", "zscoreCutoffs level for notEnoughData outlier", "", "100", "false", "false" + "smooth", "do smoothing ?", "", "false", "false", "false" + "decay", "the decay", "", "0.1", "false", "false" + "**min.amount.to.predict**", "minAmountToPredict", "", "100", "false", "false" + "min_zscore_percentile", "minZscorePercentile", "", "50.0", "false", "false" + "reservoir_size", "the size of points reservoir", "", "100", "false", "false" + "rpca.force.diff", "No Description Provided.", "", "null", "false", "false" + "rpca.lpenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.min.records", "No Description Provided.", "", "null", "false", "false" + "rpca.spenalty", "No Description Provided.", "", "null", "false", "false" + "rpca.threshold", "No Description Provided.", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/DetectOutliers-Detail.rst +---------- + +.. _com.hurence.logisland.processor.webAnalytics.IncrementalWebSession: + +IncrementalWebSession +--------------------- This processor creates and updates web-sessions based on incoming web-events. Note that both web-sessions and web-events are stored in elasticsearch. Firstly, web-events are grouped by their session identifier and processed in chronological order. Then each web-session associated to each group is retrieved from elasticsearch. @@ -464,23 +5102,31 @@ __________________ .. include:: ./details/IncrementalWebSession-Detail.rst ---------- -.. _com.hurence.logisland.processor.enrichment.IpToFqdn: +.. _com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic: -IpToFqdn --------- -Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The resolution mechanism is based on the underlying operating system. The resolution request may take some time, specially if the IP address cannot be translated into a FQDN. For these reasons this processor relies on the logisland cache service so that once a resolution occurs or not, the result is put into the cache. That way, the real request for the same IP is not re-triggered during a certain period of time, until the cache entry expires. This timeout is configurable but by default a request for the same IP is not triggered before 24 hours to let the time to the underlying DNS system to be potentially updated. +SetSourceOfTraffic +------------------ +Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, +including advertising/paying campaigns, search engines, social networks, referring sites or direct access. +When analysing user experience on a webshop, it is crucial to collect, process, and report the campaign and traffic-source data. +To compute the source of traffic of a web session, the user has to provide the utm_* related properties if available +i-e: **utm_source.field**, **utm_medium.field**, **utm_campaign.field**, **utm_content.field**, **utm_term.field**) +, the referer (**referer.field** property) and the first visited page of the session (**first.visited.page.field** property). +By default the source of traffic information are placed in a flat structure (specified by the **source_of_traffic.suffix** property +with a default value of source_of_traffic). To work properly the SetSourceOfTraffic processor needs to have access to an +Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **es.index** property) should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field (default being search_engine) specified by the property **es.search_engine.field** with a value set to true. If the domain is a social network , the related ES doc MUST have a boolean field (default being social_network) specified by the property **es.social_network.field** with a value set to true. Module ______ -com.hurence.logisland:logisland-processor-enrichment:1.1.2 +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 Class _____ -com.hurence.logisland.processor.enrichment.IpToFqdn +com.hurence.logisland.processor.webAnalytics.SetSourceOfTraffic Tags ____ -dns, ip, fqdn, domain, address, fqhn, reverse, resolution, enrich +session, traffic, source, web, analytics Properties __________ @@ -491,36 +5137,47 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" - "**fqdn.field**", "The field that will contain the full qualified domain name corresponding to the ip address.", "", "null", "false", "false" - "overwrite.fqdn.field", "If the field should be overwritten when it already exists.", "", "false", "false", "false" - "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" - "cache.max.time", "The amount of time, in seconds, for which a cached FQDN value is valid in the cache service. After this delay, the next new request to translate the same IP into FQDN will trigger a new reverse DNS request and the result will overwrite the entry in the cache. This allows two things: if the IP was not resolved into a FQDN, this will get a chance to obtain a FQDN if the DNS system has been updated, if the IP is resolved into a FQDN, this will allow to be more accurate if the DNS system has been updated. A value of 0 seconds disables this expiration mechanism. The default value is 84600 seconds, which corresponds to new requests triggered every day if a record with the same IP passes every day in the processor.", "", "84600", "false", "false" - "resolution.timeout", "The amount of time, in milliseconds, to wait at most for the resolution to occur. This avoids to block the stream for too much time. Default value is 1000ms. If the delay expires and no resolution could occur before, the FQDN field is not created. A special value of 0 disables the logisland timeout and the resolution request may last for many seconds if the IP cannot be translated into a FQDN by the underlying operating system. In any case, whether the timeout occurs in logisland of in the operating system, the fact that a timeout occurs is kept in the cache system so that a resolution request for the same IP will not occur before the cache entry expires.", "", "1000", "false", "false" - "debug", "If true, some additional debug fields are added. If the FQDN field is named X, a debug field named X_os_resolution_time_ms contains the resolution time in ms (using the operating system, not the cache). This field is added whether the resolution occurs or time is out. A debug field named X_os_resolution_timeout contains a boolean value to indicate if the timeout occurred. Finally, a debug field named X_from_cache contains a boolean value to indicate the origin of the FQDN field. The default value for this property is false (debug is disabled.", "", "false", "false", "false" + "referer.field", "Name of the field containing the referer value in the session", "", "referer", "false", "false" + "first.visited.page.field", "Name of the field containing the first visited page in the session", "", "firstVisitedPage", "false", "false" + "utm_source.field", "Name of the field containing the utm_source value in the session", "", "utm_source", "false", "false" + "utm_medium.field", "Name of the field containing the utm_medium value in the session", "", "utm_medium", "false", "false" + "utm_campaign.field", "Name of the field containing the utm_campaign value in the session", "", "utm_campaign", "false", "false" + "utm_content.field", "Name of the field containing the utm_content value in the session", "", "utm_content", "false", "false" + "utm_term.field", "Name of the field containing the utm_term value in the session", "", "utm_term", "false", "false" + "source_of_traffic.suffix", "Suffix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" + "source_of_traffic.hierarchical", "Should the additional source of trafic information fields be added under a hierarchical father field or not.", "", "false", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**cache.service**", "Name of the cache service to use.", "", "null", "false", "false" + "cache.validity.timeout", "Timeout validity (in seconds) of an entry in the cache.", "", "0", "false", "false" + "debug", "If true, an additional debug field is added. If the source info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the source fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + "**es.index**", "Name of the ES index containing the list of search engines and social network. ", "", "null", "false", "false" + "es.type", "Name of the ES type to use.", "", "default", "false", "false" + "es.search_engine.field", "Name of the ES field used to specify that the domain is a search engine.", "", "search_engine", "false", "false" + "es.social_network.field", "Name of the ES field used to specify that the domain is a social network.", "", "social_network", "false", "false" Extra informations __________________ -.. include:: ./details/IpToFqdn-Detail.rst +.. include:: ./details/SetSourceOfTraffic-Detail.rst ---------- -.. _com.hurence.logisland.processor.enrichment.IpToGeo: +.. _com.hurence.logisland.processor.webAnalytics.URLDecoder: -IpToGeo -------- -Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **ip.address.field** property. By default, the geo information are put in a hierarchical structure. That is, if the name of the IP field is 'X', then the the geo attributes added by enrichment are added under a father field named X_geo. "_geo" is the default hierarchical suffix that may be changed with the **geo.hierarchical.suffix** property. If one wants to put the geo fields at the same level as the IP field, then the **geo.hierarchical** property should be set to false and then the geo attributes are created at the same level as him with the naming pattern X_geo_. "_geo_" is the default flat suffix but this may be changed with the **geo.flat.suffix** property. The IpToGeo processor requires a reference to an Ip to Geo service. This must be defined in the **iptogeo.service** property. The added geo fields are dependant on the underlying Ip to Geo service. The **geo.fields** property must contain the list of geo fields that should be created if data is available for the IP to resolve. This property defaults to "*" which means to add every available fields. If one only wants a subset of the fields, one must define a comma separated list of fields as a value for the **geo.fields** property. The list of the available geo fields is in the description of the **geo.fields** property. +URLDecoder +---------- +Decode one or more field containing an URL with possibly special chars encoded +... Module ______ -com.hurence.logisland:logisland-processor-enrichment:1.1.2 +com.hurence.logisland:logisland-processor-web-analytics:1.1.2 Class _____ -com.hurence.logisland.processor.enrichment.IpToGeo +com.hurence.logisland.processor.webAnalytics.URLDecoder Tags ____ -geo, enrich, ip +record, fields, Decode Properties __________ @@ -531,188 +5188,123 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" - "**iptogeo.service**", "The reference to the IP to Geo service to use.", "", "null", "false", "false" - "geo.fields", "Comma separated list of geo information fields to add to the record. Defaults to '*', which means to include all available fields. If a list of fields is specified and the data is not available, the geo field is not created. The geo fields are dependant on the underlying defined Ip to Geo service. The currently only supported type of Ip to Geo service is the Maxmind Ip to Geo service. This means that the currently supported list of geo fields is the following:**continent**: the identified continent for this IP address. **continent_code**: the identified continent code for this IP address. **city**: the identified city for this IP address. **latitude**: the identified latitude for this IP address. **longitude**: the identified longitude for this IP address. **location**: the identified location for this IP address, defined as Geo-point expressed as a string with the format: 'latitude,longitude'. **accuracy_radius**: the approximate accuracy radius, in kilometers, around the latitude and longitude for the location. **time_zone**: the identified time zone for this IP address. **subdivision_N**: the identified subdivision for this IP address. N is a one-up number at the end of the attribute name, starting with 0. **subdivision_isocode_N**: the iso code matching the identified subdivision_N. **country**: the identified country for this IP address. **country_isocode**: the iso code for the identified country for this IP address. **postalcode**: the identified postal code for this IP address. **lookup_micros**: the number of microseconds that the geo lookup took. The Ip to Geo service must have the lookup_micros property enabled in order to have this field available.", "", "*", "false", "false" - "geo.hierarchical", "Should the additional geo information fields be added under a hierarchical father field or not.", "", "true", "false", "false" - "geo.hierarchical.suffix", "Suffix to use for the field holding geo information. If geo.hierarchical is true, then use this suffix appended to the IP field name to define the father field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo", "false", "false" - "geo.flat.suffix", "Suffix to use for geo information fields when they are flat. If geo.hierarchical is false, then use this suffix appended to the IP field name but before the geo field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo_", "false", "false" - "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" - "debug", "If true, an additional debug field is added. If the geo info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the geo fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" + "**decode.fields**", "List of fields (URL) to decode", "", "null", "false", "false" + "charset", "Charset to use to decode the URL", "", "UTF-8", "false", "false" -Extra informations +Dynamic Properties __________________ -.. include:: ./details/IpToGeo-Detail.rst ----------- - -.. _com.hurence.logisland.processor.MatchIP: - -MatchIP -------- -IP address Query matching (using `Luwak )`_ - -You can use this processor to handle custom events matching IP address (CIDR) -The record sent from a matching an IP address record is tagged appropriately. - -A query is expressed as a lucene query against a field like for example: +Dynamic Properties allow the user to specify both the name and value of a property. -.. code:: +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ - message:'bad exception' - error_count:[10 TO *] - bytes_out:5000 - user_name:tom* + "fields to decode", "a default value", "Decode one or more fields from the record ", "", "null", false -Please read the `Lucene syntax guide `_ for supported operations +Extra informations +__________________ +.. include:: ./details/URLDecoder-Detail.rst +---------- -.. warning:: +.. _com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch: - don't forget to set numeric fields property to handle correctly numeric ranges queries +EnrichRecordsElasticsearch +-------------------------- +Enrich input records with content indexed in elasticsearch using multiget queries. +Each incoming record must be possibly enriched with information stored in elasticsearch. +Each outcoming record holds at least the input record plus potentially one or more fields coming from of one elasticsearch document. Module ______ -com.hurence.logisland:logisland-processor-querymatcher:1.1.2 +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 Class _____ -com.hurence.logisland.processor.MatchIP +com.hurence.logisland.processor.elasticsearch.EnrichRecordsElasticsearch Tags ____ -analytic, percolator, record, record, query, lucene +elasticsearch Properties __________ -In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . .. csv-table:: allowable-values :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" :widths: 20,60,30,20,10,10 :escape: \ - "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" - "output.record.type", "the output type of the record", "", "alert_match", "false", "false" - "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" - "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" - "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" - -Dynamic Properties -__________________ -Dynamic Properties allow the user to specify both the name and value of a property. - -.. csv-table:: dynamic-properties - :header: "Name","Value","Description","Allowable Values","Default Value","EL" - :widths: 20,20,40,40,20,10 - :escape: \ - - "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**record.key**", "The name of field in the input record containing the document id to use in ES multiget query", "", "null", "false", "**true**" + "**es.index**", "The name of the ES index to use in multiget query. ", "", "null", "false", "**true**" + "es.type", "The name of the ES type to use in multiget query.", "", "default", "false", "**true**" + "es.includes.field", "The name of the ES fields to include in the record.", "", "*", "false", "**true**" + "es.excludes.field", "The name of the ES fields to exclude.", "", "N/A", "false", "false" Extra informations __________________ -.. include:: ./details/MatchIP-Detail.rst ----------- - -.. _com.hurence.logisland.processor.MatchQuery: - -MatchQuery +.. include:: ./details/EnrichRecordsElasticsearch-Detail.rst ---------- -Query matching based on `Luwak `_ - -you can use this processor to handle custom events defined by lucene queries -a new record is added to output each time a registered query is matched - -A query is expressed as a lucene query against a field like for example: - -.. code:: - - message:'bad exception' - error_count:[10 TO *] - bytes_out:5000 - user_name:tom* -Please read the `Lucene syntax guide `_ for supported operations - -.. warning:: +.. _com.hurence.logisland.processor.enrichment.IpToFqdn: - don't forget to set numeric fields property to handle correctly numeric ranges queries +IpToFqdn +-------- +Translates an IP address into a FQDN (Fully Qualified Domain Name). An input field from the record has the IP as value. An new field is created and its value is the FQDN matching the IP address. The resolution mechanism is based on the underlying operating system. The resolution request may take some time, specially if the IP address cannot be translated into a FQDN. For these reasons this processor relies on the logisland cache service so that once a resolution occurs or not, the result is put into the cache. That way, the real request for the same IP is not re-triggered during a certain period of time, until the cache entry expires. This timeout is configurable but by default a request for the same IP is not triggered before 24 hours to let the time to the underlying DNS system to be potentially updated. Module ______ -com.hurence.logisland:logisland-processor-querymatcher:1.1.2 +com.hurence.logisland:logisland-processor-enrichment:1.1.2 Class _____ -com.hurence.logisland.processor.MatchQuery +com.hurence.logisland.processor.enrichment.IpToFqdn Tags ____ -analytic, percolator, record, record, query, lucene +dns, ip, fqdn, domain, address, fqhn, reverse, resolution, enrich Properties __________ In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. -.. csv-table:: allowable-values - :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" - :widths: 20,60,30,20,10,10 - :escape: \ - - "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" - "output.record.type", "the output type of the record", "", "alert_match", "false", "false" - "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" - "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" - "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" - -Dynamic Properties -__________________ -Dynamic Properties allow the user to specify both the name and value of a property. - -.. csv-table:: dynamic-properties - :header: "Name","Value","Description","Allowable Values","Default Value","EL" - :widths: 20,20,40,40,20,10 +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 :escape: \ - "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**fqdn.field**", "The field that will contain the full qualified domain name corresponding to the ip address.", "", "null", "false", "false" + "overwrite.fqdn.field", "If the field should be overwritten when it already exists.", "", "false", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "cache.max.time", "The amount of time, in seconds, for which a cached FQDN value is valid in the cache service. After this delay, the next new request to translate the same IP into FQDN will trigger a new reverse DNS request and the result will overwrite the entry in the cache. This allows two things: if the IP was not resolved into a FQDN, this will get a chance to obtain a FQDN if the DNS system has been updated, if the IP is resolved into a FQDN, this will allow to be more accurate if the DNS system has been updated. A value of 0 seconds disables this expiration mechanism. The default value is 84600 seconds, which corresponds to new requests triggered every day if a record with the same IP passes every day in the processor.", "", "84600", "false", "false" + "resolution.timeout", "The amount of time, in milliseconds, to wait at most for the resolution to occur. This avoids to block the stream for too much time. Default value is 1000ms. If the delay expires and no resolution could occur before, the FQDN field is not created. A special value of 0 disables the logisland timeout and the resolution request may last for many seconds if the IP cannot be translated into a FQDN by the underlying operating system. In any case, whether the timeout occurs in logisland of in the operating system, the fact that a timeout occurs is kept in the cache system so that a resolution request for the same IP will not occur before the cache entry expires.", "", "1000", "false", "false" + "debug", "If true, some additional debug fields are added. If the FQDN field is named X, a debug field named X_os_resolution_time_ms contains the resolution time in ms (using the operating system, not the cache). This field is added whether the resolution occurs or time is out. A debug field named X_os_resolution_timeout contains a boolean value to indicate if the timeout occurred. Finally, a debug field named X_from_cache contains a boolean value to indicate the origin of the FQDN field. The default value for this property is false (debug is disabled.", "", "false", "false", "false" Extra informations __________________ -.. include:: ./details/MatchQuery-Detail.rst +.. include:: ./details/IpToFqdn-Detail.rst ---------- -.. _com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch: - -MultiGetElasticsearch ---------------------- -Retrieves a content indexed in elasticsearch using elasticsearch multiget queries. -Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : - - - index (String) : name of the elasticsearch index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. - - type (String) : name of the elasticsearch type on which the multiget query will be performed. This field is not mandatory. - - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. - - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. - - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. - -Each outcoming record holds data of one elasticsearch retrieved document. This data is stored in these fields : - - - index (same field name as the incoming record) : name of the elasticsearch index. - - type (same field name as the incoming record) : name of the elasticsearch type. - - id (same field name as the incoming record) : retrieved document id. - - a list of String fields containing : +.. _com.hurence.logisland.processor.enrichment.IpToGeo: - * field name : the retrieved field name - * field value : the retrieved field value +IpToGeo +------- +Looks up geolocation information for an IP address. The attribute that contains the IP address to lookup must be provided in the **ip.address.field** property. By default, the geo information are put in a hierarchical structure. That is, if the name of the IP field is 'X', then the the geo attributes added by enrichment are added under a father field named X_geo. "_geo" is the default hierarchical suffix that may be changed with the **geo.hierarchical.suffix** property. If one wants to put the geo fields at the same level as the IP field, then the **geo.hierarchical** property should be set to false and then the geo attributes are created at the same level as him with the naming pattern X_geo_. "_geo_" is the default flat suffix but this may be changed with the **geo.flat.suffix** property. The IpToGeo processor requires a reference to an Ip to Geo service. This must be defined in the **iptogeo.service** property. The added geo fields are dependant on the underlying Ip to Geo service. The **geo.fields** property must contain the list of geo fields that should be created if data is available for the IP to resolve. This property defaults to "*" which means to add every available fields. If one only wants a subset of the fields, one must define a comma separated list of fields as a value for the **geo.fields** property. The list of the available geo fields is in the description of the **geo.fields** property. Module ______ -com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 +com.hurence.logisland:logisland-processor-enrichment:1.1.2 Class _____ -com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch +com.hurence.logisland.processor.enrichment.IpToGeo Tags ____ -elasticsearch +geo, enrich, ip Properties __________ @@ -723,16 +5315,18 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" - "**es.index.field**", "the name of the incoming records field containing es index name to use in multiget query. ", "", "null", "false", "false" - "**es.type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" - "**es.ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" - "**es.includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" - "**es.excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" + "**ip.address.field**", "The name of the field containing the ip address to use.", "", "null", "false", "false" + "**iptogeo.service**", "The reference to the IP to Geo service to use.", "", "null", "false", "false" + "geo.fields", "Comma separated list of geo information fields to add to the record. Defaults to '*', which means to include all available fields. If a list of fields is specified and the data is not available, the geo field is not created. The geo fields are dependant on the underlying defined Ip to Geo service. The currently only supported type of Ip to Geo service is the Maxmind Ip to Geo service. This means that the currently supported list of geo fields is the following:**continent**: the identified continent for this IP address. **continent_code**: the identified continent code for this IP address. **city**: the identified city for this IP address. **latitude**: the identified latitude for this IP address. **longitude**: the identified longitude for this IP address. **location**: the identified location for this IP address, defined as Geo-point expressed as a string with the format: 'latitude,longitude'. **accuracy_radius**: the approximate accuracy radius, in kilometers, around the latitude and longitude for the location. **time_zone**: the identified time zone for this IP address. **subdivision_N**: the identified subdivision for this IP address. N is a one-up number at the end of the attribute name, starting with 0. **subdivision_isocode_N**: the iso code matching the identified subdivision_N. **country**: the identified country for this IP address. **country_isocode**: the iso code for the identified country for this IP address. **postalcode**: the identified postal code for this IP address. **lookup_micros**: the number of microseconds that the geo lookup took. The Ip to Geo service must have the lookup_micros property enabled in order to have this field available.", "", "*", "false", "false" + "geo.hierarchical", "Should the additional geo information fields be added under a hierarchical father field or not.", "", "true", "false", "false" + "geo.hierarchical.suffix", "Suffix to use for the field holding geo information. If geo.hierarchical is true, then use this suffix appended to the IP field name to define the father field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo", "false", "false" + "geo.flat.suffix", "Suffix to use for geo information fields when they are flat. If geo.hierarchical is false, then use this suffix appended to the IP field name but before the geo field name. This may be used for instance to distinguish between geo fields with various locales using many Ip to Geo service instances.", "", "_geo_", "false", "false" + "**cache.service**", "The name of the cache service to use.", "", "null", "false", "false" + "debug", "If true, an additional debug field is added. If the geo info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the geo fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" Extra informations __________________ -.. include:: ./details/MultiGetElasticsearch-Detail.rst +.. include:: ./details/IpToGeo-Detail.rst ---------- .. _com.hurence.logisland.processor.bro.ParseBroEvent: @@ -859,23 +5453,31 @@ __________________ .. include:: ./details/ParseBroEvent-Detail.rst ---------- -.. _com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog: +.. _com.hurence.logisland.processor.netflow.ParseNetflowEvent: -ParseGitlabLog --------------- -The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs. This allows for instance to monitor activities in your Gitlab server. The expected input of this processor are records from the production_json.log log file of Gitlab which contains JSON records. You can for instance use the `kafkacat `_ command to inject those logs into kafka and thus Logisland. +ParseNetflowEvent +----------------- +The `Netflow V5 `_ processor is the Logisland entry point to process Netflow (V5) events. NetFlow is a feature introduced on Cisco routers that provides the ability to collect IP network traffic.We can distinguish 2 components: + + - Flow exporter: aggregates packets into flows and exports flow records (binary format) towards one or more flow collectors + + - Flow collector: responsible for reception, storage and pre-processing of flow data received from a flow exporter + +The collected data are then available for analysis purpose (intrusion detection, traffic analysis...) +Netflow are sent to kafka in order to be processed by logisland. +In the tutorial we will simulate Netflow traffic using `nfgen `_. this traffic will be sent to port 2055. The we rely on nifi to listen of that port for incoming netflow (V5) traffic and send them to a kafka topic. The Netflow processor could thus treat these events and generate corresponding logisland records. The following processors in the stream can then process the Netflow records generated by this processor. Module ______ -com.hurence.logisland:logisland-processor-common-logs:1.1.2 +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 Class _____ -com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog +com.hurence.logisland.processor.netflow.ParseNetflowEvent Tags ____ -logs, gitlab +netflow, security Properties __________ @@ -887,37 +5489,84 @@ In the list below, the names of required properties appear in **bold**. Any othe :escape: \ "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + "output.record.type", "the output type of the record", "", "netflowevent", "false", "false" + "enrich.record", "Enrich data. If enabledthe netflow record is enriched with inferred data", "", "false", "false", "false" Extra informations __________________ -.. include:: ./details/ParseGitlabLog-Detail.rst +.. include:: ./details/ParseNetflowEvent-Detail.rst ---------- -.. _com.hurence.logisland.processor.netflow.ParseNetflowEvent: +.. _com.hurence.logisland.processor.networkpacket.ParseNetworkPacket: -ParseNetflowEvent ------------------ -The `Netflow V5 `_ processor is the Logisland entry point to process Netflow (V5) events. NetFlow is a feature introduced on Cisco routers that provides the ability to collect IP network traffic.We can distinguish 2 components: +ParseNetworkPacket +------------------ +The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). In batch mode, the processor decodes the bytes of the incoming pcap record, where a Global header followed by a sequence of [packet header, packet data] pairs are stored. Then, each incoming pcap event is parsed into n packet records. The fields of packet headers are then extracted and made available in dedicated record fields. See the `Capturing Network packets tutorial `_ for an example of usage of this processor. - - Flow exporter: aggregates packets into flows and exports flow records (binary format) towards one or more flow collectors +Module +______ +com.hurence.logisland:logisland-processor-cyber-security:1.1.2 - - Flow collector: responsible for reception, storage and pre-processing of flow data received from a flow exporter +Class +_____ +com.hurence.logisland.processor.networkpacket.ParseNetworkPacket -The collected data are then available for analysis purpose (intrusion detection, traffic analysis...) -Netflow are sent to kafka in order to be processed by logisland. -In the tutorial we will simulate Netflow traffic using `nfgen `_. this traffic will be sent to port 2055. The we rely on nifi to listen of that port for incoming netflow (V5) traffic and send them to a kafka topic. The Netflow processor could thus treat these events and generate corresponding logisland records. The following processors in the stream can then process the Netflow records generated by this processor. +Tags +____ +PCap, security, IDS, NIDS + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug.", "", "false", "false", "false" + "**flow.mode**", "Flow Mode. Indicate whether packets are provided in batch mode (via pcap files) or in stream mode (without headers). Allowed values are batch and stream.", "batch, stream", "null", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.processor.SampleRecords: + +SampleRecords +------------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + don't forget to set numeric fields property to handle correctly numeric ranges queries Module ______ -com.hurence.logisland:logisland-processor-cyber-security:1.1.2 +com.hurence.logisland:logisland-processor-sampling:1.1.2 Class _____ -com.hurence.logisland.processor.netflow.ParseNetflowEvent +com.hurence.logisland.processor.SampleRecords Tags ____ -netflow, security +analytic, sampler, record, iot, timeseries Properties __________ @@ -928,32 +5577,129 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" - "output.record.type", "the output type of the record", "", "netflowevent", "false", "false" - "enrich.record", "Enrich data. If enabledthe netflow record is enriched with inferred data", "", "false", "false", "false" + "record.value.field", "the name of the numeric field to sample", "", "record_value", "false", "false" + "record.time.field", "the name of the time field to sample", "", "record_time", "false", "false" + "**sampling.algorithm**", "the implementation of the algorithm", "none, lttb, average, first_item, min_max, mode_median", "null", "false", "false" + "**sampling.parameter**", "the parmater of the algorithm", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/SampleRecords-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch: + +BulkAddElasticsearch +-------------------- +Indexes the content of a Record in Elasticsearch using elasticsearch's bulk processor + +Module +______ +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 + +Class +_____ +com.hurence.logisland.processor.elasticsearch.BulkAddElasticsearch + +Tags +____ +elasticsearch + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**default.index**", "The name of the index to insert into", "", "null", "false", "**true**" + "**default.type**", "The type of this document (used by Elasticsearch for indexing and searching)", "", "null", "false", "**true**" + "**timebased.index**", "do we add a date suffix", "no (no date added to default index), today (today's date added to default index), yesterday (yesterday's date added to default index)", "no", "false", "false" + "es.index.field", "the name of the event field containing es index name => will override index value if set", "", "null", "false", "false" + "es.type.field", "the name of the event field containing es doc type => will override type value if set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/BulkAddElasticsearch-Detail.rst +---------- + +.. _com.hurence.logisland.processor.hbase.FetchHBaseRow: + +FetchHBaseRow +------------- +Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files. + +Module +______ +com.hurence.logisland:logisland-processor-hbase:1.1.2 + +Class +_____ +com.hurence.logisland.processor.hbase.FetchHBaseRow + +Tags +____ +hbase, scan, fetch, get, enrich + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**hbase.client.service**", "The instance of the Controller Service to use for accessing HBase.", "", "null", "false", "false" + "**table.name.field**", "The field containing the name of the HBase Table to fetch from.", "", "null", "false", "**true**" + "**row.identifier.field**", "The field containing the identifier of the row to fetch.", "", "null", "false", "**true**" + "columns.field", "The field containing an optional comma-separated list of \"\":\"\" pairs to fetch. To return all columns for a given family, leave off the qualifier such as \"\",\"\".", "", "null", "false", "**true**" + "record.serializer", "the serializer needed to i/o the record in the HBase row", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), none (send events as bytes)", "com.hurence.logisland.serializer.KryoSerializer", "false", "false" + "record.schema", "the avro schema definition for the Avro serialization", "", "null", "false", "false" + "table.name.default", "The table to use if table name field is not set", "", "null", "false", "false" + +Extra informations +__________________ +.. include:: ./details/FetchHBaseRow-Detail.rst +---------- + +.. _com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch: + +MultiGetElasticsearch +--------------------- +Retrieves a content indexed in elasticsearch using elasticsearch multiget queries. +Each incoming record contains information regarding the elasticsearch multiget query that will be performed. This information is stored in record fields whose names are configured in the plugin properties (see below) : + + - index (String) : name of the elasticsearch index on which the multiget query will be performed. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - type (String) : name of the elasticsearch type on which the multiget query will be performed. This field is not mandatory. + - ids (String) : comma separated list of document ids to fetch. This field is mandatory and should not be empty, otherwise an error output record is sent for this specific incoming record. + - includes (String) : comma separated list of patterns to filter in (include) fields to retrieve. Supports wildcards. This field is not mandatory. + - excludes (String) : comma separated list of patterns to filter out (exclude) fields to retrieve. Supports wildcards. This field is not mandatory. -Extra informations -__________________ -.. include:: ./details/ParseNetflowEvent-Detail.rst ----------- +Each outcoming record holds data of one elasticsearch retrieved document. This data is stored in these fields : -.. _com.hurence.logisland.processor.networkpacket.ParseNetworkPacket: + - index (same field name as the incoming record) : name of the elasticsearch index. + - type (same field name as the incoming record) : name of the elasticsearch type. + - id (same field name as the incoming record) : retrieved document id. + - a list of String fields containing : -ParseNetworkPacket ------------------- -The ParseNetworkPacket processor is the LogIsland entry point to parse network packets captured either off-the-wire (stream mode) or in pcap format (batch mode). In batch mode, the processor decodes the bytes of the incoming pcap record, where a Global header followed by a sequence of [packet header, packet data] pairs are stored. Then, each incoming pcap event is parsed into n packet records. The fields of packet headers are then extracted and made available in dedicated record fields. See the `Capturing Network packets tutorial `_ for an example of usage of this processor. + * field name : the retrieved field name + * field value : the retrieved field value Module ______ -com.hurence.logisland:logisland-processor-cyber-security:1.1.2 +com.hurence.logisland:logisland-processor-elasticsearch:1.1.2 Class _____ -com.hurence.logisland.processor.networkpacket.ParseNetworkPacket +com.hurence.logisland.processor.elasticsearch.MultiGetElasticsearch Tags ____ -PCap, security, IDS, NIDS +elasticsearch Properties __________ @@ -964,13 +5710,16 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "debug", "Enable debug.", "", "false", "false", "false" - "**flow.mode**", "Flow Mode. Indicate whether packets are provided in batch mode (via pcap files) or in stream mode (without headers). Allowed values are batch and stream.", "batch, stream", "null", "false", "false" + "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" + "**es.index.field**", "the name of the incoming records field containing es index name to use in multiget query. ", "", "null", "false", "false" + "**es.type.field**", "the name of the incoming records field containing es type name to use in multiget query", "", "null", "false", "false" + "**es.ids.field**", "the name of the incoming records field containing es document Ids to use in multiget query", "", "null", "false", "false" + "**es.includes.field**", "the name of the incoming records field containing es includes to use in multiget query", "", "null", "false", "false" + "**es.excludes.field**", "the name of the incoming records field containing es excludes to use in multiget query", "", "null", "false", "false" Extra informations __________________ -No additional information is provided - +.. include:: ./details/MultiGetElasticsearch-Detail.rst ---------- .. _com.hurence.logisland.processor.hbase.PutHBaseCell: @@ -1061,40 +5810,70 @@ __________________ .. include:: ./details/RunPython-Detail.rst ---------- -.. _com.hurence.logisland.processor.SampleRecords: +.. _com.hurence.logisland.processor.xml.EvaluateXPath: -SampleRecords +EvaluateXPath ------------- -Query matching based on `Luwak `_ +Evaluates one or more XPaths against the content of a record. The results of those XPaths are assigned to new attributes in the records, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed. The value of the property must be a valid XPath expression. If the expression matches nothing, no attributes is added. -you can use this processor to handle custom events defined by lucene queries -a new record is added to output each time a registered query is matched +Module +______ +com.hurence.logisland:logisland-processor-xml:1.1.2 -A query is expressed as a lucene query against a field like for example: +Class +_____ +com.hurence.logisland.processor.xml.EvaluateXPath -.. code:: +Tags +____ +XML, evaluate, XPath - message:'bad exception' - error_count:[10 TO *] - bytes_out:5000 - user_name:tom* +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. -Please read the `Lucene syntax guide `_ for supported operations +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ -.. warning:: - don't forget to set numeric fields property to handle correctly numeric ranges queries + "**source**", "Indicates the attribute containing the xml data to evaluate xpath against.", "", "null", "false", "false" + "**validate_dtd**", "Specifies whether or not the XML content should be validated against the DTD.", "true, false", "true", "false", "false" + "conflict.resolution.policy", "What to do when a field with the same name already exists ?", "overwrite_existing (if field already exist), keep_only_old_field (keep only old field)", "keep_only_old_field", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "An attribute", "An XPath expression", " the attribute is set to the result of the XPath Expression.", "", "null", false + +Extra informations +__________________ +.. include:: ./details/EvaluateXPath-Detail.rst +---------- + +.. _com.hurence.logisland.processor.excel.ExcelExtract: + +ExcelExtract +------------ +Consumes a Microsoft Excel document and converts each worksheet's line to a structured record. The processor is assuming to receive raw excel file as input record. Module ______ -com.hurence.logisland:logisland-processor-sampling:1.1.2 +com.hurence.logisland:logisland-processor-excel:1.1.2 Class _____ -com.hurence.logisland.processor.SampleRecords +com.hurence.logisland.processor.excel.ExcelExtract Tags ____ -analytic, sampler, record, iot, timeseries +excel, processor, poi Properties __________ @@ -1105,34 +5884,87 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "record.value.field", "the name of the numeric field to sample", "", "record_value", "false", "false" - "record.time.field", "the name of the time field to sample", "", "record_time", "false", "false" - "**sampling.algorithm**", "the implementation of the algorithm", "none, lttb, average, first_item, min_max, mode_median", "null", "false", "false" - "**sampling.parameter**", "the parmater of the algorithm", "", "null", "false", "false" + "sheets", "Comma separated list of Excel document sheet names that should be extracted from the excel document. If this property is left blank then all of the sheets will be extracted from the Excel document. You can specify regular expressions. Any sheets not specified in this value will be ignored.", "", "", "false", "false" + "skip.columns", "Comma delimited list of column numbers to skip. Use the columns number and not the letter designation. Use this to skip over columns anywhere in your worksheet that you don't want extracted as part of the record.", "", "", "false", "false" + "field.names", "The comma separated list representing the names of columns of extracted cells. Order matters! You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" + "skip.rows", "The row number of the first row to start processing.Use this to skip over rows of data at the top of your worksheet that are not part of the dataset.Empty rows of data anywhere in the spreadsheet will always be skipped, no matter what this value is set to.", "", "0", "false", "false" + "record.type", "Default type of record", "", "excel_record", "false", "false" + "field.row.header", "If set, field names mapping will be extracted from the specified row number. You should use either field.names either field.row.header but not both together.", "", "null", "false", "false" Extra informations __________________ -.. include:: ./details/SampleRecords-Detail.rst +.. include:: ./details/ExcelExtract-Detail.rst ---------- -.. _com.hurence.logisland.processor.webAnalytics.URLDecoder: +.. _com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog: -URLDecoder +ParseGitlabLog +-------------- +The Gitlab logs processor is the Logisland entry point to get and process `Gitlab `_ logs. This allows for instance to monitor activities in your Gitlab server. The expected input of this processor are records from the production_json.log log file of Gitlab which contains JSON records. You can for instance use the `kafkacat `_ command to inject those logs into kafka and thus Logisland. + +Module +______ +com.hurence.logisland:logisland-processor-common-logs:1.1.2 + +Class +_____ +com.hurence.logisland.processor.commonlogs.gitlab.ParseGitlabLog + +Tags +____ +logs, gitlab + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "debug", "Enable debug. If enabled, the original JSON string is embedded in the record_value field of the record.", "", "false", "false", "false" + +Extra informations +__________________ +.. include:: ./details/ParseGitlabLog-Detail.rst ---------- -Decode one or more field containing an URL with possibly special chars encoded -... + +.. _com.hurence.logisland.processor.MatchIP: + +MatchIP +------- +IP address Query matching (using `Luwak )`_ + +You can use this processor to handle custom events matching IP address (CIDR) +The record sent from a matching an IP address record is tagged appropriately. + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries Module ______ -com.hurence.logisland:logisland-processor-web-analytics:1.1.2 +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 Class _____ -com.hurence.logisland.processor.webAnalytics.URLDecoder +com.hurence.logisland.processor.MatchIP Tags ____ -record, fields, Decode +analytic, percolator, record, record, query, lucene Properties __________ @@ -1143,8 +5975,11 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "**decode.fields**", "List of fields (URL) to decode", "", "null", "false", "false" - "charset", "Charset to use to decode the URL", "", "UTF-8", "false", "false" + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" Dynamic Properties __________________ @@ -1155,38 +5990,48 @@ Dynamic Properties allow the user to specify both the name and value of a proper :widths: 20,20,40,40,20,10 :escape: \ - "fields to decode", "a default value", "Decode one or more fields from the record ", "", "null", false + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** Extra informations __________________ -.. include:: ./details/URLDecoder-Detail.rst +.. include:: ./details/MatchIP-Detail.rst ---------- -.. _com.hurence.logisland.processor.webAnalytics.setSourceOfTraffic: +.. _com.hurence.logisland.processor.MatchQuery: -setSourceOfTraffic ------------------- -Compute the source of traffic of a web session. Users arrive at a website or application through a variety of sources, -including advertising/paying campaigns, search engines, social networks, referring sites or direct access. -When analysing user experience on a webshop, it is crucial to collect, process, and report the campaign and traffic-source data. -To compute the source of traffic of a web session, the user has to provide the utm_* related properties if available -i-e: **utm_source.field**, **utm_medium.field**, **utm_campaign.field**, **utm_content.field**, **utm_term.field**) -, the referer (**referer.field** property) and the first visited page of the session (**first.visited.page.field** property). -By default the source of traffic information are placed in a flat structure (specified by the **source_of_traffic.suffix** property -with a default value of source_of_traffic). To work properly the setSourceOfTraffic processor needs to have access to an -Elasticsearch index containing a list of the most popular search engines and social networks. The ES index (specified by the **es.index** property) should be structured such that the _id of an ES document MUST be the name of the domain. If the domain is a search engine, the related ES doc MUST have a boolean field (default being search_engine) specified by the property **es.search_engine.field** with a value set to true. If the domain is a social network , the related ES doc MUST have a boolean field (default being social_network) specified by the property **es.social_network.field** with a value set to true. +MatchQuery +---------- +Query matching based on `Luwak `_ + +you can use this processor to handle custom events defined by lucene queries +a new record is added to output each time a registered query is matched + +A query is expressed as a lucene query against a field like for example: + +.. code:: + + message:'bad exception' + error_count:[10 TO *] + bytes_out:5000 + user_name:tom* + +Please read the `Lucene syntax guide `_ for supported operations + +.. warning:: + + don't forget to set numeric fields property to handle correctly numeric ranges queries Module ______ -com.hurence.logisland:logisland-processor-web-analytics:1.1.2 +com.hurence.logisland:logisland-processor-querymatcher:1.1.2 Class _____ -com.hurence.logisland.processor.webAnalytics.setSourceOfTraffic +com.hurence.logisland.processor.MatchQuery Tags ____ -session, traffic, source, web, analytics +analytic, percolator, record, record, query, lucene Properties __________ @@ -1197,24 +6042,23 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "referer.field", "Name of the field containing the referer value in the session", "", "referer", "false", "false" - "first.visited.page.field", "Name of the field containing the first visited page in the session", "", "firstVisitedPage", "false", "false" - "utm_source.field", "Name of the field containing the utm_source value in the session", "", "utm_source", "false", "false" - "utm_medium.field", "Name of the field containing the utm_medium value in the session", "", "utm_medium", "false", "false" - "utm_campaign.field", "Name of the field containing the utm_campaign value in the session", "", "utm_campaign", "false", "false" - "utm_content.field", "Name of the field containing the utm_content value in the session", "", "utm_content", "false", "false" - "utm_term.field", "Name of the field containing the utm_term value in the session", "", "utm_term", "false", "false" - "source_of_traffic.suffix", "Suffix for the source of the traffic related fields", "", "source_of_traffic", "false", "false" - "source_of_traffic.hierarchical", "Should the additional source of trafic information fields be added under a hierarchical father field or not.", "", "false", "false", "false" - "**elasticsearch.client.service**", "The instance of the Controller Service to use for accessing Elasticsearch.", "", "null", "false", "false" - "**cache.service**", "Name of the cache service to use.", "", "null", "false", "false" - "cache.validity.timeout", "Timeout validity (in seconds) of an entry in the cache.", "", "0", "false", "false" - "debug", "If true, an additional debug field is added. If the source info fields prefix is X, a debug field named X_from_cache contains a boolean value to indicate the origin of the source fields. The default value for this property is false (debug is disabled).", "", "false", "false", "false" - "**es.index**", "Name of the ES index containing the list of search engines and social network. ", "", "null", "false", "false" - "es.type", "Name of the ES type to use.", "", "default", "false", "false" - "es.search_engine.field", "Name of the ES field used to specify that the domain is a search engine.", "", "search_engine", "false", "false" - "es.social_network.field", "Name of the ES field used to specify that the domain is a social network.", "", "social_network", "false", "false" + "numeric.fields", "a comma separated string of numeric field to be matched", "", "null", "false", "false" + "output.record.type", "the output type of the record", "", "alert_match", "false", "false" + "record.type.updatePolicy", "Record type update policy", "", "overwrite", "false", "false" + "policy.onmatch", "the policy applied to match events: 'first' (default value) match events are tagged with the name and value of the first query that matched;'all' match events are tagged with all names and values of the queries that matched.", "", "first", "false", "false" + "policy.onmiss", "the policy applied to miss events: 'discard' (default value) drop events that did not match any query;'forward' include also events that did not match any query.", "", "discard", "false", "false" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "query", "some Lucene query", "generate a new record when this query is matched", "", "null", **true** Extra informations __________________ -.. include:: ./details/setSourceOfTraffic-Detail.rst \ No newline at end of file +.. include:: ./details/MatchQuery-Detail.rst \ No newline at end of file diff --git a/logisland-documentation/user/components/services.rst b/logisland-documentation/user/components/services.rst index 3736e66fe..c20a7e454 100644 --- a/logisland-documentation/user/components/services.rst +++ b/logisland-documentation/user/components/services.rst @@ -7,6 +7,44 @@ Services Find below the list. +---------- + +.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: + +MaxmindIpToGeoService +--------------------- +Implementation of the IP 2 GEO Service using maxmind lite db file + +Module +______ +com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + +Class +_____ +com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + +Tags +____ +ip, service, geo, maxmind + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" + "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + +Extra informations +__________________ +No additional information is provided + ---------- .. _com.hurence.logisland.service.cache.CSVKeyValueCacheService: @@ -325,23 +363,120 @@ No additional information is provided ---------- -.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: +.. _com.hurence.logisland.service.mongodb.MongoDBControllerService: -MaxmindIpToGeoService ---------------------- -Implementation of the IP 2 GEO Service using maxmind lite db file +MongoDBControllerService +------------------------ +Provides a controller service that wraps most of the functionality of the MongoDB driver. Module ______ -com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 +com.hurence.logisland:logisland-service-mongodb-client:1.1.2 Class _____ -com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService +com.hurence.logisland.service.mongodb.MongoDBControllerService Tags ____ -ip, service, geo, maxmind +mongo, mongodb, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**mongo.uri**", "MongoURI, typically of the form: mongodb://host1[:port1][,host2[:port2],...]", "", "null", "false", "**true**" + "**mongo.db.name**", "The name of the database to use", "", "null", "false", "**true**" + "**mongo.collection.name**", "The name of the collection to use", "", "null", "false", "**true**" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "mongo.bulk.mode", "Bulk mode (insert or upsert)", "insert (Insert records whose key must be unique), upsert (Insert records if not already existing or update the record if already existing)", "insert", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "**mongo.write.concern**", "The write concern to use", "ACKNOWLEDGED, UNACKNOWLEDGED, FSYNCED, JOURNALED, REPLICA_ACKNOWLEDGED, MAJORITY", "ACKNOWLEDGED", "false", "false" + "mongo.bulk.upsert.condition", "A custom condition for the bulk upsert (Filter for the bulkwrite). If not specified the standard condition is to match same id ('_id': data._id)", "", "${'{ \"_id\" :\"' + record_id + '\"}'}", "false", "**true**" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.redis.service.RedisKeyValueCacheService: + +RedisKeyValueCacheService +------------------------- +A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-redis:1.1.2 + +Class +_____ +com.hurence.logisland.redis.service.RedisKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, redis + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**redis.mode**", "The type of Redis being communicated with - standalone, sentinel, or clustered.", "standalone (A single standalone Redis instance.), sentinel (Redis Sentinel which provides high-availability. Described further at https://redis.io/topics/sentinel), cluster (Clustered Redis which provides sharding and replication. Described further at https://redis.io/topics/cluster-spec)", "standalone", "false", "false" + "**connection.string**", "The connection string for Redis. In a standalone instance this value will be of the form hostname:port. In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3. In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.", "", "null", "false", "false" + "**database.index**", "The database index to be used by connections created from this connection pool. See the databases property in redis.conf, by default databases 0-15 will be available.", "", "0", "false", "false" + "**communication.timeout**", "The timeout to use when attempting to communicate with Redis.", "", "10 seconds", "false", "false" + "**cluster.max.redirects**", "The maximum number of redirects that can be performed when clustered.", "", "5", "false", "false" + "sentinel.master", "The name of the sentinel master, require when Mode is set to Sentinel", "", "null", "false", "false" + "password", "The password used to authenticate to the Redis server. See the requirepass property in redis.conf.", "", "null", "**true**", "false" + "**pool.max.total**", "The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout). A negative value indicates that there is no limit.", "", "8", "false", "false" + "**pool.max.idle**", "The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.", "", "8", "false", "false" + "**pool.min.idle**", "The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is greater than the configured value for Max Idle, then the value of Max Idle will be used instead.", "", "0", "false", "false" + "**pool.block.when.exhausted**", "Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool has no available connections. Setting this to false means an error will occur immediately when a client requests a connection and none are available.", "true, false", "true", "false", "false" + "**pool.max.wait.time**", "The amount of time to wait for an available connection when Block When Exhausted is set to true.", "", "10 seconds", "false", "false" + "**pool.min.evictable.idle.time**", "The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.", "", "60 seconds", "false", "false" + "**pool.time.between.eviction.runs**", "The amount of time between attempting to evict idle connections from the pool.", "", "30 seconds", "false", "false" + "**pool.num.tests.per.eviction.run**", "The number of connections to tests per eviction attempt. A negative value indicates to test all connections.", "", "-1", "false", "false" + "**pool.test.on.create**", "Whether or not connections should be tested upon creation.", "true, false", "false", "false", "false" + "**pool.test.on.borrow**", "Whether or not connections should be tested upon borrowing from the pool.", "true, false", "false", "false", "false" + "**pool.test.on.return**", "Whether or not connections should be tested upon returning to the pool.", "true, false", "false", "false", "false" + "**pool.test.while.idle**", "Whether or not connections should be tested while idle.", "true, false", "true", "false", "false" + "**record.recordSerializer**", "the way to serialize/deserialize the record", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), com.hurence.logisland.serializer.BytesArraySerializer (serialize events as byte arrays), com.hurence.logisland.serializer.KuraProtobufSerializer (serialize events as Kura protocol buffer), none (send events as bytes)", "com.hurence.logisland.serializer.JsonSerializer", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_5_5_5_ClientService: + +Solr_5_5_5_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_5_5_5-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_5_5_5_ClientService + +Tags +____ +solr, client Properties __________ @@ -352,10 +487,3325 @@ In the list below, the names of required properties appear in **bold**. Any othe :widths: 20,60,30,20,10,10 :escape: \ - "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" - "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" - "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" - "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService: + +Solr_6_4_2_ChronixClientService +------------------------------- +Implementation of ChronixClientService for Solr 6 4 2 + +Module +______ +com.hurence.logisland:logisland-service-solr_chronix_6.4.2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "group.by", "The field the chunk should be grouped by", "", "", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_6_2_ClientService: + +Solr_6_6_2_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_6_6_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_6_2_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: + +MaxmindIpToGeoService +--------------------- +Implementation of the IP 2 GEO Service using maxmind lite db file + +Module +______ +com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + +Class +_____ +com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + +Tags +____ +ip, service, geo, maxmind + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" + "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.CSVKeyValueCacheService: + +CSVKeyValueCacheService +----------------------- +A cache that store csv lines as records loaded from a file + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.CSVKeyValueCacheService + +Tags +____ +csv, service, cache + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**csv.format**", "a configuration for loading csv", "default (Standard comma separated format, as for RFC4180 but allowing empty lines. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(true)), excel (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), excel_fr (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(';') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), mysql (Default MySQL format used by the SELECT INTO OUTFILE and LOAD DATA INFILE operations.This is a tab-delimited format with a LF character as the line separator. Values are not quoted and special characters are escaped with '\'. The default NULL string is \"\\N\". Settings are: withDelimiter('\t') withQuote(null) withRecordSeparator('\n') withIgnoreEmptyLines(false) withEscape('\\') withNullString(\"\\N\") withQuoteMode(QuoteMode.ALL_NON_NULL)), rfc4180 (Comma separated format as defined by RFC 4180. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false)), tdf (Tab-delimited format. Settings are: withDelimiter('\t') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreSurroundingSpaces(true))", "default", "false", "false" + "csv.header", "comma separated header values", "", "null", "false", "false" + "csv.file.uri", "Path to the CSV File.", "", "null", "false", "false" + "csv.file.path", "Local Path to the CSV File.", "", "null", "false", "false" + "**row.key**", "th primary key of this db", "", "null", "false", "false" + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + "first.line.header", "csv headers grabbed from first line", "", "null", "false", "false" + "encoding.charset", "charset", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cassandra.CassandraControllerService: + +CassandraControllerService +-------------------------- +Provides a controller service that for the moment only allows to bulkput records into cassandra. + +Module +______ +com.hurence.logisland:logisland-service-cassandra-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.cassandra.CassandraControllerService + +Tags +____ +cassandra, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**cassandra.hosts**", "Cassandra cluster hosts as a comma separated value list", "", "null", "false", "false" + "**cassandra.port**", "Cassandra cluster port", "", "null", "false", "false" + "cassandra.with-ssl", "If this property is true, use SSL. Default is no SSL (false).", "", "false", "false", "false" + "cassandra.with-credentials", "If this property is true, use credentials. Default is no credentials (false).", "", "false", "false", "false" + "cassandra.credentials.user", "The user name to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "cassandra.credentials.password", "The user password to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService: + +Elasticsearch_2_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 2.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_2_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService: + +Elasticsearch_5_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 5.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_5_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService: + +HBase_1_1_2_ClientService +------------------------- +Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files are provided, they will be loaded first, and the values of the additional properties will override the values from the configuration files. In addition, any user defined properties on the processor will also be passed to the HBase configuration. + +Module +______ +com.hurence.logisland:logisland-service-hbase_1_1_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService + +Tags +____ +hbase, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "hadoop.configuration.files", "Comma-separated list of Hadoop Configuration files, such as hbase-site.xml and core-site.xml for kerberos, including full paths to the files.", "", "null", "false", "false" + "zookeeper.quorum", "Comma-separated list of ZooKeeper hosts for HBase. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.client.port", "The port on which ZooKeeper is accepting client connections. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.znode.parent", "The ZooKeeper ZNode Parent value for HBase (example: /hbase). Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "hbase.client.retries", "The number of times the HBase client will retry connecting. Required if Hadoop Configuration Files are not provided.", "", "3", "false", "false" + "phoenix.client.jar.location", "The full path to the Phoenix client JAR. Required if Phoenix is installed on top of HBase.", "", "null", "false", "**true**" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "The name of an HBase configuration property.", "The value of the given HBase configuration property.", "These properties will be set on the HBase configuration after loading any provided configuration files.", "", "null", false + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.influxdb.InfluxDBControllerService: + +InfluxDBControllerService +------------------------- +Provides a controller service that for the moment only allows to bulkput records into influxdb. + +Module +______ +com.hurence.logisland:logisland-service-influxdb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.influxdb.InfluxDBControllerService + +Tags +____ +influxdb, service, time series + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**influxdb.url**", "InfluxDB connection url", "", "null", "false", "false" + "influxdb.user", "The user name to use for authentication.", "", "null", "false", "false" + "**influxdb.database**", "InfluxDB database name", "", "null", "false", "false" + "influxdb.password", "The user password to use for authentication.", "", "null", "false", "false" + "influxdb.tags", "List of tags for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 tags: core1 and core2 and the mem measurement has 1 tag: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_fields_but_explicit_tags.", "", "null", "false", "false" + "influxdb.fields", "List of fields for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 fields: core1 and core2 and the mem measurement has 1 field: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_tags_but_explicit_fields.", "", "null", "false", "false" + "**influxdb.configuration_mode**", "Determines the way fields and tags are chosen from the logisland record. Possible values and meaning: explicit_tags_and_fields: only logisland record fields listed in influxdb.tags and influxdb.fields will be inserted into InfluxDB with the explicit type. all_as_fields: all available logisland record fields will be inserted into InfluxDB as fields. all_as_tags_but_explicit_fields: all available logisland record fields will be inserted into InfluxDB as tags except those listed in influxdb.fields that will be inserted into InfluxDB as fields. all_as_fields_but_explicit_tags: all available logisland record fields will be inserted into InfluxDB as fields except those listed in influxdb.tags that will be inserted into InfluxDB as tags", "explicit_tags_and_fields, all_as_fields, all_as_fields_but_explicit_tags, all_as_tags_but_explicit_fields", "null", "false", "false" + "influxdb.consistency_level", "Determines the consistency level used to write points into InfluxDB. Possible values are: ANY, ONE, QUORUMand ALL. Default value is ANY. This is only useful when using a clustered InfluxDB infrastructure.", "ANY, ONE, QUORUM, ALL", "ANY", "false", "false" + "influxdb.retention_policy", "Determines the name of the retention policy to use. Defaults to autogen. The defined retention policy must already be defined in the InfluxDB server.", "", "autogen", "false", "false" + "influxdb.timefield", "Time field for each supported measurement. Syntax: :,...[;:,]... With format being any constant defined in java.util.concurrent.TimeUnit enum: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS or SECONDS. Example: cpu:time,NANOSECONDS;mem:timeStamp,MILLISECONDS In this example: for the cpu measurement, the time for the influx DB point matching the record will be the value of the time field that represents nanoseconds. For the mem measurement, the time for the influx DB point matching the record will be the value of the timeStamp field that represents milliseconds. Any measurement for which the time field is not defined will use the content of the record_time technical field as the time (which is a number of milliseconds since epoch).", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.LRUKeyValueCacheService: + +LRUKeyValueCacheService +----------------------- +A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.LRUKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, LRU + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.mongodb.MongoDBControllerService: + +MongoDBControllerService +------------------------ +Provides a controller service that wraps most of the functionality of the MongoDB driver. + +Module +______ +com.hurence.logisland:logisland-service-mongodb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.mongodb.MongoDBControllerService + +Tags +____ +mongo, mongodb, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**mongo.uri**", "MongoURI, typically of the form: mongodb://host1[:port1][,host2[:port2],...]", "", "null", "false", "**true**" + "**mongo.db.name**", "The name of the database to use", "", "null", "false", "**true**" + "**mongo.collection.name**", "The name of the collection to use", "", "null", "false", "**true**" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "mongo.bulk.mode", "Bulk mode (insert or upsert)", "insert (Insert records whose key must be unique), upsert (Insert records if not already existing or update the record if already existing)", "insert", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "**mongo.write.concern**", "The write concern to use", "ACKNOWLEDGED, UNACKNOWLEDGED, FSYNCED, JOURNALED, REPLICA_ACKNOWLEDGED, MAJORITY", "ACKNOWLEDGED", "false", "false" + "mongo.bulk.upsert.condition", "A custom condition for the bulk upsert (Filter for the bulkwrite). If not specified the standard condition is to match same id ('_id': data._id)", "", "${'{ \"_id\" :\"' + record_id + '\"}'}", "false", "**true**" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.redis.service.RedisKeyValueCacheService: + +RedisKeyValueCacheService +------------------------- +A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-redis:1.1.2 + +Class +_____ +com.hurence.logisland.redis.service.RedisKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, redis + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**redis.mode**", "The type of Redis being communicated with - standalone, sentinel, or clustered.", "standalone (A single standalone Redis instance.), sentinel (Redis Sentinel which provides high-availability. Described further at https://redis.io/topics/sentinel), cluster (Clustered Redis which provides sharding and replication. Described further at https://redis.io/topics/cluster-spec)", "standalone", "false", "false" + "**connection.string**", "The connection string for Redis. In a standalone instance this value will be of the form hostname:port. In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3. In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.", "", "null", "false", "false" + "**database.index**", "The database index to be used by connections created from this connection pool. See the databases property in redis.conf, by default databases 0-15 will be available.", "", "0", "false", "false" + "**communication.timeout**", "The timeout to use when attempting to communicate with Redis.", "", "10 seconds", "false", "false" + "**cluster.max.redirects**", "The maximum number of redirects that can be performed when clustered.", "", "5", "false", "false" + "sentinel.master", "The name of the sentinel master, require when Mode is set to Sentinel", "", "null", "false", "false" + "password", "The password used to authenticate to the Redis server. See the requirepass property in redis.conf.", "", "null", "**true**", "false" + "**pool.max.total**", "The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout). A negative value indicates that there is no limit.", "", "8", "false", "false" + "**pool.max.idle**", "The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.", "", "8", "false", "false" + "**pool.min.idle**", "The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is greater than the configured value for Max Idle, then the value of Max Idle will be used instead.", "", "0", "false", "false" + "**pool.block.when.exhausted**", "Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool has no available connections. Setting this to false means an error will occur immediately when a client requests a connection and none are available.", "true, false", "true", "false", "false" + "**pool.max.wait.time**", "The amount of time to wait for an available connection when Block When Exhausted is set to true.", "", "10 seconds", "false", "false" + "**pool.min.evictable.idle.time**", "The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.", "", "60 seconds", "false", "false" + "**pool.time.between.eviction.runs**", "The amount of time between attempting to evict idle connections from the pool.", "", "30 seconds", "false", "false" + "**pool.num.tests.per.eviction.run**", "The number of connections to tests per eviction attempt. A negative value indicates to test all connections.", "", "-1", "false", "false" + "**pool.test.on.create**", "Whether or not connections should be tested upon creation.", "true, false", "false", "false", "false" + "**pool.test.on.borrow**", "Whether or not connections should be tested upon borrowing from the pool.", "true, false", "false", "false", "false" + "**pool.test.on.return**", "Whether or not connections should be tested upon returning to the pool.", "true, false", "false", "false", "false" + "**pool.test.while.idle**", "Whether or not connections should be tested while idle.", "true, false", "true", "false", "false" + "**record.recordSerializer**", "the way to serialize/deserialize the record", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), com.hurence.logisland.serializer.BytesArraySerializer (serialize events as byte arrays), com.hurence.logisland.serializer.KuraProtobufSerializer (serialize events as Kura protocol buffer), none (send events as bytes)", "com.hurence.logisland.serializer.JsonSerializer", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_5_5_5_ClientService: + +Solr_5_5_5_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_5_5_5-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_5_5_5_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService: + +Solr_6_4_2_ChronixClientService +------------------------------- +Implementation of ChronixClientService for Solr 6 4 2 + +Module +______ +com.hurence.logisland:logisland-service-solr_chronix_6.4.2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "group.by", "The field the chunk should be grouped by", "", "", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_6_2_ClientService: + +Solr_6_6_2_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_6_6_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_6_2_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: + +MaxmindIpToGeoService +--------------------- +Implementation of the IP 2 GEO Service using maxmind lite db file + +Module +______ +com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + +Class +_____ +com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + +Tags +____ +ip, service, geo, maxmind + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" + "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.CSVKeyValueCacheService: + +CSVKeyValueCacheService +----------------------- +A cache that store csv lines as records loaded from a file + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.CSVKeyValueCacheService + +Tags +____ +csv, service, cache + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**csv.format**", "a configuration for loading csv", "default (Standard comma separated format, as for RFC4180 but allowing empty lines. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(true)), excel (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), excel_fr (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(';') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), mysql (Default MySQL format used by the SELECT INTO OUTFILE and LOAD DATA INFILE operations.This is a tab-delimited format with a LF character as the line separator. Values are not quoted and special characters are escaped with '\'. The default NULL string is \"\\N\". Settings are: withDelimiter('\t') withQuote(null) withRecordSeparator('\n') withIgnoreEmptyLines(false) withEscape('\\') withNullString(\"\\N\") withQuoteMode(QuoteMode.ALL_NON_NULL)), rfc4180 (Comma separated format as defined by RFC 4180. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false)), tdf (Tab-delimited format. Settings are: withDelimiter('\t') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreSurroundingSpaces(true))", "default", "false", "false" + "csv.header", "comma separated header values", "", "null", "false", "false" + "csv.file.uri", "Path to the CSV File.", "", "null", "false", "false" + "csv.file.path", "Local Path to the CSV File.", "", "null", "false", "false" + "**row.key**", "th primary key of this db", "", "null", "false", "false" + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + "first.line.header", "csv headers grabbed from first line", "", "null", "false", "false" + "encoding.charset", "charset", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cassandra.CassandraControllerService: + +CassandraControllerService +-------------------------- +Provides a controller service that for the moment only allows to bulkput records into cassandra. + +Module +______ +com.hurence.logisland:logisland-service-cassandra-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.cassandra.CassandraControllerService + +Tags +____ +cassandra, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**cassandra.hosts**", "Cassandra cluster hosts as a comma separated value list", "", "null", "false", "false" + "**cassandra.port**", "Cassandra cluster port", "", "null", "false", "false" + "cassandra.with-ssl", "If this property is true, use SSL. Default is no SSL (false).", "", "false", "false", "false" + "cassandra.with-credentials", "If this property is true, use credentials. Default is no credentials (false).", "", "false", "false", "false" + "cassandra.credentials.user", "The user name to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "cassandra.credentials.password", "The user password to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService: + +Elasticsearch_2_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 2.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_2_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService: + +Elasticsearch_5_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 5.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_5_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService: + +HBase_1_1_2_ClientService +------------------------- +Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files are provided, they will be loaded first, and the values of the additional properties will override the values from the configuration files. In addition, any user defined properties on the processor will also be passed to the HBase configuration. + +Module +______ +com.hurence.logisland:logisland-service-hbase_1_1_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService + +Tags +____ +hbase, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "hadoop.configuration.files", "Comma-separated list of Hadoop Configuration files, such as hbase-site.xml and core-site.xml for kerberos, including full paths to the files.", "", "null", "false", "false" + "zookeeper.quorum", "Comma-separated list of ZooKeeper hosts for HBase. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.client.port", "The port on which ZooKeeper is accepting client connections. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.znode.parent", "The ZooKeeper ZNode Parent value for HBase (example: /hbase). Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "hbase.client.retries", "The number of times the HBase client will retry connecting. Required if Hadoop Configuration Files are not provided.", "", "3", "false", "false" + "phoenix.client.jar.location", "The full path to the Phoenix client JAR. Required if Phoenix is installed on top of HBase.", "", "null", "false", "**true**" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "The name of an HBase configuration property.", "The value of the given HBase configuration property.", "These properties will be set on the HBase configuration after loading any provided configuration files.", "", "null", false + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.influxdb.InfluxDBControllerService: + +InfluxDBControllerService +------------------------- +Provides a controller service that for the moment only allows to bulkput records into influxdb. + +Module +______ +com.hurence.logisland:logisland-service-influxdb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.influxdb.InfluxDBControllerService + +Tags +____ +influxdb, service, time series + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**influxdb.url**", "InfluxDB connection url", "", "null", "false", "false" + "influxdb.user", "The user name to use for authentication.", "", "null", "false", "false" + "**influxdb.database**", "InfluxDB database name", "", "null", "false", "false" + "influxdb.password", "The user password to use for authentication.", "", "null", "false", "false" + "influxdb.tags", "List of tags for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 tags: core1 and core2 and the mem measurement has 1 tag: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_fields_but_explicit_tags.", "", "null", "false", "false" + "influxdb.fields", "List of fields for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 fields: core1 and core2 and the mem measurement has 1 field: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_tags_but_explicit_fields.", "", "null", "false", "false" + "**influxdb.configuration_mode**", "Determines the way fields and tags are chosen from the logisland record. Possible values and meaning: explicit_tags_and_fields: only logisland record fields listed in influxdb.tags and influxdb.fields will be inserted into InfluxDB with the explicit type. all_as_fields: all available logisland record fields will be inserted into InfluxDB as fields. all_as_tags_but_explicit_fields: all available logisland record fields will be inserted into InfluxDB as tags except those listed in influxdb.fields that will be inserted into InfluxDB as fields. all_as_fields_but_explicit_tags: all available logisland record fields will be inserted into InfluxDB as fields except those listed in influxdb.tags that will be inserted into InfluxDB as tags", "explicit_tags_and_fields, all_as_fields, all_as_fields_but_explicit_tags, all_as_tags_but_explicit_fields", "null", "false", "false" + "influxdb.consistency_level", "Determines the consistency level used to write points into InfluxDB. Possible values are: ANY, ONE, QUORUMand ALL. Default value is ANY. This is only useful when using a clustered InfluxDB infrastructure.", "ANY, ONE, QUORUM, ALL", "ANY", "false", "false" + "influxdb.retention_policy", "Determines the name of the retention policy to use. Defaults to autogen. The defined retention policy must already be defined in the InfluxDB server.", "", "autogen", "false", "false" + "influxdb.timefield", "Time field for each supported measurement. Syntax: :,...[;:,]... With format being any constant defined in java.util.concurrent.TimeUnit enum: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS or SECONDS. Example: cpu:time,NANOSECONDS;mem:timeStamp,MILLISECONDS In this example: for the cpu measurement, the time for the influx DB point matching the record will be the value of the time field that represents nanoseconds. For the mem measurement, the time for the influx DB point matching the record will be the value of the timeStamp field that represents milliseconds. Any measurement for which the time field is not defined will use the content of the record_time technical field as the time (which is a number of milliseconds since epoch).", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.LRUKeyValueCacheService: + +LRUKeyValueCacheService +----------------------- +A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.LRUKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, LRU + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.mongodb.MongoDBControllerService: + +MongoDBControllerService +------------------------ +Provides a controller service that wraps most of the functionality of the MongoDB driver. + +Module +______ +com.hurence.logisland:logisland-service-mongodb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.mongodb.MongoDBControllerService + +Tags +____ +mongo, mongodb, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**mongo.uri**", "MongoURI, typically of the form: mongodb://host1[:port1][,host2[:port2],...]", "", "null", "false", "**true**" + "**mongo.db.name**", "The name of the database to use", "", "null", "false", "**true**" + "**mongo.collection.name**", "The name of the collection to use", "", "null", "false", "**true**" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "mongo.bulk.mode", "Bulk mode (insert or upsert)", "insert (Insert records whose key must be unique), upsert (Insert records if not already existing or update the record if already existing)", "insert", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "**mongo.write.concern**", "The write concern to use", "ACKNOWLEDGED, UNACKNOWLEDGED, FSYNCED, JOURNALED, REPLICA_ACKNOWLEDGED, MAJORITY", "ACKNOWLEDGED", "false", "false" + "mongo.bulk.upsert.condition", "A custom condition for the bulk upsert (Filter for the bulkwrite). If not specified the standard condition is to match same id ('_id': data._id)", "", "${'{ \"_id\" :\"' + record_id + '\"}'}", "false", "**true**" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.redis.service.RedisKeyValueCacheService: + +RedisKeyValueCacheService +------------------------- +A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-redis:1.1.2 + +Class +_____ +com.hurence.logisland.redis.service.RedisKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, redis + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**redis.mode**", "The type of Redis being communicated with - standalone, sentinel, or clustered.", "standalone (A single standalone Redis instance.), sentinel (Redis Sentinel which provides high-availability. Described further at https://redis.io/topics/sentinel), cluster (Clustered Redis which provides sharding and replication. Described further at https://redis.io/topics/cluster-spec)", "standalone", "false", "false" + "**connection.string**", "The connection string for Redis. In a standalone instance this value will be of the form hostname:port. In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3. In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.", "", "null", "false", "false" + "**database.index**", "The database index to be used by connections created from this connection pool. See the databases property in redis.conf, by default databases 0-15 will be available.", "", "0", "false", "false" + "**communication.timeout**", "The timeout to use when attempting to communicate with Redis.", "", "10 seconds", "false", "false" + "**cluster.max.redirects**", "The maximum number of redirects that can be performed when clustered.", "", "5", "false", "false" + "sentinel.master", "The name of the sentinel master, require when Mode is set to Sentinel", "", "null", "false", "false" + "password", "The password used to authenticate to the Redis server. See the requirepass property in redis.conf.", "", "null", "**true**", "false" + "**pool.max.total**", "The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout). A negative value indicates that there is no limit.", "", "8", "false", "false" + "**pool.max.idle**", "The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.", "", "8", "false", "false" + "**pool.min.idle**", "The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is greater than the configured value for Max Idle, then the value of Max Idle will be used instead.", "", "0", "false", "false" + "**pool.block.when.exhausted**", "Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool has no available connections. Setting this to false means an error will occur immediately when a client requests a connection and none are available.", "true, false", "true", "false", "false" + "**pool.max.wait.time**", "The amount of time to wait for an available connection when Block When Exhausted is set to true.", "", "10 seconds", "false", "false" + "**pool.min.evictable.idle.time**", "The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.", "", "60 seconds", "false", "false" + "**pool.time.between.eviction.runs**", "The amount of time between attempting to evict idle connections from the pool.", "", "30 seconds", "false", "false" + "**pool.num.tests.per.eviction.run**", "The number of connections to tests per eviction attempt. A negative value indicates to test all connections.", "", "-1", "false", "false" + "**pool.test.on.create**", "Whether or not connections should be tested upon creation.", "true, false", "false", "false", "false" + "**pool.test.on.borrow**", "Whether or not connections should be tested upon borrowing from the pool.", "true, false", "false", "false", "false" + "**pool.test.on.return**", "Whether or not connections should be tested upon returning to the pool.", "true, false", "false", "false", "false" + "**pool.test.while.idle**", "Whether or not connections should be tested while idle.", "true, false", "true", "false", "false" + "**record.recordSerializer**", "the way to serialize/deserialize the record", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), com.hurence.logisland.serializer.BytesArraySerializer (serialize events as byte arrays), com.hurence.logisland.serializer.KuraProtobufSerializer (serialize events as Kura protocol buffer), none (send events as bytes)", "com.hurence.logisland.serializer.JsonSerializer", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_5_5_5_ClientService: + +Solr_5_5_5_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_5_5_5-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_5_5_5_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService: + +Solr_6_4_2_ChronixClientService +------------------------------- +Implementation of ChronixClientService for Solr 6 4 2 + +Module +______ +com.hurence.logisland:logisland-service-solr_chronix_6.4.2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "group.by", "The field the chunk should be grouped by", "", "", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_6_2_ClientService: + +Solr_6_6_2_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_6_6_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_6_2_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: + +MaxmindIpToGeoService +--------------------- +Implementation of the IP 2 GEO Service using maxmind lite db file + +Module +______ +com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + +Class +_____ +com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + +Tags +____ +ip, service, geo, maxmind + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" + "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.CSVKeyValueCacheService: + +CSVKeyValueCacheService +----------------------- +A cache that store csv lines as records loaded from a file + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.CSVKeyValueCacheService + +Tags +____ +csv, service, cache + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**csv.format**", "a configuration for loading csv", "default (Standard comma separated format, as for RFC4180 but allowing empty lines. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(true)), excel (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), excel_fr (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(';') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), mysql (Default MySQL format used by the SELECT INTO OUTFILE and LOAD DATA INFILE operations.This is a tab-delimited format with a LF character as the line separator. Values are not quoted and special characters are escaped with '\'. The default NULL string is \"\\N\". Settings are: withDelimiter('\t') withQuote(null) withRecordSeparator('\n') withIgnoreEmptyLines(false) withEscape('\\') withNullString(\"\\N\") withQuoteMode(QuoteMode.ALL_NON_NULL)), rfc4180 (Comma separated format as defined by RFC 4180. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false)), tdf (Tab-delimited format. Settings are: withDelimiter('\t') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreSurroundingSpaces(true))", "default", "false", "false" + "csv.header", "comma separated header values", "", "null", "false", "false" + "csv.file.uri", "Path to the CSV File.", "", "null", "false", "false" + "csv.file.path", "Local Path to the CSV File.", "", "null", "false", "false" + "**row.key**", "th primary key of this db", "", "null", "false", "false" + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + "first.line.header", "csv headers grabbed from first line", "", "null", "false", "false" + "encoding.charset", "charset", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cassandra.CassandraControllerService: + +CassandraControllerService +-------------------------- +Provides a controller service that for the moment only allows to bulkput records into cassandra. + +Module +______ +com.hurence.logisland:logisland-service-cassandra-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.cassandra.CassandraControllerService + +Tags +____ +cassandra, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**cassandra.hosts**", "Cassandra cluster hosts as a comma separated value list", "", "null", "false", "false" + "**cassandra.port**", "Cassandra cluster port", "", "null", "false", "false" + "cassandra.with-ssl", "If this property is true, use SSL. Default is no SSL (false).", "", "false", "false", "false" + "cassandra.with-credentials", "If this property is true, use credentials. Default is no credentials (false).", "", "false", "false", "false" + "cassandra.credentials.user", "The user name to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "cassandra.credentials.password", "The user password to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService: + +Elasticsearch_2_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 2.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_2_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService: + +Elasticsearch_5_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 5.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_5_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService: + +HBase_1_1_2_ClientService +------------------------- +Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files are provided, they will be loaded first, and the values of the additional properties will override the values from the configuration files. In addition, any user defined properties on the processor will also be passed to the HBase configuration. + +Module +______ +com.hurence.logisland:logisland-service-hbase_1_1_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService + +Tags +____ +hbase, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "hadoop.configuration.files", "Comma-separated list of Hadoop Configuration files, such as hbase-site.xml and core-site.xml for kerberos, including full paths to the files.", "", "null", "false", "false" + "zookeeper.quorum", "Comma-separated list of ZooKeeper hosts for HBase. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.client.port", "The port on which ZooKeeper is accepting client connections. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.znode.parent", "The ZooKeeper ZNode Parent value for HBase (example: /hbase). Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "hbase.client.retries", "The number of times the HBase client will retry connecting. Required if Hadoop Configuration Files are not provided.", "", "3", "false", "false" + "phoenix.client.jar.location", "The full path to the Phoenix client JAR. Required if Phoenix is installed on top of HBase.", "", "null", "false", "**true**" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "The name of an HBase configuration property.", "The value of the given HBase configuration property.", "These properties will be set on the HBase configuration after loading any provided configuration files.", "", "null", false + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.influxdb.InfluxDBControllerService: + +InfluxDBControllerService +------------------------- +Provides a controller service that for the moment only allows to bulkput records into influxdb. + +Module +______ +com.hurence.logisland:logisland-service-influxdb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.influxdb.InfluxDBControllerService + +Tags +____ +influxdb, service, time series + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**influxdb.url**", "InfluxDB connection url", "", "null", "false", "false" + "influxdb.user", "The user name to use for authentication.", "", "null", "false", "false" + "**influxdb.database**", "InfluxDB database name", "", "null", "false", "false" + "influxdb.password", "The user password to use for authentication.", "", "null", "false", "false" + "influxdb.tags", "List of tags for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 tags: core1 and core2 and the mem measurement has 1 tag: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_fields_but_explicit_tags.", "", "null", "false", "false" + "influxdb.fields", "List of fields for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 fields: core1 and core2 and the mem measurement has 1 field: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_tags_but_explicit_fields.", "", "null", "false", "false" + "**influxdb.configuration_mode**", "Determines the way fields and tags are chosen from the logisland record. Possible values and meaning: explicit_tags_and_fields: only logisland record fields listed in influxdb.tags and influxdb.fields will be inserted into InfluxDB with the explicit type. all_as_fields: all available logisland record fields will be inserted into InfluxDB as fields. all_as_tags_but_explicit_fields: all available logisland record fields will be inserted into InfluxDB as tags except those listed in influxdb.fields that will be inserted into InfluxDB as fields. all_as_fields_but_explicit_tags: all available logisland record fields will be inserted into InfluxDB as fields except those listed in influxdb.tags that will be inserted into InfluxDB as tags", "explicit_tags_and_fields, all_as_fields, all_as_fields_but_explicit_tags, all_as_tags_but_explicit_fields", "null", "false", "false" + "influxdb.consistency_level", "Determines the consistency level used to write points into InfluxDB. Possible values are: ANY, ONE, QUORUMand ALL. Default value is ANY. This is only useful when using a clustered InfluxDB infrastructure.", "ANY, ONE, QUORUM, ALL", "ANY", "false", "false" + "influxdb.retention_policy", "Determines the name of the retention policy to use. Defaults to autogen. The defined retention policy must already be defined in the InfluxDB server.", "", "autogen", "false", "false" + "influxdb.timefield", "Time field for each supported measurement. Syntax: :,...[;:,]... With format being any constant defined in java.util.concurrent.TimeUnit enum: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS or SECONDS. Example: cpu:time,NANOSECONDS;mem:timeStamp,MILLISECONDS In this example: for the cpu measurement, the time for the influx DB point matching the record will be the value of the time field that represents nanoseconds. For the mem measurement, the time for the influx DB point matching the record will be the value of the timeStamp field that represents milliseconds. Any measurement for which the time field is not defined will use the content of the record_time technical field as the time (which is a number of milliseconds since epoch).", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.LRUKeyValueCacheService: + +LRUKeyValueCacheService +----------------------- +A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.LRUKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, LRU + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.mongodb.MongoDBControllerService: + +MongoDBControllerService +------------------------ +Provides a controller service that wraps most of the functionality of the MongoDB driver. + +Module +______ +com.hurence.logisland:logisland-service-mongodb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.mongodb.MongoDBControllerService + +Tags +____ +mongo, mongodb, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**mongo.uri**", "MongoURI, typically of the form: mongodb://host1[:port1][,host2[:port2],...]", "", "null", "false", "**true**" + "**mongo.db.name**", "The name of the database to use", "", "null", "false", "**true**" + "**mongo.collection.name**", "The name of the collection to use", "", "null", "false", "**true**" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "mongo.bulk.mode", "Bulk mode (insert or upsert)", "insert (Insert records whose key must be unique), upsert (Insert records if not already existing or update the record if already existing)", "insert", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "**mongo.write.concern**", "The write concern to use", "ACKNOWLEDGED, UNACKNOWLEDGED, FSYNCED, JOURNALED, REPLICA_ACKNOWLEDGED, MAJORITY", "ACKNOWLEDGED", "false", "false" + "mongo.bulk.upsert.condition", "A custom condition for the bulk upsert (Filter for the bulkwrite). If not specified the standard condition is to match same id ('_id': data._id)", "", "${'{ \"_id\" :\"' + record_id + '\"}'}", "false", "**true**" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.redis.service.RedisKeyValueCacheService: + +RedisKeyValueCacheService +------------------------- +A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-redis:1.1.2 + +Class +_____ +com.hurence.logisland.redis.service.RedisKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, redis + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**redis.mode**", "The type of Redis being communicated with - standalone, sentinel, or clustered.", "standalone (A single standalone Redis instance.), sentinel (Redis Sentinel which provides high-availability. Described further at https://redis.io/topics/sentinel), cluster (Clustered Redis which provides sharding and replication. Described further at https://redis.io/topics/cluster-spec)", "standalone", "false", "false" + "**connection.string**", "The connection string for Redis. In a standalone instance this value will be of the form hostname:port. In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3. In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.", "", "null", "false", "false" + "**database.index**", "The database index to be used by connections created from this connection pool. See the databases property in redis.conf, by default databases 0-15 will be available.", "", "0", "false", "false" + "**communication.timeout**", "The timeout to use when attempting to communicate with Redis.", "", "10 seconds", "false", "false" + "**cluster.max.redirects**", "The maximum number of redirects that can be performed when clustered.", "", "5", "false", "false" + "sentinel.master", "The name of the sentinel master, require when Mode is set to Sentinel", "", "null", "false", "false" + "password", "The password used to authenticate to the Redis server. See the requirepass property in redis.conf.", "", "null", "**true**", "false" + "**pool.max.total**", "The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout). A negative value indicates that there is no limit.", "", "8", "false", "false" + "**pool.max.idle**", "The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.", "", "8", "false", "false" + "**pool.min.idle**", "The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is greater than the configured value for Max Idle, then the value of Max Idle will be used instead.", "", "0", "false", "false" + "**pool.block.when.exhausted**", "Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool has no available connections. Setting this to false means an error will occur immediately when a client requests a connection and none are available.", "true, false", "true", "false", "false" + "**pool.max.wait.time**", "The amount of time to wait for an available connection when Block When Exhausted is set to true.", "", "10 seconds", "false", "false" + "**pool.min.evictable.idle.time**", "The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.", "", "60 seconds", "false", "false" + "**pool.time.between.eviction.runs**", "The amount of time between attempting to evict idle connections from the pool.", "", "30 seconds", "false", "false" + "**pool.num.tests.per.eviction.run**", "The number of connections to tests per eviction attempt. A negative value indicates to test all connections.", "", "-1", "false", "false" + "**pool.test.on.create**", "Whether or not connections should be tested upon creation.", "true, false", "false", "false", "false" + "**pool.test.on.borrow**", "Whether or not connections should be tested upon borrowing from the pool.", "true, false", "false", "false", "false" + "**pool.test.on.return**", "Whether or not connections should be tested upon returning to the pool.", "true, false", "false", "false", "false" + "**pool.test.while.idle**", "Whether or not connections should be tested while idle.", "true, false", "true", "false", "false" + "**record.recordSerializer**", "the way to serialize/deserialize the record", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), com.hurence.logisland.serializer.BytesArraySerializer (serialize events as byte arrays), com.hurence.logisland.serializer.KuraProtobufSerializer (serialize events as Kura protocol buffer), none (send events as bytes)", "com.hurence.logisland.serializer.JsonSerializer", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_5_5_5_ClientService: + +Solr_5_5_5_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_5_5_5-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_5_5_5_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService: + +Solr_6_4_2_ChronixClientService +------------------------------- +Implementation of ChronixClientService for Solr 6 4 2 + +Module +______ +com.hurence.logisland:logisland-service-solr_chronix_6.4.2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "group.by", "The field the chunk should be grouped by", "", "", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_6_2_ClientService: + +Solr_6_6_2_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_6_6_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_6_2_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: + +MaxmindIpToGeoService +--------------------- +Implementation of the IP 2 GEO Service using maxmind lite db file + +Module +______ +com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + +Class +_____ +com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + +Tags +____ +ip, service, geo, maxmind + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" + "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.CSVKeyValueCacheService: + +CSVKeyValueCacheService +----------------------- +A cache that store csv lines as records loaded from a file + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.CSVKeyValueCacheService + +Tags +____ +csv, service, cache + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**csv.format**", "a configuration for loading csv", "default (Standard comma separated format, as for RFC4180 but allowing empty lines. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(true)), excel (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), excel_fr (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(';') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), mysql (Default MySQL format used by the SELECT INTO OUTFILE and LOAD DATA INFILE operations.This is a tab-delimited format with a LF character as the line separator. Values are not quoted and special characters are escaped with '\'. The default NULL string is \"\\N\". Settings are: withDelimiter('\t') withQuote(null) withRecordSeparator('\n') withIgnoreEmptyLines(false) withEscape('\\') withNullString(\"\\N\") withQuoteMode(QuoteMode.ALL_NON_NULL)), rfc4180 (Comma separated format as defined by RFC 4180. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false)), tdf (Tab-delimited format. Settings are: withDelimiter('\t') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreSurroundingSpaces(true))", "default", "false", "false" + "csv.header", "comma separated header values", "", "null", "false", "false" + "csv.file.uri", "Path to the CSV File.", "", "null", "false", "false" + "csv.file.path", "Local Path to the CSV File.", "", "null", "false", "false" + "**row.key**", "th primary key of this db", "", "null", "false", "false" + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + "first.line.header", "csv headers grabbed from first line", "", "null", "false", "false" + "encoding.charset", "charset", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cassandra.CassandraControllerService: + +CassandraControllerService +-------------------------- +Provides a controller service that for the moment only allows to bulkput records into cassandra. + +Module +______ +com.hurence.logisland:logisland-service-cassandra-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.cassandra.CassandraControllerService + +Tags +____ +cassandra, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**cassandra.hosts**", "Cassandra cluster hosts as a comma separated value list", "", "null", "false", "false" + "**cassandra.port**", "Cassandra cluster port", "", "null", "false", "false" + "cassandra.with-ssl", "If this property is true, use SSL. Default is no SSL (false).", "", "false", "false", "false" + "cassandra.with-credentials", "If this property is true, use credentials. Default is no credentials (false).", "", "false", "false", "false" + "cassandra.credentials.user", "The user name to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "cassandra.credentials.password", "The user password to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService: + +Elasticsearch_2_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 2.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_2_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService: + +Elasticsearch_5_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 5.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_5_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService: + +HBase_1_1_2_ClientService +------------------------- +Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files are provided, they will be loaded first, and the values of the additional properties will override the values from the configuration files. In addition, any user defined properties on the processor will also be passed to the HBase configuration. + +Module +______ +com.hurence.logisland:logisland-service-hbase_1_1_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService + +Tags +____ +hbase, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "hadoop.configuration.files", "Comma-separated list of Hadoop Configuration files, such as hbase-site.xml and core-site.xml for kerberos, including full paths to the files.", "", "null", "false", "false" + "zookeeper.quorum", "Comma-separated list of ZooKeeper hosts for HBase. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.client.port", "The port on which ZooKeeper is accepting client connections. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.znode.parent", "The ZooKeeper ZNode Parent value for HBase (example: /hbase). Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "hbase.client.retries", "The number of times the HBase client will retry connecting. Required if Hadoop Configuration Files are not provided.", "", "3", "false", "false" + "phoenix.client.jar.location", "The full path to the Phoenix client JAR. Required if Phoenix is installed on top of HBase.", "", "null", "false", "**true**" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "The name of an HBase configuration property.", "The value of the given HBase configuration property.", "These properties will be set on the HBase configuration after loading any provided configuration files.", "", "null", false + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.influxdb.InfluxDBControllerService: + +InfluxDBControllerService +------------------------- +Provides a controller service that for the moment only allows to bulkput records into influxdb. + +Module +______ +com.hurence.logisland:logisland-service-influxdb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.influxdb.InfluxDBControllerService + +Tags +____ +influxdb, service, time series + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**influxdb.url**", "InfluxDB connection url", "", "null", "false", "false" + "influxdb.user", "The user name to use for authentication.", "", "null", "false", "false" + "**influxdb.database**", "InfluxDB database name", "", "null", "false", "false" + "influxdb.password", "The user password to use for authentication.", "", "null", "false", "false" + "influxdb.tags", "List of tags for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 tags: core1 and core2 and the mem measurement has 1 tag: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_fields_but_explicit_tags.", "", "null", "false", "false" + "influxdb.fields", "List of fields for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 fields: core1 and core2 and the mem measurement has 1 field: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_tags_but_explicit_fields.", "", "null", "false", "false" + "**influxdb.configuration_mode**", "Determines the way fields and tags are chosen from the logisland record. Possible values and meaning: explicit_tags_and_fields: only logisland record fields listed in influxdb.tags and influxdb.fields will be inserted into InfluxDB with the explicit type. all_as_fields: all available logisland record fields will be inserted into InfluxDB as fields. all_as_tags_but_explicit_fields: all available logisland record fields will be inserted into InfluxDB as tags except those listed in influxdb.fields that will be inserted into InfluxDB as fields. all_as_fields_but_explicit_tags: all available logisland record fields will be inserted into InfluxDB as fields except those listed in influxdb.tags that will be inserted into InfluxDB as tags", "explicit_tags_and_fields, all_as_fields, all_as_fields_but_explicit_tags, all_as_tags_but_explicit_fields", "null", "false", "false" + "influxdb.consistency_level", "Determines the consistency level used to write points into InfluxDB. Possible values are: ANY, ONE, QUORUMand ALL. Default value is ANY. This is only useful when using a clustered InfluxDB infrastructure.", "ANY, ONE, QUORUM, ALL", "ANY", "false", "false" + "influxdb.retention_policy", "Determines the name of the retention policy to use. Defaults to autogen. The defined retention policy must already be defined in the InfluxDB server.", "", "autogen", "false", "false" + "influxdb.timefield", "Time field for each supported measurement. Syntax: :,...[;:,]... With format being any constant defined in java.util.concurrent.TimeUnit enum: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS or SECONDS. Example: cpu:time,NANOSECONDS;mem:timeStamp,MILLISECONDS In this example: for the cpu measurement, the time for the influx DB point matching the record will be the value of the time field that represents nanoseconds. For the mem measurement, the time for the influx DB point matching the record will be the value of the timeStamp field that represents milliseconds. Any measurement for which the time field is not defined will use the content of the record_time technical field as the time (which is a number of milliseconds since epoch).", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.LRUKeyValueCacheService: + +LRUKeyValueCacheService +----------------------- +A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.LRUKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, LRU + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.mongodb.MongoDBControllerService: + +MongoDBControllerService +------------------------ +Provides a controller service that wraps most of the functionality of the MongoDB driver. + +Module +______ +com.hurence.logisland:logisland-service-mongodb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.mongodb.MongoDBControllerService + +Tags +____ +mongo, mongodb, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**mongo.uri**", "MongoURI, typically of the form: mongodb://host1[:port1][,host2[:port2],...]", "", "null", "false", "**true**" + "**mongo.db.name**", "The name of the database to use", "", "null", "false", "**true**" + "**mongo.collection.name**", "The name of the collection to use", "", "null", "false", "**true**" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "mongo.bulk.mode", "Bulk mode (insert or upsert)", "insert (Insert records whose key must be unique), upsert (Insert records if not already existing or update the record if already existing)", "insert", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "**mongo.write.concern**", "The write concern to use", "ACKNOWLEDGED, UNACKNOWLEDGED, FSYNCED, JOURNALED, REPLICA_ACKNOWLEDGED, MAJORITY", "ACKNOWLEDGED", "false", "false" + "mongo.bulk.upsert.condition", "A custom condition for the bulk upsert (Filter for the bulkwrite). If not specified the standard condition is to match same id ('_id': data._id)", "", "${'{ \"_id\" :\"' + record_id + '\"}'}", "false", "**true**" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.redis.service.RedisKeyValueCacheService: + +RedisKeyValueCacheService +------------------------- +A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-redis:1.1.2 + +Class +_____ +com.hurence.logisland.redis.service.RedisKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, redis + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**redis.mode**", "The type of Redis being communicated with - standalone, sentinel, or clustered.", "standalone (A single standalone Redis instance.), sentinel (Redis Sentinel which provides high-availability. Described further at https://redis.io/topics/sentinel), cluster (Clustered Redis which provides sharding and replication. Described further at https://redis.io/topics/cluster-spec)", "standalone", "false", "false" + "**connection.string**", "The connection string for Redis. In a standalone instance this value will be of the form hostname:port. In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3. In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.", "", "null", "false", "false" + "**database.index**", "The database index to be used by connections created from this connection pool. See the databases property in redis.conf, by default databases 0-15 will be available.", "", "0", "false", "false" + "**communication.timeout**", "The timeout to use when attempting to communicate with Redis.", "", "10 seconds", "false", "false" + "**cluster.max.redirects**", "The maximum number of redirects that can be performed when clustered.", "", "5", "false", "false" + "sentinel.master", "The name of the sentinel master, require when Mode is set to Sentinel", "", "null", "false", "false" + "password", "The password used to authenticate to the Redis server. See the requirepass property in redis.conf.", "", "null", "**true**", "false" + "**pool.max.total**", "The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout). A negative value indicates that there is no limit.", "", "8", "false", "false" + "**pool.max.idle**", "The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.", "", "8", "false", "false" + "**pool.min.idle**", "The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is greater than the configured value for Max Idle, then the value of Max Idle will be used instead.", "", "0", "false", "false" + "**pool.block.when.exhausted**", "Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool has no available connections. Setting this to false means an error will occur immediately when a client requests a connection and none are available.", "true, false", "true", "false", "false" + "**pool.max.wait.time**", "The amount of time to wait for an available connection when Block When Exhausted is set to true.", "", "10 seconds", "false", "false" + "**pool.min.evictable.idle.time**", "The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.", "", "60 seconds", "false", "false" + "**pool.time.between.eviction.runs**", "The amount of time between attempting to evict idle connections from the pool.", "", "30 seconds", "false", "false" + "**pool.num.tests.per.eviction.run**", "The number of connections to tests per eviction attempt. A negative value indicates to test all connections.", "", "-1", "false", "false" + "**pool.test.on.create**", "Whether or not connections should be tested upon creation.", "true, false", "false", "false", "false" + "**pool.test.on.borrow**", "Whether or not connections should be tested upon borrowing from the pool.", "true, false", "false", "false", "false" + "**pool.test.on.return**", "Whether or not connections should be tested upon returning to the pool.", "true, false", "false", "false", "false" + "**pool.test.while.idle**", "Whether or not connections should be tested while idle.", "true, false", "true", "false", "false" + "**record.recordSerializer**", "the way to serialize/deserialize the record", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), com.hurence.logisland.serializer.BytesArraySerializer (serialize events as byte arrays), com.hurence.logisland.serializer.KuraProtobufSerializer (serialize events as Kura protocol buffer), none (send events as bytes)", "com.hurence.logisland.serializer.JsonSerializer", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_5_5_5_ClientService: + +Solr_5_5_5_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_5_5_5-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_5_5_5_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService: + +Solr_6_4_2_ChronixClientService +------------------------------- +Implementation of ChronixClientService for Solr 6 4 2 + +Module +______ +com.hurence.logisland:logisland-service-solr_chronix_6.4.2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "group.by", "The field the chunk should be grouped by", "", "", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_6_2_ClientService: + +Solr_6_6_2_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_6_6_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_6_2_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: + +MaxmindIpToGeoService +--------------------- +Implementation of the IP 2 GEO Service using maxmind lite db file + +Module +______ +com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + +Class +_____ +com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + +Tags +____ +ip, service, geo, maxmind + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" + "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.CSVKeyValueCacheService: + +CSVKeyValueCacheService +----------------------- +A cache that store csv lines as records loaded from a file + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.CSVKeyValueCacheService + +Tags +____ +csv, service, cache + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**csv.format**", "a configuration for loading csv", "default (Standard comma separated format, as for RFC4180 but allowing empty lines. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(true)), excel (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), excel_fr (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(';') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), mysql (Default MySQL format used by the SELECT INTO OUTFILE and LOAD DATA INFILE operations.This is a tab-delimited format with a LF character as the line separator. Values are not quoted and special characters are escaped with '\'. The default NULL string is \"\\N\". Settings are: withDelimiter('\t') withQuote(null) withRecordSeparator('\n') withIgnoreEmptyLines(false) withEscape('\\') withNullString(\"\\N\") withQuoteMode(QuoteMode.ALL_NON_NULL)), rfc4180 (Comma separated format as defined by RFC 4180. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false)), tdf (Tab-delimited format. Settings are: withDelimiter('\t') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreSurroundingSpaces(true))", "default", "false", "false" + "csv.header", "comma separated header values", "", "null", "false", "false" + "csv.file.uri", "Path to the CSV File.", "", "null", "false", "false" + "csv.file.path", "Local Path to the CSV File.", "", "null", "false", "false" + "**row.key**", "th primary key of this db", "", "null", "false", "false" + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + "first.line.header", "csv headers grabbed from first line", "", "null", "false", "false" + "encoding.charset", "charset", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cassandra.CassandraControllerService: + +CassandraControllerService +-------------------------- +Provides a controller service that for the moment only allows to bulkput records into cassandra. + +Module +______ +com.hurence.logisland:logisland-service-cassandra-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.cassandra.CassandraControllerService + +Tags +____ +cassandra, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**cassandra.hosts**", "Cassandra cluster hosts as a comma separated value list", "", "null", "false", "false" + "**cassandra.port**", "Cassandra cluster port", "", "null", "false", "false" + "cassandra.with-ssl", "If this property is true, use SSL. Default is no SSL (false).", "", "false", "false", "false" + "cassandra.with-credentials", "If this property is true, use credentials. Default is no credentials (false).", "", "false", "false", "false" + "cassandra.credentials.user", "The user name to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "cassandra.credentials.password", "The user password to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService: + +Elasticsearch_2_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 2.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_2_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService: + +Elasticsearch_5_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 5.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_5_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService: + +HBase_1_1_2_ClientService +------------------------- +Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files are provided, they will be loaded first, and the values of the additional properties will override the values from the configuration files. In addition, any user defined properties on the processor will also be passed to the HBase configuration. + +Module +______ +com.hurence.logisland:logisland-service-hbase_1_1_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService + +Tags +____ +hbase, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "hadoop.configuration.files", "Comma-separated list of Hadoop Configuration files, such as hbase-site.xml and core-site.xml for kerberos, including full paths to the files.", "", "null", "false", "false" + "zookeeper.quorum", "Comma-separated list of ZooKeeper hosts for HBase. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.client.port", "The port on which ZooKeeper is accepting client connections. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.znode.parent", "The ZooKeeper ZNode Parent value for HBase (example: /hbase). Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "hbase.client.retries", "The number of times the HBase client will retry connecting. Required if Hadoop Configuration Files are not provided.", "", "3", "false", "false" + "phoenix.client.jar.location", "The full path to the Phoenix client JAR. Required if Phoenix is installed on top of HBase.", "", "null", "false", "**true**" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "The name of an HBase configuration property.", "The value of the given HBase configuration property.", "These properties will be set on the HBase configuration after loading any provided configuration files.", "", "null", false + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.influxdb.InfluxDBControllerService: + +InfluxDBControllerService +------------------------- +Provides a controller service that for the moment only allows to bulkput records into influxdb. + +Module +______ +com.hurence.logisland:logisland-service-influxdb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.influxdb.InfluxDBControllerService + +Tags +____ +influxdb, service, time series + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**influxdb.url**", "InfluxDB connection url", "", "null", "false", "false" + "influxdb.user", "The user name to use for authentication.", "", "null", "false", "false" + "**influxdb.database**", "InfluxDB database name", "", "null", "false", "false" + "influxdb.password", "The user password to use for authentication.", "", "null", "false", "false" + "influxdb.tags", "List of tags for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 tags: core1 and core2 and the mem measurement has 1 tag: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_fields_but_explicit_tags.", "", "null", "false", "false" + "influxdb.fields", "List of fields for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 fields: core1 and core2 and the mem measurement has 1 field: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_tags_but_explicit_fields.", "", "null", "false", "false" + "**influxdb.configuration_mode**", "Determines the way fields and tags are chosen from the logisland record. Possible values and meaning: explicit_tags_and_fields: only logisland record fields listed in influxdb.tags and influxdb.fields will be inserted into InfluxDB with the explicit type. all_as_fields: all available logisland record fields will be inserted into InfluxDB as fields. all_as_tags_but_explicit_fields: all available logisland record fields will be inserted into InfluxDB as tags except those listed in influxdb.fields that will be inserted into InfluxDB as fields. all_as_fields_but_explicit_tags: all available logisland record fields will be inserted into InfluxDB as fields except those listed in influxdb.tags that will be inserted into InfluxDB as tags", "explicit_tags_and_fields, all_as_fields, all_as_fields_but_explicit_tags, all_as_tags_but_explicit_fields", "null", "false", "false" + "influxdb.consistency_level", "Determines the consistency level used to write points into InfluxDB. Possible values are: ANY, ONE, QUORUMand ALL. Default value is ANY. This is only useful when using a clustered InfluxDB infrastructure.", "ANY, ONE, QUORUM, ALL", "ANY", "false", "false" + "influxdb.retention_policy", "Determines the name of the retention policy to use. Defaults to autogen. The defined retention policy must already be defined in the InfluxDB server.", "", "autogen", "false", "false" + "influxdb.timefield", "Time field for each supported measurement. Syntax: :,...[;:,]... With format being any constant defined in java.util.concurrent.TimeUnit enum: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS or SECONDS. Example: cpu:time,NANOSECONDS;mem:timeStamp,MILLISECONDS In this example: for the cpu measurement, the time for the influx DB point matching the record will be the value of the time field that represents nanoseconds. For the mem measurement, the time for the influx DB point matching the record will be the value of the timeStamp field that represents milliseconds. Any measurement for which the time field is not defined will use the content of the record_time technical field as the time (which is a number of milliseconds since epoch).", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.LRUKeyValueCacheService: + +LRUKeyValueCacheService +----------------------- +A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.LRUKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, LRU + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.mongodb.MongoDBControllerService: + +MongoDBControllerService +------------------------ +Provides a controller service that wraps most of the functionality of the MongoDB driver. + +Module +______ +com.hurence.logisland:logisland-service-mongodb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.mongodb.MongoDBControllerService + +Tags +____ +mongo, mongodb, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**mongo.uri**", "MongoURI, typically of the form: mongodb://host1[:port1][,host2[:port2],...]", "", "null", "false", "**true**" + "**mongo.db.name**", "The name of the database to use", "", "null", "false", "**true**" + "**mongo.collection.name**", "The name of the collection to use", "", "null", "false", "**true**" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "mongo.bulk.mode", "Bulk mode (insert or upsert)", "insert (Insert records whose key must be unique), upsert (Insert records if not already existing or update the record if already existing)", "insert", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "**mongo.write.concern**", "The write concern to use", "ACKNOWLEDGED, UNACKNOWLEDGED, FSYNCED, JOURNALED, REPLICA_ACKNOWLEDGED, MAJORITY", "ACKNOWLEDGED", "false", "false" + "mongo.bulk.upsert.condition", "A custom condition for the bulk upsert (Filter for the bulkwrite). If not specified the standard condition is to match same id ('_id': data._id)", "", "${'{ \"_id\" :\"' + record_id + '\"}'}", "false", "**true**" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.redis.service.RedisKeyValueCacheService: + +RedisKeyValueCacheService +------------------------- +A controller service for caching records by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-redis:1.1.2 + +Class +_____ +com.hurence.logisland.redis.service.RedisKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, redis + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**redis.mode**", "The type of Redis being communicated with - standalone, sentinel, or clustered.", "standalone (A single standalone Redis instance.), sentinel (Redis Sentinel which provides high-availability. Described further at https://redis.io/topics/sentinel), cluster (Clustered Redis which provides sharding and replication. Described further at https://redis.io/topics/cluster-spec)", "standalone", "false", "false" + "**connection.string**", "The connection string for Redis. In a standalone instance this value will be of the form hostname:port. In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3. In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.", "", "null", "false", "false" + "**database.index**", "The database index to be used by connections created from this connection pool. See the databases property in redis.conf, by default databases 0-15 will be available.", "", "0", "false", "false" + "**communication.timeout**", "The timeout to use when attempting to communicate with Redis.", "", "10 seconds", "false", "false" + "**cluster.max.redirects**", "The maximum number of redirects that can be performed when clustered.", "", "5", "false", "false" + "sentinel.master", "The name of the sentinel master, require when Mode is set to Sentinel", "", "null", "false", "false" + "password", "The password used to authenticate to the Redis server. See the requirepass property in redis.conf.", "", "null", "**true**", "false" + "**pool.max.total**", "The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout). A negative value indicates that there is no limit.", "", "8", "false", "false" + "**pool.max.idle**", "The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.", "", "8", "false", "false" + "**pool.min.idle**", "The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is greater than the configured value for Max Idle, then the value of Max Idle will be used instead.", "", "0", "false", "false" + "**pool.block.when.exhausted**", "Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool has no available connections. Setting this to false means an error will occur immediately when a client requests a connection and none are available.", "true, false", "true", "false", "false" + "**pool.max.wait.time**", "The amount of time to wait for an available connection when Block When Exhausted is set to true.", "", "10 seconds", "false", "false" + "**pool.min.evictable.idle.time**", "The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.", "", "60 seconds", "false", "false" + "**pool.time.between.eviction.runs**", "The amount of time between attempting to evict idle connections from the pool.", "", "30 seconds", "false", "false" + "**pool.num.tests.per.eviction.run**", "The number of connections to tests per eviction attempt. A negative value indicates to test all connections.", "", "-1", "false", "false" + "**pool.test.on.create**", "Whether or not connections should be tested upon creation.", "true, false", "false", "false", "false" + "**pool.test.on.borrow**", "Whether or not connections should be tested upon borrowing from the pool.", "true, false", "false", "false", "false" + "**pool.test.on.return**", "Whether or not connections should be tested upon returning to the pool.", "true, false", "false", "false", "false" + "**pool.test.while.idle**", "Whether or not connections should be tested while idle.", "true, false", "true", "false", "false" + "**record.recordSerializer**", "the way to serialize/deserialize the record", "com.hurence.logisland.serializer.KryoSerializer (serialize events as json blocs), com.hurence.logisland.serializer.JsonSerializer (serialize events as json blocs), com.hurence.logisland.serializer.AvroSerializer (serialize events as avro blocs), com.hurence.logisland.serializer.BytesArraySerializer (serialize events as byte arrays), com.hurence.logisland.serializer.KuraProtobufSerializer (serialize events as Kura protocol buffer), none (send events as bytes)", "com.hurence.logisland.serializer.JsonSerializer", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_5_5_5_ClientService: + +Solr_5_5_5_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_5_5_5-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_5_5_5_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService: + +Solr_6_4_2_ChronixClientService +------------------------------- +Implementation of ChronixClientService for Solr 6 4 2 + +Module +______ +com.hurence.logisland:logisland-service-solr_chronix_6.4.2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_4_2_ChronixClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "group.by", "The field the chunk should be grouped by", "", "", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.solr.Solr_6_6_2_ClientService: + +Solr_6_6_2_ClientService +------------------------ +Implementation of ElasticsearchClientService for Solr 5.5.5. + +Module +______ +com.hurence.logisland:logisland-service-solr_6_6_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.solr.Solr_6_6_2_ClientService + +Tags +____ +solr, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "**solr.cloud**", "is slor cloud enabled", "", "false", "false", "false" + "**solr.collection**", "name of the collection to use", "", "null", "false", "false" + "**solr.connection.string**", "zookeeper quorum host1:2181,host2:2181 for solr cloud or http address of a solr core ", "", "localhost:8983/solr", "false", "false" + "solr.concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + "schema.update_timeout", "Schema update timeout interval in s", "", "15", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService: + +MaxmindIpToGeoService +--------------------- +Implementation of the IP 2 GEO Service using maxmind lite db file + +Module +______ +com.hurence.logisland:logisland-service-ip-to-geo-maxmind:1.1.2 + +Class +_____ +com.hurence.logisland.service.iptogeo.maxmind.MaxmindIpToGeoService + +Tags +____ +ip, service, geo, maxmind + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "maxmind.database.uri", "Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "maxmind.database.path", "Local Path to the Maxmind Geo Enrichment Database File.", "", "null", "false", "false" + "locale", "Locale to use for geo information. Defaults to 'en'.", "", "en", "false", "false" + "lookup.time", "Should the additional lookup_micros field be returned or not.", "", "false", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.CSVKeyValueCacheService: + +CSVKeyValueCacheService +----------------------- +A cache that store csv lines as records loaded from a file + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.CSVKeyValueCacheService + +Tags +____ +csv, service, cache + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**csv.format**", "a configuration for loading csv", "default (Standard comma separated format, as for RFC4180 but allowing empty lines. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(true)), excel (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), excel_fr (Excel file format (using a comma as the value delimiter). Note that the actual value delimiter used by Excel is locale dependent, it might be necessary to customize this format to accommodate to your regional settings. withDelimiter(';') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false) withAllowMissingColumnNames(true)), mysql (Default MySQL format used by the SELECT INTO OUTFILE and LOAD DATA INFILE operations.This is a tab-delimited format with a LF character as the line separator. Values are not quoted and special characters are escaped with '\'. The default NULL string is \"\\N\". Settings are: withDelimiter('\t') withQuote(null) withRecordSeparator('\n') withIgnoreEmptyLines(false) withEscape('\\') withNullString(\"\\N\") withQuoteMode(QuoteMode.ALL_NON_NULL)), rfc4180 (Comma separated format as defined by RFC 4180. Settings are: withDelimiter(',') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreEmptyLines(false)), tdf (Tab-delimited format. Settings are: withDelimiter('\t') withQuote('\"') withRecordSeparator(\"\r\n\") withIgnoreSurroundingSpaces(true))", "default", "false", "false" + "csv.header", "comma separated header values", "", "null", "false", "false" + "csv.file.uri", "Path to the CSV File.", "", "null", "false", "false" + "csv.file.path", "Local Path to the CSV File.", "", "null", "false", "false" + "**row.key**", "th primary key of this db", "", "null", "false", "false" + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" + "first.line.header", "csv headers grabbed from first line", "", "null", "false", "false" + "encoding.charset", "charset", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cassandra.CassandraControllerService: + +CassandraControllerService +-------------------------- +Provides a controller service that for the moment only allows to bulkput records into cassandra. + +Module +______ +com.hurence.logisland:logisland-service-cassandra-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.cassandra.CassandraControllerService + +Tags +____ +cassandra, service + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**cassandra.hosts**", "Cassandra cluster hosts as a comma separated value list", "", "null", "false", "false" + "**cassandra.port**", "Cassandra cluster port", "", "null", "false", "false" + "cassandra.with-ssl", "If this property is true, use SSL. Default is no SSL (false).", "", "false", "false", "false" + "cassandra.with-credentials", "If this property is true, use credentials. Default is no credentials (false).", "", "false", "false", "false" + "cassandra.credentials.user", "The user name to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "cassandra.credentials.password", "The user password to use for authentication. cassandra.with-credentials must be true for that property to be used.", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService: + +Elasticsearch_2_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 2.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_2_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_2_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService: + +Elasticsearch_5_4_0_ClientService +--------------------------------- +Implementation of ElasticsearchClientService for Elasticsearch 5.4.0. + +Module +______ +com.hurence.logisland:logisland-service-elasticsearch_5_4_0-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.elasticsearch.Elasticsearch_5_4_0_ClientService + +Tags +____ +elasticsearch, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered "sensitive".. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**backoff.policy**", "strategy for retrying to execute requests in bulkRequest", "noBackoff (when a request fail there won't be any retry.), constantBackoff (wait a fixed amount of time between retries, using user put retry number and throttling delay), exponentialBackoff (time waited between retries grow exponentially, using user put retry number and throttling delay), defaultExponentialBackoff (time waited between retries grow exponentially, using es default parameters)", "defaultExponentialBackoff", "false", "false" + "**throttling.delay**", "number of time we should wait between each retry (in milliseconds)", "", "500", "false", "false" + "**num.retry**", "number of time we should try to inject a bulk into es", "", "3", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "bulk.size", "bulk size in MB", "", "5", "false", "false" + "flush.interval", "flush interval in sec", "", "5", "false", "false" + "concurrent.requests", "setConcurrentRequests", "", "2", "false", "false" + "**cluster.name**", "Name of the ES cluster (for example, elasticsearch_brew). Defaults to 'elasticsearch'", "", "elasticsearch", "false", "false" + "**ping.timeout**", "The ping timeout used to determine when a node is unreachable. For example, 5s (5 seconds). If non-local recommended is 30s", "", "5s", "false", "false" + "**sampler.interval**", "How often to sample / ping the nodes listed and connected. For example, 5s (5 seconds). If non-local recommended is 30s.", "", "5s", "false", "false" + "username", "Username to access the Elasticsearch cluster", "", "null", "false", "false" + "password", "Password to access the Elasticsearch cluster", "", "null", "**true**", "false" + "shield.location", "Specifies the path to the JAR for the Elasticsearch Shield plugin. If the Elasticsearch cluster has been secured with the Shield plugin, then the Shield plugin JAR must also be available to this processor. Note: Do NOT place the Shield JAR into NiFi's lib/ directory, doing so will prevent the Shield plugin from being loaded.", "", "null", "false", "false" + "**hosts**", "ElasticSearch Hosts, which should be comma separated and colon for hostname/port host1:port,host2:port,.... For example testcluster:9300.", "", "null", "false", "false" + "ssl.context.service", "The SSL Context Service used to provide client certificate information for TLS/SSL connections. This service only applies if the Shield plugin is available.", "", "null", "false", "false" + "**charset**", "Specifies the character set of the document data.", "", "UTF-8", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService: + +HBase_1_1_2_ClientService +------------------------- +Implementation of HBaseClientService for HBase 1.1.2. This service can be configured by providing a comma-separated list of configuration files, or by specifying values for the other properties. If configuration files are provided, they will be loaded first, and the values of the additional properties will override the values from the configuration files. In addition, any user defined properties on the processor will also be passed to the HBase configuration. + +Module +______ +com.hurence.logisland:logisland-service-hbase_1_1_2-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.hbase.HBase_1_1_2_ClientService + +Tags +____ +hbase, client + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the `Expression Language `_ . + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "hadoop.configuration.files", "Comma-separated list of Hadoop Configuration files, such as hbase-site.xml and core-site.xml for kerberos, including full paths to the files.", "", "null", "false", "false" + "zookeeper.quorum", "Comma-separated list of ZooKeeper hosts for HBase. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.client.port", "The port on which ZooKeeper is accepting client connections. Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "zookeeper.znode.parent", "The ZooKeeper ZNode Parent value for HBase (example: /hbase). Required if Hadoop Configuration Files are not provided.", "", "null", "false", "false" + "hbase.client.retries", "The number of times the HBase client will retry connecting. Required if Hadoop Configuration Files are not provided.", "", "3", "false", "false" + "phoenix.client.jar.location", "The full path to the Phoenix client JAR. Required if Phoenix is installed on top of HBase.", "", "null", "false", "**true**" + +Dynamic Properties +__________________ +Dynamic Properties allow the user to specify both the name and value of a property. + +.. csv-table:: dynamic-properties + :header: "Name","Value","Description","Allowable Values","Default Value","EL" + :widths: 20,20,40,40,20,10 + :escape: \ + + "The name of an HBase configuration property.", "The value of the given HBase configuration property.", "These properties will be set on the HBase configuration after loading any provided configuration files.", "", "null", false + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.influxdb.InfluxDBControllerService: + +InfluxDBControllerService +------------------------- +Provides a controller service that for the moment only allows to bulkput records into influxdb. + +Module +______ +com.hurence.logisland:logisland-service-influxdb-client:1.1.2 + +Class +_____ +com.hurence.logisland.service.influxdb.InfluxDBControllerService + +Tags +____ +influxdb, service, time series + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "**influxdb.url**", "InfluxDB connection url", "", "null", "false", "false" + "influxdb.user", "The user name to use for authentication.", "", "null", "false", "false" + "**influxdb.database**", "InfluxDB database name", "", "null", "false", "false" + "influxdb.password", "The user password to use for authentication.", "", "null", "false", "false" + "influxdb.tags", "List of tags for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 tags: core1 and core2 and the mem measurement has 1 tag: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_fields_but_explicit_tags.", "", "null", "false", "false" + "influxdb.fields", "List of fields for each supported measurement. Syntax: :[,]...[;:,[]]... Example: cpu:core1,core2;mem:used : in this example, the cpu measurement has 2 fields: core1 and core2 and the mem measurement has 1 field: used. This must only be set if configuration mode is explicit_tags_and_fields or all_as_tags_but_explicit_fields.", "", "null", "false", "false" + "**influxdb.configuration_mode**", "Determines the way fields and tags are chosen from the logisland record. Possible values and meaning: explicit_tags_and_fields: only logisland record fields listed in influxdb.tags and influxdb.fields will be inserted into InfluxDB with the explicit type. all_as_fields: all available logisland record fields will be inserted into InfluxDB as fields. all_as_tags_but_explicit_fields: all available logisland record fields will be inserted into InfluxDB as tags except those listed in influxdb.fields that will be inserted into InfluxDB as fields. all_as_fields_but_explicit_tags: all available logisland record fields will be inserted into InfluxDB as fields except those listed in influxdb.tags that will be inserted into InfluxDB as tags", "explicit_tags_and_fields, all_as_fields, all_as_fields_but_explicit_tags, all_as_tags_but_explicit_fields", "null", "false", "false" + "influxdb.consistency_level", "Determines the consistency level used to write points into InfluxDB. Possible values are: ANY, ONE, QUORUMand ALL. Default value is ANY. This is only useful when using a clustered InfluxDB infrastructure.", "ANY, ONE, QUORUM, ALL", "ANY", "false", "false" + "influxdb.retention_policy", "Determines the name of the retention policy to use. Defaults to autogen. The defined retention policy must already be defined in the InfluxDB server.", "", "autogen", "false", "false" + "influxdb.timefield", "Time field for each supported measurement. Syntax: :,...[;:,]... With format being any constant defined in java.util.concurrent.TimeUnit enum: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS or SECONDS. Example: cpu:time,NANOSECONDS;mem:timeStamp,MILLISECONDS In this example: for the cpu measurement, the time for the influx DB point matching the record will be the value of the time field that represents nanoseconds. For the mem measurement, the time for the influx DB point matching the record will be the value of the timeStamp field that represents milliseconds. Any measurement for which the time field is not defined will use the content of the record_time technical field as the time (which is a number of milliseconds since epoch).", "", "null", "false", "false" + "batch.size", "The preferred number of Records to setField to the database in a single transaction", "", "1000", "false", "false" + "flush.interval", "flush interval in ms", "", "500", "false", "false" + +Extra informations +__________________ +No additional information is provided + +---------- + +.. _com.hurence.logisland.service.cache.LRUKeyValueCacheService: + +LRUKeyValueCacheService +----------------------- +A controller service for caching data by key value pair with LRU (last recently used) strategy. using LinkedHashMap + +Module +______ +com.hurence.logisland:logisland-service-inmemory-cache:1.1.2 + +Class +_____ +com.hurence.logisland.service.cache.LRUKeyValueCacheService + +Tags +____ +cache, service, key, value, pair, LRU + +Properties +__________ +In the list below, the names of required properties appear in **bold**. Any other properties (not in bold) are considered optional. The table also indicates any default values. + +.. csv-table:: allowable-values + :header: "Name","Description","Allowable Values","Default Value","Sensitive","EL" + :widths: 20,60,30,20,10,10 + :escape: \ + + "cache.size", "The maximum number of element in the cache.", "", "16384", "false", "false" Extra informations __________________ From 9dc91e8ad66e80642f3ee2e1e6bd14d206576f91 Mon Sep 17 00:00:00 2001 From: oalam Date: Tue, 18 Jun 2019 14:42:38 +0200 Subject: [PATCH 2/7] documentation : remove old docs --- .../release.rst => RELEASING.rst | 0 logisland-documentation/api.rst | 370 ---------- logisland-documentation/architecture.rst | 33 - logisland-documentation/concepts.rst | 51 -- logisland-documentation/connectors.rst | 190 ----- logisland-documentation/faq.rst | 160 ---- logisland-documentation/index.rst | 7 - logisland-documentation/intro.rst | 8 - logisland-documentation/monitoring.rst | 357 --------- logisland-documentation/overview-slides.md | 684 ----------------- logisland-documentation/overview-slides.pdf | Bin 8954686 -> 0 bytes logisland-documentation/plugins.rst | 158 ---- logisland-documentation/plugins_old.rst | 255 ------- logisland-documentation/rest-api.rst | 689 ------------------ logisland-documentation/workflow.rst | 3 - 15 files changed, 2965 deletions(-) rename logisland-documentation/release.rst => RELEASING.rst (100%) delete mode 100644 logisland-documentation/api.rst delete mode 100644 logisland-documentation/architecture.rst delete mode 100644 logisland-documentation/concepts.rst delete mode 100644 logisland-documentation/connectors.rst delete mode 100644 logisland-documentation/faq.rst delete mode 100644 logisland-documentation/intro.rst delete mode 100644 logisland-documentation/monitoring.rst delete mode 100644 logisland-documentation/overview-slides.md delete mode 100644 logisland-documentation/overview-slides.pdf delete mode 100644 logisland-documentation/plugins.rst delete mode 100644 logisland-documentation/plugins_old.rst delete mode 100644 logisland-documentation/rest-api.rst delete mode 100644 logisland-documentation/workflow.rst diff --git a/logisland-documentation/release.rst b/RELEASING.rst similarity index 100% rename from logisland-documentation/release.rst rename to RELEASING.rst diff --git a/logisland-documentation/api.rst b/logisland-documentation/api.rst deleted file mode 100644 index d083c0caf..000000000 --- a/logisland-documentation/api.rst +++ /dev/null @@ -1,370 +0,0 @@ - - -API design -========== -logisland is a framework that you can extend through its API, -you can use it to build your own ``Processors`` or to build data processing apps over it. - - -Java API -++++++++ -You can extend logisland with the Java low-level API as described below. - - -The primary material : Records ------------------------------- -The basic unit of processing is the Record. -A ``Record`` is a collection of ``Field``, while a ``Field`` has a ``name``, a ``type`` and a ``value``. - -You can instanciate a ``Record`` like in the following code snipet: - -.. code-block:: java - - String id = "firewall_record1"; - String type = "cisco"; - Record record = new Record(type).setId(id); - - assertTrue(record.isEmpty()); - assertEquals(record.size(), 0); - -A record is defined by its type and a collection of fields. there are three special fields: - -.. code-block:: java - - // shortcut for id - assertEquals(record.getId(), id); - assertEquals(record.getField(FieldDictionary.RECORD_ID).asString(), id); - - // shortcut for time - assertEquals(record.getTime().getTime(), record.getField(FieldDictionary.RECORD_TIME).asLong().longValue()); - - // shortcut for type - assertEquals(record.getType(), type); - assertEquals(record.getType(), record.getField(FieldDictionary.RECORD_TYPE).asString()); - assertEquals(record.getType(), record.getField(FieldDictionary.RECORD_TYPE).getRawValue()); - - -And the other fields have generic setters, getters and removers - -.. code-block:: java - - record.setStringField("url_host", "origin-www.20minutes.fr") - .setField("method", FieldType.STRING, "GET") - .setField("response_size", FieldType.INT, 452) - .setField("is_outside_office_hours", FieldType.BOOLEAN, false) - .setField("tags", FieldType.ARRAY, Arrays.asList("spam", "filter", "mail")); - - assertFalse(record.hasField("unkown_field")); - assertTrue(record.hasField("method")); - assertEquals(record.getField("method").asString(), "GET"); - assertTrue(record.getField("response_size").asInteger() - 452 == 0); - assertTrue(record.getField("is_outside_office_hours").asBoolean()); - record.removeField("is_outside_office_hours"); - assertFalse(record.hasField("is_outside_office_hours")); - -Fields are strongly typed, you can validate them - -.. code-block:: java - - Record record = new StandardRecord(); - record.setField("request_size", FieldType.INT, 1399); - assertTrue(record.isValid()); - record.setField("request_size", FieldType.INT, "zer"); - assertFalse(record.isValid()); - record.setField("request_size", FieldType.INT, 45L); - assertFalse(record.isValid()); - record.setField("request_size", FieldType.LONG, 45L); - assertTrue(record.isValid()); - record.setField("request_size", FieldType.DOUBLE, 45.5d); - assertTrue(record.isValid()); - record.setField("request_size", FieldType.DOUBLE, 45.5); - assertTrue(record.isValid()); - record.setField("request_size", FieldType.DOUBLE, 45L); - assertFalse(record.isValid()); - record.setField("request_size", FieldType.FLOAT, 45.5f); - assertTrue(record.isValid()); - record.setField("request_size", FieldType.STRING, 45L); - assertFalse(record.isValid()); - record.setField("request_size", FieldType.FLOAT, 45.5d); - assertFalse(record.isValid()); - -The tools to handle processing : Processor ------------------------------------------- - -logisland is designed as a component centric framework, so there's a layer of abstraction to build configurable components. -Basically a component can be Configurable and Configured. - -The most common component you'll use is the ``Processor`` - -Let's explain the code of a basic ``MockProcessor``, that doesn't acheive a really useful work but which is really self-explanatory -we first need to extend ``AbstractProcessor`` class (or to implement ``Processor`` interface). - -.. code-block:: java - - public class MockProcessor extends AbstractProcessor { - - private static Logger logger = LoggerFactory.getLogger(MockProcessor.class); - private static String EVENT_TYPE_NAME = "mock"; - -Then we have to define a list of supported ``PropertyDescriptor``. All theses properties and validation stuff are handled by -``Configurable`` interface. - -.. code-block:: java - - public static final PropertyDescriptor FAKE_MESSAGE - = new PropertyDescriptor.Builder() - .name("fake.message") - .description("a fake message") - .required(true) - .addValidator(StandardPropertyValidators.NON_EMPTY_VALIDATOR) - .defaultValue("yoyo") - .build(); - - @Override - public final List getSupportedPropertyDescriptors() { - final List descriptors = new ArrayList<>(); - descriptors.add(FAKE_MESSAGE); - - return Collections.unmodifiableList(descriptors); - } - - -then comes the initialization bloc of the component given a ``ComponentContext`` (more on this later) - -.. code-block:: java - - @Override - public void init(final ProcessContext context) { - logger.info("init MockProcessor"); - } - -And now the real business part with the ``process`` method which handles all the work on the record's collection. - -.. code-block:: java - - @Override - public Collection process(final ProcessContext context, final Collection collection) { - - final String message = context.getPropertyValue(FAKE_MESSAGE).asString(); - final List outputRecords = new ArrayList<>(collection); - outputRecords.forEach(record -> record.setStringField("message", message)); - - return outputRecords; - } - -The Processor can then be configured through yaml config files - -.. code-block:: yaml - - - processor: mock_processor - component: com.hurence.logisland.util.runner.MockProcessor - type: parser - documentation: a parser that produce events for nothing - configuration: - fake.message: the super message - - -Transverse service injection : ControllerService ------------------------------------------------- -we often need to share access to external Services across the Processors, -for example bulk buffers or client connections to external data sources. - - -For example a cache service that could cache K/V tuple across the worker node. -We need to provide an interface API for this service : - -.. code-block:: java - - public interface CacheService extends ControllerService { - - PropertyDescriptor CACHE_SIZE = new PropertyDescriptor.Builder() - .name("cache.size") - .description("The maximum number of element in the cache.") - .required(false) - .defaultValue("16384") - .addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR) - .build(); - - public V get(K k); - - public void set(K k, V v); - } - -And an implementation of the cache contract : - -.. code-block:: java - - public class LRUKeyValueCacheService extends AbstractControllerService implements CacheService { - - private volatile Cache cache; - - @Override - public V get(K k) { - return cache.get(k); - } - - @Override - public void set(K k, V v) { - cache.set(k, v); - } - - @Override - @OnEnabled - public void init(ControllerServiceInitializationContext context) throws InitializationException { - try { - this.cache = createCache(context); - }catch (Exception e){ - throw new InitializationException(e); - } - } - - @Override - public List getSupportedPropertyDescriptors() { - List props = new ArrayList<>(); - props.add(CACHE_SIZE); - return Collections.unmodifiableList(props); - } - - protected Cache createCache(final ControllerServiceInitializationContext context) throws IOException, InterruptedException { - final int capacity = context.getPropertyValue(CACHE_SIZE).asInteger(); - return new LRUCache(capacity); - } - } - - -You can then use this service in a custom processor : - -.. code-block:: java - - public class com.hurence.logisland.service.elasticsearch.TestProcessor extends AbstractProcessor { - - static final PropertyDescriptor CACHE_SERVICE = new PropertyDescriptor.Builder() - .name("cache.service") - .description("CacheService") - .identifiesControllerService(CacheService.class) - .required(true) - .build(); - - @Override - public boolean hasControllerService() { - return true; - } - - @Override - public List getSupportedPropertyDescriptors() { - List propDescs = new ArrayList<>(); - propDescs.add(CACHE_SERVICE); - return propDescs; - } - - @Override - public Collection process(ProcessContext context, Collection records) { - return Collections.emptyList(); - } - } - - -The injection is done through yaml config files by injecting the instance of `lru_cache` Service. - -.. code-block:: yaml - - ... - - controllerServiceConfigurations: - - - controllerService: lru_cache - component: com.hurence.logisland.service.elasticsearch.LRUKeyValueCacheService - type: service - documentation: cache service - configuration: - cache.size: 5000 - - streamConfigurations: - - stream: parsing_stream - component: com.hurence.logisland.stream.spark.KafkaRecordStreamParallelProcessing - - ... - - processorConfigurations: - - - processor: mock_processor - component: com.hurence.logisland.processor.com.hurence.logisland.service.elasticsearch.TestProcessor - type: parser - documentation: a parser that produce events for nothing - configuration: - cache.service: lru_cache - - -Chaining processors in a stream : RecordStream ----------------------------------------------- - -.. warning:: @todo - - - -Running the processor's flow : Engine -------------------------------------- - -.. warning:: @todo - - - - -Testing your processors : TestRunner ------------------------------------- - -When you have coded your processor, pretty sure you want to test it with unit test. -The framework provides you with the ``TestRunner`` tool for that. -All you need is to instantiate a Testrunner with your Processor and its properties. - -.. code-block:: java - - final String APACHE_LOG_SCHEMA = "/schemas/apache_log.avsc"; - final String APACHE_LOG = "/data/localhost_access.log"; - final String APACHE_LOG_FIELDS = - "src_ip,identd,user,record_time,http_method,http_query,http_version,http_status,bytes_out"; - final String APACHE_LOG_REGEX = - "(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+\\[([\\w:/]+\\s[+\\-]\\d{4})\\]\\s+\"(\\S+)\\s+(\\S+)\\s+(\\S+)\"\\s+(\\S+)\\s+(\\S+)"; - - final TestRunner testRunner = TestRunners.newTestRunner(new SplitText()); - testRunner.setProperty(SplitText.VALUE_REGEX, APACHE_LOG_REGEX); - testRunner.setProperty(SplitText.VALUE_FIELDS, APACHE_LOG_FIELDS); - - // check if config is valid - testRunner.assertValid(); - -Now enqueue some messages as if they were sent to input Kafka topics - -.. code-block:: java - - testRunner.clearQueues(); - testRunner.enqueue(SplitTextTest.class.getResourceAsStream(APACHE_LOG)); - -Now run the process method and check that every ``Record`` has been correctly processed. - -.. code-block:: java - - testRunner.run(); - testRunner.assertAllInputRecordsProcessed(); - testRunner.assertOutputRecordsCount(200); - testRunner.assertOutputErrorCount(0); - -You can validate that all output records are validated against an avro schema - -.. code-block:: java - - final RecordValidator avroValidator = new AvroRecordValidator(SplitTextTest.class.getResourceAsStream - testRunner.assertAllRecords(avroValidator); - - -And check if your output records behave as expected. - -.. code-block:: java - - MockRecord out = testRunner.getOutputRecords().get(0); - out.assertFieldExists("src_ip"); - out.assertFieldNotExists("src_ip2"); - out.assertFieldEquals("src_ip", "10.3.10.134"); - out.assertRecordSizeEquals(9); - out.assertFieldEquals(FieldDictionary.RECORD_TYPE, "apache_log"); - out.assertFieldEquals(FieldDictionary.RECORD_TIME, 1469342728000L); diff --git a/logisland-documentation/architecture.rst b/logisland-documentation/architecture.rst deleted file mode 100644 index 0f7353788..000000000 --- a/logisland-documentation/architecture.rst +++ /dev/null @@ -1,33 +0,0 @@ - -Architecture -============ - -Is there something clever out there ? - -Most of the systems in this data world can be observables through their **events**. -You just have to look at the `event sourcing pattern `_ to get an idea of how we could define any system state as a sequence of temporal events. The main source of events are the **logs** files, application logs, transaction logs, sensor data, etc. - -Large and complex systems, made of number of heterogeneous components are not easy to monitor, especially when have to deal with distributed computing. Most of the time of IT resources is spent in maintenance tasks, so there's a real need for tools to help achieving them. - -.. note:: - Basicaly LogIsland will help us to handle system events from log files. - -Data driven architecture ------------------------- - -.. image:: /_static/data-driven-computing.png - - -Technical design ----------------- - -LogIsland is an event processing framework based on Kafka and Spark. The main goal of this Open Source platform is to -abstract the level of complexity of complex event processing at scale. Of course many people start with an ELK stack, -which is really great but not enough to elaborate a really complete system monitoring tool. -So with LogIsland, you'll move the log processing burden to a powerful distributed stack. - -Kafka acts a the distributed message queue middleware while Spark is the core of the distributed processing. -LogIsland glue those technologies to simplify log complex event processing at scale. - - -.. image:: /_static/logisland-workflow.png diff --git a/logisland-documentation/concepts.rst b/logisland-documentation/concepts.rst deleted file mode 100644 index 8203ddea6..000000000 --- a/logisland-documentation/concepts.rst +++ /dev/null @@ -1,51 +0,0 @@ - -Core concepts -============= - -The main goal of LogIsland framework is to provide tools to automatically extract valuable knowledge from historical log data. To do so we need two different kind of processing over our technical stack : - -1. Grab events from logs -2. Perform Event Pattern Mining (EPM) - -What we know about ``Log``/``Event`` properties : - -- they're naturally temporal -- they carry a global type (user request, error, operation, system failure...) -- they're semi-structured -- they're produced by software, so we can deduce some templates from them -- some of them are correlated -- some of them are frequent (or rare) -- some of them are monotonic -- some of them are of great interest for system operators - -What is a pattern ? -------------------- -Patterns, actually are a set of items subsequences or substructures that occur frequently together in a data set we call this strongly correlated. -Patterns usually represent intrinsic and important properties of data. - - - -From raw to structure ---------------------- - -The first part of the process is to extract semantics from semi-structured data such as logs. -The main objective of this phase is to introduce a canonical semantics in log data that we will call ``Event`` which will be easier for us to process with data mining algorithm - - -- log parser -- log classification/clustering -- event generation -- event summarization - -Event pattern mining --------------------- - -Once we have a cannonical semantic in the form of events we can perform time window processing over our events set. All the algorithms we can run on it will help us to find some of the following properties : - -- sequential patterns -- events burst -- frequent pattern -- rare event -- highly correlated events -- correlation between time series & events - diff --git a/logisland-documentation/connectors.rst b/logisland-documentation/connectors.rst deleted file mode 100644 index fc3b58e77..000000000 --- a/logisland-documentation/connectors.rst +++ /dev/null @@ -1,190 +0,0 @@ - -Connectors -========== - -In this chapter we will present you how to integrate kafka connect connectors into logisland. - -.. contents:: Table of Contents - - -Introduction ------------- - -Logisland features the integration between `kafka connect `_ world and the spark structured streaming engine. - -In order to seamlessy integrate both world, we just wrapped out the kafka connectors interfaces (unplugging them from kafka) and let the run in a logisland spark managed container. Hence the name *"Logisland Connect"* :-) - - -This allows you to leverage the existing kafka connectors library to import data into a logisland pipeline without having the need to make use of any another middleware or ETL system. - -Prerequisites -------------- - -You can use this functionality only with a spark engine >= 2.1.x - -Getting started ---------------- - -In order to use a kafka connect source or sink you have to package and install the required libraries to the logisland lib folder. - -Hopefully it can be easily done by using the *components.sh* tool. - - -.. code-block:: sh - - bin/components.sh -i - - -The plugin artifact should be provided according this format: *groupId:artifactId:version* where groupId, artifactId and version refer to the maven artifact you're going to install. - -Some examples, with the suggested artifacts to use, in the following table: - -+--------------------------+-------------------------+--------------------------------------------------------+------------------------------------------------------------------------+ -| Connector | URL | Artifact | -+==========================+=========================+========================================================+========================================================================+ -| Simulator | https://github.com/jcustenborder/kafka-connect-simulator | com.github.jcustenborder.kafka.connect:kafka-connect-simulator:0.1.118 | -+--------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------------------+ -| OPC-DA / OPC-UA (IIoT) | https://github.com/Hurence/logisland | com.hurence.logisland:logisland-connector-opc: | -+--------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------------------+ -| FTP | https://github.com/Eneco/kafka-connect-ftp | com.eneco:kafka-connect-ftp:0.1.4 | -+--------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------------------+ -| Blockchain | https://github.com/Landoop/stream-reactor/tree/master/kafka-connect-blockchain | com.datamountaineer:kafka-connect-blockchain:1.1.2 | -+--------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------------------+ -| JMS | https://github.com/Landoop/stream-reactor/tree/master/kafka-connect-jms | com.datamountaineer:kafka-connect-jms:1.1.2 | -+--------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------------------+ -| JDBC | https://docs.confluent.io/current/connect/connect-jdbc/docs/index.html | io.confluent:kafka-connect-jdbc:5.0.0 | -+--------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------------------+ - - - -Configuring ------------ - -Once you have bundled the connectors you need, you are now ready to use them. - -Let's do it step by step. - -First of all we need to declare a *KafkaConnectStructuredSourceProviderService* or a *KafkaConnectStructuredSinkProviderService* that will manage our connector in Logisland. -Along with this we need to put some configuration (In general you can always refer to kafka connect documentation to better understand the underlying architecture and how to configure a connector): - - -+-------------------------------------------------+----------------------------------------------------------+ -| Property | Description | -+=================================================+==========================================================+ -| kc.connector.class | The class of the connector (Fully qualified name) | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.data.key.converter | The class of the converter to be used for the key. | -| | Please refer to `Choosing the right converter`_ section | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.data.key.converter.properties | The properties to be provided to the key converter | -| | | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.data.value.converter | The class of the converter to be used for the value. | -| | Please refer to `Choosing the right converter`_ section | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.data.value.converter.properties | The properties to be provided to the value converter | -| | | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.connector.properties | The properties to be provided to the connector and | -| | specific to the connector itself. | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.worker.tasks.max | How many concurrent threads to spawn for a connector | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.connector.offset.backing.store | The offset backing store to use. Choose among: | -| | | -| | * **memory** : standalone in memory | -| | * **file** : standalone file based. | -| | * **kafka** : distributed kafka topic based | -| | | -| | | -+-------------------------------------------------+----------------------------------------------------------+ -| kc.connector.offset.backing.store.properties | Specific properties to configure the chosen backing | -| | store. | -+-------------------------------------------------+----------------------------------------------------------+ - -.. note:: Please refer to `Kafka connect guide `_ for further information about offset backing store and how to configure them. - - -Choosing the right converter ----------------------------- - -Choosing the right converter is perhaps one of the most important part. In fact we're going to adapt what is coming from kafka connect to what is flowing into our logisland pipeline. -This means that we have to know how the source is managing its data. - -In order to simplify your choice, we recommend you to follow this simple approach (the same applies for both keys and values): - - -+----------------------------+-----------------------------------+-----------------------------------+ -| Source data | Kafka Converter | Logisland Encoder | -+============================+===================================+===================================+ -| String | StringConverter | StringEncoder | -+----------------------------+-----------------------------------+-----------------------------------+ -| Raw Bytes | ByteArrayConverter | BytesArraySerialiser | -+----------------------------+-----------------------------------+-----------------------------------+ -| Structured | LogIslandRecordConverter | The serializer used by the record | -| | | converter (*) | -+----------------------------+-----------------------------------+-----------------------------------+ - - -.. note:: - (*)In case you deal with structured data, the LogIslandRecordConverter will embed the structured object in a logisland record. In order to do this you have to specify the serializer to be used to convert your data (the serializer property **record.serializer**). Generally the *KryoSerialiser* is a good choice to start with. - - - -Putting all together --------------------- - -In the previous two sections we explained how to configure a connector and how to choose the right serializer for it. - -The recap we can examine the following configuration example: - - -.. code-block:: yaml - - # Our source service - - controllerService: kc_source_service - component: com.hurence.logisland.stream.spark.provider.KafkaConnectStructuredSourceProviderService - documentation: A kafka source connector provider reading from its own source and providing structured streaming to the underlying layer - configuration: - # We will use the logisland record converter for both key and value - kc.data.value.converter: com.hurence.logisland.connect.converter.LogIslandRecordConverter - # Use kryo to serialize the inner data - kc.data.value.converter.properties: | - record.serializer=com.hurence.logisland.serializer.KryoSerializer - kc.data.key.converter: com.hurence.logisland.connect.converter.LogIslandRecordConverter - # Use kryo to serialize the inner data - kc.data.key.converter.properties: | - record.serializer=com.hurence.logisland.serializer.KryoSerializer - # Only one task to handle source input (unique) - kc.worker.tasks.max: 1 - # The kafka source connector to wrap (here we're using a simulator source) - kc.connector.class: com.github.jcustenborder.kafka.connect.simulator.SimulatorSourceConnector - # The properties for the connector (as per connector documentation) - kc.connector.properties: | - key.schema.fields=email - topic=simulator - value.schema.fields=email,firstName,middleName,lastName,telephoneNumber,dateOfBirth - # We are using a standalone source for testing. We can store processed offsets in memory - kc.connector.offset.backing.store: memory - - - - -In the example both key and value provided by the connector are structured objects. - -For this reason we use for that the converter *LogIslandRecordConverter*. -We provide the serializer to be used for both key and value converter specifying - -.. code-block:: yaml - - record.serializer=com.hurence.logisland.serializer.KryoSerializer - -among the related converter properties. - -Going further -------------- - - -Please do not hesitate to take a look to our kafka connect tutorials for more details and practical use cases. - - diff --git a/logisland-documentation/faq.rst b/logisland-documentation/faq.rst deleted file mode 100644 index 7bad2a575..000000000 --- a/logisland-documentation/faq.rst +++ /dev/null @@ -1,160 +0,0 @@ - -Frequently Asked Questions. -=========================== - - -I already use ELK, why would I need to use LogIsland ? ------------------------------------------------------- -Well, at first one could say that that both stacks are overlapping, -but the real purpose of the LogIsland framework is the abstraction of scalability of log aggregation. - -In fact if you already have an ELK stack you'll likely want to make it scale (without pain) in both volume and features ways. -LogIsland will be used for this purpose as an EOM (Event Oriented Middleware) based on Kafka & Spark, where you can plug advanced features -with ease. - -So you just have to route your logs from the Logstash (or Flume, or Collectd, ...) agents to Kafka topics and launch parsers and processors. - - -Do I need Hadoop to play with LogIsland ? ------------------------------------------ - -No, if your goal is simply to aggregate a massive amount of logs in an Elasticsearch cluster, -and to define complex event processing rules to generate new events you definitely don't need an Hadoop cluster. - -Kafka topics can be used as an high throughput log buffer for sliding-windows event processing. -But if you need advanced batch analytics, it's really easy to dump your logs into an hadoop cluster to build machine learning models. - - -How do I make it scale ? ------------------------- -LogIsland is made for scalability, it relies on Spark and Kafka which are both scalable by essence, to scale LogIsland just have to add more kafka brokers and more Spark slaves. -This is the *manual* way, but we've planned in further releases to provide auto-scaling either Docker Swarn support or Mesos Marathon. - - -What's the difference between Apache NIFI and LogIsland ? ---------------------------------------------------------- -Apache NIFI is a powerful ETL very well suited to process incoming data such as logs file, process & enrich them and send them out to any datastore. -You can do that as well with LogIsland but LogIsland is an event oriented framework designed to process huge amount of events in a Complex Event Processing -manner not a Single Event Processing as NIFI does. **LogIsland** is not an ETL or a DataFlow, the main goal is to extract information from realtime data. - -Anyway you can use Apache NIFI to process your logs and send them to Kafka in order to be processed by LogIsland - - -Error : realpath not found --------------------------- - -If you don't have the ``realpath`` command on you system you may need to install it:: - - brew install coreutils - sudo apt-get install coreutils - -How to deploy LogIsland as a Single node Docker container ----------------------------------------------------------- -The easy way : you start a small Docker container with all you need inside (Elasticsearch, Kibana, Kafka, Spark, LogIsland + some usefull tools) - -`Docker `_ is becoming an unavoidable tool to isolate a complex service component. It's easy to manage, deploy and maintain. That's why you can start right away to play with LogIsland through the Docker image provided from `Docker HUB `_ - -.. code-block:: sh - - # Get the LogIsland image - docker pull hurence/logisland - - # Run the container - docker run \ - -it \ - -p 80:80 \ - -p 9200-9300:9200-9300 \ - -p 5601:5601 \ - -p 2181:2181 \ - -p 9092:9092 \ - -p 9000:9000 \ - -p 4050-4060:4050-4060 \ - --name logisland \ - -h sandbox \ - hurence/logisland:latest bash - - # Connect a shell to your LogIsland container - docker exec -ti logisland bash - - -How to deploy LogIsland in an Hadoop cluster ? ----------------------------------------------- -When it comes to scale, you'll need a cluster. **logisland** is just a framework that facilitates running sparks jobs over Kafka topics so if you already have a cluster you just have to get the latest logisland binaries and unzip them to a edge node of your hadoop cluster. - -For now Log-Island is fully compatible with HDP 2.4 but it should work well on any cluster running Kafka and Spark. -Get the latest release and build the package. - -You can download the `latest release build `_ - -.. code-block:: bash - - git clone git@github.com:Hurence/logisland.git - cd logisland-0.9.5 - mvn clean install -DskipTests - -This will produce a ``logisland-assembly/target/logisland-0.9.5-bin.tar.gz`` file that you can untar into any folder of your choice in a edge node of your cluster. - - - -Please read this excellent article on spark long running job setup : `http://mkuthan.github.io/blog/2016/09/30/spark-streaming-on-yarn/ `_ - - -How can I configure Kafka to avoid irrecoverable exceptions ? -------------------------------------------------------------- -If the message must be reliable published on Kafka cluster, Kafka producer and Kafka cluster needs to be configured with care. It needs to be done independently of chosen streaming framework. - -Kafka producer buffers messages in memory before sending. When our memory buffer is exhausted, Kafka producer must either stop accepting new records (block) or throw errors. By default Kafka producer blocks and this behavior is legitimate for stream processing. The processing should be delayed if Kafka producer memory buffer is full and could not accept new messages. Ensure that block.on.buffer.full Kafka producer configuration property is set. - -With default configuration, when Kafka broker (leader of the partition) receive the message, store the message in memory and immediately send acknowledgment to Kafka producer. To avoid data loss the message should be replicated to at least one replica (follower). Only when the follower acknowledges the leader, the leader acknowledges the producer. - -This guarantee you will get with ack=all property in Kafka producer configuration. This guarantees that the record will not be lost as long as at least one in-sync replica remains alive. - -But this is not enough. The minimum number of replicas in-sync must be defined. You should configure min.insync.replicas property for every topic. I recommend to configure at least 2 in-sync replicas (leader and one follower). If you have datacenter with two zones, I also recommend to keep leader in the first zone and 2 followers in the second zone. This configuration guarantees that every message will be stored in both zones. - -We are almost done with Kafka cluster configuration. When you set min.insync.replicas=2 property, the topic should be replicated with factor 2 + N. Where N is the number of brokers which could fail, and Kafka producer will still be able to publish messages to the cluster. I recommend to configure replication factor 3 for the topic (or more). - -With replication factor 3, the number of brokers in the cluster should be at least 3 + M. When one or more brokers are unavailable, you will get underreplicated partitions state of the topics. With more brokers in the cluster than replication factor, you can reassign underreplicated partitions and achieve fully replicated cluster again. I recommend to build the 4 nodes cluster at least for topics with replication factor 3. - -The last important Kafka cluster configuration property is unclean.leader.election.enable. It should be disabled (by default it is enabled) to avoid unrecoverable exceptions from Kafka consumer. Consider the situation when the latest committed offset is N, but after leader failure, the latest offset on the new leader is M < N. M < N because the new leader was elected from the lagging follower (not in-sync replica). When the streaming engine ask for data from offset N using Kafka consumer, it will get an exception because the offset N does not exist yet. Someone will have to fix offsets manually. - -So the minimal recommended Kafka setup for reliable message processing is: - -.. code-block:: bash - - 4 nodes in the cluster - unclean.leader.election.enable=false in the brokers configuration - replication factor for the topics – 3 - min.insync.replicas=2 property in topic configuration - ack=all property in the producer configuration - block.on.buffer.full=true property in the producer configuration - -With the above setup your configuration should be resistant to single broker failure, and Kafka consumers will survive new leader election. - -You could also take look at replica.lag.max.messages and replica.lag.time.max.ms properties for tuning when the follower is removed from ISR by the leader. But this is out of this blog post scope. - - - -How to purge a Kafka queue ? ----------------------------- -Temporarily update the retention time on the topic to one second: - -.. code-block:: bash - - kafka-topics.sh --zookeeper localhost:13003 --alter --topic MyTopic --config retention.ms=1000 - -then wait for the purge to take effect (about one minute). Once purged, restore the previous retention.ms value. - - -You can also try to delete the topic : - -add one line to server.properties file under config folder: - -.. code-block:: bash - - delete.topic.enable=true - -then, you can run this command: - -.. code-block:: bash - - bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test diff --git a/logisland-documentation/index.rst b/logisland-documentation/index.rst index 7541ac0c4..1dc11876b 100644 --- a/logisland-documentation/index.rst +++ b/logisland-documentation/index.rst @@ -22,18 +22,11 @@ Contents: .. toctree:: :maxdepth: 2 - intro - concepts - architecture user/index developer/index plugins - connectors tutorials/index - api - rest-api changes - faq Indices and tables ------------------ diff --git a/logisland-documentation/intro.rst b/logisland-documentation/intro.rst deleted file mode 100644 index bbc1a1a0d..000000000 --- a/logisland-documentation/intro.rst +++ /dev/null @@ -1,8 +0,0 @@ -Introduction -============ - -you can find a quick presentation below : - -.. raw:: html - - diff --git a/logisland-documentation/monitoring.rst b/logisland-documentation/monitoring.rst deleted file mode 100644 index 2cbd28e62..000000000 --- a/logisland-documentation/monitoring.rst +++ /dev/null @@ -1,357 +0,0 @@ - -Monitoring Guide -================ - -This document summarizes information relevant to LogIsland monitoring. - - -Concepts & architecture ------------------------ - -LogIsland monitoring is based on the couple prometheus/grafana. Prometheus is used to store all metrics coming from all monitored services by polling those services at a regular interval. - -The setup is split into 2 parts, one is for metrics instrumentation (system, kafka, zookeeper, hbase) on each node of the cluster and the other is for the configuration of the docker monitoring components. - - -Metrics in prometheus -+++++++++++++++++++++ - -https://prometheus.io/ - -Prometheus fundamentally stores all data as time series: streams of timestamped values belonging to the same metric and the same set of labeled dimensions. Besides stored time series, Prometheus may generate temporary derived time series as the result of queries. Every time series is uniquely identified by its metric name and a set of key-value pairs, also known as labels. - -The metric name specifies the general feature of a system that is measured (e.g. http_requests_total - the total number of HTTP requests received). It may contain ASCII letters and digits, as well as underscores and colons. It must match the regex [a-zA-Z_:][a-zA-Z0-9_:]*. Labels enable Prometheus's dimensional data model: any given combination of labels for the same metric name identifies a particular dimensional instantiation of that metric (for example: all HTTP requests that used the method POST to the /api/tracks handler). The query language allows filtering and aggregation based on these dimensions. Changing any label value, including adding or removing a label, will create a new time series. - -- https://prometheus.io/docs/querying/basics/ -- https://prometheus.io/docs/querying/operators/ -- https://prometheus.io/docs/querying/functions/ - - -Dashboarding with Grafana -+++++++++++++++++++++++++ - -https://grafana.com/grafana - -Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. It is used to graph the prometheus metrics. - - -- http://docs.grafana.org/guides/getting_started/ -- http://docs.grafana.org/guides/basic_concepts/ - - -Step 1 : Cluster setup ----------------------- - -The following commands should be launched on each node of your cluster handling LogIsland infrastructure services. - - - -System metrics with Node Exporter -+++++++++++++++++++++++++++++++++ - - -https://github.com/prometheus/node_exporter - -On each hardware node which runs a LogIsland related service (Zookeeper, Kafka, HBase, Yarn) we want to grab system metrics. Prometheus was developed for the purpose of monitoring web services. In order to monitor the metrics of your linux server, you should install a tool called Node Exporter. Node Exporter, as its name suggests, exports lots of metrics (such as disk I/O statistics, CPU load, memory usage, network statistics, and more) in a format Prometheus understands. - -Node exporter can be either installed manually or launched as a Docker container : - -Manual mode : -############# - -.. code-block:: sh - - # download the latest build of Node Exporter - cd /opt - wget https://github.com/prometheus/node_exporter/releases/download/1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz -O /tmp/node_exporter-1.1.2.linux-amd64.tar.gz - sudo tar -xvzf /tmp/node_exporter-1.1.2.linux-amd64.tar.gz - - # Create a soft link to the node_exporter binary in /usr/bin. - sudo ln -s /opt/node_exporter /usr/bin - - # Use nano or your favorite text editor to create an Upstart configuration file called node_exporter.conf. - - sudo vim /etc/init/node_exporter.conf - -This file should contain the link to the node_exporter executable, and also specify when the executable should be started. Accordingly, add the following code: - - -.. code-block:: sh - - # Run node_exporter - start on startup - - script - /usr/bin/node_exporter - end script - - -At this point, Node Exporter is available as a service which can be started using the service command: - -.. code-block:: sh - - sudo service node_exporter start - -Docker mode : -############# - -Node exporter can also be launched as a docker container : - - docker run -d -p 9100:9100 -v "/proc:/host/proc" -v "/sys:/host/sys" -v "/:/rootfs" --net="host" prom/node-exporter -collector.procfs /host/proc -collector.sysfs /host/proc -collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)" - -Display the metrics : -##################### - -After Node Exporter starts, use a browser to view its web interface available at `http://your_server_ip:9100/metrics `_ You should see a page with some metrics. - - -Zookeeper instrumentation -+++++++++++++++++++++++++ - -We will use the jmx_prometheus_javaagent tool to publish zookeeper metrics on a given port ($ZK_JMX_PORT here). Prometheus will then scrap the metrics here. - -Install files -############# - -- First download the `jmx_prometheus_javaagent-0.10.jar `_ jar file and copy it on every node of the cluster (for example in /opt/jmx/ folder) : - wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.10/jmx_prometheus_javaagent-0.10.jar - -- Then copy the file jmx_zookeeper.yml on every zookeeper node in the cluster (for example in /opt/jmx/ folder) - -Set appropriate flags -##################### - -Zookeeper must be launched with the following flags - - -javaagent:/opt/jmx/jmx_prometheus_javaagent-0.10.jar=$ZK_JMX_PORT:/opt/jmx/jmx_zookeeper.yml -Dcom.sun.management.jmxremote - -These flags can be set in two different ways : - -- They can be added in the zookeeper file zkServer.sh using the following command (please make sure to backup the original zkServer.sh file before) : - - sudo sed -i 's|-Dcom.sun.management.jmxremote |-javaagent:/opt/jmx/jmx_prometheus_javaagent-0.10.jar=$ZK_JMX_PORT:/opt/jmx/jmx_zookeeper.yml -Dcom.sun.management.jmxremote |g' zkServer.sh - -- If you are using Ambari, you can enrich the ZOOMAIN environment variable in "zookeeper-env template" section as below : - - export ZOOMAIN="-javaagent:/opt/jmx/jmx_prometheus_javaagent-0.10.jar=$ZK_JMX_PORT:/opt/jmx/jmx_zookeeper.yml ${ZOOMAIN}" - -Restart services and check metrics -################################## - -Restart zookeeper services. -The metrics should be available for each node and reached via :$ZK_JMX_PORT/metrics - -Kafka instrumentation -+++++++++++++++++++++ - -We will use the jmx_prometheus_javaagent tool to publish kafka metrics on a given port ($KAFKA_JMX_PORT here). Prometheus will then scrap the metrics here. - -Install files -############# - -- First download the `jmx_prometheus_javaagent-0.10.jar `_ jar file and copy it on every node of the cluster if not already done in a previous step (for example in /opt/jmx/ folder) : - wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.10/jmx_prometheus_javaagent-0.10.jar - -- Then copy the file jmx_kafka.yml on every kafka node in the cluster (for example in /opt/jmx/ folder) - -Set appropriate flags -##################### - -In Ambari, enrich the KAFKA_OPTS environment variable in "kafka-env template" section as below : - - export KAFKA_OPTS=" -javaagent:/opt/jmx/jmx_prometheus_javaagent-0.10.jar=$KAFKA_JMX_PORT:/opt/jmx/jmx_kafka.yml " - - -Restart services and check metrics -################################## - -Restart kafka services. -The metrics should be available for each node and reached via :$KAFKA_JMX_PORT/metrics - - -Spark instrumentation -+++++++++++++++++++++ - -Spark has a configurable metrics system based on the Dropwizard Metrics Library. This allows users to report Spark metrics to a variety of sinks including HTTP, JMX, and CSV files. The metrics system is configured via a configuration file that Spark expects to be present at $SPARK_HOME/conf/metrics.properties. -A custom file location can be specified via the spark.metrics.conf configuration property. By default, the root namespace used for driver or executor metrics is the value of spark.app.id. However, often times, users want to be able to track the metrics across apps for driver and executors, which is hard to do with application ID (i.e. spark.app.id) since it changes with every invocation of the app. For such use cases, a custom namespace can be specified for metrics reporting using spark.metrics.namespace configuration property. -If, say, users wanted to set the metrics namespace to the name of the application, they can set the spark.metrics.namespace property to a value like ${spark.app.name}. This value is then expanded appropriately by Spark and is used as the root namespace of the metrics system. Non driver and executor metrics are never prefixed with spark.app.id, nor does the spark.metrics.namespace property have any such affect on such metrics. - -Spark’s metrics are decoupled into different instances corresponding to Spark components. Within each instance, you can configure a set of sinks to which metrics are reported. The following instances are currently supported: - -- master: The Spark standalone master process. -- applications: A component within the master which reports on various applications. -- worker: A Spark standalone worker process. -- executor: A Spark executor. -- driver: The Spark driver process (the process in which your SparkContext is created). -- shuffleService: The Spark shuffle service. -- logisland: all the LogIsland processing - - - - -ENABLE SPARK METRICS REPORT TO JMX ----------------------------------- -Spark has a configurable metrics system. By default, it doesn’t expose its metrics, but only through the web UI, as mentioned above. To enable exposing metrics as JMX MBeans, you should edit `$SPARK_HOME/conf/metrics.properties` file. - -Add (or uncomment) the row: - -metrics.properties - -*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink - - - -.. code-block:: sh - - *.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink - master.source.jvm.class=org.apache.spark.metrics.source.JvmSource - worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource - driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource - executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource - - - - -Step 2: Monitoring console setup --------------------------------- - -The second part deals with the monitoring tools in the docker compose. Theses software shall be installed in an autonomous VM or linux host, able to access the cluster nodes like a edge node. - -All the binaries can be found in th `$LOGISLAND_HOME/monitoring` folder. So get the latest release, extract it on your edge node and `install Docker & docker-compose `_ on the edge node (the one that will run the docker compose monitoring stack : prometheus/grafana) as well. - -Services ports list -+++++++++++++++++++ - -Here is a list of arbitrary ports for prometheus data scrapping. -there are many web services by host so that can a good idea to carefully note every port number for each of them and to keep the same ports on each host. - -- prometheus : 9090 -- grafana : 3000 -- elasticsearch-exporter : 9108 -- burrow : 7074 -- burrow-exporter : 7075 -- kafka-broker : 7071 -- zookeeper : 7073 -- node-exporter : 9100 - - -Elasticsearch exporter -++++++++++++++++++++++ - -https://github.com/justwatchcom/elasticsearch_exporter - -this tool is used to get metrics from elasticsearch nodes through the REST api and to serve them in the prometheus format - -make sure to edit the `$LOGISLAND_HOME/monitoring/.env` file with the correct ES_HOST and ES_PORT values. - -Burrow -++++++ - -Burrow is a monitoring companion for Apache Kafka that provides consumer lag checking as a service without the need for specifying thresholds. It monitors committed offsets for all consumers and calculates the status of those consumers on demand. An HTTP endpoint is provided to request status on demand, as well as provide other Kafka cluster information. There are also configurable notifiers that can send status out via email or HTTP calls to another service. - -https://github.com/linkedin/Burrow - -additionnal configuration can be set in `$LOGISLAND_HOME/monitoring/burrow/conf/burrow.cfg` but you can leave the default - - -Configure Prometheus -++++++++++++++++++++ - -edit `$LOGISLAND_HOME/monitoring/prometheus/conf/prometheus.yml` with the following (according to the previous port number list) - - -.. code-block:: yaml - - global: - scrape_interval: 10s - evaluation_interval: 10s - scrape_configs: - - job_name: 'kafka' - static_configs: - - targets: - - KAFKA_BROKER1:7071 - - KAFKA_BROKER2:7071 - - job_name: 'elasticsearch' - static_configs: - - targets: - - ELASTICSEARCH_EXPORTER:9108 - - job_name: 'zookeeper' - static_configs: - - targets: - - ZK_NODE1:7072 - - ZK_NODE2:7072 - - ZK_NODE3:7072 - - job_name: 'burrow' - static_configs: - - targets: - - BURROW:7075 - - job_name: 'logisland' - static_configs: - - targets: - - LOGISLAND_APP1:7076 - - job_name: 'system' - static_configs: - - targets: - - LOGISLAND_APP1:9100 - - -Launch Docker console -+++++++++++++++++++++ - -Start Docker-compose -#################### - -Launch all the tools tools (prometheus, burrow, es-exporter, grafana) are packaged into a docker composite bundle. - - cd $LOGISLAND_HOME/monitoring - docker-compose up -d - -Display the metrics in Prometheus -################################# - -Once all the containers have started, use a browser to view metrics displayed in Prometheus web interface `http://prometheus_host:9090/graph `_ . - - -Grafana -+++++++ - -Run Grafana as a Docker container -################################# - -Grafana can be run as a Docker container (admin password needs to be chosen): - -docker run -d -p 3000:3000 -e "GF_SECURITY_ADMIN_PASSWORD=admin_password" -v ~/grafana_db:/var/lib/grafana grafana/grafana - -Add Prometheus Datasource -######################### - -Go to the Grafana `login page `_ to login with *admin/admin_password* (feel free to change that). - -1. Click on add data source named **logisland_prometheus** of type **Prometheus** with url **http://localhost:9090** and **direct** access. -2. Go to "Dashboards > Import" and import all the json dashboards you'll find under `$LOGISLAND_HOME/monitoring/grafana` - -Metrics and alerts ------------------- - -Elasticsearch alerts -++++++++++++++++++++ - -.. code-block:: - - # calculate filesytem used and free percent - elasticsearch_filesystem_data_used_percent = 100 * (elasticsearch_filesystem_data_size_bytes - elasticsearch_filesystem_data_free_bytes) / elasticsearch_filesystem_data_size_bytes - elasticsearch_filesystem_data_free_percent = 100 - elasticsearch_filesystem_data_used_percent - - # alert if too few nodes are running - ALERT ElasticsearchTooFewNodesRunning - IF elasticsearch_cluster_health_number_of_node < 3 - FOR 5m - LABELS {severity="critical"} - ANNOTATIONS {description="There are only {{$value}} < 3 ElasticSearch nodes running", summary="ElasticSearch running on less than 3 nodes"} - - # alert if heap usage is over 90% - ALERT ElasticsearchHeapTooHigh - IF elasticsearch_jvm_memory_used_bytes{area="heap"} / elasticsearch_jvm_memory_max_bytes{area="heap"} > 0.9 - FOR 15m - LABELS {severity="critical"} - ANNOTATIONS {description="The heap usage is over 90% for 15m", summary="ElasticSearch node {{$labels.node}} heap usage is high"} diff --git a/logisland-documentation/overview-slides.md b/logisland-documentation/overview-slides.md deleted file mode 100644 index ba8dcd113..000000000 --- a/logisland-documentation/overview-slides.md +++ /dev/null @@ -1,684 +0,0 @@ - - -# [fit] Logisland -## [fit] _**Event mining at scale**_ -### Thomas Bailet @hurence [2018] - - - ---- - -## [fit] Overview - ---- -# [fit] Logisland -## [fit] provides a stream analytics solution -## [fit] that can handle all enterprise-scale -## [fit] event data and processing - ---- - -# Big picture - -- **Open source**, developed by Hurence -- **High scalability** and **Fault-tolerant**. -- **High throughput** (billions messages / day). -- **Easy** to operate on Hadoop or on lightweight containers -- **Extensible framework** to build high level apps -- Alternative to Splunk, StreamAnalytix, Nifi... - - ---- - -# Adoption - -- **La Française des Jeux** : cybersecu -- **SEB** : (I)IOT -- **Coservit** : IT monitoring / smart alerting -- **IPH (Rubix, Orexad, ...)** : web analytics -- **ST microelectronics** : smart alerting -- **Sodexo** : time-series forecasting -- **IFPEN** : data historian -- **lyreco** : realtime commands capture - ---- - -# Purpose - -- realtime data-mining -- complex event processing -- patterns finding -- reframing / normalizing / contextualizing -- click stream tracking -- data historian - ---- - -![inline](_static/data-driven-computing.png) - ---- - -# Why ? - -- stream processing design pattern (best pratices and code reuse). -- tried most of the concurrent frameworks. -- need something that really scales. -- powerfull log-centric architecture - ---- - -# Stream Processing Patterns - -- service injection -- classloading isolation -- metrics collection -- dynamic configuration - ---- -# Concurrence - -- **Beam/Flink** one of the best challenger before StructuredStreaming. -- **ELK** is great to start, but hard to centralize processing, lacks of offline ML & custom advanced analytics. -- **Splunk** is fantastic but clients are not rich enough to afford it ;) -- **NIFI** is a great tool but doesn't play well with distributed processing. -- **Metron**, **Eagle** are too security centric. - - ---- - -# Features - -- out-of-the-box processors (no code required) -- raw data to structured records conversion -- connectors (Oracle, Tibco, Hadoop, Cassandra, Mongo, OPC, SOLR, blockchain, MQTT ...) -- complex event processing, threshold based query matching -- realtime configuration update -- advanced self-monitoring - ---- - -# Features (advanced) - -- high level extensible framework. -- stream governance with schema management. -- SQL aggregations. -- Time series sampling & forecasting. -- Outliers detection. -- Plugins management -- Machine & Deep Learning integration - - ---- - -## [fit] Paradigm - ---- - -![right fit](_static/data-pyramid-mccandless.png) - -## [fit] Logisland continously transforms -## [fit] data into information & -## [fit] information into knowledge -## [fit] by using asynchronous processing on -## [fit] increasingly abstract -## [fit] and meaningfull records. - - ---- - -# Use cases - -- **IT Monitoring** : data centralization & smart alerting -- **Event processing** : multi-layer processing, enriching, custom Business Rules activation, anomaly detection, usage profiling -- **Click stream tracking** : web analytics and sessionization. -- **Security** : cybersecurity, intrusion & fraud detection. -- **IoT** : alerting, forcasting and M2M communication. - - ---- - -# La française des jeux sample - -Example of one production cluster - -- 5 brokers -- 2000 partitions (replication factor 3) -- 100 000 msg/s - - ---- - - -## [fit] Design ---- - -![fit](_static/logisland-architecture.png) - ---- -# Log-centric architecture - -![inline](_static/logcentric.png) - - ---- - -# Grid computing - -![inline](_static/spark-architecture.png) - - ---- - -# Micro-batch processing - -![inline](_static/spark-streaming.png) - ---- - -# OPC UA compliance (HDA) - -![inline](_static/logisland-opc.png) - - - ---- - -## [fit] API - - ---- - -## [fit] Record -## [fit] a basic unit of processing ---- - -# Record - -The basic unit of processing is the Record. -A ``Record`` is a collection of ``Field``, while a ``Field`` has a ``name``, a ``type`` and a ``value``. - - String id = "firewall_record1"; - String type = "cisco"; - Record record = new Record(type).setId(id); - - assertTrue(record.isEmpty()); - assertEquals(record.size(), 0); - ---- - -A record is defined by its type and a collection of fields. -There are three special fields: - - - // shortcut for id - assertEquals(record.getId(), id); - assertEquals(record.getField(FieldDictionary.RECORD_ID).asString(), id); - - // shortcut for time - assertEquals(record.getTime().getTime(), - record.getField(FieldDictionary.RECORD_TIME).asLong().longValue()); - - // shortcut for type - assertEquals(record.getType(), type); - ---- -And the *standard* fields have generic setters, getters and removers - - record.setStringField("url_host", "origin-www.20minutes.fr") - .setField("method", FieldType.STRING, "GET") - .setField("response_size", FieldType.INT, 452) - .setField("is_outside_office_hours", FieldType.BOOLEAN, false) - .setField("tags", - FieldType.ARRAY, - Arrays.asList("spam", "filter", "mail")); - - assertEquals(record.getField("method").asString(), "GET"); - assertTrue(record.getField("response_size").asInteger() - 452 == 0); - record.removeField("is_outside_office_hours"); - assertFalse(record.hasField("is_outside_office_hours")); - ---- -Fields are strongly typed, you can validate them - - - Record record = new StandardRecord(); - record.setField("request_size", FieldType.INT, 1399); - assertTrue(record.isValid()); - - record.setField("request_size", FieldType.INT, "zer"); - assertFalse(record.isValid()); - - record.setField("request_size", FieldType.DOUBLE, 45.5d); - assertTrue(record.isValid()); - - record.setField("request_size", FieldType.STRING, 45L); - assertFalse(record.isValid()); - - ---- - -## [fit] Processor -## [fit] a reusable processing component - ---- - -# Processor -Logisland is a component centric framework, - -It's built over an abstraction layer to build configurable components. - -A component can be ``Configurable`` and ``Configured``. - -The most common component you'll use is the ``Processor`` which -takes a collection of ``Record`` and publish another collection of records - ---- - - public interface Processor extends ConfigurableComponent { - - /** - * Setup stateful parameters - */ - void init(final ProcessContext context); - - /** - * Process the incoming collection of records to - * generate a new collection of records - */ - Collection process(ProcessContext context, - Collection records); - } ---- -# Sample Processor config - - - - processor: apache_parser - component: com.hurence.logisland.processor.SplitText - type: parser - documentation: a parser for apache log REGEX - configuration: - record.type: apache_log - value.regex: (\S+)\s+(\S+)\s+(\S+)\s+\[([\w:\/] ... - value.fields: src_ip,identd,user,record_time,http_method, ... - - ---- - -## [fit] ControllerService -## [fit] a shared executor-bounded service - ---- - -# ControllerService injection - -share access to external Services across the Processors, -for example bulk buffers or client connections to external data sources. - -For example a cache service that could cache K/V tuple across the worker node. - ---- - -# ControllerService definition - - -```java -public interface CacheService extends ControllerService { - - PropertyDescriptor CACHE_SIZE = new PropertyDescriptor.Builder() - .name("cache.size") - .description("The maximum number of element in the cache.") - .required(false) - .defaultValue("16384") - .addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR) - .build(); - - public V get(K k); - - public void set(K k, V v); -} -``` - ---- - -# ControllerService config - -The injection is done through yaml config files by injecting the instance of `lru_cache` Service. - -```java - - controllerServiceConfigurations: - - controllerService: lru_cache - component: com.hurence.logisland.service.elasticsearch.LRUKeyValueCacheService - configuration: - cache.size: 5000 - streamConfigurations: - - stream: parsing_stream - component: com.hurence.logisland.stream.spark.KafkaRecordStreamParallelProcessing - processorConfigurations: - - processor: mock_processor - component: com.hurence.logisland.processor.TestProcessor - configuration: - cache.service: lru_cache -``` ---- - -## [fit] Stream -## [fit] a distributed processing pipeline - - ---- - -# Stream - -a record ``Stream`` basically : - -- reads a distributed collection of ``Record`` from Kafka input topics -- transmits them to a chain of ``Processor`` -- write the processed ``Records`` to some Kafka output topics - -```java -public interface RecordStream extends ConfigurableComponent { - - void start(); - void stop(); -} -``` - - ---- - -# Streaming paradigm - -You can handle partionned data in 3 ways : - -- **fully in parrallel**, eg. a thread by RDD/kafka partition, like with ``KafkaRecordStreamParallelProcessing``, when records have no link with each other -- by **joining partitions** like with ``KafkaRecordStreamSQLAggregator`` or ``KafkaRecordStreamHDFSBurner`` when you need to join related records (costly join and shuffling operations) -- with **Structured Streaming** - ---- -# Sample Stream configuration - -``` -- stream: parsing_stream - component: com.hurence.logisland.stream.spark.KafkaRecordStreamParallelProcessing - configuration: - kafka.input.topics: logisland_raw - kafka.output.topics: logisland_events - kafka.error.topics: logisland_errors - kafka.input.topics.serializer: none - kafka.output.topics.serializer: com.hurence.logisland.serializer.KryoSerializer - kafka.error.topics.serializer: com.hurence.logisland.serializer.JsonSerializer - ... - processorConfigurations: -``` ---- - -# HDFS burner stream - -``` - - stream: events_burner - component: com.hurence.logisland.stream.spark.KafkaRecordStreamHDFSBurner - type: stream - documentation: average bytes sent by host_name - configuration: - kafka.input.topics: logisland_events - kafka.output.topics: none - kafka.metadata.broker.list: ${KAFKA_BROKERS} - kafka.zookeeper.quorum: ${ZK_QUORUM} - output.format: parquet - output.folder.path: data/syslog_events -``` - - ---- - -# Aggregation stream - -``` - - - stream: metrics_by_host - component: com.hurence.logisland.stream.spark.KafkaRecordStreamSQLAggregator - configuration: - kafka.input.topics: logisland_events - kafka.output.topics: logisland_aggregations - window.duration: 10 - avro.input.schema: > - { "version":1, - "type": "record", - "name": "com.hurence.logisland.record.apache_log", - "fields": [ - ... - { "name": "bytes_out", "type": ["long","null"] }, - { "name": "http_query", "type": ["string","null"] }, - ... - ]} - sql.query: > - SELECT count(*) AS connections_count, avg(bytes_out) AS avg_bytes_out, src_ip, first(record_time) as record_time - FROM logisland_events - GROUP BY src_ip - ORDER BY connections_count DESC - LIMIT 20 - max.results.count: 1000 - output.record.type: top_client_metrics -``` ---- - -# Structured streaming in logisland - -Structured Streaming is a scalable and fault-tolerant stream processing engine built on the Spark SQL engine. - - -``` -stream: parsing_stream_source - component: com.hurence.logisland.stream.spark.structured.StructuredStream - configuration: - read.topics.client.service: kc_source_service - write.topics.client.service: kafka_out_service - processorConfigurations: - - processor: flatten - component: com.hurence.logisland.processor.FlatMap - configuration: - keep.root.record: false - copy.root.record.fields: true -``` ---- - -# Spark structured stream vs Flink - -- Spark Structured Streaming has still microbatches used in background -- it supports event-time processing with quite low latency -- supports SQL and type-safe queries on the streams in one API -- It has end-to-end exactly-one semantics (at least they says it ;) ) -- The throughput is better than in Flink -- Spark Continous Processing Mode is in progress and it will give Spark ~1ms latency, comparable to those from Flink. - - ---- -# Plugins management - -classloading proxyfication - -``` -Using Logisland home: /usr/local/bin/logisland-1.1.2 - -usage: components.sh [-h] -i | -l | -r - -h,--help Print this help. - -i,--install Install a component. It can be either a logisland plugin or a kafka connect module. - -l,--list List installed components. - -r,--remove Removes a component. It can be either a logisland plugin or a kafka connect module. - ``` - ---- -# Plugin example - - -``` -Artifact: com.hurence.logisland:logisland-processor-common:1.1.2 -Name: Common processors bundle -Version: 1.1.2 -Location: /usr/local/bin/logisland-1.1.2/lib/logisland-processor-common-1.1.2.jar -Components provided: - com.hurence.logisland.processor.AddFields - com.hurence.logisland.processor.ApplyRegexp - com.hurence.logisland.processor.ConvertFieldsType - com.hurence.logisland.processor.DebugStream - com.hurence.logisland.processor.EvaluateJsonPath - com.hurence.logisland.processor.FilterRecords - com.hurence.logisland.processor.FlatMap - com.hurence.logisland.processor.GenerateRandomRecord - com.hurence.logisland.processor.ModifyId - com.hurence.logisland.processor.NormalizeFields - com.hurence.logisland.processor.ParseProperties - com.hurence.logisland.processor.RemoveFields -... -``` - ---- - -## [fit] Engine -## [fit] an execution model abstraction - ---- - -# Engine - -The ``Engine`` manage a collection of ``Stream`` - -this is the abstraction of the execution model, mainly in Spark actually but plans are to integrate Beam to move on Storm and Kafka Streams - -you configure here your Spark job parameters - - -```java -public interface ProcessingEngine extends ConfigurableComponent { - - void start(EngineContext engineContext); - void shutdown(EngineContext engineContext); -} -``` - - ---- - -# Kafka connect integration - -Kafka Connect, an open source component of Apache Kafka, is a framework for connecting Kafka with external systems such as databases, key-value stores, search indexes, and file systems. - -Using Kafka Connect you can use existing connector implementations for common data sources and sinks to move data into and out of Kafka. - - ---- - -# Kafka connect to the blochain - -``` -- controllerService: kc_source_service - component: com.hurence.logisland.stream.spark.provider.KafkaConnectStructuredSourceProviderService - configuration: - kc.data.value.converter: com.hurence.logisland.connect.converter.LogIslandRecordConverter - kc.data.value.converter.properties: | - record.serializer=com.hurence.logisland.serializer.KryoSerializer - kc.data.key.converter.properties: | - schemas.enable=false - kc.data.key.converter: org.apache.kafka.connect.storage.StringConverter - kc.worker.tasks.max: 1 - kc.connector.class: | - com.datamountaineer.streamreactor.connect.blockchain.source.BlockchainSourceConnector - kc.connector.offset.backing.store: memory - kc.connector.properties: | - connect.blockchain.source.url=wss://ws.blockchain.info/inv - connect.blockchain.source.kafka.topic=blockchain -``` - ---- -# Sample engine configuration - - engine: - component: com.hurence.logisland.engine.spark.KafkaStreamProcessingEngine - type: engine - documentation: Index some apache logs with logisland - configuration: - spark.app.name: IndexApacheLogsDemo - spark.master: yarn-cluster - spark.driver.memory: 1G - spark.driver.cores: 1 - spark.executor.memory: 2G - spark.executor.instances: 4 - spark.executor.cores: 2 - spark.yarn.queue: default - ... - streamConfigurations: - ---- - -## [fit] quick start - - ---- - -# Getting started (Hadoop cluster) - -Download the latest release from [github](https://github.com/Hurence/logisland/releases) - - tar -xzf logisland-1.1.2-bin.tar.gz - -Create a job configuration - - vim conf/index-apache-logs.yml - -Run the job - - export SPARK_HOME=/usr/hdp/current/spark-client - bin/logisland.sh --conf conf/index-apache-logs.yml - ---- - -# Getting started (lightweight container) - -Pull & run the image from Docker Repository - - docker pull hurence/logisland - docker run -it --name logisland \ - -p 8080:8080 -p 5601:5601 -p 9200:9200 \ - -h sandbox hurence/logisland bash - -Run the job - - bin/logisland.sh --conf conf/index-apache-logs.yml - ---- - -# Play with your data - ---- - -## [fit] Next ? - ---- - -# Roadmap - -- visual Stream configuration -- Auto-scaling to optimize cluster resources -- Pattern discovery through Deep Learning -- App store, per use-case knowledge bundles (cybersecurity, fraud, ...) -- GPU native integration - ---- -# Resources - -- **source** : [https://github.com/Hurence/logisland/releases](https://github.com/Hurence/logisland/releases) -- **Docker** : [https://hub.docker.com/r/hurence/logisland/tags/](https://hub.docker.com/r/hurence/logisland/tags/) -- **Maven** : [https://search.maven.org/#search%7Cga%7C1%7Clogisland](https://search.maven.org/#search%7Cga%7C1%7Clogisland) -- **Documentation** : [http://logisland.readthedocs.io/en/latest/concepts.html](http://logisland.readthedocs.io/en/latest/concepts.html) -- **support** : [https://gitter.im/logisland/logisland](https://gitter.im/logisland/logisland) -- **contact** : thomas.bailet@hurence.com - -------------------------- - -## [fit] Questions ? - ---- - -![inline](_static/hurence-logo.jpeg) - diff --git a/logisland-documentation/overview-slides.pdf b/logisland-documentation/overview-slides.pdf deleted file mode 100644 index 92ff1db53cb7a2dc9f8dcb06b4790c42ed9e16b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8954686 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%0A*M!iW+G6olAf;eYj4e@= zukSp}V%9{aPb~B$!B#a3dy`|!yMTNQo9;HaP=JR(N_u9ut)%zf_lX$9`Yeq~T0IfS z31y6QwsCxDM~L)H+G+FJdejgK>>5)RtR#~}nI=tWubvYZ;SOTupQPQJe9movnM4LuloRq8p6toV8-@6JKM0V0wtmpf4v zr;<&W&NW~wE`STLB8;mQa@3=70GXe+t zf9(H{R~~Dl8P`nrqx}!3nC0NN=u|3aU}`*|wZn|Aq!kIE!@V7+R1LzTv)kHq!m|5! zgur8tGy0Tu*$7!V+ZwBokrtAK!?GcCPr`L#<6PIU_#>5?Gm#b=*VztX^p{YK+*FQJtoUt;d2-aN~^yjX@n$LS1C`wD)q~avIyKt#1-y;VI zYeJUDAagdB!_g@zkjjmzN=ZkjK1~fHEHD+Rkcc%%p5gjE)r=;6&4-ry}7rfvFMrU@9Gp_Ds(X*bs{Qp}|Ft3L>G*T_>g8NhN-FN%$#1ga=VG-qV6yZQdsQLG29YDl>NGoA43*@wm0wuc}H8{RTlg%y%!FN5TheAW=?0iIEY zw2mPGgh}U4-t`D@Zy*~Nt}TSg>TWK84Vl+ufw{|~h0tz_7=aDFQW4N(+AJW3y9g5S zRmmq!n6d;;9QigQljhkrz!_xn|NgYUleZax&1ffD8U~ypnA$*`(}OTI7J1c$T?(A z?Eho$USegxu6p11fCd4H@a!NEEwBLvM>LRb8$|*H3Iv@#4L}fuM?j)MiwGPi5g`u* zLiB=UqafMf&_MKV_i}HC(~3AWxH^vWBHn&*bfl~Msrs%pJpKRIs$Jd>$9C3e%su9q zzwwy!KOduJ{a0;s7)^u)oH=2jQH)>BuHazVDTes)bgPbV?2L=)%Sf_07Rb*KShU)K zCnUj$w(7u&Q#G?8m5>_(7_+HYrnr`CYbv$scrbY|A}ti^tr4R;AmFu98R)EjDeK@IL-q@*UQ` z6W7X-tN7=hd(I1cN-4ckO7BkI7VQ}Ah;$OUXO=hGt95~*fPI5$yR%73=3RZ*Y~{)1 zY`XE5FuM|QqNzI2waQ3!MBkldGDDaA4y?c~TYLd+ueMRUA+asnkbNY9cdO%0-aVTg z*p;%oED1J@^iuY2S0@($U#^tJ#<*&k{AWM=S=+U3)=A+hXcd?pUY6^`mm!Ej{07JN zt2?%Lt-2sdaP1?8olx-NcPMyX@_Cs&q!R(TqL**`8p3zPZjJbLa(M(2cvn)=5@&?q zoh;&Ugn1Xp0P-uJ_e6A4lgClULd(z@Lun6p40CL^6wvkHPuM?eEFIMbi3q1Ic;JRP7a}frl$YaMveEP)g?A zz$?ofe4B3@AvYVXAe)j+!^<;D5_^TYD*3UHeLR%@$#_m!Z>l9n^7Y zxns-gF;qMkHw^YDw-zpcz~t5TNk@$R%C(6dTb^(GvRylp46KU?>W%|%JlaT|N-pOe z88$r(3%&ydcA;ea?d?oCFML1{tqssMl&36R=h0^9Vc9c%9I#8!<%IP3-&)wwFDZML`=T3i}P)5LEWVp+THa&T- z>s*Jjt<`R3!*pNauy*<2(%V+)g4#v2ZQ1c{U-d$xZJBqQszlfBC%krV@0`eE<(al| z`>_2}CU57oha)Md4b#@jvJ*ij?^Zzq>5EP_eZ?uur6L|_uuB`)W&YAl?kaf@usxHy zmn1Rnzy&7VWx;78u~)STQ}OYH1-B)(aYw4xYhCgv&7-_Kk zH0P}3#77&QqVD{1py-Z}42!URj*yl^>Yz@!g!dMW0PLs^5l(rLY&$r}_1BPcCrBR( zJQUxA!jMbj4VUW_F>7*)@#vd+A51&~Ikry_W%9Zs>+aKpCgB00SD#SNAD$-H@G5lK|cUh~ABWA|`dZlYR5wg`+| z$g;H}%pxT1QQDU<%C-eOvKSE|o8$~CZ4`t9ONCJ0l{GxdAS7OCrxjb2&^L)b8e6Kq zVU$RhVLf1k=QC?ieX%3@`#HJk}spspqTk@}hUV6d?d1jH=O- z!y7bf&3M}F4JL957~%K_Rc7!$GkHNGVcTuyPX4A$-eKnyu)Uy0!}u7$?(>}~b{kuq z4crcC+c7Lg$$>)t*kg~$nPv4hOk1%%*(ProCFhPOhmmd2Hg1pgVa>J%U=y>^NwaNq z-c*`GiWC}KF$c(D0Ox#k;nZ&GWk~SyeH2rN0JAnIpdRcd%KfSbx7nr z3nd<{O?c{Az^|xEr!{6uQ6WeMja89kJU-)tnWkYzchr*vz@H&u zn5BsQ3F#!h)dRf;7#jP$0jE!u9j20ir_ko>1OzO<3% zMD;LJug9P5#zbpKP3*4&wPMCBroOC_cycPWR!(&QnA~Atrrbok%5O3oCKveCtX^zV zZh(~rTpxkMpATuZa2(64KT4WW1(;~@yeL^Nleaf&MTGVfd#26b;d|Fi-nD#p@{V$u zyfoX^h8i`C;yZ*+H$3}U^es5eeQG4Cc5rG+)HH2 z&P>rgv;C80o1QG4mM=GDlG1f4E?>4jk^79`Pd;twwosWWEsi3|zf9g$vs1t}>-BH@ zzdTm9z`kAAQD_qr5`!$;+XdzlrWg1fm+yS%JDurvV7s3nW%9OYAyJf#yM*xqiD=#J z`07@V9((Mucfb4Hyu0UTs&`HV;5%HV1fUni?_%80xs&&qMZYu&1HI!N?{LtRW0YY3s+B6bU`G9MuWQKT*BZ(iUC2+Bc1i}K{D@K z4?`!~GI@t4a0jJF;~NvlA{AjH*2L-l%He3_eeQ5Vkr)c!P?yPIoLqEGr`t^a&77iN z7~4&myhK;#b%KpAv8C zR<4k&gq;VkDTB@JLlDO>m}Lr|Q%1m8=9I9o*#sjb(F#ezATXxbnAJP6 z0Vwf8(!>IZ*5oAQsu)CQFY*bA$dld zJ9&qZLlAlTs4nZTVKgQ-E2jxEJsc>iJq|->NbSk?E@T^&8*8%dJ0r9jcGDW4qUu2?J(OnGv=RbL6+jhX z60YU6o&;#kTJDZ!4t9o;q&q^)Ao*&7ZJY*9aczpPHQl{B`RXF@S~4qO({jSD7dOQj zEDSr@&)~!}y1@pF8Atf4z+)uEiFxA8vU0St1D^^cMr+mZg*UocJ1D&N`EDecV&9}v z4%pagDu7g0KFM0y?nLL{; z*p6(EZh+XSawV7Of+H=OS!8{64xU>q_~~#w%^{!orKw*X^-;lAs6yn`?H-~Chxav zY_^QcLl~sRqwuHz@awW#?ka6|BI_fMl5kbwNk3fjFbgIO$CGTF1s^3aVvs5ez=_i_ z~n|DAi^*{PC$-SMIr{D zWn|P2cTYj&9)XT{3NFm$BZmDefpnvf>OWlBm@SGBze#?nCMq*bOhEf_?eu60cgLrcJBJIlGVuJIIswGt*b z?W2i-DKOP6Yh_TCR!G%05CC$-RA40-3-&0Ez>-iTA=fHG!b*%LNMq|7fnS@jeOvH$ zek%^WnKOCQV>0=h?&Lct?J%fbHwc|yGZZG9k?iq##GYLb0=Q>qkePxvN=je`m0HO$ zA#K17Z!Xx;3Q58~M;U~~Bkm{$V2V0LS{^r^mXN4GDrv#vG2}&+LFcc}3*G{? zjy%3j@D6m=9>|^i$+v6F8Sa$2;3)Ape7NSfoWbxSV~#==(%KpyX7Gd?0^kB=P%DF# zF{=fbkQtmZ%w0Ih7*Bq3LKBt?~d zB?*-#ZROF%A*6{mJC#(jklEvS93F9$h0MZ_7p)1?T1&8W2awHl$Mu-Ppz+>}O1Rn? z#SH_wmlR$`loM^pRCt_6AG6v?cN4(c&EaX~Vn#dr$*1Y2kz@ywqg6fc*;ySys&1mK zIzn2*XPl&y!r$+d$=5Hf_|34o0z@SiSPJU%KhN&Z^#kv1eZD6;@bTr3C?#~blVIikN~no$GuCE*%IBf zcuAWty6#3K70x&bt-xIF3B%SZLhAAdTNYier3x}wTPXXYDr|wlKpG8ExmxrUwpR%F zA`zq1-#S&|VQ`brz-fBg$Ui*{O1$F?a2Q!}Tc-!R5lZpofTTSs72bcSIg(3anaG7zd3^ z-b?bXINShB9bInt9#&Op7wW+35bP=FuhB51MiSYe8Zk^GrfNV8jx({x(SXxZg)u~U zBToeqk(*tr23Bmf8t0lYOyOaa?2Cs@kE5!R3K%;`)dxu>o;!||L#9MAr@~H-^re$g z*SNFc%jAuKaciKIMg!j3@w(c5z9-+}W#pyfZ`TOMv*6k@@@kE)S({D`!SgE~gN86* z!q^a@rdnf^@CGU&z)FOg(8eZTi1EOg3OVH=jw97NCE2PKh8E!%#1B4xO3Y9g)#)al zFq=jRjh%$kT6Mfn>)>MsP`{>HYwogH7;6B@DQ=9z7(FG*&ZZ=v9?{K0CFD`>s++k; zn2}m5={5)xKxRXx1&IkTFv5_v0!%Nmyf4FysTk#X;t^onZJgFRv29|QA(~D>!k~I> zb>IuNFb0t2Y08BvSePVLhYznLQBD9U){*2%QmiCNC^j38S4U*>m_lXB&SNjKt-bKt zJ9%0*ll3oN@sUj4Cg4DkCE60($81w}168F>tZmIWXl0+5_F+7x%`Mk>80wg|KA6lZ z2~`bgmX#vcwKl^nq?<>%D7?s3vux)isU$C+P5~tg)N^E8o;{z0oFYf~3@WLF5r$S6 zj*>9Ni@x)lim>qxrsAgyK#`U(?A|Whf9%J8%(nw;JOxRSR%Z$o__{#OMI**FMJ0p0 z6Y^UVrZCdVBSpcmuc{SN7xWs>PU`wXw=ac^?ye z9&sw2%;fcmqc4B?%l1)a!Q_rP4clYOaW_6Qb`M=saAtC zk!UL5N-#rItAWa0>SHRE!IKv}tuPep9e1@R&n%t=F=SQ=29JpX01pA=E`!O(GA$Bi zP8&3MVB;|0%o3vTg-sDdQng-(QKsebVN?Ti0bG+3Pd;M~W}T9(t~0m_(@K3x08~@n zHAUl**&@Mkx`G8ZL@R6dG)R0AjygqP{ly@7WtM?4T9cT8nd+zYVHTcMHlE~!U z3)zM2T8uL|I~$&2yDP@d#upc0gv$21!`^p11St{%V3b@wZ4n~+e#;GW^8c6`WGW&HCfPGGx z)t75H8~4RafGLcpE3(1Y%19YRsz%=T7e-+@U^l`f`q{= zSn-gg0)}TZ35L4v^wjVqh!&)acYg)&UElRxuGAz&`be(zu9-X}*zIrEyzx2t1N2yi z&|RNWHRDNC(Iojkve}wUDm#pwAE_$sLjF+Emq$Jl`sgQl1F)^x#DGm#Qw|d~SIr!= zoxBBd-FWqHLZy0me6&Hb^Q*u5tKJHe=CNiz!&@mW)xfIO1tRRzG>oX|7C?ABAulZ- zLh7`DAu+1Opc+v@_-V=`$uwO-kCNd79AY}!w_|h)G_XoElBy4+JU+BTak;etV>;&S zneHp*FJ8SO*tL9j^72>!!RwR>;2YJ((@te1Pd>y(ub~5|YKY>e+MsR5ud?5^pFfiQN>dp45B-W`?mE1$r)XEKjk3!-{5u?g}j1moO)nZl?%UaDYDg{8E z!R%COLYfdQ<+vzLRYH6OOrnDrUC?o(O3|cJrd!ukwL+HNX<{J^*LaewB|k)PBr3%T zKtKh-q*b-1#+kc30x*bR01%0?C6JIolFIyM`G7vgqls2aUZ)80FkG-4c+^R1C5KF2 zoT|bz{)EL0%m^eQ1|VxO**9TorMvoK0f6NOM-z$g7`Je!6mY(@@`Yluj4wi%`qhBU z5P`v{qG9kXD_KiX03>uts31ImR=g&1j>3#b0I)%-0v86w;-m;LuE`mxzvQZg5eyHB z4o0s@l^im^O6u2*+ke>sMjDD)NPgbX+p5Jz&Y&ink~#ds3op1sv+$AKLu?*askp(e(;juDTCp0$CgB2`T+D~&mc9N3#M z@)>Uh6S661nAqTtdWRb)JTFO1#*BbOyx6@!82uA+M9!i_9^9cVoA)t=Wazc3M!)XH#qDVbi;E zrf7_L6{)T&gd3!Z>WeUc=-suvl?4yRT@3q#mLwzzMm%OdUK4A5uD9&~w3lM2AQ=5+ z3alhwQysaA@A{ujREej9R8qv$1dmZg9P!@q(U3O0B*!s+vlOE0$vTEMck*i{?@k^7 z($G27Y>Wn6XLVDrjY%VL*Rs(Yn1MQ@J420uq=jja$HI6IOit1?$oLq^LPkb7)tJXVO831nKCWJf5-`riB_jSrx+eR zEWBknOBEhZBGe{!Pm^Rb!@yYZr5i@4nx9nQhcX+|4_WiYtVE&!XgM;ps)pf$O{8jK z6f+gkYAQ~~;TeHZsutU^i-)3COPB?w0KhOT;4`k37G&yG!C>kU<6b6I^%gN6iD7!j zh{#!>t_du{XHY3@C8`M+@u)nQJ0gn~&-g@M7y*DY(wCcIj9abBIv7kf38B7I)GsQ8 zqSX;bG>J!vC(%dNQXdrnTEb9j0uI0$Q_QNuz^fK*-Nch<^{fH#ykw+O6L*^UEf^A7 z^-(;=hdZUw(}c+jl_6$PVHme`wE{D%34^F>QcW=lp{f{Exx*i9U6U&B;?bnDNEpC` z*N`h~BnVP3*wj0b2o+O2xn2VR17>GGCZiG)Adk$7$`ZD|e)*Sw+3zco3%>9O?Jy#d z$vb&l`xZVsn!HXUd$*-X4@eTa+rnv^6%X)(1qyvPZM z(yAm3tR$(bM`AYGhLNr&PPJlGQ_N|>#8a8rNP@xFO1IAoRkaSd@JM)1&J?POfut3T zu$xA)0W)i29O3_$ho!X$vzB*!G#*tmiz(D;%2A3nT`3>`$@qZDNH|4=SxdKa)s1I! z%u*4C(KgiCR5B%#|C8f;^5)xZCjZ9d)o;9)$q?)n!w=I2qAc5g>7|#CW5TV`1=4KaCnpd;vC^k8pd&fC=Rcxl{G?CAgPPjpusQx(Rkw+e}eeuOb zUc?ERYacP}Z@wuYX`Yk2xcIx{f6XkDca7|W0Aadb{&(m6B&0OF3;p8w`KCWIU~~`oGA}a z@wjQnC=K24!zAok>`Sn{kR)}C0E+4)G8h-*1(U%f)IC=7$5~)xJVf7X`@sQs@{VbT zawBFTm_LqP>9@1E56H8!thGy4{kkOG(OHSi3Z55~JEeK4Q9L5A+~?~$A1(pc^Kd!cwnZS0_^Ll_2NT{Kc~`!r~p@DTq^#~@BEHWZ6!Qb z(C_~4@A{*OEOQ!|P2XAk(l7mzD=#Zf!04%`p8EA)|Mi+!hJ>NW=F!!E^XFg;3fSW1 z;tn~k>BNOkc$?dWh3L7MejUuWM%?0rL_PUXZF4C zeQ#d;p_9q%p_u3X`pFMcF-QfNP1XdUYuqv752J*^tZo_^50Mc_?}}iGBncr?KI0n= zE5$4|Tg0G)3^pc^Y!($q&29EgJbz0_E>4sdaCjDe^EZE!K~Egmqc^pH$ya2-ux~y% zDH;$bf-0L?%V1?gq=Tl1eZWKa#C3sLq!mFHxdFj2=br1AgpAOC^bWb!66YFlGJYVR_zLv4Un@d1=6 zPKjA5Yq`Kvj8Y64hFnL?5LF`y;4C0Cp5z!!Moa*j?4^kM#Djs+v=RwS-s__(;Sg{! zkTA|KGTMZyh-);)$?;0wbB$q{x@gTS4E3ymVNfB((*k32}jUBA^8RS#m zhd=ybJGqm{USzK()T(O1n&Bo}E3V0`G#e{7({idSa;9{`!Ni!Tk3RaS-;A<{L&9)p zCE5(FUmr1C7fbd1q?M$_TR>XL1?&XzQ{-}$4}S22{z$~%+FQ2LPA8*t&1-V+e)qd= z-GBSHf2$V^qB7E4u!DG4lB`jYOf@iAJI^%LsVrD=_H#pO#FWVBHGm{<9ukt+%1k_N zr;h{It4&528A&I;ausOo0?IU+$|F`F`Lgph&>UwBi( z;d5DUFPWi1+1`sc6oiM$B>mGC|G0@Q5E?Chv(jo?3dQ>(BrE&zsnO z_slz!$X{=%`gu2#9Qidf&rYv}=Zkp1y$0a_96?}ysW_tU7m1mYBZ=Q2cx&#be(I;# zL4n~TDkL7gj|TP!kvKb~D}E~NVE6wx{6FI{O25GNlRx>BmRR3hz>CLXwA?IGF8nIB zknjaYE-_=!VCtr^rR%rvgrP62G46-gio~*&R>6qDn7ilv*`NJcLN@hXrvxA>Rm7K^ zlTFW57@nz5AMbkCyZp8@%Z-B=8bek56Hh#0LvvwkqcHOmhAaRWRXi;t#%8nKpa1L8 z=Aj5iFMzEhxt}KjY^ePz1#lzAS^)%R0bU-+vOZc_KDkVUn!qacm#&A%8lpL65humdxaQ06c5phsZT!nq^RsFhSU&g!t=YyaI88At@!f3Qf1Yf@>I!pmDy06K&DS;7r z)<`g8GbYJ|F%j0fmQ0yHM%a8-Qp{i~xxniPImKMFj2Dkk^EJp(T)p6_>mwTZ_#&Z| zB0f`7hF<}LnZBo6If}!;8%cAi5k3w_D=q-o~Yk7{?c`+`!M*f4M|ep zXY%bf_L=A-ANhzR8DHAzmL6j}a)Pvinp&pcOzD}iGbdN386L)L)U--gq>1|2@qZEe z+~+=LDVfGfUQF!2{_DSX-1wzdr}Izz#83D&*Y~{VJ#Kg$Iu7^mI{udy7{AEscUfhj zuKSz_&T%{TCqD5BnZFMRuFKra>yD1J3l#|$hv0Ndr#; zJhN+K0cKo`Q!0g?E)|=Vg*o{!GI@SIi>Px%Fp?Qtx8?8; z|L_m8AlWq@Go^kNuu>}+eBfY&ZWpZuGhY{U1d?T~7PXFgN7ask$81lF_;2$f?;|AFwSr=F6cuxvmi z5=KueyhsoxgYXztmi18yZ@mC>H?05-PVV#$3?5@BGy#XFhyoiQJey{qJy{s=x-S4= zCEda>hN^fYU=BCb!XU{MfI(A62^lfShQgTi5J{+TAx;K8M-qzgo>UJ}E|9^ z0xy$~*=OTUF#*!1yh>&iI%EG{O zJi$|E6HJh%t0kNS(qo0RqLo7je@7x&!^qLZIhcV3uGD%M(CcrUM|V}H2zFAPP;6ET zd;km@J1pz_Z6<%$O!(~qC|B<)UK;Pkyh-DAa9aJTo!!seu%FnkWSF)Z+m1UH`<1II zld7$+CNOi%8nK+MjwWPta;D`lo9W&BZ$c`;q7{Z0j4OBV$y<6{(6V?rwJrF%)Bm>M z;>gBp8*vMyYD)Y4SpQ*!`$l`nr#|&57d8I(2RDi)Jc<85)V0Z<|M{Oo`YlaceO;EdtdC5JDPy=(HqGrR_By_5Hrf)75f z7Q2%N0Pb9yOkPiQ-(=WRo6n{MTc34W#&i{K27fGsISCeqIfF0*7-lt&&wgc169yr7 z9-^DQgdUL7e7qXi>8im1*))*84bd@e*t1&=iKKx<8sol2&F5kOsIc{P4Cb9gS0$G#q}`U$D9 zjPYc{FvtR=evv2}ZO9b0QUNfrxyT@fB7m~t^6aSNmB8dMtSJeVJSsgzmX%G-dQ zBpE*h15n9z-dVs{M9gXh&V>>WOpX^PST0y5M}f5>JargT8V}R3gbW-$gN16N0HdY9 z{zhQH!xS(Tx?nv!!^Pv+)D#iw&Y|Z=?*NTCb@uC>rg)~-Oy0tG{%WF90xy}LOdh}f z#cM|l3&6;*9QV9KnyNc19or8DFxVj5Ayvl+1_c;7Q(4I7SThtX=%7e|eM#Y)2w$%C zfliYX);a4x+Vcbz*dUl!sBEA};hC0^?0cJFkWS=~DYe@)$GCNIm zpFA&>1u&SZK3@n@gbjsw5XEAkD6x^uJpJ_3rsbLU+KAR-Rt?25#ZV9}ZW5Spxb|imNRC-U|ac1pEgHf|_Chbh@=J3g~ zNvmnqT9I74cz@)PN8F#ZP9Zrmy?qsHqj>VkCq>JSZ<&AOM}EY6Agt57sc_#NF zjXM)pB{F{tpF!975>y{jxZu$iS{LfY8pH6j#5NMunk+6ngTg~uw%sxAurq*4gC^jr zBoCW78anR_tmp12Uw9|){IY+_b!X7pUN)r}vXa)R4l>EwG?Kw!<`Jw+fF#D>3_(4V zY1$ZJ-1JZ;pDH05iM~2f%C9Ydo_xnXZtCedU$H zH8P1vSkMH+0-@^B`5~ABi_rwk1!_n!nh-e)1)LFJL|yyvY0*&q|@3jibJsu-}s zz(X>{W~0P~Dx?k~?uvm5Funkayhun8gQ@@#vsu_6O$p$vX@V&R>f|IMRN`46R0>8H ziacvtqmc2C%;Mp*Mlvw!2tJ`8GcFzyq=`C4NQS~*UH8r2Vorq?=BRN952af#Xf+uG zJOnUfA|7T*1cRrggdCfAkqAK3*sm8;hGz%ERI@@W#VDjmFfi;e$OWf$3T&*!f=HC`sJ%Mo*!U`-s-_rP zI6Zhn6BM}PEZe&%PyM&h+MZ^3={cYn8+ogBLztd0rWsc~>Jc4X8A zB|99+_91gkGBH!ZgB=gm!w=SRm&M18k_t@%a^=uOq!) z<&83576?A$kOHW`bE2_B!W0Qo6$}ZQpeQB_9bh_yfWL%UCl1@yvZ5A&QH9iBrONJXl7}1b%e~m>s{}%RDGLo z>N<}sB_8o^-N`@np$}R9ZiavBw|>iiaO~AbZ^M$iQidUy+ml=AY?}7I^82$t`!jE% zda?6|fB1*t=i4_i6!5H5k|FAA*u(QO_!wT;Y~gD)bjDERh6@>3{8SS@yt3yg08Cyy zyOZvO^{jbq8aCnms%@f z*6K+<%swPwP02CqbL`YM_sm1yjg`l0NR0y?*ikF}wt_mBttRAvZil>N$FK||7Tn3R zZ}OL8wDj;uB*K`oz$QGwuU%FJ9<3CoN^AJER9DI@31)N)CVXR+ofVd1!yU zCIDI}aN(sw2s2G<6~CcTAs@?iD$C^jimEWOoROPckDXvu*9bGk<^ZlccleiC+lYPm zh3j9Tv{6|29$A}-{bXLMk<8=$&rtBvHiw#1iMq0lw{5mvS6P!*J6M=$iUC0B#^9qB zIT#_~HNj*M)5IXuYwx$X8S_UgGI{?8mcLc;=Bhue@CK|N83A|oekt+OpZ>I*-;Y50 zYa@(=!BY?<^0O8Gn!x`%`NR`X`1^5Y?S8U!f0f*;N)mNd$Nk^^-QS79YharE)pj>^ z{v5k27ruN!?+@sF;SS%6J)Qzz{+Px8Ul0G$kABoQ_5M&oRCPqyANj~fco)3OJur7! z0uY{#>jl5u!9aR;wDtofDx@z;fE8n`R-)V3u14a)VyLq-j{p;YG<@~-H;Ew2uqGHiSx?iQfH`k^l>SLkkd;Vil2{|Q zAWbCl`BHkkEz9&Xfi0G@;wEj=m9@=u-B0OtiZ)S65}M31d8xQNc0at}2PLd``+&E7 zEO~M__L^L|yNAcyE9?W0Jo3m7{@@RK8^qt`xhwe2@BB`Gf+XR$B<25By_*fzB>d!l z;z01Wqb9s)XEpI2iAp@1j)dHF7T)4A4n~6(nfs=RgZJQUa`j(_+*quDf;^f8ZD^IAj3=MmE!kQc432Oz2 zTC*(Fn$}ba@l(~ByM&dw&=jpI!$VG-JYHj8{Wl|n2i7J+;2~AQkP`qTQca%LRo{;4 zV>8TH2tOrxjxa^LS{~iOq_`qid``nKh(C}(8fJ`#PyKwkS`NutW|eqC7?$U8 zj|xDmz7?&CQn|@#5o!esnPnxjV_6eZV>aYO5_pVEYmyY{st#rF5Z^+h7*hai46B@} zsgBtV0}$mTQ(>-KuKpz)cLPgO)5h{(M!q^qNW$+7n&Zamc80$6(o5|UmjB62eqOL~ zCvWRsGx>ENn=`9DP}A&_B%8fXYk-)w+#^TQjvAP8@|>D`(sF;2CX;td_MZ2=#~-ix zV`_g{;6&(r^bU-dZD9P_wbS_re&7dO*E@wv82osVWBP}F=!d)(>lImd`~KLCBiBd% zuFcgP7w-1`owd&k5^_hj3p(%Iy1sk-@yGp6wLfi^>Wk`QANyEu^)SVt96-)53`w}} z;=lKMzn6V~Pwne_$-E}v`3N9&XH7l;^K(DOSAX&c z@8r~}hMH5MHcFVPjnxcY_$dcGfDN+_b^Kc9&Zi7oPQbfn@|Gm^HIp~lI+e=(%s}VP z>pHD2Jk)Ms4|@bk8`h_JQzmcskd#_VHlnsHr5R3cBa+70owS-NG9O8uRb!^j#A}Mq z9NsWmL$(C0g7U!Ts#c6;^^SME!&i0R`mNvkP2coQ-}Y_aCV}^2n2+0D%(KKuzT-Q- z17r1B;})iMZ8HJ3Y1m$5^%lOY%!hRA*TVE>j#a7E2W=r0@XClP@0x0@BNK2{Dlzb2 zg4g{BZ>`zJjgKR>Q?*>W>^lBom-$+~Kafnmb4}k3xGmI8wPD97@uoqaWekPMW8_uu zfl_3lA;mCKS&pr|2b%DhTB!*6GLwrO62P>y85%=f^U=?@62`D0RpLG9=dRzAcO17X z+8FO)Z=~V__1C`kHPeP)mbpfjSk%2ANsnMtu1NTU=Cy8$3GpnCsTFqR=C%I}KJ|@L z)w~QW%T+anU%l{d?I?#-;lqr5%LmWtY7i1pBrKk>oMeriBp0b@VlcBCtwD~F08>&N z9#M}%X!NXGse=ShCd=69_Qel!wVpqYK#(c9|p-rsM^+rgSdrn)r-W1{M^aEu1vmTr~~V8ZXKz!taEBkE5ehs!tgNrlF-&v z6AuQ&oxBuX8teyroW*{9!aJ_+Jv2cY3Ma2r`FpWB=qQKPlzb>f#RXgMg!7*6o(w+dJ$qOD>c56}+QI{_mX`KX5@y+Q1jy z#{_Tt_(Z^|&kN4|cfRwT-~R32F4QNVd{X>AWx#8d4ij~3tbNpVVXY}{Z%%$o59>v8^DvonlhpsgGp3r8Cxaqx0(FI&X(WI_Ak%m z?KZBmeGi4{RzdPvekg}QcpH@c$^@IdNG@bbn`vfvlib7`N~i>w$q64dZ%0?sF5mW* zobSc(7$1`@Z2&9LTK2<|K5<*Ea(he6m8p-_AN=44Kkfe@<%5;H5@TGs{ewv&|My#as0Y#%n`HMi`M81mkI+0Vw^Rxp6r&ii{wN%1N`ea-@8{l-53sI>K6x zlz5NTqtsJRlWP;n1k?Qn?!@_uxk1k}!W0b3%Jr96JB|EBw1I|U5i8;(s`!2<5 zEnlngJZ2&nB>PTnRElk^r9S1}W0LF-EJyhoVVJ>_uMx(N;>1aES7K^49)1<(G>LLU zwWgI{rB$<^12CgI9w$6agfo!>k8w89SO_@}JtKp`Sla%^_T`sfwozF7O7G^~XC|*l z>u$hH-Q1jC_h03R5ytfk?=N26k4c+ddQ0gg%yM#vuN>ad0O^2s87|Fsh|9hGD71v% zua9bV7R!_0{qA==ubs$FbG#(n8!|o%cu_}{eb?{)sMejl`?{x|ddkJS4-VdVXBpUQ zpGs zpHRJa>o}7|`1-)723dy}Z2Xa(PYu2r&?9534vHal3Ek~wCknc-&$ zp!s=N64yjBil%Ebwo>*8#UMcLRPBCBe#M}a-n(-5lhKy5FXpUktIsQNntT|66j&jV zNY(7mJhH}xR-~GXV&eE)I2HWS!C4K@c(<{d=sV)N~8RldL{-A_8orlG& z4__yZLkbvqxIXW!zg@F`Pd;Ry;B;2^4dWbJ_}S15j*(HlH=@g07Aj}7lPe9oGJ?5h zVkc89Otj4Ep#GZV4hxyQs7D0?xcb6El(S!fq-An@JiAKtM4-~XFI ze_h)r<#}qVz17x3RBi~eCtlfu#*21n07+IP$+V`W9Pcp#K$cRB0CJkIO-a27lV@}F zOA_TeSSqXiyo_-w6Y5wdOmQu>Hdn{K*1hGcAQrPE;|{Z_CLx@@BpEO17Iv5kBg}X_ z!>rcwr5wu{uR7%jGdmVWG2~bawkZd*kxvzXqm#Y{g8`drHY?K|^=TTFk;ITUhSMGL zRhWEyZJ1Rn*VGAnBDOnZbt?;r`q+=3FjTWPT}WlBDF(~Fl1dhWg~31n{PUK)#oniQ zy9cn%#DzTipa1jlA40vZJ9)d7?GbfO4PytpkSK1DbL7R;itj|WJ#y+Y+?BQaYA>!x zhTWdIF!z^eF5Dcf@_A`FiSN*DuoNZp-|{Wr;@(@6FVKAiaM5j3WtO!+_=7)itFN>V z%iAgX-{Sn#%=_N=K1sF2Th8x8f#08b_St7ye)Q2tW%6$7-v9phdk4mQHFADe?mk?| z$(i!I(~QUm*cZPHp}%;gPD`pU;rAgz{-9OP;I$kEW%AzI^@&5;?@HeX0eJ<3%6e^h z;Y$@ThjHI!@(mh!%vw@eX>E$H6~9qe)ztVKqT5XV!V~sw2`kO0Yi%Pk5I2f8G&9G} zGbEGu7a~$SX6Zx7UJC0e$oR=1jFJKn-vr|ZhM1WZc=HZwVl)&S%(DDyT` zwgMR=o^gy%4Ps`YEkYG}ZO=;gJ({n>kVLe z2pBP1&pr3t%P+rND&EKB%FA~TcxSq0sI)v^c;SUFe({UUI?5xzM29-!F@#6KRWVhJ zAFM;GWECctCuBr5$r+oRA^;^tQI%#SIW}JXFE;UOIbI5huQfKUCn*biFXOA2rjlq+C zM+LJ24z{jGa+npc@&Q(-(|WM-{~rFgqli4oF~+MRi6)p0KvR;Shlzfi>iN>Np)ob` z{F=kjRUF5EVBj;QTrH3N0w}O-j%0LWQm-6LE~?(SbH`$rz;_&<%;Zz&?vnT9ZG-KE zv+vD@wr8$3xa)rc*zPt+k|>+g>Wri6;M3|`d$;A@T=hq44p~1d;Y}Flud8e)EX)&6 zJRu);2`@b7h3k6n%F32maQiL&{?La$q^Wb+)wfn32UvECDARTW?`~YS@7sA7{(f`P zJ1{;Mc+Ey8Pa@^^^}3^qDPhp^VL{&F!r!I6j||d#SMhzU_{?WMBXyVUdr{xDzfT{c z?F)Lxw}hX^U;DLR`#+EWFPo1iK5KY6-y8URx$0LM3ga+?93xs?&{^e-RYOM-vz9ZG zF>BMP8z1~eU6qP)*2JAm-dhSvCscp&YO0tp<`{A#)LRE9-;+1-oH!jiO4Z8`tXt%p zVFV`4!1Oe2DP{6zREhdzp60N7NOQ(iaWgM_aa&l{7qXJ1PqmO%1hN(+w+uEjE2p}y zg@l{A9e_=yEPrLoggi(5VhGJ@ij@yk_BDo)8nc14jxia{nX&nh8IU32z`$DSB%4q-QC0QedUm6A zCfW?c8zny zo7?i_&Z){yrH&_uk&}pggya{}=5(v7?0_4C!edbB%vEaDB!PDU?xj{YW*xGQUDwy{ z&q*8*l4|e3$hT$A_RKPQiMLQ6fBbQG;4*XRw_l<6;*I-r!~#>^c=2a$Ua;|sthZ(4 z+pfob;SNC21}-_#okA#M}NeHJzQe%(*CKZ zo-$niz}CIJKh*VcL)!1E-^(^)W6);@O}^9jrGVGzUDx~6;M0L)0vU(RfHzi+Nh5|w zJ*oIgt()gE_?T%`rIK*P^dJn8DPic8vIvQpG~TB_=aKni@?aci6is_4i}R&}rqc&c zf=c66H>c8V^-Vqk^E7*ueJGnu-hLucDbw>cx)mX{D|0hjx{chIR4h`{#vC(s%`r(b zYHyiotO+$I_tSMGD+8>WO8mZ+WY!3Vi?Zu{g&*Bajm=?1zM&Ke`>@dVMLpyC=%Wf! zMdScRzyKP(GWpW@eXhPH()-p2CE;agY~CcfhfF>d{cU$x_-pfd!hL5?@T;!9n`v5DMm&rRa?Em~y;i6~lp}YF% zT(&D(`>n5&CBUq{{Vvg_+D)DH=#*F953wLH<#`HoKaOtF<#!XnO}_TXlQF060&_zG zfWIk>2Pn_W#=Gi1{+oJwc`*ACn8Cc<$lDM3Rv+q_LRNZ7l!fmx+2Wiv`%K>DYMH!0 zSaT8WQ0t6Su4ma^*!guynVm6MRmm3`FT!I@>Fgu72Ri<|eE#D<{^N3B;nixZbQdJ4 zcC`*B)s)z~gvZ;!W%A$r&EKpF>@wN)xP)28{^+BRf?>SG_}R~XmKUv3Zm+mV-Q7IP zSG_9ZuTx#5yRUQRO89;4-krRgb4fn1L|y966fKFj`}v>#>7Vvju0ApVv(JJTY~0D{ zuUCTv?=NtvcyoqjZ~J`U10V2ef$yeu3YbBC@iBpVUluf^>wqUw&d_O%^!l2;`WI&K zF{3p@J#sp0YbHp1nlSjr#AguSFE|tLA(P)6Qu`z6R`Qk@0nc%ghjtS4q?D$7PbP1k zn9^lC<)xZbZzFku$ z+ytQ2oWbmAog_E$X{|QJBd|hh(B#r!hL=zio&-aS1ST-~1T&KCucf99ty*gn7czOe z&JL%K@27giPBEtvx##ZcLyFaK7y+{oJx`Boq59;N5fENazD z?`=4E?{wEJ-H$4XNj zrtogvf!&<@`A6?J`t>jvDz;y)<>6erJhwS>EtzLZ^6!Ni*}K1i^(MSv+^7pi_Kqay z$eoPu3%CGq+3xEDTDssBASu08r@R683-eyi_m;l*M%)4cqB8{ zsbtB=-ZFVriG8_Wtt3MvDKauQ^Om+H=G}Eu&U~I}f1I9&$vhb{eluh5I>|SHnc*3q z>IQbEnxY_w#uTO{**&}->6hPWQR<^6X6+>UZV(KGO`w6A5;LULxGBFbG>?pTAt{se z1a;xAnf%O<;-@|mMur-Sad(EHqBUzXN*L2m7HwdWOxr1dm=&abjId;Wb;Q)k>RqFv zm12x|QfZWUH;275>E1~Us$duxbNE5s$NHBnqY2)tf?wR2bg^%}nff0NU_?iu91 zX}`HK2(~x-z$JOv2e1z^$^8Uylg(ndAIooP-J6ExemZrN&4)46<7)zTGvE1ZGm*xZ z%qxePJ9(LBC#gfnIn@c}^uefZgl7)BO;dKpU{xi92oqj-c)79CQ3$WZ`>&mzeDX<1 zJF}{d5#DvNyw}^UPDy#V%o#w6PDQTnH6hki;r;l$4=KQ|;(b&hL|{rst@J~tDyyds z1L@=yL;ZENLZX#5a(`wEEEsY^7{`QQ?Ax6BMpYQD`Vsp^Qm*cv-=EfM<;Y9*UiEQ# zMTM@<4&v7lXChrZzo^j=IgGNZ01%!8X^Mn>&0hVhHI=)TM@z2(XIXih$?rGeZ&-<) z#I7=L*T_%IkP?_O8QD~C*Oa=H_?7#WcTE{yiGbH+zUymcpTYZxYEJWICO7$;|973( zX8<$9G10gNeFd_EJbho5hM;r;PU`R?(FU;hd z2GmQW$H=wqSO2}FJJ4BZ;we!sjJ7{z@_&W=w)mxNE&7U&4U=e_?ij+C3BN<$6 zz8cVx+eekhoUTSDz4!8`->&h$fghtgeC>i!ngCAQmmkF2HT#v`3Y`r0bunEh?rolw z+>fK1qPi)7y|0^)-7_eMdarojg}u$2qPkDHNLbhha8hzVQRQgwtN5q2>Nie#)A$>K zdmfWf+&sjGF{=Cci(Dpe^KoL@OpqMD3;DA8GI?pIJ9&qWQ_0!1IY3o6!b{G+^}HK{ z>lsQocIH@2XzSyVP&_cTI!5v3)mo7%yqz4Q)zPV17dkziq-oXK!3vWRLX2xPSK@@K zv??9PS>qbRCIBx0Xk3#NWLjVh;;FdC_qVkEto8f8@B94hym#s4^S(iV&r}~GSes7= ztVLmzRgXR|%H&7o+R}~xLT;MvJ%VWTYXk*YuU8a+T`3%=)*j|m@+c( zjm?p77*0u)R$>9D7L^FaX}!#Cd}+LZVQd9@*Si*as=p1L?5+XXk5ZCJ0x=JS_`Tdt zk4Z^o9^5>&OEP(#MXQDB_$G|Z)_T`+0z1x~!{ni2w)hz$m*H}FiS)1h%CC5d5&4TM z?=(L9?6W*loWUO>xzmcdFsi+7#(h#?#5C|lfX@yB|rS=9BKgF!xDkf?1pH)5{t4)ywqmB>p7Q>%{h`p{g@n!!QVQ((Hp3=4Jd2BY2KB zU3eg_ABN2b64=+#$Yx9${QHk*WA^?H-eh6p$fUA+*ngyFHj}dVxs#XJ`#}=BkUM!V zr8t`$OsI2HwIfV*6?Uj~qTRJ*1dYL}N=C*`d_resm}4M^|DuHpr2`SnrmflqIGaed zW0V%&(di_`!y^(}07_u3#v%KJs)%t0fn5f2s`Y62@VX8HLrJva9o(uRslza?8iqO- z2+WXrtKa_~>nAAvd92rRfHmc`p3)s7EC{%m@k~{PMED}FX1eK9c;A5IJpR= zC1vtH;yH=DiRu%dY4e3I9Nv>RXOv(ptiN4jPR_1%%e?)EvSDjvL=pIt`VzwwXVJ4HoBU&Xw0r1(8_E>#pxQT6jnS018R<_*M#Wiz#ow^tD z=Ju=|eAQOLW-aUu=9hdFMYYM{?M}t43DRPh!`IpRK70dmzNB&ShC3G5D6Ga_}3#CDqrfdlFB$r%SxUP`nAbY1&jri@ZU= zL{&GV*H*Sch96Tab8YN3|E_>NKhQG)?6pWJo|Nx}xfuC*#c54zs-ym(nCx$?jniQ^ zfb-RTv>VB$x>~!prq#lpKVx$bz8?uk$P{W8jVVIAhfPM_Wivr80tzV&Z z(skI)$%X02Q;u+d(%mFUWpp>y(Mq1{z?vMCWdyDiJd zgtVGkH2|mytZczrdMgpGb2}b*wZKU0mpp@DV-15wF$}!eM1q7gL6*Z4W{0BBCPrgY z*%^w)L9ZL4Gvy_io788hH%2zqGwP5lxN7;cex1zZ{S0rJyc`}zSwfp`Pd$E9&Y0}w z(pkEm zNxs&y420w+m4_j}Bz~BaxA*%{v$g?mGOM*0@ToM0DXxGA!sn&(a)WDN_{$Y9M6y|b zH-T+@ZK~&u18-*0D#1_nyq&jPYyE0GXH@m#*yF=*AASDwpLepjkawpljmIeMEzdpo zT$#MT(=3yBV6EgJQ|-v>kW%e*yRclXZTQu~$tJ>aIt<}Nl`uOUyJM##JLEW;qj@BQ zAG4dLeHD`55trC2~dn+@w>XHadNT^Ky!yo>z ziQzmt^DC6Mnf!X%zHRunj=IxMVrzZnl~?53CP}%Ci6LDvHzc>xHkph~MwwiRLV`t; z6va%!qbehk1^K`$pEm<71c|X!S(3co&l8qQE2EZ-sMfW!sh(UuErF19SsPQ+RBMik zXA=0*_=$}!EsI_J#-ST&y*3EzryD&z4$RfaYzAbiVeYx)*VxYR76aqt<09s+F2KTI zJR|)w2mBC$7ty`VB4>`|%TdT$#Mw+W~EH&FQ>P zHfkl`Y$hSKvVc^TsskIqWIaU)jF75PkF||VD5ogJ#J!~;A1we6OR#F zkyW*Bf*}FhfX`SS`(egx@-rp8){S>n!kW(Lu9&@rB&iow<=)`hy7GJENePv;zp7wo z;@LFaWV1*zrJU;UIZA!ylkCed8}F(aT=8d+10Fk8-)dyl1s>RiO!gVs6ALnV-~HKY z%HF*rA%|C%*vsVYMJ_J|Gp$js>r9UlqJD1rHp$vU3Qv^i65nYa1~wDZ&pd^^m` zFTX5DHA~BgO0J}Brh$ybd@$uCGm?3?l-Ie;A%hy8;_#TN*{RA7k}j6dn~*jo$#W!m zE`OHZ50TVr(xMV_K_cq2cEpBHNWRh$`|4$TM#k^z(RT#-ErHK9Q!HCJeeX6oydLSh z-bE#W3F9AL*`0_+9Vh!GKXQC}S8|>7+0~O>4~LnZ;~dK=ye@1w3&kDVUm$s6#Pf z2UdcWX^aFWt%uQty=4J7hQubBk;%K0Uo&}A#g{mJp);BMdM7`J%PsR(AAxqE*-z{w zwv;uKUsD|kOevPc#%3awolIuUg0z;{)T*pH7)(u&-Tlgq&Bj?8GWN-XS$(Uor8FyR7_E|a;Ec16#u2ln?zubqIs7h7pBJ($NFQ+4L0EfK3SC(T*Vc!` z8%AS@Fu5rCoG`}k07h~X1L=8Pn8|y5kQ2ii4}NGfA4ZPZhrt>=ntthy`R4Zu=It73 zygPZNtlrx-4>psZ?i5?mipQfDi7xwI+yDJ%&m^o1G3Kz-_RgID6- z*+WRED_e|8S17N%@`{%mPZIE5iDH=50?FZ{!j8xXKU#q|SBO;i;8Zqc26wJb3-&fg zeKni%O`)DPeStI=8?%KpLT36PgBjr(+ev=!d=JYS_;$-Kv{$ zT}~Llw8WU78v+ZzTDXv374x!@+|^F_lRaHcy)HX?ltEgI)N%aY%S{qsMpiqJgiN7Y zXRiQrn`)nt&r9Pa^Upv3ynO5}oym8&D<>Z=H!kB{TOURa%%-CpNxUb9a$rq)U-O5M zNyG_>z=|0YO&UKjU$?yGyMt+c;EV_bCaT*^eshd|qgC5I>h&ZK(gqg-CW$OXRwJLm z*jW4`lmECuJ|nFn!DyOvtCS{iLXxP|DB<8Ck*X|+an|OQ8_U5Ov6?3FmRgr%Z%XNR zS$Ao9S^Z(f?nqi5lFAq%IcD^)DIi;+)}1xdTQtJ!Q;cY*3-UTtN9t+3Qg!%;$M7PU zi6=)zwJ9%;flYn9Fq5A#nf|UJ;iFB2n_$8au3-EM(;av6{%5_pllNbExRaN|d;h0Q zUfAfQuZ`ukx_XJ%I(G1f@ja5x0%-Doj(Fq9axiZJ5@O7j^-g}>Oy-y#M*g#|z5$av z%4@>=T;N!Dp!>r8^Pm5`@4_PApCUs4=i^-|n8W}QUp1|jA3Gc2LE(S=k33E(i~`U! ziZ?M~1aJv4vazX3(KxK?s%Vd-zQSHFUl%rJ3u%PeYFmfW4x~^*cqFtR3#q^ zB#rq7IRK2NT1TdHMWX zI+LFywq#gY3Yy%BKZ!KSlAvr75!=N%D*kB8tjMnWpLB;AnHr>iZzvdXa7KQ}Hg+r(6LeEOl3EjhD&S z%BD3t%eF;iz3@8;ym$mAW}ymu?a|5)W?=R4p_Y6d#`HS2!t)3`pbhn0E(wOs9>gVY z*VJnPu*}8uog6<@ga9Y0uz?RfIre2>1*{3n5|S zqv7*-Q+1W+h-7ugqiBcfpMe zjJ(V%G+f(Y#W1}qy%gs}D9HL%w1W(=@8d|Ovl|9rBROBqQGQqBlL-&Q&I&kV7HkIp zruXFi5T%)5d>R2N4Dyv()lEnymxH; z#jA&f3Tfl$Xy$ZOnl@n37I0chRr4YHj${8PixH5?^A$!DjD3ES$#2%zTD8`yo?MlE z;SR%~Iq4jC)<<4+^qauwYhU{seyZ_P0>lradTrzIZ`Ch-=}TW;sOrJ`HI2aylZAxW z*u%fcnH&Hneud%1Kjqp~V9F8Zr7%TUkgJOo%vViEw})bo;}L^$v;n7;>-<)d#AL8A z@FPD79^v$5Wu|o)2JvDWv%(uHwv%NRGLFyAn8h$MoL9 zDUL9}8W=#B?2p-0G_By&ryOgm7JSvpj2QxN@8BFS>!OExjI4dD+Ovcq29?xx}C< zKJOcA$=9YjwZiVoPXIAz${Yb~Y?9}9GWq%K8s80>KPHUtbecup4Q9cVYmVJ?`s~l6 zTge+d0v^qz2W!qS{63zVMhi2UyoY{BXpSUfk?nlwLm&FgXFelo=_<0!O?%1Aq(fys z38w@r?Ey=1g^eyImHhH$mvblC3+kBo|NELu?EPvox5+CpIueG&?ty4CxKft+LVB0? z%866h6Zr^>c3;vxBV7BN%_LOTrn~a+6J+l4dyMoo1yh0V>H@%%YUIyk^1WLEnMd~X zm!pE&l$-7p$!M*unxsL4}zvPLKp;6}-)lGEyeuJ&ocC>aT_RTVW9glSQqP-B7> z9!W%4kgCE^suBhp09OD2zG zXq!ylw&RSGd@4H-opjj-x~GnjD7@$!0^v2ZyvE@lkr{>#7oi^na8_j~g5KSQmVeBbQ+ zKew6u{;YjdO61`-0p(4!kGgCjEv>5d6MLzQ$mF(}Ai0WcO1AUIfBeT~^70l{S&dTb zng|7^RVKDCM{$}`FC&_AgkY@kcnIZ4_!2gy$!Qv|nRz)m`HAc7~)aN;r$AwcU_)-`su^R zu;Xw0Q)GlqM_zg@@WMwvjSjBVpCc* znFc^w0JK!apj96y0M&>jJQWhA$_6Q}q!lc6jPUUA8Hc2$1WP{1s+qzI335DQ&^TgN z0Qt%k6%x4+7rlHmZ!^4G|;^k4#0ZHFN+-lhPyT(IkPyNXA$r=ahs^ zyaB|s2@qwrl3XxK25Irm9l}>);^{KQCJaUx#lONr7NHV2e*9t%){l=5FIr(Z1xV-$ zgUuN7v}z)pu=8RH)kLMyW6hWoqQ*xPA$$M^84(g8!WbVCrZlNSQq)9FQU|pX>UAM0 zGYdeNqgp98&M*j%FyaZRrx?OwF!GFORUS32wAf*mUj(l@t(a`4C{6%jE3-qcvoNYk za$f4GcWfL_z%~urg-l*))!R~BzneUWuF^1?lV0_)r#<`Zvvwh8w2aQ(6vp?|C4`bX zH1CIKBA*O!Wi%n+7)`7NAlV={t!eF3P>OqZ2^rrI9{Q?BG{s z^)fu&C<#0lNLE*kK<|sQ9$9NCPzcg=6-LsIj zal{3h@WKo-*tEus?%JBl2021VUMg+NN1x|%;Eju^vOhNSwW&@3$tzPYfH5^pHjUev zOkOg7{!V_ZonbiATHn`_uo$K<7Czfn^BN0Gl%&P0Aq+P%ZILmhi|Eq#XbCU;m{w zqKisD;+X=I$*9UMBqt=a!emerxsnkKgIe)Qx-jS%&TBFsIS&k*Mnfz0@r$8SHAcWi z!oC5d6+X*h7y(172!;z)c7O*zUJMQu7)@;A3x)(nz8qcNT1WQq_6(t2N1_{1ShJ>37pG$0>l9@977)Mz#&uy5rI}j%NnRs5o!QI zG1`DzQc-GHWvHPY(NAjF&^-5(PulR-K@CPncl2lP?>Xyc{r5TNp5hk8MecgYvvTEH zD_7<}hhOIY?|m|n#Y_32iE=L0U3!2+VNizFVuWXhC7CdI$Von_m6eKr^*JHYL4}0j zPz*J2Uve>F&h4&(eLqw$<*6MXjRd1-c;g=oz))aby7zR%ukztBXuQ!Ejs8(}MfwC& zU^Rhq{$=YNy+lY2L$i^|Lk%N|p@U~j0b%ItG@A7W37@Hnffc?ie$}VOl^O{VhFWRC z%W|7HX#wPLlryJ>@JiVtO=ixDToz9*XY=&WR;Z#A zb=XdgtDluW(eT49oB%@dQbcHjaBw^APTt4~(z_9&Y*Y`Dx6z!j4P7nzNcDi{5+)xc zuwf1ZOW~YI{^px+e&;*iX@x-`4d^oI1_&uSq>avL*)fF2@YKM(6_TwGbVYz0e*EW9 z%o`X#{->5asEch@>99>_r=pnEFn-cZWNFq4>E$5#HJ-H=0jq1JN=d4H0x0G+ zr9iFjI_*yWV-U&LrJk4mnYU{K@FYt0p-YmG@MR)-^D#0#U8lU~J@2uzhby20*Z?2| z5h3u--HMUR5gmRU# zCDg+nQ~GR4G*C-v!huY9R$4Ha8p{KsOs(GIjUhGigq{xP^koV8!JxvR%$!5S!_M8l zt7{-3S2{toh$bsSJ}DFoeeI11Df5|$N{edm^LifsrH0Yog)>MA|^Va>M%T4Dk?gh)6rfj9z(NM3xX%Prv^ z4nHa(tmx3>BP-D@1t45|4ZhR{F-ZQ;|NPHwQeN3|;_E8jSVG3(RV051fUiu6ecvLm zLGNq!FziaRQYw4eojkzl{|Ye=BIl5HV!;<>CYled}9=Bs^+x z0_5XsP|ji$&>#NcAO6uF{Siir|ARmHgS+p(`~Lgyrv}||>m!D@zy0lLD&;(rlok12 zIW@}KXun`iha9DuXIaeq-uJ%HloT&QKFOo;oQHS6``vtMm(-T@mbbiR@AabR!lulR zk7o3SPNrRb6r`ays=8p}bsZ0P-F4Sr{Ka4RNIHP08+8r^ zy{c3{kF6R-sQ>A}W*TU+XaZplr;WuXY(HBnjQUw59@Cw7-YFIB+K0?Z@(h%EG(2m2 zPdT^J)Ux#-56%=M2V4K$E=)-5WcnX;R(c8V*TXtZNX;fixl)9Yy>Q`zC&FBfhJ;QQ1~Sn+ zFA9jJ(ppDISTo~#NJ_VB+D<-lSk$B=JOU~gOkNA!|?x3kO9ciR4V~J-d zojy#pb_kQ=$I#c+4*Qx0&+Bl%nO3P3ZZ{e|S&vNBcoJ31S~P6F4kor^(95IujC3Xs zhB^iqLk5yn$l&zJpnet!TqngF0CVFcjaAvTG^?oy6BW{7b=7s4 zo=21C3^&S$-bS*~JTXi8L^)waljim`pU1La_i9YBtPLKg( z)09Sepre++)z}`Z96|ljq#VDdgmYdXXIsiA;+)$g6%{i{ z-lXJJJ!t`qRoRV@a?XoiigG@FF3G4OKbcQTSkdaCcuJF30^KES>z9;`N zcqgx042gbJ#~$jt1HeXuQ%_b3a@(Wbzg-TJZ!$`wxs%@mncY`DfhD-nQR1a9ed%xf z#&5jpRj>M$U-=cxt6%+U@4rDW_I+Rj007lq|N7Uz;uWu;^P1PZ=GT7h*M9xie_iTF zsDAZVfA!@re>v1aQ_M`Dpx3_kwdBA2%fBq8Pc3DhF}(3wZ0-lD?hjWXwU9C+!KuY4u9& zc*7fB_Oh4JQAM6v-FV}TB;-J&$we8d;&*@dcY9>@Nmg|ZtJ`k7&D7&o13gWjglaWS zZqtz#5=OoDYpv7Olu2sN#E_=6#|?`bKa}0tfw;n$eh`L=O6mK3gHEQ9fCWK&by@>M zDK%Yz)W}MZpoP{MPVlFL9?$eW-y+YJzOGaBXMgr*1`>Uc0|*xb;xqr0)h=Kak>7v+ z{eZ6Cpbyk3;)JrQG1{vZDd!A)ESLsrFe82)U0$><00jZRoS(4ta37GCy2uuCnQXCn&!9~ zhJO6U?ds>q>G7Y9=Gob)2*Uy8TAG~Xv{27>`?!~iC!alNX-Hn`H~LIEcdd}T70(K3 zS+G!B8A9^L`Bfx;2!O9liLKvKa0~%X_q7FjQ9BW# z6xp7JiC2UfR2ef83|A;M*$s_P3Sw~QX;Ygj)=~=mFgI?iCABq8hZ{vX$7JHikGEW{4p&Khp-vAIuKY%y=OULD425A< z<l&WR87*u z!carp=7&7ZO^2}JS+v4Nl-VN6QbiO{O^~I)ttV32e(_U3^;1wiAsBBWdj!synge2) z)D{gJ@xTB3?pG)^)}Eyk@}NZ=?gqr8@8m=Bc4|-)4Ftt2k_K#pf8o+WgM^h*t7yzC z%Bqwmoeh#tIBr*FwT)Lg`cp6FM9q{_ldci2`qen4X9utv4!=f~x#}>}(z2yvwK9~~ zEdEfE!fEo=oX)7lm*#fD*dTcuK}gxbUx|tQ4<;A#e!0c9u+5tDDjm0Z+Xr=tBokq5hB-k~fCb5I+^sK|JTY(v(${nru3G=A2Iwat^5lSF+9IP`}6lq|`Dbq{*!YqQc;u z&u|)Lymb1iexN*kNCDL+7(Szd+&kWRRuPGqd80tTDx^peof;S;rN&_~!s!@t_AsNk9KAEicNVlJ38CuT9w&q>OuafQgGg+a3pEITm_ zcGUz$MV_YCO{F!kJ|WCpS|qhjB(fFJ5f3XPgjMDg>J6T03Q2fM5oLs7o{$In6EM=?mMhr~GCm-?@4ov0JhoD65$F!8Az7ES(gA*WySbDyS|Oq=wSoQA@MAbd zRyM=~+jOK#(dsRpa7yTK782}q&5f=oAs@?-s*d=Mig9OoOBXw2pQPM z1~sG9NHfO5eutRws^mXF4|up;3&4Ix7kmQMz%x*adxl$Xxy1*vcte65kO(4D7|5iQ zFyNG-R2C@;Bds_MKiNvHU`z<1rudK;o)bEXsu#m&wO}IIB;L-YAT3l*$nj{ea>R4X zP-${J=dzgm2m>i4NkMfl0m$qDmX zk(%2i@h9=rYMRMD!LZ^vO2{ypY;{>2+{wF20^?zLB7!b%HcaRr4HCPJvqrL$c$R z=04sda6bA)k|E{vb1p56l)0rQ24PR+MLV9EQ=^YbnLZ|o2Ig5X#jGgGswzmPrTLex zy|=2Zk)&4D$Br+aDXL;(5D7k4(ny>LFRd$9eUgX*|59-dcu+(+{nW-)&P(&WD%Z~p zvyyVY@8hF>W=L4q6?UErpdPNhRYAFaYk2TXpBi^kG|J>kQy%{lk0K5!Pj!W1TJ;2F zCx)EMQfA^-1OlhYIc4Y_Z+QXLFd=!V6@Z}yr(+SG2dEwslDDLLJ?YJFezWhku(h@$ z=pBKM{(X7>4-r3*4Q;B`wqLo*#&jU6X7ToDs|YPEWLX_RwCo-64} zO6|ftIMx{tUM;gP*hy_tki0R|5Nd>9Me_dvAo@9*5Q=!@kw-uUgU4bLn883SzDz`j zF(ix@ph#Ml8WX_AwY*VODXR@4VzL8C$8VmnVuF$k%EGWsj$hSeRYZTIOh3w&0yQh1 z@C@mM{A7iRm(rwDz^R!UYzdXt7R)HbOLJA^r4`W>Ns{BBc7N$-Raz0g05H`ht9CJ1 zoNKAxRtiHhQHt`GL)DSsH8#SN@FvU9@~$U29IG)@y6gSp{vQQ$I^^E2`SBnB@sRx7 z$q$kj-q_|d!{KGmpwrZZk=s!yu*U_-7Z1r+DLQS$St*$F`L@6&B}JXc21hrxLWN4 zIr5)#=~P|2N+*mp2K?%oA<9E_r93fD(ZsL@kVziKbG0kl(5TgKl~Ru3R`bz>P5&^A zaXyCBco^lnT9!gSbC_XPN^9osDIQZ%Wtdtfd0xl!glaXIfIU8U@~%vIb|Eh{8Tq!t zfOE_*iR8g}*vvaTb~N9j^&Jpj3jY1y|9yQ_J%iDYYm+TtT5y+3|*%tfC?E;m^sO(`2gVc1$or z-Lz#iS0)|Gb=Nd7^KqE->C*Je>TumolCnPWETXKYy3{-@+b(Rt+=tZn-h1z#{K=mf z0KR$y$=`qf{Wf}AKNx1?uuXKP?x1=V$)6Jj{|8W8k-Sj~tAH^A2-p}l zh#K@5`h__IKlI_8oRA5{CPdi%C|yiuYk0>P!zAayj|PEZcT{vfRrc2D5~eHF8$=SF=g`AdCC=$kL~D;WYru#wc1jgQez`Y4yF9hs95WYm!fG} z%;+;8pH-*!JYzDX9F3DzXRIivwySSHvx;+~r3upi%+LJH-~7$rK;sVS^p#32DJD4P zY$V^|ovl>}NV7D#dxzY-<_FB*cH3>g_j|wR3%q~&r+@mlfBUz7IS0&x$peZoq3s)C zP|)4}4h_PGBo?lC!XPCkcp0iBq#5{3CxjU&l@5&#wIQX$XSfe!myjpfq@#dQv}Vu4 zpVNfeCIHS!rWHk=+S-bmLsGZUk7SWje)OuYj_@ew6e#nls5qyHLq*hdyR>>So*gUC z)Q>Iv)nEOU&tm#fCg{CK56_dk?1G()5Xi?+0ppQv;wqB=4*<>|Qxi@@@(_#R(NbXL zFglv=B)T?G-Gmm*y>8BrLxlxReflfq?G;;L&8EGA<582SawP=tHSE1kVb!) zOiF87DTR&O)q~Qq8=ci{MPjIvb9m@BwG8vgWc*ApqcCBNAx7z{8ShaV>QdR#jSj1v zOqxUh5jkc`SEd>_qlGZaP{V6`P81b@G_{zNry@m%74hTqP1qZ(VkP^SkUU6c?z6R? zcgJNrhWem8Uvj+Xo_pT;&UbqE^-XVj(;MITM(Le*-uagOuepMJ?|%2Yz10KZBdh3O z*HHTV-naYwH)v`@CzQ%^j*^3s4h}vDAPHxt7TN?jhv*aXupvT4)H2zmvS(0MXDA#N zozp}}gU@p!Y_=0>t*EhwK1njiAXX?ejv-;r?Y{8nt(&#q(jn3R?|IMB?@9Jpb+w1( z$$G2~Yv`?Sed`@}+~LVOxOup5+yCC|efQnxJu45_1L8qlHuNs!!|-5yWaPkRA~7=C zo*wJQbp9>us^&+$2RvK|#M?D6qyZT|foFm@1|B(~tWgp2#2Y+-Vt79AnNCPdS{Cf# z3dMwrl%nCQhz|eYoG~diMCn+*I49?g0?h*0J2=Agxnja0H3Qq>G=8esR3|HVrCK4C zHI*!GDne=rTH_TVIyIqeO`}%P)H3o~lyYgc#0wR}p_C>jQe8#bPNE;u&s){Sr?0y7 zIoB;n*!UXK%D;xhn^GQVGQ`ND!YCzo(*KE{_=ykG+cm0F?;2GtlB$}#AXCFXF-X36 zs#@PppCs3l4pv?>bG>F2rI2PFXibLXAICd+ld-pJEXyt=?f%wbRT$VdR$pi$42leR z2y6s<0vl@)^FcUxMKnhZ6EYc0LgzfRdWb)?B2PF0R9!WWhq5P{pQyQd%L%nK$H_>h z##MoEG>6#;^SqX(ki3-7^;r;3y$mPLn90tQT0^QLI>AWUT&-z_;|D{nsAAUGMxN)= zgc(+Q{tpdT=ZB@MPab5`$E2L|_{Li%Q?)FeT9mRBk&IB5hYU-TF zFDrk4s#z>v^fC;D~2zAn#v6={{cR)hQ1SLGPX> zi5sNOW%eMCjJa*m0D$~CZ{N2=xsW$bp!Z;WsNRDUhJkt&$$!L=_J=zF$iaQ!zwdv$ z#&ljW9<1Vq*69y8wD=emE(a_fFMHX`{ART*RHLZ3Ul^`f2nr%$g+iV|pwXFZn&cQl zaK�`{6+^cz8YAw=ccs;S(jJ_s|t9#7bRK!`tAOg6I{kDf6-zNFJ|7!J7*gE?n>v z#D03w6^b7dHpR5Pl@mj=XyZ!@CZ9>xy6}YjOHoB*f+18IW2OuHmwxG&EV+G(DkLT; zjFU`cE2?|(mW%FZOlJ*uiq~(}ht$SgcIu7qI5Tc(^11$YO)uE=jaNQx1Rgh?eC8yd zoM6sFtSC!Y;!u-$o+1(oCn9;@z5THt`!Vs@!n7ACOTR7+cg$sD=-Y;T3+fA`&DgC0~=(c_&xSH z0smAgjj#|7eS&T=6{0a-UH=*R!eC z(t=s_mF8rMWZ5Rq3eO~kiH9V4MH`=#r{6}C{!q05Y$Pch)|C@}az!m2X?_Z60t=B& zBq^``z)w0ktm69ifW|Bi1w~DH0+>Xy(7aU*RQzKua zjh~jLK!>+6T=k1#O4k6!c2h->R|w$bIXG&c3Y~`McTjatO8tdY zHVBdpJu`gr6jJ$brfg>Y}b2I zJ!v!bp@|(?59?e{%@+W`tCx6PPe2VmIzxHci@{*TWSl9wH97dag!>G*zUCTAibaTS6w*0g*einDxBX z7L3U%WmR`!s*w}KR(ENdMc@T5cmWSqe$8|a`u1=Cc4rgO(q~&;QYMHkSH;Z#`uHeA zjLuMk(cyklJ}?i&!q1i$3W)7^%cpeTPnS*#V64jS8*~vo^O6L9etdt0vVL1@kKe>y zRHfR>DkQH5v^_bYPO!GyXMyc5Jxt`8U&Dve&sa!j8qz`5WP{T>46p?r0112X%U}L- zRRaTqcJN^ajO7|n9|Kz^myHOI+1+2+p|XJ`!qld8B;;yAhYBg@VNJ8$xLULEYXGZx zHCEl4j@y)jwG&vHvU*?_?xRU5eIAHMGyX8J@y`UwPSs`eop9>O&)8xn_=;%8WLTOx zP1!1n8Ge;-iqe@{azZCknu4rardu#*td7->20-zQ@G_Zc*F-W7E1H;x8HIiLM@>+= zDojz#{weJqQ#2l8j>Shu+R0*8&B<1mR96fiV*+CI9)|w(DnFTz1TyzVoF!tNl9pfV z1|9gy;oatI3#MspG3y~QD|xAGq|_yk{nrX_Vduf(WAV2~1UR8P7jbT}?8_FbZhfT@ zKISLF{lN3<+Cy72GATEVOS!v=ez_=eFB!BZoO5f9nsBY4?xtb_xyw zPW!SwcgVeQ_|ri{Ja)H0vIsFq+oM6nF_mfsCbUfM9-9*klN!h&hD5__JDsc;VxsEJ z=cLDlM;}1&xjNBrA{T#c35`$dAQOEE80ZS`FX@LEuff=Yb=2*9(t+V~9a|qdF#+&; zyRHtgdj!aa!e=+_x-0U?!tL4>)fS<8;`a3Rp!RO)!l-c2Ghl-8QlkYKb?@E3LuHiO zo=~XoiA0-M>-zBZKxjc~4UwwIBYt@QpP>vDPytyb02s_oH{Il18UC?`Kz&a7*I$4A zkNn7wI2)#ERk5}p!zPS}ku}m9x zAO7JV2Ft(i`@Rp1|IE+)%+LC)&+>2e2Fg|uZ`Cd<;O9K&IRLr2rbgaKkhT;XTVozi zq7)+lv+V1>?(077(?0Dhzw#@8=!bsjxzBy>GoJB`Px_=!`qpp#R?|~>VLTDGc;=R^ zB7Ov*QMC&KCpUw%jvTR7#Du1hWLc>+tS&7Qo~%TWMBis(QQPdMUe#0CVk>upG7^Wgj{AiZdpK2-9 zhx&~Ih7eCaT}=p0nY?Cn&$l8=lXZi)70CnY)|2p9SMjAmdLHa709$yz4b<}9Drcp# zB3TJ7flzrnH-zbg2Pc|W+G?^f__>nkD03l*P zA`~97_`CE5g9WKnR6f_{N?jRpQoTYgTBQY9{IX&oDH1|q|Ms44yzxdKfNBUGZaH_l z(MGrHvh*=p4a0*&`bW>`E}ergBt^JK>whXM&iYx3e0pMQ^9Z_cxAj9)o=&Of1rK<9 zo}-Q6fBcW#Tg|g`dEz!W`#7*#l?34Lk~$iN%w|wvSey>UKkN^0O79tGf z2Fbf9=0`1{sj1|)7PxX3?I>+VV7~NAztoMos-2hBOU+CK1>sUFgNdUe=EAnzX%55h z{_gMo)KC3Xx6n+?Ba_HHbw&RfpYa)9BBHEmrk;Pw$`NRxlc#Ws7~aZTkibZaSlZ&Ful!6CzDv9#Abnlkj2T? zQ{aSuwWvMVOw-$*+G5RQ&Zm@f&r44-kv42Fmn53mX0m3x z$v7z#VNqFl4K}NE9!m9t$8DVi4o^h#&9%UM)2$hIxM+}@hEi&lW#e;@JcIxen0Nl= zy^sKahyVvC6JGZly!A zN>|%>LONqO*+Wfgfud5`syNhKy~S4r&7AOnK|JK7?4%S>rKPfUQC9o%BLtr2*ygZ? zj9R66NWUVII=qxH9p-DhrbTNl8|P~gJ`+xgL{vHFzba&>X)$?-ztYm8oi?t_bj~nq z>Dl}l%{(-u>@lgOffP8WCX3%7`M{MKtw`{hn8mg>CcqVBW$BQDUY1s~9(0G{1Mp>c zK8cJzQsxu%Uo?)-DT_&8X#?Tl=PEAK6OY``)APT3WlnJX-*=_t{^p zw-{@k&87FT?MFx!k=w6re|B5xoC3PRw(r~Dp#}KXCL(ny1n%1Ayy1fQ~!gU-hb2 zu_bZGh4Q01`>BwGF;NK&pRmYXxnrcZJbR_hRO{@{HQ6>AUsnto*L%9C8+E*X)0z5B z3NX~qovJ*2osVKbBhRHrBlVa(FHg-lu@#2fJzS3%dDfozzx>PYe5<#6}8D*0&a0car#T4;i&>`vauF|-D~SO<(Eb8Um`D4;e_ke=x0Cs*={BcV+a#sf9g}83U7bj=Y1Y13zWLL zf6|klq|z_>k}omG`ScaV&-t9sao_%wr#$70zxaz`UCzx59-1!#yWxf#xHVfH zUunUyeEG6~V+a6`z-H-+ zpaK;D?L$rzuz{>Kyp6yhw~`+c`AR7y!P{1lW9drd8D2%B}p)Vzz8u8VVB)*WWU<0ChC@pvS$yHWs zB$Xy#Ymesv6#x$m>yYZ5l>E?kwW5HEVdF>DG}U5NyrRg;BOWWmhfK_Ka>;h>mbpih zr%BNA1w=Iy%}|pLZ$5(SGhs#}hPK;_3%G)(wZZRtfEjUunowY%CXL*PHulbsaKoi+_ z0URjW3Vnk1^@H0&7#@nd@O4mj& z{A&&XuXScUz${c~-@2h8+}2AVx^KdY%}s(+03Ai@^%9Xz(5ucAx)k8&(1n9`@%i+p zKiy%(D&!hjS9?`S53uTSfX9Ntb1qcp4i6NbcY?4mLX2=bFt4%bL?kaBVe3HT@gYoI zx|f}roS~yApE)f1F^=Tz`vVL@@;YZA!HVSZG?N&>c9Y#D+JF0Rm_zE0Xyj#QGa@HJ z%xzm9ffUImmyT`BDDSE~rc91=M}G+q%{fuL(Jy;g(MB@aiEWro)n&OwArMU~n9_P+ zO(&|X#$j3MNH94OPXSa^cvHlA3T)MmFzM$_8dXGjji>Bf?&V5FObQ@Z6F|1q5PoAw zZNiQpKdb)0l`Da%6&B1x65cA@WT%LHx}p|svI$dDbVyv;>1-B3cjz5+;+;GIW-)gS zg#omjwL|jOPfkGkkh}}|ki6{%LW9ddwa~k}R!oFPO4BJ#D3uN1NeA_*cSyk9=mzpZ zM~le{8ZEy9uvK+hQ98>tM$939h}78x0sr#SlP9!wRd{E@!1%g?oBx3 z(D*k=ZNwO(lrj(FlbW$A<&zvyphnolX(Z3^E|PQzQMG3-<(ZR$!HXZ&oL%#d+vSXd zv^r)|T@h4(ACL}2^%zF)wW&>STcSOM$aCo#VTMRN#2)b;r=OLib`{BA4l4d=v^^2Y zKltE-MxfDa)S-Zx$?kF+jwLb8oA`h|mY$tw^?a+5uzZIX_JS0N(w!`)UlidQ~9+Z|wLws#oUJ>mxHCvAO+*W541n zzTy)<@e`dmtS~USn{yY@rVmi+BRPOp{9a1{bfI5rd};`v>UC-Wdf{qQj8G9LYP1dj zzydZy34th>9E9eR=hwgf^=k17irWBd0*npSE7dgp;9lKld13?jU8lR82f59CO@^qw zx8s(Ee`gB7-pezlp@qVAx>C{VbL)xYKLuw2@4dJUFu`pHI+IV$0kA{$I^6mLx(h)6 z=s-(4^v<(SK=c)#&wcK59lmrLVDFrzy`HJ?97c4VBaa319q)LD2lu?^J9_i{}L&yOi z$+{TC(>Jg^ZUe)XdbsJ3B*#Q+wmoaNb^X)PPbKg7wB5cOBVF~!L;8EWqlD&~jX%+x z6QvvdvPU5v|EX%T619yUm+U+!UFop)YFW2z`gvFlhtGpZG`}9G7HQcuM`3iTXq2ax zHQKDC2}hX(?dse2Ir$Jde!O91_v$Ak%rmTPHB{r+rc;)Q&Ouc)MM|#_+O%T&Q+O3k zoM&jRt)n*Cv0c4Q6)}q1+N{au8Zzn3KGf`+qqoWH{UtX%R%uY&9XsU@>|f}z4C?Ab zByaZ#jYDxkbN~*+b_3>+(aQOL($u4 zgX9~lvJfC7??g<~7;Z@80Ydk~ZXqmFC*EVB zCU{rhN+Ip$EHDo(QwD?ep-XiK4V8lNP8M$R-G>VX!WSD{s*^d}iUP z5VjYCqn6I}GQ3rel}{CQowJq0h`_vB<4FnW3?whe(71q6V?cT~v7(USq$C=M^tLpG zvS%Q9!TU(UaB4)c&9Hc+{3ns390~y8H7`lQch_qs z=FBg=t2X4$?f?9rOMl~)4qN)RV}o28HUJ3#0Q1hw~H zY-G~5r%6c$y5LXD8jy(Ekn9fO?TIkMNk{FF8J(C>I88nZF^6gz5&)=08-+EyaaC4B zoRqCy2r3{Plj)*iDx$ONj$>S{l)P-36u3gVXVmCaqcpWp1Rj%5`WRV6KhG8I>f85u zOlkc;nz@~d=&(Jc@snZIOx# ze9Lc3F36CeJJMFa%H|Oqt6@lo`m-$8W zh8u3^b#6Xss+}vt8>;kHj4z@>aeOxGK~Oj3;Jw=6WG~G8^iTh^J7-zQ)?K}u1cTQ5 zA#SHtAz=7cobI}*dG{L*hi|P>s?#npsMKKr$OpEqV6HJ0X{L+%uC=B7P=@3M@5&lL z5~t$;lRlNuOsLz@Msr-YvwhKvUL-v40y)<>2f_UA^L4D#fzt#ij#sp)Eazun3ER#6`oSeZpd z&YPow?+Z8+LGnH<;8Uk*pgwmJf#f|naXO26yGE!Xd0jns@;we+*D~1B7vC_DCLEoS zS5!6=y%!PEN0=lOWW_An&2QJh@WKR)YHuKq=m7j`x=fSAGKi$X_MtVE2GiF z@`z1~*n{F`R+DQp*UFx_6euzcGq)_eKC&je#IxO7nc)P_#gH~y zLhL}hB0N%xAOsTNp=S-Bh|SPik(+EngK#KeYNsjlhL}*^=#RsZZzQrq=}dNIc7FF% zU|39*Rxf2j5gN1u=1G#rtnrT(VcwEJVxA@>A7rhRlWf;CtMIclb1B|(!H>rz7)Jxy zlm$#OAyGDEtQ(!GV3Mg$QIyFg2xnh=wdqY93@QBkd< zxzcLOdF^Gp(V>RMCnm|N_TlE$sEYL&O^Yg;03MTO4XH)r0WS3dpB)3i~#S$h8SpKtwl?_^(4BTOizCOm33Xv_|D?#~D@;YLM6;aIHzWl>w$ zpkMMx5hevDYT=49KRlDG(dXB`(`u7-%uyt&hVN|J#z%zHw zurbuiKhIFHYi)1oc!9*#s4Bo?*izN1@Cu3_jf7f7%aBhdVuo6M8~}Z(9U6q{)##UA zYM_Rg1Z<=<%@k=!X4OwQ z9cg|DM=~bE&^aWfOtLDl@KSt5d0@Lns3>`iB9u3_gt8iisR_(6fA@EP2VGYM1*IrI zYf8w;M3RmfN5UsfOcBChm6F5W$&Hz6S68J{5+-z*d&(HAO6K`YUYzt5;kyT>fS-_L zdE2rt(Ighd$Wjbh_?5cU9NRX;Jj_cxI!ipx4 z(=;#IEL`TbC=V6JbERnfl+NRq_j@cBQkv&u0v z)t?qC%Zrg_jD`0e)2?*>{p+gc6W;?zIDU^A@B*-yoOmY>sQ4jPIMz-PqyZ8jJ*e2X zHNk1f9CC&*;X_CgboAc4Qb-bP_WFm^nNVkauGY_cC{pjyTMZFubdiXJ-W0-7fF}Y3B%#TMT}uh0yeeT|s4m3D42PowF1; zSA~TXkW(E{>UNGYBrF)pBJ4Y};I74-Cbv+xn5}O%xU3u&YNMA`985TedRT`%Zp73dDezvLw^;jKG)H{pIAckbi^y*g6>b!iek7Olb+AuDYxr8ZXdk*s*6cnX)i zljka;yw-vz*}L2&D_<3ASt>HR)QB-iY$%Ytr4oP-id!vFlk1!l zoU(0Q%840aPq$+Cb2K12#O|#vW76Tm1&bQ3(io^fk%gL$EXD$Ei0U`P%%nquNy>Wq zm{3{i$Q4meVbw`tBcT?JJhfFg5)64+>BP25cJS!<$N=ZSuCgglv?SR|ciP9<{HS6R zKY7g`eG<-{bT)VLAu&$F;W}-RR1e7)( zlbDY%m3t>EDu_jsLS#wd1mB&!)N%p1dWZpLXp{56+!K z2C*CVZVO%7Al>My4O$SAB~CE*WzO;9&uvxbd3^`bq@?}`XLtw0T+pO zB64rSn3Zl>VM2=r$ZA_;;;e1Rsg9;imX+V7F>~p=CE&+xJUXRsL*YY1 z@`0H!jMT`9$ip+zAWbMvX(ppKn#oJE9Z6PWyUGc}NK*49FgcZ0N?z@05~2xj7;ZO3 zBO&MH{761SY0hCS)7;##;z9CW9dxT;88k6XG}oBI_Lz){5O@JwF?jGnKz=NSyjd;D z+iD%t@Fp++Yz4^=g@`gahh{D{KBeX?If)_?n)&D47h$|`XdO^g{2XEs6X|64va3k` z=!{vn=py7Pp!n&rvW-1Uff;J<4{mQhI$4u6A3-T=xL5M1HDQ~iMuZGnw3sS!q7jmDk?C?;oEP&-EEb<%d zSE`UkBs}b^{ab67=!ovu=olGs8_=~XAd0V_)Fc%Ln)5EHWbSjv}xf2X`m)4iG|4e=9&m& z6T#Sq;Baa-7n@Foboe2(NScyf;c(MyGP<9)1G+PJ&FFw>ZmNR0bxg{et*QkR)Au?- zFSYYVK>&1AAq%&32_`Uu7Eca?$g5U*fE00y2-kE2m}Rq~lhvd<UfgWl6irAg>xJW$*8z;A#1 z+bKJwyB~1OcMt%az<$SkrA#o02gh?KdRMq?%~=((auq<%iYBbi6@=rQ&KoOPrS1pZ zQQ(<4jGMMTSagADDX35OUA23l(?v-}j;Tn@IvG)(CU2b3LG@~e6rM0zBOhKcg@lRL z2uJNShKZum8dBTiH$}U~|HD668B9r&F(fY?YCeKbu$-$QkDFRZUTV%-SPVjHZsX1O zZsyH;)j51w(^}RnFT=FvB(V_fRgRL$j?QX03v7%cOlue3c4H8_c>|Jd%|?!O6=Sux z!MPGQsDxw_v1U@1GCz!JtvWuPmRu&QLfOJdL27AbV$VXxxxLjP$PE>;;0w$>nENP~ zdp>{HdrXRiA?FiPZd<@t`5G0S4V_Yi?L;8iPTNp~osc|lH4a}S$MPg=x zp-@j!Lkua?L>$&dbOAt_oF$}+_0BDHuf_7~o` zit=yAw@rWW@p!wYYZHsDTQVaVlDFyeECmVNw@ex;7{EXwUJCOY1Ntpk0)z}E3C0+o zA(H^ls2SBOl1W)gf2FZq^;JP9liZF;MY7~f(1|`NjFVhVFyof39bB68H=shxN*;VI~{Pe>* zsOpxrh-YMFSdqM|_-^CPL1aprq*ewG&L^iBXezlP3y4mZ4Z};332v)yoJv;nL z6bfdVGuc%QKME_8vWo_^g@UYx49SXt-0Cz) z-Y~oRcFh%z&(9y;AbF>=9;@g3;DZmE7luJ7CGZ2lz_GRigCQ^j0#T4suo~bgC?eUz z(%scPhC~sDA;6@}>G(pcBepk50LY*w_(3^Mw)7E3RMiepkx1cB457O6 zpQcp30uvH`9P+?zo~5ix$Cd=iqS`_MuXZViywzTz3OL?&eEs#;Uw7Sgz83)Wy5iO$ zVsoqzBpoEngrA7Ks_BpvEj2<}On|&FNJK>_rOB3@0_B8KI$TkxMscdKwkSfB>n=RG zKG8WfDsP<7Vc2t&Ubt`pjPCWQ(j1$J@#Xi7T`Z>gb+?0=I`mUW@X8FU!9^*Kdw# zBDw$m``PaM;Nmx4-@pIunnxbF_>I>-$28F%)2!sdl!WAcY8;aHo;-K}2Dt7Mg8}B4 zsXAbw3qWWA$wCDfsZyFNlAmp*mA_?wUGT|KAbH&~@b-eX0}5*v&jTTEHq#Ize&=Yv zq2N*GnA|E-i?r;dNk)x4C(?vviy1#5;Ugx5t1^kK*f0$7DF^_FawzjaYce?}=~G*& z8goAWWf}4eHUrEqT|F0BuiIUF?X|8qU8;jXu=+js+~a<}&+iXAuhQ`=kYOooyirnRW}J??qp3>DF@s46TJE0Xsj95O3|>n0=kB(-*VI%cI=+&raV z0TCX?WVcp?uO52nAr9>?4)ShwFeW?33cpfC(jl7hs~Ub3RwiYhG00_z<r)BJz~tZq6$?@kuI z@PoJf3QV-Rl-xO2Fid!h!52dnO?7MbM80^=h@a=PX>Bi_vK||gDV^Fkbv>r6Xsz(m zhkRy^AsmtwfUFxK`-qWdKkBmR{JYXs%`3SFJWyl-LGhllWdw?|WUa6V0JD6No5FSk zpa_hSl9Q0fFu@GKYqHD2LMddz*7D`0L2uOfYNy)(r6|ax6lw~0;gcJ&{P0hLr&(QN zRV^t5>eS9jR#H5ofS6aBAE_dn9pNsHJ*kLQhKeW@ztV8{LT^8qLhB| zV+x7$I*n&SDNF($IAmGLt(-o3uz1d$yq3}tFhBHp#*akykf@1`j(F-Bl1LUYscCd% zE2>XO3=#mz!fso!n75K+Y&|6XqUj8qP3_$BQz=&{|GQd`PjkZ;#-zf)XVs%|cj|QG z>@e~e+r2&dgCBexzVX^JYckr@OgEpl0|xu6zTHpT+2dRS3s`lbcfbHzi128GE7bVgcXSsVz1$)lY*j^2&b7-UGWG* zrBFHq?og>ZM+0}505(JfrF%2Mk6+z!#~og+ao7h-ob&;Eckiy*@t&r4fMIV4-)}}S z^j?kO>ZZ}vJ*@84f@ePSnZ8G(YWe^SU=O``wZ(mr6X6F@RN zO^;?GpElO6vZXaj+hwQ!38yzQsW+r_P*#dk8)mEynL{0t4YArt%8s`JnA(-%Q6a@o zw$hEm(K%#jPDR6Poa|eF@|}Dzem@s?iEDO1)P>dm+Ea6xj-|;Eq5#8pc$YfJo9{5c z8EuYBP4gJ(5CzVpLz5kym{p+wk|_PRf7|_jrd_~iMvkI@u`y$H9kgtXB{6P+dGBsn z>qKisLgO}uXWk};DNRya)J0wll%p{z9-eJdMzYo3^s&MhRTuK6mDsGnrW*xcGZ(EX z%!w*E-&CRJ(Nr-}O&A4pMk>e?%~w||zfmrp^H+C9B%7k?y^*iAOeu!k5VCg|T6?(n zf5Y=vGCI8)+xdGS^ls_Eu=0rU4?p}c%wx$iXHifG^XC2Qmx}CGz!+>}cMe$EcT!Ut z^07c6a#NBJPZOBLa}|_QWC3AF!l5)jd()jQqM09t@zj`PrLJHhVODhT6RL&8Q}&X81=A`DJRl2Z zAGTWC|I7aONHfe2SD5k4i7dATsZz>%M%F{8R;%emBuMEz=nREH0q-kUHWa%_FdmPr z>aFumg$z;SA)l&1c%G%x8yNDc6XCAn+5?O}&#{*Rz{fS>NEAdvA z0+MB3{NySH)V*B;LMw&Lp=du3<>#vWEUjzyuG77&4yBt-MzSa94&RNUcx0)$lXqe3 z3$y-NhBs=Q4uBJH%RKFAPm{X62W-?UX5UqJ3UFQNH>~{Tm1C@~&;&!mLBPeSZ?*e1 zDxao_5cqlOQ=d9-*Q|{as_ZmvElOUm>K2Wy$R`RSaN&YzK}Tt^Nzqia38@;Djt+^2M{37x!lvn- z>aM%)a`pk*O_>+G-~}!FVzcav%G|LR#QOni@$*v^{Hv}o^1oJ*d@ZGOHl1d^x;hW9 zmh-5cQzviJ($#8HQCXd1Z<;Z7{{85x=9S+AVGO7PBig{jBab`+5m~P+JK-ED7~_7) zZ_WgktUrWSumM6OXoq&-4oeN0XeO(M7K)MGA>IEVFt+$fWhb`acY837Chg-{L8;2giJt3ADzRHt_|HP zV<6HR1?9pp76i5dC(5D<<4JY9B04&RniTIjst7vuBdc7gg&!YX89DUTDC^;J#nz!< zfV3iVIF=f3p1Y9L>k&IYVhRQmxZ)Y*Q_8K_c%X*ipQaZ1fJv!}_#bqt2$Em#6^2ViLlvvk>**?dKR~EzMqrw%8gDi;K{u(gS9HZ3iyNUsVT)l%s+9FHha!$`B@Je{&n1(6990 z{%v;$ZWf24ttuuX1rTf24LdR(wzn5Y__7ZllXV7rTz>R-B2k!kY`-qAjeDJ~6I+3H*;e=6jWhWR}hSBipj3(z6f4ysZ znn9wn)Qdz^oh-}(A^8}~O!0u+buiJT+}7TynuOatPxB8;(>XEC!^Zaf*%PZizxmmk z8|RyBwh8rrceVreVy=9cdNsmJ_JBu;RwQpqdiw3)!5BaVs&RjQ(@i(E3)>VBp%qN2 zEj!pF3%8qqR;R4&={sb03_&?$Xye1AhF2=fb_m4c0g)5~9-|h-^S*GG&`dd7MTo-= z5rk?#en7hw7G+bIX9lS8Or7SQCvOI`Hx4^)~pO6A< z0B_q+W=EdMg}LNp90kgzp_HF_yT;aUyO*MS?ztxBLI&@}J8yCftx zDqw7{#KYCD)1h=Pz+AX+K`Xo!<0B-1T<5!2*Z(}YllO*z_h;yUQr^<>Hjb8(0OX#6 zm+f`Jb=O_@yyrd7EBE@7P+K^3_YQ7ppyLv6vQl5F^#K7Ba$jA1%2S@=5K%{|PS2ns z7kte*Of^L3>~Q=Z$&W&vQ1k1P(iFJGBw01%#|egHHA%v7CGGLsFDNX$o%s9W8xv!}9K99S1-o$5Ma-^X8pFYuR_eq+>?= za6zMZR^WI!S^A7w&119X{_)CtrWqS4=Z+~Zs3 zbW$4~wy0n>nsk^DieEZ0$Rb${5ksBENt*ooN{h6^MU~Q_Nmx`o%ND8!ku6P(B7O=9 zLkF)qILZPJwZhC+b<4Pgltk8Dt4J79Rt3W6Ge1f4PlC~1oi%hLo_S#?;v~YCos=zo zrS?r<<+FfW$prwwxcS7q=tVE;8?V&z$!)c>%8%GIr||I9dUiBrcU2z8Kqq3WG=*LB z_M~$RbsL}k&JAjv#x^HLz75*W*s^IsFrk`UnDeg>l&!r|eg?@045Uy2$micEs8@Cc z^YI}BMekqUu7Ss3xxpu3jI-DcH{9Ue58hyDs1NLPlk7GgTGp|?!$K_}r&O!$o0bJa zFJ{C4I-Hzas8T5>iog;(FDtwbarArAlb!_G>VGeO`?&m;TW)bhk05rR0+x3qNNzQeP07x**y`Q7c&5_^! z?ce6v8}f8~RaTEt>!D~qhFdf(+Ax&sWS*(fM|8;1-t-6?<4H14hhYk(lU=LWnB;l2 zN@41%7Fk5OipC+~rmoa-JEb|vDi5pM)TC%U$0Qtij8xN*>Axa*$9a>~WCY{g5@SfD zT=~jjQ&#R07D7Wk%l=(e{XcraIz~C*v?j3_Th&g#yeTKV6n34 z6JxRke+T9N(|@we8cSAPi@#ZK&CybAVW?@s*i@0{Rfw-S2`3DiDJMy1N+EOjS-0ph z>qg7IIbvNB4~E2yFwu0iZWK)3sxE#cn|LNWRiB3$s}F&hcAcl9bLyPdI_4FPpH;IF z)!u|Z|E_dZ^Gfc49;=brGnIPiCaG=L5(myXyLY<#?z?S#wkrFzZQT-NE5zFx zEcnPzZCKWzp7u~H10fwVF2=gYimhdh+W?ilm=kLB)mv(v#Oznff1pO0XT&oda;2PX zmSR@6SBny~2FkJm6$lY!CPEz|$#BK28OJte=*2WNmjv4>`jIo+)qCI7gvD)lF{*xavqS zJd3twdZ09?l%_DG^&VH6R=}F63Z>2tb`!Tlu8b_^^TMQ$S!I=KCaY;a|GGu0ja5{8 zJwE3holIFX>uNf6c*;dWVk`+eO?*A>M!D?u+J;VZ+3QYTsYk4t z0IGlct4LQn+ySD-fO})eQ+I)#P6Td!^{V%=-MYJrhG4n1RzQ_5tGy_qpN$!QIPn~v zApFB(hV%_E@6X(H(@kJ130pi^4w`zg{F-a70d5UE+qaJlz*o^a0)Y2oVBU}8nHMhZ zpkD|Up!KSW3r1>M>TKdI6wT2CT5U-1AjKYGVS(D za0!*fCrl7M^5*DCY#Qr=~PN6TdGoIrCO1E*wTCi*AWJ2H#^*W zdq6(-v`V<2H(Sk9>xLOeX8@QL1209Ef(<2?rn4zMJDXJiZ=B1z({}$L9@jxW?CY)u zPB!VJ7JsnW%Uz~$pC*9W+65{cR`(%9b)u8Nr(V)^PV^lvyjLkCgb|Xp#q0q1#ZxdE zW#udee01plBPBVG=yCgdT0>5(V14daGAO+o+lSBtjRemf6Y%i3%?qH&0yP*0l0lHX zX>Q|otLE1g?3gxOS<%P5`OR;(@CKG_j#EJX5xFXnW9L4o4Y3;b#LWc<-w^ zS4ybVTts(^_xoHC@>##h*5`sDv55`CXrQnG6?cU&){DXr=}d;YR}5ghd&%xGO~6dO zki1~5DGcMiawWlY&NFfpfwGQu6_9x9YCbu~J2K?zMXmVtO>W-A2xHz zbfYW+1BPV5gRq2Y*TNH)b9Fdb5r{^4RNc=$nKW@La;<%938E|VKhECuu6McCTBO^Z z3Hk7cKWs7uo81F0G^p(0hie3ch=dbeZNjx_>@bPz0(;vWcHx}va86rKa_h9V!{l`I zvtuOcg3O)$ATe~{;cy$sJpcHQ|G1kL@^_fzz3+W5cyBY`rnhtE+U^#$l2QdVwtm7< zsIV(rs|Iljz^VipRVcg9!DH7>C+G@*+2G)jl*)QY*=h)hen3KvSyP&*qUlWi!y6&S z9fDLB&mm~7^C_!HmYRpfjYk2|q|c|6ypZ&s*9VqMs)id0rK;crv63nx58g}Ja?V={ zo^d=KS+*KgQHE=a@IpcxVOesqF-Mr3kCUwUS0o)LDX6g`rKl{OXswroi8LW)hC}IZ zvMIAd@_a!Uz$Fx1G}z7w$6Jn!N($a|)Y zv>0Rx@Bq5~ELf-+m%O-VJGD&31vc3SGKcLF4CmsJf+G6LIOCxfhB?T_Z z&Uo9hVtTI_q}9HuViVFd;WV?c`mdX4+G2f88W;>voCLh^>+P%DUn?8$qO zy{uoEm4 zi~x+}W)@q!AU%l@-j;HAsr!m64pm+4+={1r#tyT-6|fG}K+`e(iYPP8q|VpXV4iz} zXZ@^!1x!tZB-)~stL{u!+3ak0%S`8)G8%ZGHWSJ^M4Xrocu;C?n$tC~f$84VZ`y)p z?J#?Mf&|itf_WANBrGfRo+gB0+}_$N^|-kcdg!2E(9wl9QG(FceJ+!Q_S@h7cJJAB zjyaTEYEh$;U1B#6)J^D4h3Si+5NoG7D zNA#tm95a%2oQbC}R%441jCxJ_z_YQ-lH8czOV1sM|8KkBt}({CGmYEg48}8QjGBrz zk!-S4^~eh~^Gc@&WRpnYd84k^c0v-#9?1W9&psq?t>G$Ii6FL8$~A58;9`GrZT{4b zp(CC6Pcx&xdblEAMOUxubR=u(VN?&*sMXb(|1aGG-HLPdWjzQUYEzFf+}r`K1RB8x za0PBL2N9xx7RES+U^AssYKX)bMMA-hhVn+30%lAwYC#yJDD#A+Nfec(#yOwkSr+Xb zTtt$ef*FSy?i#Q^3_n)f(vO(PDoSlaT4Si9ahq~|QcEcmYAMh8q=`{Vc|#TP8D&yM zBB7km>f*#j0o6oHo@-UHC@5E4(=_ipbi~<<7Vo+M!$tkd+3~?E{or(wJjpukUUL=sAkRUo%8rZet zC)?=A|b&B>dd2lHUbgO%T0IfgI+52vIumLp+;UzFf~l5@I3dRq=2n05!zW3uNEFdYt;jtQ6sQSI zs>XOa6Eg+QM?q0lOk>5IEs4=-Me^{ur_b})BMHV^Q+tpd9y3gNLY3~;+y8sF;x?*? z3J(|~kGu!pm>?Z$h&VciTwkb`DwRUQ9vRQOO`AQ6-<_^8=G(e~5QC{IY^^UR!k;H#$xde(Z7wOZB_ z@ue?)$#`fS16NEdCTJs--BbjzkZceUVRHJ43{3&5pc)C22+td33}t`{v$wuTWH*v( z51vtyU5VR*9ILfd0EmPkO(0E;(v8Wu#q8_fg@h?WX~JoOY`m27sbZCn@;I;RfTCFd znPmo2(r2D>e$2G>f$Xw=@d^fR0~Z^atz8gUegc>6NIr94Ca|-pfY1P zGNhYj;5380w+VFIqGMG6YM%f|P!6j_Hic46MqMLCg(PJn?Ly;sUiK6(El$(@-Me>9 z-_6K9P(5Nthm`f{i=UJSyay8iaGyZ(+k`&@f>!^@}>yGL$PJJrc;E8MpIUgh2-;}XAx?P zv@Ct3b`MT1Whg5pcY~>pzO44jx~6-JT@fKCZ-Cc*4_Xa6FD0%F3CVDd~&R$7fx z3e*T$(V>|uDT#*UM3Jm`WC-fLZCPsCa6W5^uU{E)my-eWEpgHov=%}Oo-g)@>r(YNQK zuZAAzVVOr#)z-nprSeG2y3Zr3Fu4X_^LY{91LM*Qk{8GY*SkOg52BFqolCil4qn zlBflf=Oj{At4}(zQlx0qSP5QBNh*?p@sv|jT|_5haw)sOr3F)UQUyfV6QQG|Dq&wT~-?BhM|*n1s{P(XW(3Ix&SYmoHlfFx2jc{?sm# z78izh+ci>1o*Mrtm*#DF49`Wo_CQvY1*3=ECrGw13RTJ^p1z`}eya#1u=xgQUmwYv zo;-}EGbdL;2si;MfB}Gc{$F_E1*b;@fDgbc9c&Ooz9M<(h#v&o1VT)Lgtp(m_j|t= za<-f8`vS`)ZUOIizx&;K8zKU~E!^N_%P8k?sM#U^=tn>5%#2F_D*K4l0T^3(K)d~O zNS>zi?d{3a`MR(BI<=_u5B}f}zV%zb)p2)-{ax>RmyJH_5uZyqMen8}u~@Ld4vl}` z_kACH3-xiur+t3g`}X85H(Y4VcY4QfEvnI-DSqn$LP#E@cTxyi6Yw{F<2U-E;n`=O zwN$aKCjf1)`S6&mAx^qM@)Y#UUU8ey-w;h6(w9aeckJJZAblbXU8MOsHlXMxv0T#g z?nYqN~ZI*-+z^@{uR#Kwm4e72LRgfex)1tC#Iz`jennQ;~ zcvYueyy4UT+~+>mRr6XzRGJ{wjhY}%%G6R$U#b-pL`xGXrKSfofz>Yh%l`$eR1EYr zlOYBD!;qTPQ^}AJVZ_;`)Wbr8v`NSbS@FY(x_Bc|g_M&q6p|I9Lv$9ZzyJHcPt(oM zGec^W>nqus)0H9@xgrhcN~yT zJ5Tm80g~~r(vZ9dGbHb+G}20qv5>s20}4BkeF?LVhQuKS-iFE^RZdt8^wX3gLS!WL z@Sc(UiQYRGoqM2%#S?_l8`44YMp3vW=wf_Z`2bSs6k&{SKn_xbFC~viFiP`@DZ4Yc zq*184sa^RRK+eq?#UP8=mZmwlEBS^%IUm%=pi?7`R=R37O=rG*@e-8IBWb z1IVc%0dtF{y~(ANqj(`94k=3&Nh>OHrB$RTrc&vqmQ_J%ep1e@)X{VY6bUTPw&J?z`londHWEunm%j+l2ul3Tco$P*HowL(V51 z`NY6~iv{rzQqY!=yi|5HYlSo-k2q%{&4bC^&Kq?7sF1ve(K&h0!p^*XJQx6y2Lt~0 zZ~qpu6+8d{5}@$Blo~3#BKa^0FcZ%4bR)>bV$GoxN6O)6zwwfgb3h%a286(DyX8K5 z1(Lu0+rQm`d2ebUA6W-%;C7p1@VQmM-~7$raP^LNyaTlMDhKQbVjaY538~dxoAgkg!%gZ&Rj){_J1l&h z2=W^{UMq-7e@cUhtdIbF|LfC_&wlo^VzY)4tsZuB!me8ClDPpwq4b&KS)mD)0-iF4 z!pQ0K8R0k0NlmGup;0DLg@6%;oIXe_S|1%~ly4R+;+}v0`6BT|xWxIafg({PCFi6n z__0nQ_k2lF0Yk+eC0UwU!5c=4$a&LbPZ^L;*@A^bROhJC74%ZcZD0|UJ|QPLSDm_e zU_#ES_X3t$@S)dR)~Xuf2D6@GLP4l1Djv1-NkYz?D?FTEbLb-%>k!HJ40<*_kAZm$ zRn>VaJ;>xO!y$Psh3bQ^A=qZ*W@qV4(2oPLjDNL+)SA^TcnV@Pfj3txLSl0 z-qCnCOov)j_Na2gVxXL+6cM5`l0VUJ=c02D%oF5c@dQapq$`q#TR@c1jsa)Lz(rnB z!gR=^N~N-6?%iC0Fq-{!coF^uQQqOcbHi`QOkgk58GJ?A~-&d(8M5d9_HZ zk$jYybD|a1nDf##h9qNHmbV;^=P@5!68snzQrVP?BsHm`w5W3_ zvV@U|%t?kmacxKk&+Mie)nP4LohId4#Ag>bZ~KP6w)I_9e5O1xAI3uxamZCsN%7?7 zYlp7YZjVSjCK^;cQd6Xv+O1M8OgLeS@^4&LBx zgWtS)lbTYi00a!UI*^s41wPbu=QtQ+)6W;RE+`U!s_mtdaEtMZA0Q9Q@nAV%$CaV8 zKvppV0P4V9D?3|-wum)E8=+;Df^*;&CvK8kw{8J!mIFbr)L=87r#BuIlIIW!Lxi3h zs}E}pky~Pe(I>XF7uHIttze(p@eM z-b1RZwN9ynMlh<&+LaYaA(hIieM9L;R~mgxeI>=SwcN0Q4&v-Fvbkao_T$3U?RqZ^@~v-JJFW+_VL+l)0S&CL}JC_<5F9yH-f+ zf2n|_280txzUR@S>eW(69#1$(o|8fH&Bdjr<7g)6$AMc^F_o@JJ`C@v_Z(SiLh=Ta z|9gq#Pej5S94;Lyd%~m`=%*<~wOx%a{drIRMDLx8&OOkx=BdHx4Jq*8*)cX6UQ83a zy^lTNQJ|W@7%QblI9Wo&AR5WuXs3W#mD9|L(ha3dKgvm-OEV*7fiq3K&DH8a~a z&QVrWDJ%0bP-MTz6cd?Zpn9{62w!;N1p%A2MNXMFPNtvpQ(C2K)m2d|Hl>-Yv60Zp zq~=r|9cagH+n2udB~Q>iP(5NthnjVoj-S+&%Fv2ne!GU}fB*M?2hIU_DBXGihHtMg zJWq&%4O09elGi_;YXqX8cwvJsdJkwJgjL90R)`T0!pQ1XJWU>u3kulK)OHG?oq7X~ z3Un#0NGT8C5G%a|2)Qo2QBWy-r6NA*5LOrG>OxZ~xjv`HM5TOU2-(VFNZe@@RH`U* zVXIdWoqdaUfM1r7PCX!=>Se+sda#&r`>V+-6xquRX_jiAn6LQOqC!Tl$ z7W&J-{7d&RFbqZ#{?%Xo6$t9}gqIOMKyaqWTL$kb*ec}>NVcT%;=>c?4(H7x%WE=k zAK-s`~|JHKcawSVTt_SxkA+;2jDe zt>>K;v7XX_uDA!&Z?ou0ee365y`Awr1zv=XLRrOlrQ%Bm>oP}=oP%;W${1oxU;KK; zD$I)*TLeC`P>U+?){;DEvZXpFtn{9$Nz~<-7KstSKm;WFg2tN8fh(S^jC^f@tT^0D zpZUyZj2N=IU8P_-hyD$&w?ewz_wss}Lie*@NwPxphRAZv0I2QUdKIXLtx~m%iNM@! z`dKNm#`o5&2eSuo|17@tz6?K<<)k(I}dM{;84E{x4nr(ihV>L`ZC!3#yY)zLh zgz@A`T?O!4idV{9)>o3wCf#*Q%N)(1cEbRS3=(f0H`-^+d{Mf{Fe zS=x9VBh_{XU6@#>_`%YTfBfS>JDoaB>eYsY0A%jil1^(CBMeb7^dd%=8nX0^_XXBR zdXfig1fjj@C0b*Z0nHJBLLT2^FxG^#1uFegH#S@Ux)MG1vuohT%WFHs3eiabPaGnasZ zr~>m@F+5S%x#-*jUnM=@(J=VH34Q|i^Lu*frI)^NWukmY1_4A~%9;O^anvOpbsFEQ zdQJB}UP~0^?XWtMjq{^Ahr$VOHP72&U5An!7TD@aW2e1zDw5LNv{ZIVQ&@Z8kWVL* zYF{HCzDhUBmGbFKg?i}}r~gKTS857_Netu0%*gO=ztIfq`~%R^$rH-mDoij1Q(c^6 z5FHd>y0&E$=oFP0xDu5rL?u<7y|Ou7)BAnHI|)edy*VdLGG~IX&#QM={Q(upDxTP4 z)@*G_nOqiM6;hw3dSuMq@U{u1iRu5Hq-HvrF>7jKlI5o_Ug36+B+pVv0HTJ^6~P08 z3gQRV%R=&k49SCAX1zgl!A=qcNC1AI8dN45%7tnmH)^uL`Cf6SnSNN2H&)UxKh#|* zwThSrr}-z5(wVB$VL}IQbDmp#C{!AgzBK(}$Sn!;f)N9zwvc05AP}-eg(_u&F!6AL z#**ZjEvoi4C8WPEd@b4gxJY=YB3r&56F}5qa_|xe#K3+5NaxHUPf*iVyu(74!$6}G zHFmJUU?3K%gj5A%Az**rbH@;#gpI*|kEG8QfJw)Vyrr_kY-8C|p!a}b=+uKb3zKQ} zYZ1Smt3{h;);V>ETLS4rn!MrF3vye1h#xF>uu9lSOZ~J_CtIwtMQ*>HA&d=jd!eAE z1{1j5Q|x008v<~D#*o!l8X9yDVxn%3eJrtbxxy`z)caFoc28 zSe~sT*y>nW{eS!RZOb1LpJpf(j|Gl{G<*tD6LcdJ@e``o0s)d2JcJM4`@X|dV^ILT z8~yY@Nbk}(LS`)k=L=htb%+KcqtnYTzwE)B=h0Ky5t?9pkF9l?hTpw=mnP^=$J1); zb*)44jT=4qjRq&jkLwmz#X3^iK+x4jRDfBh4Q#esGDtqm%&KUw8^ketfi)_s!oFf} ze7qA8kD=aMm_hPxOFJipG=Z@_=JhN)_rO-~|3O-A{*n zC=Yo)^hOOtu@xyjq;Zm(bmL(ZR{5b?rQ>9*)Oe^or5m4znkh`!_fr^$G&e0ROJSUl zfVCU7DIF%C)2=l{eRWvVU)(mGqq|d5lrBe(ZbnH7qnVU+ON{Oj(%mg7B_$~>jUXi@ zIT``q{hsT2uJ_OVvt8Rc-?RI3pF8xCnG#i%&z~lRSePG<@+V%a73noo{B*GtbEj1# z!E$Qs*)w|XwkYR7sd@wBWz+z#^XYL%q80PcRtsmBb1QOR>hL$+f5KciK1M~cgkR7z za#8Em-BVGQybL7cvW0zeSIobB{H~PB*FE=r;O{d-YfJ`DQK!DM(#`QiuDkzcW|pv> zreCsoO1Ga33JS%to#(?qxuW88X5K`(=bv685s1Tt|Oy0Cf|(;{#=GxCT!# zI?wlkC@5-gdSpAxtCe@M7~d%%)Zk6xmympETfn{=#fM52FHepd{S1!FT9vy`?xtlE z7em_0+(sHI_@-?N?FQ>AT3xd6yZxn6a1)X1uaDuNJC0^sAz- zW$tq=GO>6oCyoijJ~KCb;%2Nv?~qF0j#{|Jb+roLty4DR2DY4G%QGxpD0KaN_s)Si z=ETK(tD}v#-n7=rsp5yvw^6};q#>6b67W~2Q?xVCd$Y(Tk6Wt->xn3<1_y^6u96v$ zfHP)_k@9BGM&_4E9~^ZxY9rKuZtuL8a^W8(<^~*@-+1;xO-7ou+2&BxANEkPHxf82rn6)&LA*UH(Y z3ZIiYj98!l@SWQ)cFmo+$YJJ)F-Af1L~wSEDXFnsy@LGI;8DjhluoD; zkB7*DwLBr^0HdLXE3t*P3r3QI4jTkSyG26)Ogux@>#JzlVJoYCGg>E7| zX24gqv=Jk$VY8**3DF87q+SKRN^Jwjp@^`yAKK>rkm0sbHF}F-@nQA%Kou=kxjG@+9M2* zEpqXy;&TWX5RJkOl0KfRL=%oE!?Y%%(JEgYfGPCNIgkaSa{jztdhz1ZApbFAUnw`r zbY7ifJ50$qQ+y8H?oApR40N`7Iw!8l?j9Eelwf!5qH}fLeo4%A+UdI_`)jXF)3;}f z^bIq1L8>g`2(u2=DXDvQc=&6zGk3^}665l_vlR5BpGP*CKVS7MB#1-^^dtI>7KQ*f z-)Y5|y%|mLD+gMcE42HSdal!M{a@wsm@)tIl>Pg#f`AnnqTJU4{cra9zNJAGZ#QCh z=_X4B2t0l9KSsG7t5Z(`D;RCGE0xoA?5%)^JW}J4(Er)idAg&rHlx?l1JTfX$9R$Y zBaPd9W6PUed$%`|ZsxW>11y*2$CHHFT|YpUsk8$S)V!@0&%Z6aOJe=f1c*F?4aJe? zw<-~U=aSe@BP7)_{TMw)n!(ZzL?rx^i{Ih}S)^s8LWEHZ7`{NME!T-##Usj?n7t3F z!<5OULz*ZUhLwWTMEUZL^*^;|H(tnosd6ZB6RyGgM6GFlw@2cIT2oG~$U((CLhVBL z(>IZJ?PO?W6^+hGL5LjPcJR%HY%Hg7Ug~IUX(SHy$>$qI)|yHzuo7~5sU*%EZ&oF4 zL!|>8hJ|8eySx+*ys$qa8kwU43}{f(R~MU{r_}OPf6&C`R*4!fAKd?;#SoXo4ZFYH(B1C3U{<+lCJ8OgEzl%H;Y#$$4{UUla=uw2KHwN*ux z%bGAHu#DVrHR8@6T+J$M)m@MBT1tetM2{XVyq!CG|9-!Kv!&#ZC>G{P*&9TWt}KTz ze!}~b)a9w%kcRAI&Y)u<(DN&7Q~qTy?EJi3qEl$zx?N_6lpod97MVKGyhSOoVT^2_ zKlc2uk{NpwuE2xbGFOa`8`|leq;O)0^FH`^5p8RciggJuDlEk2&50q+SH*>Q%gcKm zHQa5kcag3$^hOxcuw7>tbyOke4{HZZ78pnM*#tvO(V;@{Vo!H2@TvEIv#3@XNdN6__1>9r`j2L(j5%mb~$f#jimEV{E)L+`hdh4%x%W zM}K_ZMZBSFGW1sP;G;T>1)5es%sYA@Io!S#erMZ2lb$TjEmG-U__AM;vv(!cX9-+bHLOu@ ze7*9B1mOZw{2(>$1CE^YU`HYZfG`R$=vg}ZWahk^CI%;4NpN2&=?9$iW;W4HXSoKJ zdmN}51Wt`iQP`HhAE=gX^M&RbgVRY*=`0m)Y*9q}| zCGabe1iB7KeViD5m%VmFo}~7tZ;l79rEX-$_RGd-ausfKP1EaGRc$YuxxuKa;ZCRw z$;|G%WcKq2;$>>COOPuZRmamo-ZYW%ld}fC9moeVtd;f+$F9h~-)aeUhS_Q0zi7k` zfkBv+0*Y98QRr9+h{I<10rAeXwu%nu%>{@MYZgD=mu<-Msa{ZOQS5=WP5%I_Y2qT( zEz-B0Ou|-t@oDc%v?4~}DGxq+;p)yfLnENJnwDgBmIB3SdrKMkIO?7wSi~P$E~Y}5 z(hYV$)G?ki0-I0@;qjooUe8K)Mm4JLIxY@yb1K3fg6Q_W<&=dp*AU*ibxdD(m|K|s zc?>bwb(6LY7%2Q&vY8kWlAVF#6bgR0xe=jsmH8zIQAD7D{2hy>oX})IYKMAC*LA1s zf0rdbgfJC)Maedsu<(SVqc|DSYei=C#JH6K;WtNok_y{YUdJt6ymy};ZQe(0lfKV3 z3@8>^tdcM~x;a_PT@t2R7nJ+4>D^A&{?N}D*5i{ioZLNx=3w7CTDN)~gH&7aF~;E# zuLlQgdD%rOC=!cnxCH#N>h~?CfZg0UcYux;8CI=M3SWsp!`SHAwdVWo+afN)S}UsV&yD{VUy7p4$VT(`gthv ze4SKI-n>W2VC~}fAFezJK!$TH#x4ys`&TIKEPiVu_3A7!*w!7NS5jZYX}u;EP`1!{Q^`svwaKZ_90FVqUrA?-5iKMBdWHJfA@8|zQGWwbBY<$(nODM#E zSVVuAD99IU4?8_{tgVYdT?bzul*&srG{tF3nwbETW@yVzUe1sBnr25qy`z?a#_yPC z^?mhdVv4gB$%e16QRK5it0{>FKyn)A)td!`(_k6E+aIO#XqDT_tFP1vrQD}bXXeVEtoJTTEtv(^Iq167moO z#Rt7LbF}ZQZDxlaZmY2dHQfJ(EFL2YqIL7^leIrh^yt#z*Dh0!Q{HFur1N!yS2V=s zI;m0)c#S3bI~)v-qFxLEI8%AcIP^(P|Ewy?0b_IZKcgI4Jt5niIyBu+%4)M#f7{?| z60{S0P=x$D?~OxJ1`ot$|BmftYOq@v24#lT@wyG;G*zIVH++&L27eg>F?(3_jV%6E z#-W+6*Z+81C4Z731Egwm;4@kWT9Kt|dH=;-Akdbh$ezx@shd^!BVC)imfHUN6cx}C zKplP&zMBp$0c+bbTO46JsN`oyt?RwcL$w)BrV(J|(^G`zsv*yLeZZZP5wf_rR-j;) zc+CFo#07X|F!U5Mn9sNgz1by7>3*U&QkXa@GX^-#4lepG${_K_J0f3VAk|;&ZC37p zp^S~`+(2NhBwKvdxF$+XFkZ!v1nm`G|1TEmNrpbuHqa;pJ6pjyVTqbOxt6k4$JYDn zK;d~F=r{Eu9;NzGW`N=vme|(nL)%9j3A#b&fx!tSFL9buv0y9NpuhTU^AnlD17-Yx z>Rj?m+TkJ_wI%+RFo^+_X|46l!_snVx1e{8vHc2cjO_f~I4AilS-0+wL*EP3^oC;m z#ZbwIF@(wnYo&lL%DytKvl@^(+gQRpoy9&fA0=yPM=eT~O*EtHlNoY3(IDkmv-jvf9Oz#MjENoyU{y_t0_>&Izzd<_VGzW%q9E|IOn z$=f(7d#hu-*HI@1+ohp`^V8m!RZ96i{VHuP5PK!sT2IplQVcMZzU?z@!#)*LFcaAP zo7FJARNefci_-ZnVGm?0RaBvSxO^8a^OLN&xWx$-kX&5MVWj9Oz?gBGNF=4Cd zpQ$9ASd$LRE_@xZ&P*xjPP=e|jL#SfpXn3g`kmf+n3R5z!TXnUcwxcgIW<>h$>D;Y zH6Az7o~%p{JA-2KCC4W#oH2Dp9OyvQroyI-hlsl%fec9>dR(lVfx5eJPr)kB2ve)( z0S~g@5o-+j`{1BZFV|xjLPBKG9*ON{%ii9R*f!Ym|$g1YtP{{g|po2L!JS3Xt}Tj~!#bb+U7}-SEjog}3J%U7^XIMkIC( zL9oR8%RiHm1M0fX40DPJfxZRBucAP?-_C!$DnE36-g7nl)XWMMOERUEz3WS-n>I!7 z+ju(k#j1Qw>Qlb6o%;nuzi;_xYF^llcOp{Y5WA*0p;DH=7*K`JrzMMu96^~H8HdwM3~)?2}`dIX#*E_b*j0DXgE|= zw8Ya=VRRw`>^b_PxR{eZwj@!o@Lj2-d}-JPzduizul9?p(>5QDk?Nl)YbDT}fie0Z z2Z~KUv0&EtB5`_Co;TstcClDr>)~5Q9Fv3kURZCl!Ju}?Nb&NZOMJv`86%f=5B511 zy!RJQ8_fYD&-V&nK#ffKNiItXunv5{pIirDo%)wdGvwa>AAYl)72QuG z1xPNj#@1%gv98dQ3q$+(0kxlDO|Z-&2Kcf%3YKJ^HO-?C00S) zTx65!{DyRdvFmRvi;R_>`w8EyiU6vLYgoi4ZI65$X!4Cu(+X8BdEAsxHZJQxAW6vtwt`MA zer_ZDf2-g@BQlqfW|eB*h}{~*IT==D<8c~cGZsIG+WX)(Xn*Z>qJ)yJuC26UR^tFM z<&o~B01ZdY!s4}}0SUZ)l2Q6r#h)7evfp>QB>c)Hpw}0D&NN>y_NHKd_e;BP6Fc&rqEbiQ&r!RBJgxItA|~{&xpu z`dbdw--&cp%@$InSch#B>* zw`jKtVpsyrmPNQ10YMQPS`KfWY5azAg8_0Nq9iV}6U?)OzL8l192RZ&eriS|+?OVHH+n7*Z5A&u%A z>$h`T?WJt}=rW|hBwlgP@aux%u`l4C^*>inja$p!?_0Uu+O#Yl1q5Hu2k1gIH(mHO9Pi?q@E=5&PSKTZ*s+;nRx;B$Ugn(sV3w)WS3CF!o$-jpDo;;I@#m4Q|8N6-4lMjWLVpR3Jc= zF##-Vj&mn;3_DR6?JkQzcsKg6XtoYhWs^ZeD0y?$K~a-L76*0ly;yz@G=hbZtwVr* zf-I)aD08x{duj2xsz&w4<}|xUl_l|Bk<}f7r;9R5g)x4KCF$C{ua8Z zAu(~6DIu7&7vEW%Q6Y*ex8U~BN_I8Bm&ke@Q22GZ8*>JaH=@1w>BO4^+s833Bpgb= z_|Cxkz>Hz6**UdIs@daHfoNF%nMKawpu zBarGqif6t*9Uk(xumT06{oKe|*iIsG9Or0wzT3QjBEvvjV=Gg*T2DnY5Q~Q0pBZ*~ zDvB6s+{;|i;I3$bI&7)Y0%jFiW>-1s(a(;&s{AZ|q=RAo%C5bL@zY+!XF(^Vtnrf% zLUJkiG}MC#2xoLqNh748+Yx(KX6bmT`DKXz z{Uu&_)&3;*cdcNRY*^KOLE^N&JQ^>cCyRH;w^uzYOgA?}0usI`xk!%hhmsWU zEzw5(8(Z;y%@;4Cc8e64=HLNTn~gmd3@!8_Cns}n6nEtRu8{pZ9qGXys~N&ZV||>7 zl4fW0y60a!43eCQCX@S`+iDZC`|BdnN0!6Q=uTAD)Oyge(O6#6NDgsz4Q9a1sEM%u zleeEAF!cw$H_qyMD9dbu$`Hj?ANhKEt7;RWurRKVf(4~>@P;&X@c9*U! zCn%8kYEJ#NADsj5*ezmXkp>U#ToVLFjT?_cKYOMZxjG<-cRl}yNZi_Ao&N7^@gOp* zz?L7FD@s1ux>E|P)bz52xLa2_yS?cY)hEb|)C}*wK)R@<(OSCM+Q{Vjb^-3qv^Y|P zzfkl5#oPR{-|LnzEUSNIw1@GZWrhRJz|BcL7G$4e=8n1Jx3?4)=9Ee2=p2T;G+@rE ztnSVi4K{r|b?CF#ZCbLDzt+4J14bJM0b^yB-A=OG!f+xO%=w%-_Q|GeTWb{k@@6jR zkPM5m#KDYCoUCl?yJVL0K&2Nz+)SBp+qy~v1SIAc6Zc&2+BskI= zQRncpSZk-T2}Ef5#*qyRpX~WMy?jCAR<-*jPW8gMsS0BW7lyjD4qy3m(I5*5FuE`M z$s2dDh&d<%MJP`5+FxvozxNZ))in=rLWnb*S|G>7ro<`-1?R%by2-@6+TyW{pY-8Q zqm<4lR;dZn#F{&m^+V*58Py>G;*heqU|o|dF^S7z=NhyX>RxX}C}KcTmfVyaTV3n9 zlf|B`REH;0y*$hpBngJA^iacdHJohYAif%SbnLyR`WDiWQZY?FXB*cc;^W&bnJn{l z+x1wPsQTnEmvA%-%F09zx2p1_ghtORwK}EAvea+zQZ}(NVwaDY+0Rrg zp&rZLn!Iz0tNpWco8SQpTW=6uk`T%nEWZwg1@&a~j*TbYSXLj4>ARm?CsAB=ipS1l zuGIg68H*ZhK%>yyY1Ept=vKBCIvK5soYjoLj02!O23o0{%*am^pH+mSZu&c+$2q^o zNR)Hu5<;_g|4q1if03A=B-^H6<$`*;>>cqk6XB0o)Xh(nvWMTA@t9ctHP&^-em$Sa zG&zxRJlvdTff{EToSoBG$J;JW?+93)_a<|~J~XeK?#V59cUP!XePk|E8ZkK@ z)H|nqmoSBcn;+x70M-MBq3U0XAHPXfU;lzx42w&C< z%)uR(MT@!8@eo)q><-wEg;rVe+X^fwjySPtF3>3bXQ}(*kZMnT& zJ?%->@%j*k;MUYrQ-KKAo(%8cLR0)SGpo#N-0 zUqxh~pZjVwc1Yd3ApqZ%s%roaMzf9@E;H{+gvc%O!7izmEs5$ z2Y!@kcs8BKXAM8r%=<3>A2`l93FRHox88H8cV-c$R+F<@LzHvstSn+9>=vW(B12Ow zfy+)4X3EzeqK$(#k}R%?{0wV!fRt3p)gO=12I;mYNo1A z_wR!>yAsWuSo|~@*d>2Ea68+swfm@GDWnkyqscpQv(+E4weGeZ9dP|7*aB&i+pHkiC~%|S zIyr~$`=RlEk0m5BP!nGPsvqhQD^2Jt%V&k9hfzXwvdg+=UdPy|U9tgX2P#?_vAZe# zGy-ic?HNrjKR1FbGT12v7e#cUKyvTs@8)&QyYGh>H-Bx^vRWWw6~v%#FmKziCnXh$ zOskgzJWo}a7cph=(`>ofse?{+vOH)RHINxq2)qzb6oLM(ITq+UYqk?#TBR{q?#_!O zNb!L_ynIaUy{G1edFgLK5~WWJ9v8RZz>81&3;W_`3t(m%qdRl1zkOypT81)cylwO3 z1gQq~O7=gkcvfNk(DWqfEuDeDdb~Sx;lF>C+3DDcI&b;?`Auza`NQ&%=%H=ED<;&Y zken4$N1)%G+KX5`qKKkTFEQ<1lhKnYU#ehDY~~ngdH9F#TLf+IgnGXG^Vz_90kYuU zlSE&KzCm}NntVAd>x%lb^I`I)i@*Hi72IAye`BokzA7te!m$5NnRnGp2yLON$oem zeIZqvP-hCy5$j~ezCj{Yo77qr=@uae3?UUP7gcEuS=&a>Y&Uhcbpp#jYZ(m|aGx72 z49qj!BIC!x!t^b-Nq3xovhOov;l#z&rq(*GwZ$kK(AG}#d-}w$FN^sXAi~MS%Zro~ zv`KTwo}DVZ_~cqBlECFzhIWb3PF+bB6aABQNc;)B{pnG7cgp+g?4D6wYk6>$%*E&1 zKxk-1zCT|4?R2AOi5NMtbfA^dzyCaX(c2g#SKA%o3k80AG+l|rg$3hL(DTkP&@U=C zoR+_qa^@LCgn|nFMR3$DkP9Eev|&Q%|eE@>AO8%m&`%5~M{IkSVm zkayp-=hGM9T~YXJT2Choa$Ak!QKY|ALt2WxN@TTl{Kb zrCiA}lFC`LE167_E`hPh-&SW>l<34GpN0cLA4>jQM|CA&gM{~?x}QSVWrnW{xPh1% zG8q(BH`CmK_37Wfi?_F*w)V>PUPttaN>8tN5Fve{Kha$y7#)^@8V%HIMMbDWTSZaB zbN$O$sv}8xjsk4rIL^y07i(D27a0f#!rljcdWnhnad|}H%jF$w zt_toDgUfOpd$Jrs5MfzTdi6o0?$Rfmzr_MXI2vbWG!{#Wm;82lz^@< zVt(<+ml`~7FNrJkZNHSVl~ZN_Y8Ess6f=hV%|ZM5eecctpf7R*6yNaGdrzEQ@m=o} zsL(z*{F6HKOCsjU}EY6l^YIkAgug2l&3Fb zfP)fyN#P_y?LX#}N8JLVcUx&Qm+o~!ugUK!uu0V>ZAS%_q2Lm|*B$Q&9YZAPFi2mb z%Jb0L2o`ctr&6>gQ-}Z|4l`i`dq7-Iyfe8Na^F$Wf~E!1N;~yphs;1h?V@502g(pn zjbR{>FokA96IV@@{|+py6X`qcAcWs~d}8*O0x##Z%e03bmxc_l<>jVC)UnmsC(Z8YJon93V$sHP&#Ql?j# z^Fu@`s7$FMUzsgEsrCNq+`r>+Bzx2Ej|d8d^{01|-N!7tZym`Ew{-LE++D*A)x^u* zi|%vp1Tp?*NdDAJ@HZiVU^dC^C!G=2rDX@I#aRzxoOk2Fcwsfe$3YY5;>9$8^-}_^T|fb@Rshc7k4`~C-tnGM|I5nd9-ZU!RLvM z^=Lzk^4h5)$Tws#s535VLGHuU$>3TK_H|xg`>o4o%dUkjY<%p1Yx=OOoAc}R49R-e zdlX(ljJe}~OHq$LSvC<%FPP)20xC*wWS_sP1iwO+(KWIO^u|Td$QKVGobzs-|>NWs*T4Aktz&l`2l`8>T#4dPY`$Qp;FOH z)7D*H&?6hmcWL5`X@3`UPGn!Axolv~UF4J~)#Sz=xQhqHBMGV(%JO$VFJfVRy(Y#KTd zMdPZc?gCP_rU--EMvKLu_pq^#s8ODx#q2}4F|eQg((j-C${w*V_aVxZ zUhACh&CGSGwlps0N-C$16C=I57Ng;(h|hTmx2b=Tt^qgy{r_>3I1SGZdTiF)Gtw-Y;T!x|`BX7_qMaQeE{ z{49%m{O2fOyVsoAj6c+M&8t7zTo5TB)_JZgT8_(_^*$PyfAHGsqK{}%RTR`Gc>>rj zK}Ac!)ZisR+SdAcsSE zuq*afA)*6WzGuKm6)9krJVXY6y^t(fRKBp$niU047^AMwzVO=IIw`se_N)xlA22i3 zucP3FFTG3sl>gy@7ADkif;xZ+w}1q?yOwGG^ysuxWZp`a<3@#(m!8w9h(5>_hKi+y z5N$-NzRRvpK()U~e9Z%lG zoYZ$raHEtTh~n!+S&!Ue``;h!jA_rO)y_K^25}?XI~}rVK#5!ZB8q8C`Nrvggv)eS z47Nf8y~>8iaG$ts1r3SE6Oz;cRe}g8Sq_{G3Khg*X z7g(f?oQw*p1mv)ojPV8*F~Z>j9VAT`i%4-dMptp;2f^PoLUgy;L4afGoqWiz%m#aJ z-dHLN^7MX9emm5ZMq5RpPCI=gz;mtlf9x0%G(rLjL+hQf2Tca^goi^6Q=A$zg2VZ6 zrCCI*^Ij4WgzE?tRgG-KagRZK9X;A{@dqxhbDQal6i z(H*=ve8Y@JhfLBy9rl&@<8%J_N*VAa%!WjQ6%S$nOTeJ>eEZFKWO`pD6YYwzmi^GxCQ*1F8wwv6k%Tww3wIlxm7DwEZ|Pd!dLS6 zX31tGD^0KzFc(1oC|riEmyv9+p9hroK4d7O3Lh!DGhh!6b~o@zH`nXOdDmhBGtxh+ zJFMWoq*N8%p*WeU}*>y730jhP$4k?KkCZ1vZ%kcWGe+o>&`Lkkn{ntor6H z>*3EMRxV+9%mgx}AsPZVPfnK)p|33_SpEil9c}L2x9yp}df0kR7gH!s?T6&HLQq}g zLWGIH?!6t@ULbNe90u$VgHWr-d4NJnX&SxSO4PZD{D5C;DRbQX5Fb`))LU8O&nvNM zcnf&)N134xm<_na5#<Br1RY--*2^^7-A3*YdCVdZyjh^9ar#(KK&KPZU`o*p9?Yu1S#8=`jRS;P1CjG zW|31wHmTj~liLn8XXY*HykStJ&dz6!f*wEqJ8F2YE_=0AwmxK$UsaT1^vOxSj+jxh zg(3CzYc|Wz6yA==^7n;#L4)HruD7pok3R?SB(O6MqCDd5gf9-iD-fdoTIiEhVQ!mL zu}|CPv%sHmL>bFd$-fgq6uQ1nD$tka5I(_k3c~>Q}XPhfHd?a&f0zOwR zlx%G|L2l56Ti@|I=+QEAmlHgd6IX=uBe&Ye*Q$4g@PxS!OEv<6P_?L1;fgbh6E1BH zp^#VE5UnzNUp|kmw}BJ*@S|Xnf_$z;a~yqNQb#O1E&Q}Rsk297K!2_^S;`+>xM*Ux z$u8-L2`{TM?PIDD($3er`a2xe%obwW(MKeA+kY9pE3n-zfB(2IBct+6yzvFYeB|0B z`AZmNc5aNPlhyq5tLKq>lO@_|jI8Ncn4CptmC7N{SX*WV*V@FwX>nJc%_UIftJCdBDJDJQs+gpJcr#@Z#!rus;Q4aJi4`(US zO+Tv*qpn2eVV4UZHq4(ZHa%!KL+PJpS;lk{luCCA-bdC_A8ws{d8xYGTQHEqE45DM zcxaXM`Gh^Gg3(m?)=1t-!JGH~Z(c3JwquT14pj}Oh>@cI5vs{pIQ59upUu5_Nhjul za`JcZW$*sv8@JOEp1zH8;ac?{^fsNh>&e`2Smk_|`+$lgxi~6LA$StF=hnd^KT7Rh zrHTev!PUojO(O0pS)ox1MJuUV6fp@pK=!LL@;*9*@JLLp;W2IV2rykOqQbF{NC}y; zDMPm%)ddN__Cg7$V4zQ)ag-!Jjyk`G!61%84K!`{Ljb{vS#E1PG7SZpz1Uma-_=3} z5xdR@q1dDGOz_*`{=b-{Z-P+)@bUA4Q7MI z0hV6x5)67SGPZn8)s??M4wCg9^HYfp9Vt|?$0`<`g*JxKHGLTTeDW$}MSm~I1ZBJE zbKADl7xRv-iiEFd%FHdBYzwW*;=+Q`~Dye?S0x z0G6!)%RTba^PYhP9og@!=X90_iz&(>gED%fV?ryFUccx!i{~JEXr|5I>xjr;YgJwt zavRXuvfJc=<+}c--_Tx2FvwSQr^dqVa7gHL_DrT97OkI}_}`^&Hz5*sqWyBLLfvoa zd-j9Ds=WZ?`ly9Km< z?4}-`gKUXfkTNp!*}dMuZFJ%yCF4x-x6jO!hKi>&&ZZWhoEXadB;TvU0mL& zG9Gsf71!kvd^%Z7ln{J^v35=-6CK*Ixqc7=d`8thJ2U6+nz|_CrCxO^sn0lOJDvB? zRb|zbyW1Vh!4Lr{KS-uwh-WVKG=u;lOXi(j(>JgNPnbZcfsYn+$C*}jpy(xoSj_jW zHdPA}&S*49n$1L4maTO;rE!{v3rU`Fu6r?Fn*ARaMc;>7@ed>0B+?83PFzK>ewqZ! z?xSGe(laTK6(fa2ej|$a^xSjY5^(0DdWz2bJw^1JmG_aI-lLxC@x^Lo4@Fvw`+2GD ze7{PJjt(#RSphLi(B$rZ8u%H7X=X1`+JWz~eId0SgKT0VMbv;sJ-qsb@5>>g1U}ra zJWA9hTs4Cz^{=XitErLFb(eJ1Mjn0@^O=AKzN5e{ zH!+CUSs=mfoH%)&`-GHj<8o%ps@VG?gUAeHIakD4*gvZeXJ|Q^_d^WzsLDszyh@pQ zBeLh%+d0qU1GP8p7-Ut{*pMfsb#O!hyGG4e2_H+t2n=T%U^8G7X~MXz28 z=hk0nF;UAFMI?tijiQ1sho~$(UB6&orGM{Xad)0K2ibBrq)ChoKRSpG3ed=~LsJOT zkxR zQ>0sc(^FAB$4pI4I5A~;V;&jInvgKAdd0e;UsPi*D6hS}{^XdI-w)RQeY({h z2($>gUa)u^vbZWD*8h06;Uc!dp9m~^)N%18%4TGsWb9}ZsGdCxouWG}1!c+1oWllu z``l`a`8QFb8mQhGyv29Z>h|KPUMP3xMHr7 z-OF^ZCiAa|2vn;(g$uyOY3VQbo02<(Wdsaj_pylvs>nA-tPyNTZ>pGH#}9GB4cY5* zr%#3NA*2%BG!q=;$ig!zeQ6#6nhP_@07MZQGpclN(BHPCloJdrEO~quY)|BCfHZ~gGrB{RV z=j?39d>W*OUk2viPTaANIYT8yRq-N9qv=WDzHcHwPZVWa#8hndKFK2(A;wi;jb53Mi%~j(cnZeHK}e`h z)fK@EwaZUYSrN$(Ikb7ZdMQqlV-=n|Cj|C2CKPsJIqXx3wAKVJN|qMU;%G-IrBvWD zO>fxi-bZ(pe2TdMhwZ?@{#=6pV}}+Q9cqQ%$svOMSFv-vcZz2Cc_v~)w3F%3(;`(s zn`3lX7a+PkGt3XXR#pn>#k)?(vnacg)<8^TuC@}HR%gp={-Va61gSO6;xbUzh1f*E zNWszetSXKyWd%&6C-Tm%+^o77EkcmQ*P?Gy3llA7JNz!oe@zHqb`smsb4zw_3!yU# z{x_}xCN;rJv~a4m|F8*Y&--!{<1QEDkqj3YLQXISP94A!){IW(0aCID5R~y*-UZ9L zq(M5i8b;}}lbsIuOLO&V97+~=Vm?>4n2>G{+5AXFk%df~JhDiUrpI(D9Uyagf(+U^(me6aqdSw{Gk`R}_F zr-|<_N;!WI>C;_dbVlzp_BfuKYP5iwsAnN}AD`_xp|z2LYUifC*QUYQ6RxlBaRqnx zN6$yKQ^y`GoY;}n*Bvst4*Teh!+1BS!Yj^cmR5!nKDhe-86kI~i5Z(r!8^K<tWoh-2LaF-IF5PNL)X>gV^ML+h+nQ!9OKH2sLL8-{E=@4 zWBd-A1azb$Xks(Ufh#HOOq%JX;VVnsn#25LD=J>m6cPn>Y&>eLimH{m_2%rEk_skq z2%UYM%8^q4covy#ClfK_JHVoAAWW7wS`1Cf*IM*W^;n>ygsal?pJ(#s6b}@e7xcOh~WHq zR1ti%AAGw1cn5!pNDpQDcfUL$eRF{fC*cg<=1iNr`nA%{*;-M=dpBF~IB}>fZ$Lf< zIk6x6KLp)@O`8bNjN}eLOw0W1K4G{FOA=tw2pE!^)LIu0y7=!ig2#u=tZ$GlO0>cj zDD|14O}^wUqOn*mYu|=T&iQ%S>3qvo6Zz5MM)8`J`q|o%SsLa6fAY{)qs}{RfEDF0 z_q#%FzL^T|8E{Ufh?~xrCWF2wPf$SaU~7ke=*=-^SG;;X_7j)rJEz*~Ki)-sJotFA z9OY9v{Ms*jo8s`DMWx?Ay18HtA&&NYpAMuAR!~ek>xl)1^5}$4Xx9g$kw>`wKd!zh zx~_0td&RbGYsGdNt4W$Pwynmt)1a}_u(561wv)#8zqM6Yb-hA3`Q71F)6ewvm0%eX1B zOc+xqC!t#Q0T zvVV>E@e&X(^SE~6Vx+f+(Vgd!@DAN~mSA_Hz|@jlSs0nl<*M+bfSMoq8c&6baXh=d zcou_O`?~K=jsCRBnh>GK>zAtkeoSS2djJtUQW(KG61aHcfO0q@a_V7-Od`-bvADQ_ zuR*DsGw*L1MwMFkARkiG<^ERrbJ(!(gR$@-j9QPY$h*1kp?U5j$OP&T#_tN|pLOJC z5Xswin9yAw3CMP#h{EUPq!=#1doG7{D>tPHTFJX%>1$X+4%L5pbPLSpKB%;F(FXkV zZGavQo+Vo_%d9Tv9gyrGkxTIfMJonAlnTE7z0jBJ{cS+M%yR!So1HK+yiR!l2IR`X zmHSO*o*l+htonk!S4bp#e=#bC6El*T9G1cfEsZ?$Z|sIe>}s=HpRrz50H1-j$LFEpXYfhhq*X2m|f2chJ zw+pboQJ{$9smo2W&+}yfke7LAK3P6*Sh5v3078tD2g8?+DJ5pFLgdC4Pr znIU=qic75X39{e2xO|(ue5<^Csr=_HTq}G9A$&z4d_%!?WIOiR%kl!2c3t#vX3HAT8!3xKAFYs3Hq^O_S>s5Y4KzSL{L3^)$; zj84IMaQNdGpFP9mn<@AJ!p4=kbv2t%NT1MQE{S8%~9v_@yKoH2RH=}9-AJG9XAq>MG@*aVuU4&=bki3ZN zw<}lGy`;r}pRuelo{wsDC#x|fCt9}DuxTRS(Dqj`ad8*(IiP1a-I-~SUG!fz!8xko zrZR?Ha#k%l;9Iw@Qgs199YpBY!gQ#A|Kk$!=Q%dU8? z&zTYO))I8V#nW{s*9F-GaV7FP6no&+dF0gzvISl`08vPHq=-Errw&lwr%}Leg+KO$ znY}I{W2Xqao}#)+E(_v>=)jqiu(hFg#d`xWl%(Ugrond zJG?1kwVtE8o)DxIdb>@g;hw1E*-pccTLDwa%nQsKeEvR4r=KSYp-IZ$alHHR=8sp* z*aOr2C&J|jFotzz9$SvG6J5Jp-$-aU!c`e|k!T0mBJ;SR>WXR%ZL*nN)!ddOoeHd&F&uakf0yCV zWR)ML&&xu@WFzHqvU1u+m)iVl4H$%$%@6CNw?A7B%_(K*BEx46Xx)<-KX9nU_VcVr zxW?15c1?0o+sRnEAmL!({9w;2;hlK@#mET58++83ul#-o4ToX z(d5C&_aa6rBgbYtxF2EWg8Q?@c{onl$dT~Np#J_Jd00Gw}A`vEm!-T_`nSReoSV* z9?5m&Ae&F#AzaW=MypiL$Cduj3|P}W&24-&h@OBo5i+&mQpI3ZRYgF%KDS8xmM#RY zngy&;1fO?QANgHGX^ZridVfE_io2KS=eee#zzb&tzLBzYw%Ce$f%wffm_aV~yJ(>B zQ;_i05&CvdcPJStByKja{wieeB%OC>dfiJpJ^i&Z)p$w?e5T6HmQftnQx(W=Y(>cB zHGhPcO~Bziva0r_T#EhMG4-0a)H5nviK9xnUUGCJS$!-e`EBjofkowrsrVo0>FrtP z62zSBR_kxGK^S#%WksAu%u+Uengd0pM}C}Gf)xb2YJDMu(8~N?J9tLHOJw+->Ewgi zWL)6Ps%(!&unLIF!x-77GDn9_ed{2QLQ-Bu0iw7^+-dm7x}Hc?_G)?9u`QHpN41sj zns)SM#a|3)7e)<;VDM*@L_}#l7tj=HsT-K@D3Hq?GD*Qwf=|@`5_uQL z`vvW9z#4dw53J9HPjs|hP*IV2ypTa+puK=WG<6W#&+eF&e})SEz_{&AT;yJ zyevyYq*hdLjWBLObv#wHF;+?mm24J0O=_BFR!#ObVwaslKQO@r7j%7M#!x*AtokFd z8vCxNm)Y7c4>1WWC@zrW$Xb|NrCp%NRAhUCH{vltw@zMcB`Z7oE=VYwE)@G)HT@NL zi?*2aIeF!P&*hGu-KC(M+Z2+#-j2taSJiI!S}>+PbHk_Dy4`KFN3Sou^gXX!L*;x* zd%mMZq_b%meqHEez}o(OFm3#x`R5L4=rc)}!MACjzkhG$#Xb~vatWgywFcqvqz;Ju z-9V-~#1>)aM8%Hu+1*tiptF(w&@N+)IH&L}yYOC>5$DP8DE*e_Wc_C>ZU4*H&db}G z#ai=Fs*38JdH+|Z^j_14t)^Gz>ZPlpD(`vksJU#uSiTcdj+SB;d4w8M*=$N_A)(&rMCasLxOmn^* zkmf;e244X46JQi7Z5vdCL}PYi;ca{p*qw=9thb3Hz7)*fTWVEAXL(!-$1rgKysDW# z)L*r_x$^|i5K{C(*|=E2@X;zZ?AK8db1qL38|O()b|v*W6EmYAF{fthH)}qL-4Y4^ zm7iB<1-(!PsxZJ2LV`u{KGd%hIs?UF>g6;Eq@N)4eb^XIF=1lhvv76o(5RnHj0Y^t7Eq^&UBSI9T z0`^Y@`A_odUPL%+sKR$YLV>)xV~Ya7;L`^IvN=wU*9EU^rqeZA;%hK-(%qa$oQgv+ zo~O$l(H+)_h<+I=k`!VEg00ov%&$+vtI+OOCN`;ExcM(`{+X2E(A^+YES_&1$BHT# z#vHs@EWh_YQD+9Gqirx1C}-ehbTK)Ks7I4c&@)QOXp4tjGAnDkP^mL3(I_Cp5$qSs zO61L6h@duCgbdu!5=>a)8H`L43Q+w{%~I-0ZQ#SII>j zWWn)^f#nnQbIH_@u)2%`Fo)7Hd8YJgC(XHIN&%zPf}uc^`9g`rwzxDzRw}Ag4&b1v zg@8v2e9bpuoorjG{gH7;yBKmaPv%7wP#rt15o#LZjbLN(*fDX^V`zZZ;v3_AL8EYUaQ zrU|q>{0psnD&6}WrJ;Q?WG&_h@C#!iy4*h};*>CcF*x;`xo1!2iQU4{Yq5xJJ${B? zcOt67D%J0y^-A%9dcbm*`_p}jn!m7ggL2RJ^2)=z4AI3Np|3dC=UvPczRZtAc~M0;F0_ zQ+e>^xbMR03lK%vD=WZ)SpyPaOK{1lw9=AnGaGZP_cH0YN9BXHZYbjnjvU;f!_dJk zJPo{n8Ma$@3S0Y2Ba{!U$*vcz3_S9qWv-(5){=h;(howP*1F!cd&ntKEW36ErhIa~ zKejqQNrC}z0aHPcyF%f}0FfKtdWA?7N&q_aAcYuO|5Xn}vGw1w^sfx-ciI7Iq`NUJ z#v^7Hi?O99I;~?DoV^==O5<22qU5OrE!dJFL;aMl4*cNa<>f2nrQ)PeP-2k_C~J1+ zvw#78>^|$i^WkhLi^odDj*n-^OO0jKYx2;HaXlN@Z67O&<)Ew5i{bMAD8z)UkT(+| z_vS9JznoA_7E#*NMq({`5DR64rkQmon$(7mE*sF zEe$}4yf0R0-_T>LPB4}G6k%rk3x~P{4HGHPkur6pNw2NzW03G|OOf*_rK``c@P8Su z)b#@v$Rx_E4oFU2ITLb3R82C&omn6^Vp5;Tivs<_>m#Kmr$jL01Rs`Pw?6;VA;yNJ zy?EpxT7{psgWig#4`H02l+v6#W-n3f-vt>v?IAsX20XhygSKb83!I0dq3^p{xA7l* z-zutVu8_(`^ykZFv`*As*HoSoQ$^zDP`2kpsI5oN6bDH<=+hAu(B~d{azvkdxKprn zlakFSWuVY<#GtaOwGz>1h$%r$f|Ta7h}1)bNCE~T8m>K6NQFSy9o9Wyw4o%huD=;Tq%e2N>2G-JZ=6GZr2MR8$a zD%2&>!(_1Jf6zlZpzBdN>JVeK>lkuT5OoAGV;OOj#8}^@!h*va9kVi~m0QD~l}{$@ zYhut8$$6`n&ZMeZMGDue-=&#yNTr%R&fH}rrJGNC=4rht@H(&ebNN(x@fw?ETtvG` zDgN{(IGy-dEk7mYzJ%#x&{JZmeIbh7uSihp{>Uhvy)k&B5xRzhvB@m|iLg89<9(Nm zof@|Pz6jQTvE=WwifYGLgi7j7n-5(@JJ&0>)#6-y1<&=D_qmDh$Ljf(#7X9C**}P!5X1IR!3H(Ut#y0 zHWa_ecJbhzWY~N%4Lfdr4yXB@HTg1l1%CUR`P+h13sRh+Vvtc<;WS)p;b8w)Lc(`YHy7cTf+x-^WGtk1YN|pgOBiQ_0{l` zv6#-lc}Q79hD`Z=+%789kBqiO=n0|#G*A|9rwrN~6l~EFQ=kvA`WrH@ns;X&;9DO3@yi)-xZyNF7XVg5+Zm z^ctGH$C|E6eD~vV?rYE+{q}!KZGz~WTdl59sg9y9!J$+xqY!=v|b5-TH_6XxQljkgW}90a&#XKD>|#E)VT3I(36Nl%-r%VOwrRG`DL{h& zObsmcunh#64%fAM0hFeO_?ZrQ{=z&xIg~Zo^M^LA+q44j?Srmdv=+D4d0Tb!CG#t^ z?m9}zYdYe{*kMaBHpj>U18hoaeEZAfwO`OVM5HERb_4~c4O+VI)SzLRy(BANVr?-# zO_4NF*!$txn4Gsfihq2}36_Ji3_UyNZMBhA=2O8+l9wq5olGOLi4HY@Uit+u1sF?a z^=+vpU9i<)wfn_pzbqP9Q$drD&^tt>TG)bhzEse7c)AdQoB-J`5} zm9$>DPVf+JARVi*UQZdl2R8JV zTsM<189>VhK|45aFv1x-Q)$)ST&6J11Bm7AXwj3v32oau!I2eO%>xn$j_i){dMo_t%(E_~R|@bs z7AKkAPb?8=)JIP|O>qwsrrHefNPQcj$w~SO)_#uZ?;$K90>@$ZdIid5IiLOLY!&<9 zJ0+jGZ0^ikP>xX_-U{s{7M0D3-s0OnQh*=kuGi@(z%etgNZf^WFAXydG;A2U@f>lUIlie^=8g~T+&vD}TK-|hA9HgH*`*>|3vbaUk> z;+f)fGdU}ce`qv1)IxkHbdbcZV2@bC>=m_DyBF4}^D<}2%csBW!yb6&uiYl+xHUvH zMSyJBpp1;v8+;rccgdOyZ_d$nX##}HJ)#n$O(mw^@{c~-N$Z5|@HCU`(%$=hwV&vB zm}Y)wTG%RMy4dt>)r_C)#ozlv#0JErpXhWY{vnX0vyHtvNaw2u-09mD`vu z7OXJ>kDH~KPN0SHyk`-%<@rqqT^&D5M840Ei@!`h)4u~42w+tx0&XPs%b*A$QC>Sv zzYq`c?!y2xs9AOEV^=|$8ofh26;Fe%FlWEHET|ynaj@A4K018Y{FDZ`GRs+{bQ`J0 zZTQjR(fxy`lJ)xZx{s~EYmvOAaXWF;&zXuw%TI;b=@$}7z7rv6Y&(&EQ6M<1?^Kis zsvK3~Z5R};Sn4b<6b9d&0(0-olGE5XY~SX25Sknr8xelLn?t|ZbaTiOuQQtFKYEz@ ze4A>0{k&W!A^~X@Gv8<+ZhnUo-j{;mIGvW*o3>wv^zu9Z14kaPc>JK8qT2BLhaD9A!LIad4nO94V3f z5PHarKUm#rs1qHosxX#7ig`1MgwS|_>iJJZDqG^s&Z8TYPwc3vu8Q*gU}7t*GDNVx zK4AlqWq?|IXVA-Ef5_T+h`UNiTrt?sEmmQc*CQ9CLPPA0yS>6o^+Su!TVT7UgdFI9 zA7eDkNOn6ZZ&l)oH4E?{CPPVx$u=LXoK6HlYLU1}&CEa;czU+n^H{_u5T|HC#G42Z zq~pWR3A)OlAj=qgmUK-xcjpQaU56U{XQ1?s?ggdC1m3I5X(IIa2Wc66o^u{_>`=XC=At40@I~#hDHFgsX+)z2qV% z-ffUSNtW&dqZl9Rgph*ndIPxS)Q_BVUe~>APIumRak`EZe{Vr<9|#EB1v3FD?U8PO zGi{jR8OL^)X6;*UdnLaCDMoT+FEanVN>HEHVu=4t%Y0)HxyfjzMx@JUBKdCPN@sh~ zWG!M*z2YXnj3w|fUn~UWE`DQFBf*!BYx`E#cZyEe4Ly7=eB&UK2Vm0o+#5uK^N`+b z@iaFm96iCg>6b|J8y-@^4v+AEloEcK$$4MNIS4)p3-Pveoz}hC62<3-6gEB9uN}!KubOF9!=zmvjq)R$DG;<1Itz3Fiz{@*mWYq!weEJgwx>-Fp?| zeSXFojX*%l?|v5YJ7@E>K;?ly7K5X-w`fpn_sLX%L?m_Blo1i^26QlhLA(3HCQN_q z?=NYF$&WXkbVayY+hs8rC&)2e&Spb(-m6uw*fXqPiM40LKQ1|+(Log+OxY5k`DQCh zb=0@s3(Y-6@m_WR@aF<_S57~AcKOc)?cn`5F@z|rVD}K|t(;a25Svb-w-2~{&6fP$ zYcy*EyY@}SJuU}Dr8CZb-<#6{UhTxXKy=yI{_-RSpi^p8v9rAQ&PE7X9yPE8zn7L` z|4ok;&ljLw&fd2vM4(-Tn=3XOic_7ZIsxQkwY5CCE5l#n-^Hp%u<+VVdGX$7qw_P~ zMM@AXT3MfY=+!gF_mhKupzK2^hrHJHXX=&`t3@?_; z%eE0Oyk~Lfdv_{9VcWtqWsB^rlwh56-145CmbROwbyMfcj!rqSDmI*9)HS(Swu-o# zdBu|NU_a>CwxlBn?N(^j|5fs2MZ{fuVgLQS{XF5@O#HN9R2IVNjAl0?bt3c8l2Xpva9LD}naqPns20c9>Jf6!YcQ zcTgw{#(HHV0sRk)CN7@giJG(iq znJG!AcL)a5-NhUCdtgX{1%rV(ub>g|Q8qjG3+wlg+a!(0;yrSMQP`tdi79AM3kFy#!~e8H+hD1p8FkmuJ5xlw z)i~W?u5| z#CyP6m0EtSRkd~3%s7)Ju$&=}gl!tW&iXU=A%aC{L7>|cP}+-|cR?Ha{xv2E+Ru}H zVlRYOTK%%x4AwzRUvZV-g+$P%nGLU>WOMhIp+}l~DRjPZX3K5)vE?q+G8r#)2kdJ> z_x}5Ph}4D@dE9S>;63erld&wYTN~5|!qG&p+04U`4l=(H@u0vqo?trAh3n(honHsI zK;26{@3$zDOtyTb;digm;}u8VtGE~yPrTJDB4nS5)pSCRa=f--wF9%A{E`aZ57j-^I_E!PGb+jn;i0Y2 zDC|@t`{NE#eI1h}%gOyKi|03P`->AQBv%QYua)Hj-#ksVQx1JO6YRAs9vVH_;Jlp4 zJa9M5Bai!rviRK$w0sQ`l{)zd9r#n=GW({i4{8U4zGVI&*~$FYp*T=Eke5gil1AkA zsO+IH;JX`=l^fT^c54*CR2H_bxNav%X@7KVn=pDs13h~KYWS+$y>+8Z!?Shg^U)KK zM@~gS+wQj=@_{?aZ1hzlCQ1scy#IkV6tx2crmVyF2Pk@^4FbuVMLW?r5|~)pXfFdw z;{#@?zKD{hbhAqXMlk%7AWbbLPdE*TD^ZKSm~6wuV;A*cWq`-aU?9~-3DoU-6hje4 z@5JmlNJ9+z|L_O1h(rP;M0a?Xev&|z0O|>|U9_IgIxo(=^BOg;cChFj;?YThgKR~h zDzl-5^uaMG_m=T2(0ghc|HgjCoDVg$h{DtdN`GYQrU2sDr~AAFL88WZsKHsE3cmc2y2J5 zPnZmfH8V=xkjnDFd>;ar>BPtM7@CLk(*l=9zc-HP5k?uuM%TD;q50Vii}|@q>sigG zz*c2<01ndsM6a|EQ5!88C~Pw{i6fItaFJj#QUnEf5IA5MqO2X?(Zry2QZK6xH)}Ec zimz|En$?6E5LD5jzb%_=^UxPd;hXgGA#>C{pqpV>Yc)BiO9-1<3if89i+#RvY8Zvy zX7H!|rf1k(qtUq}?B}G_6&k>D5Xx_kX*7ydI(5rLt* zU7>Z?)qme-bZ4_esxi!mF41&1vg;~@1(y6GJa-g}07YbV2TT)l6+jt$#U#n^gc#6`k{c-JsB;GsP;PmR+;Q+i zV8g&yf21~)S0ZV>olOMDjdaJ?aQ4f;MaI`+y8VoSPf;4`ph#Iu4Eddsp%}uH<23ot@L={BvC0w=w#4YC7Evt^6YiL{{i1ldivzcdj}ys?H|9S zAF{#X1-#aA!u-CAp~!j5-u_UPPR`TS0t>0SYScnKxDsQoGGRI7;Qi>N&r<)AgXFWy z4R&}?RC}xTSBucOP)eEI?QEM4YOjOH>aw9Ept=ncO5h3HREkr%X%plnT_n2kM1FZ{+Det!Es6@xMA}5cRQi*vhlPKr~EVF;+EzHG}BjqA;kg z=PJ??THo8Bxk+6~SPre$X6J(waNI3 znL{K0iwk;s@AoaeCP(ikrrENrHZ}<(W5|1mPvm2imV++*#@QZIUE>29^;)c?UCz%J z{8+K73Qi7$Ur&bvOz}+}2ZDDuj)mUEu(~2(=vM!vC_IvI(hyF1f2F`d5vQd&ku1sS9GM1pl z;{?A<+Vk2Y4%HYLB)h^ANexe}>h91v_nx%jtVI7~O5b~s=EH(fKsKyErhjyQ&DOX8 zwTBf~Uf{B*Kv-k?p!b?CKF+>Xa3=X(g-`*~#+X;oiU|iH8EZC2FX0dB+^SU^ZlEEP zP{5d3&Fz2LP3#(^as3++;GhH`=#i*Uu?TW(07UOP+0*+`TNgD>Md{Vhi7h;sokKoN zHwFDyIWk+VIeAG)jkzF-C7etyKDV+cxrziEV*mmt+~Yp03xd`s!AY_&CX-^%y_f|3(J{Kxj5XzmJ?i^ha z05J-NTo%Xk<>v9w=W#3TW;Ev;AC-E|QY6=ChpEup+V54LzoD{2Bdv0IUeH%m3t)0r zO7N3Mt~JDyIPWVER$|!>Rs5#quiX$R{zVDy*|cef+t|^N)VjS3K+1LGK2=(&a}!t& z1Qb<-NAQwXTrCy=u|?CN%6sI*pRbh5Wae=sfb{@uxCg{5Ccukn#eU0I5uNSzj})io zRrOs^`ull_zxi@BCI-yc@5lyq(?3MeH_ZatnZ&2(yV%XZfgab zQsV_EG%H!WTqb(y@-YYtC+6CA~F>47P z*|om9>m;--FnEo-blML&nta7b3@q7!$_zjEvzW}1`kDTdbf!qMGtg8E^E01p-B9TKSwLpyEXF? zCRF}nJwTRa=r;H=xBuv;y2_`sU_hoVun;&{tgkH`Bz$62uk}ima4|5 zu|UG$OtTb+W;vogH4NtZ772#>9$eUsQrCz{^gGNO7x3S7g=s9d8f@vT=H{Z}5Cg&G zXdG%BGtqVw)6+>5$Xpxj3Exvr??RCe(y|IXNqThw8H=TrGya*k7tLZ(e;b- zL08&sZf-l9ydQyV?U#hsNeGT!t|}lO!`4E&v&$7~5)9yu9v*0nAd?GTL@rHd3cgS* z?Q6DSlCfH3w_C?}b|87<+Uf#h$z?6x)-vn(p$c)bbwM!<6DT%pPzKAqI5vXt9=ze= zVFSR$PeFnD3TQl2Xh;0^e_!jnE_zVyq!EqnJ73ckXKK}lshllfr z7YsN=h{u)YBf{sVTLT+dH^i#We2>jlwkCZI2c0JfDIdrH)M0$29>qG|{y=^dASH@g z9SJy0a?Ei#n6+*Az5o+r!#U<(7D5~Lc)6>!m+#+GGsWIMCZSG$j1QW_dLcopDyH6o z{gxNa)?eJPy|EfTUz>k2Gc-3b%-T1s>vA`xiS$7vJ-z&_^#pcXO8rRL9^FH9W^};X51wy!Vjc=PcEEE%j zme#%l5)VcH#SJpChEJ~D$vh0TAmM%lmImfJpoU{v>tK7rxYfuFvO8YaNou6&6cG!<%!klLpak~P>uA-k0VzcsRb8C zmv}(niH%zwfR!Onnr7LJ%Jcmk3NXR#rs~vE9qBIr`6mAcpWo8NRwsm}ap#GY@uz)f zT@~XI7`_cs`}oICEZHtVp22tew|ZAiBOZt58#*Zy_BR~W(gcF}OO9CO>T0cluFUu) z_q@d5Vb5gp-2XVSx7_oRU^9Y1$^aEN(b!3auuL%HJ~aPsTa0eSE8M5z9#Kq+z~j(c zYVZ+@K04%lhz`%MM#`g{J^S@N%WR*BT%uRnQqn?{<6@`-xj&Hn;hPaOq%$%&1t87| za0U%pR$LYJu!)A7@Ug?hws1;}BFrP&(Xx=8eh`hTYwNu*kqSoFZ&XY4%fs{KPs{hX z#&71jtWNqLh#-Hr%h)qP7W`w>$b@CM1+&3ueWoI1Jxh3wz(bX$;)R!i!vIiUvCp?=i%4$+x(Ok#>HvFP^IgQrAC2?o}RN2*0V z@hMau#BFCAV3t>syh8+BpPU2`!WR2Tf`g6H(k`hH@mzIX;M$cn1Z88NgL5gLkD#b!1gAOJ%3X^+sHjbT6ki10E{;*#hWqbk2UJE zW5bo6mhbJpfYM)e^dU-T>PzX=&cvv#?{(!0`b8Oz@5t2^@gShnxjQ)q~|y3_txHNP?5n9X47Si$N6)IFR5Rwt0jvkW#PFT;S8az z(8G%Dcrdwt8z7jIu#BwwOxzQchK%>3DScB*+qjcBPjztOCNs#s{d}ho<{OvKl&8_h ze|&x%9dopTF`(@^-t9HzP_e0BzM36Kyv1f?W^3c2rsUN?**iVr1S=))sU-Ia6I9E zT?mO*!AbaV#z+wp03Sv(-IqHs&hiFnO?b!1^Jr=zAR?8id<8$A_70(T!uEqMOk!bo zD`NIHFdye_YoB0IXM7O%S`ZeuC{}e9{|pUQxa~I=ryx>oc$OE+oZywT$w4B9%GBwF zCK|{i4ozQke*N8muRnv}-(!-hmyUVE42A+D?VX;on8^E>$Od9C;X;n7ab-m5UC?RC zXipWdQc*>UjsQaiikPkNqjznp<$PA+#8oha4550s2$gvQDcuVY-YrGeJVh>RlVbl+ zfZ#ar_{63J6WDp~L<@Enmp#w92*WZAi-r*sME0wh{e>`(kG&l!y8>626{oy8k=gdE z`!5XXpgs7mH=zbB%fpeeH%)r;6**;9@!`VjXOFv`#OCto)oIYa?X#ho0`?FuYSSQ! z*D5nu;$)70=^Kh?q}(|CORrPa`?{Y}GH&coM1xeLEpxvfAOR~1AOoud`j_}&h7V6BGX)mnVniQEP*;75j?yI#P~0?$L-kJ5)%LtjD^;5VK6TXvzQ z84B)v^*4zi!N6PN*v#vESk6`R0_(~dXX3ix{Y1Zk^;!7hEnz4(bXV?J@{M}cD3WIzhP47qo{(eYv|;SKQMe?Tl7Dt> zQmTnV>}~U_F6qP^P7ky{4G>^(%us5vF1aKtS=C)VW+S4e6WbWwFE!7Q#!Tnp0SdXe z1`ozaGGtHtRwLf2aZUD}$?FiM0kgjdv1`$|Se!+6`i=+l6g?V;@C%7K50tF?W-0p2 zew6-OJ}$m2juM#%m^2rPKg^+MAl67hTQK%!B(F!g?TR48;yT21-Hh#kbO-@cQC`U{UA~PtwV*#LU8F(7a|XlCaJbJ9WDNC^-iIic165M0VV)jUrNqIc`?B- zJAcIcel~I%LDb`AE<&+F&!R!hHnbz+-U`CAA+o1fx)aIu(xCpF3ve0p0IZ)F8oHAd zzgeWGL|GB5lTv=WR3Fcy+wAV#)F8HKWUSYcOou5+%F@elm}K-+7&;!aqJxrgkA?Lw zCiI1l2(S&6agrBZnP4+|+HZql;QH(g(*dyAUauP!4?Q|i0ZAe8 zraR^?3E5&-!{|L+X-qQzIz>Vcn@6m}$}_iJFy@1IdvR+bFRYR0vGS@=0qy6Qn5G`_ zmvY>__)YA+nHt1TjC)QnfBX+9`T>7MISTs8UZJVKa2x(sW?+l_8(7r!a_x+vgStPm zcH2SOph!mzFT;~x)(R+V+hzdvu+Q(7hp63HG%$}svei3?i(DIKg{7Ra^J&@8YiRym zgmV1rQ^Mx2xRF+jaNH~1lmBMe$JrVSuT{Ed74ck~2BtNmqNg=?2ncQYPFO(b)rE+n z18UwoXZ}cC&r;%dO4k4+X17|#9 zamwVP!GOO=WW1NS5U@uW{y-Rr?^dkR@c5xHOQL}k?p?1W{U{xxHxt$s3a9lPj`vBL zX{tM8JZH2sM{@W}3UJ4*KFs2w9Lfhf^N}Y%_NqbDv_gVN$vZVt@WiL%ZAaNt3z-oZ zMn_t*QiQJnzTd0#VL&Kd{5+lrk=qWYZ{)S&@3?Z#2^9_DudFf?ReXACjiD zyeKydHI*cBSZOdCBx);$^3_7n5#HYHv?tkViJ1xoSF2w5pNc`5=>3LBy$q*{i{Pb; z@zjeaW32QZ!W4p?^0Y_LW&K_)-wVS_hRnm9E7MKPopndNs)Aa2GhO5+{>a@uE{#bz z6LByoJ3Y-k+|mQp#|IDe&l-bLEx-)gnl$1ftQ73@?vysfrPwes={N? zSO6kH9y48X(7E0A@*@361+=RZg*0-pZ8yC^Uz!Ke$sqd%U3a(Zz=)|nKhtFM5CXhF z;#^&^*Q*xY+a5F!P2`o`$_p%qWS0me(wcz` zrobpqK#`_kaQB@rMRqh|rivPvU;!QzRisK*RfMW9n)vn1OWBQaMYCeh2VrE)q|zdt z8E3R#O=CHv1i@O#`9`OH35Z+uV6@rdJap|&;0!`D^u5ufD&P)b{3kjx1?10QTjgS- zyiO#z!vNoJAb#Abx)Vb=j~=3 zT%-SGfKxHrgwxncXdo;B?38oX=(e{;uoMQ(Jhgc3kD`Zk!g`hD<# z=>Rci_B+Nad2}ke4@ifY#~(dPaN7;EWuN`&fGvg=D%ofM^dcKb2T2-JuZfhsl|6t1 zhVgR~2mH-v3rvfs2dh1gMer^v`6Zo`Bh^gTYGCMVqGBrgV0Kjy7k@)6-8nxwI9r?Krb{mvhFubH{_yJzjS zpLO5dth;&d2ULd{es$;jAwlMnyLTZOax?zQ{u$ZK`{=(|1-WH`N-LvZevpC3XgBd3oMo2E<^7I9;F%LYq2{u9 zp!82DA1C53<&R;Z&l|;M?xhjwU%9X(6LKVVf=%O$zy5VDuaYoEa9(YRSxl1r3dEg6 zzUdIZ5WOT5oj~W@g^328H-8z)>nhuWaPd^kwr=$K!S&O8rtXeYkAJOi69Ucgkcmwv;KOy;AR*wju#!hDDn z#Km6-L~kp@#fSdKRE}1P-<`|~q9}<9vE+8_^{?TNq1>4PocXyF)gg=RK2!nz5&6Ru z;YMB7jhsI|1S7PGwZQMrOn{mGn%lG`!;}X)qJZO2#hRD~1l;r_9AI&!Dn{Zx<{z34 zMq3MOgOL#nRff+>IGeWeSlaSh2-T(!fjb;Z%8AU9JL&D8_c~3uz6qx+8#eDs}!MGXEj^PSL zuk58B>!s!p%WkBY^pGMgOj26cEE!Ym+!!1Qguv8=2DwTUwT_(R8$3D_s2G_El*~nz zWgjTg=wz|ne;{QrOy2QQdG^R`n|PB4o+I0+O%@qK{`aFJ|+k^S?icytXDQJSGM=RAaV zFW$AIT|p}%SD8***^fIA?X61kmP1i8~g0YMOjpYN(NoC9(DC;>>HLLcTU_g1V2 z-jZsM$M`MQH8q&*l5LXUnDO1N`w|{+HExEQ0h+Ie9lN15y`MaV2DUfS)frYf z!LbfRNRxEE!5vM<2ku!0Mapyyvbd5wCJU58K6<5?WqU3Rqx;3K^9OTL949}o^|siK zF7KjyJ(Mi_=bgK|EN6GOpA|O7zoT0~#Z|VG2mNHtaQ`h;eP3;4GMn=4r9p z(ZWRjM2tr&Ig``l`feX!*F8Rth0ZM^?V4ka;EFa3DmE`v< z_?FlUx@#o8;Jakt^FY|@wB6E`Fl`Um`_z$=Z1*N}f^X2jBMZG>haw9ee1=4Y~2 zQnGYBPPN7YCGoH{+Br(%*XXfOm1wVyCFAWOJ1*IQw}1Xce%*dC1pF^HXv+;UeX#%r z1@?)&c0g-bzv7;ZLylTAb{jsFQV(#hXT*@R+6ds<82!j5E`eD7K+7bUjW%boxO!N$ z(%7qX)ZJU)lvoH1@x>cAITIrcqbS0WkU3)1Q^^Aw1iY9@k}ypwbx0A4HO)74rdMqu z=03Rbljvud?Zc}L9^eQDw$pP`;Ct%Ttthz=x0x71gm+C;{O7~1TU5(K&pk0UphEP1 zN5POa&8#E(*!R4X=SBCdBpLw6Ytf=&RlXC4){i%;s}{1vf~YpV5y>{lzE~w!!-n5c z8WrDn96eGW@9oON%avnM>;R)?Aa$;q5kUyfDYl;&S2~27h0{R7DQokGUDLm8UvKHK z=V8scdo~p_2{~C!NlA5o>pEVaK$?>(s1O8uG*Y9lv3;}B@7ULY{&h5W;DU34<&qn z(9~QMlF);ikc9kATDl{a2yIBn*Od(a-d!|Fn1nnDa;B#dK+Z8i-5O0to@#$uoFFVk zD{s~O|GSpsSN&2 zxGze|W%@L94UbuG0GX5svL{@;>jDasCl#6uB)kCHZ9X^o#O4XorRbXEw)=*@RFIl>D>1Q!{uDCCj(Iz75|DE)lsE=FG9e}<(HdpamVOJrls)ys?<+=EeGRU+ z0f*DWV9ghyC_#>OB(@CMBS$0U%oD*lzR-ZbXY8m_lO=bLoRB8vLIt<>g_BX5RN8iC zelZW`B;v-Tk7Ro-CNkj|^N|NSj4}>7)o442j#@L^lI@N%)tOczBWG2NCYVYk?Qx<* zo`^(P_&!%y=OqtDK`3u8(p%p&&E^iXuK)TqL~y&(16R;uf5B)Rw%m0SH0m>d8u<6jPQNif;x$wvy72O_*J8UT3rsR;^K%ndBu{f25USk*g%~0 zZs}69%U_oZxgF8m0er-P=u963?2i+>)mgR;St|L_<2sFa9yx#GGX#G~mNm(NI4_Ah z>udwD>L$FygRIIEd2%K-MABD1FCgo>ZF3xc)Yp4g`zQJ@&ls@_lquI~0q8neGFS1( zThJ4aSG_${=j|Fj7cAJWMxPF~lDJ#O#RbawpCL?R`#0*`=jyI%Xq!9DhJ$2N>vbP;)W;T8;E5zdO;=jsW5 z#H$HC_%X#}R5Y5s|Dr#o(mDR$F?Zbv@)lW(*qcPsEVwz?V5A+KT-oYIIvqR&(nnvk zK#z!uUiI3M6|IZZtQMYnyyhhkn@9V2EmF~t6B5-}LKm;FG|$WwC&BiR+}idVJ}44G zI@Qr4#WlfHMv7+))N^Di0?BeP8D8RkGf(DZ;25XaS|c#1Tb(Kn_jEQ6rUXCMzZ+rk zBR;}pxS+1$1nKMTPU%?Jo}Le~$QBK?&3O%iEFss$D$kyh;(mwQ!kP~B^gAZ2>U~hk zHlr&IH8-cDB*KyegMlrE?YndEX3SmAInXRc-{wD+ccc{q#*Ky9Z%eYTsz1!!MSY^$ z>|)*11E|;hb{F4QK`6346LZ%*=UK8H3gJ1ug#WdKA$p9qbH!vZ5Vp8kVbLu5jV)Ky z!b)6UbBZQ6E?cpr0mWI5^fc|DoM6F%-saGF?(JGUsy zK2Fb4O2eX>S8G5sdxE;!)Sb7<9NPmC4)!LiDXmwo)u zQALuWm!beRHV7xPNajQPHU(w_C(zqf>rL6T=Bs*~-@^xrvo>ygU|>jdFkE2qG+cZw z#1xZd)r6{`>KRF zmbG4WsX@8hX-oiUNnQJNeq?2Ehqo5W?CJ=-yatShzqvH|Iz>YVXeHTmaEp&5UW5|} z`iE)YT+vylH5*!OYaPNxej$j|oA zLQVNGrRc)h*E3<@eu4ib)mr)`L6aZW3TN1$fkH#vkTakJsML;`^&B`3x80SMwtw z!e9~5E_y4<_r3K*V&Hf%XGwFY@Xtx3K}C(JzZTn!tG7*GcuumAhd;$;*}iPO2SavT z!v3WD(&p4!RhbhK$qRE$Yh&)izqq*c6?Ybh(0#2}Mhz4Q^0w^4G32ES(?&jWMLoOc zH}*8<-Eum?2(W25N}n;krH&=CCX!OQ_mesE&`OL)YJRFnScHM=J;*BtW76tpJ?c@T z#(YO1B%&Z9Gh2h~h4lVyAfjPcI3!%@F+BAO!_zM;O$v=boM>t_KksG2@<2&%Y>^JA znL5DOcm3qf{$>&Dvr$_8jSNUqDKVa@w*(H4ccd!>s~qAG z-JDcX*8+NIUHC!lg0JFd%dl|gkU!+sE1eSwAd=0yUpRb(lr$*ciKz|VRP1K}KGfjh z28ijAcCjG0k zblBxw;X&gdGFK>pMIqMg8N}3x7HhYJh~$bQ-UJ^G8VVqa;SJ?1s$;(lvzN8VYAqE$ zlC0^LD`P&DR?NW(Fwz&$-nGw=>4&Qsw3C-nfc%iY3L=#=;%0hQt$z&5hM(GAC+{C zwBa)$oV`n0PaO?@_+HgUD)(Y0>LZw~j`^kBax%8PLiyCF1` z^+QnXx!Op`gi*9Mnmw0TK)QOAHws>r%N%<`MQ`We56v*v?3^Hf%~cJ4Pd>5NjeGy9 z+Ayiz3kpJ^>v_j9wd4rFDhxC1^YSTpbKR&1DRFmKJPId8P92{SQ?<51G7uXBALXAS zY#M1|({nv``aIM3H{|L&k@z{=|M_si}oO~3!1_nTcWVCa8_g>AeytTYxS7CMBl!d+|K|~{BL~M-=62RI@hPC@^ zQ(3iOJ3`OypIPvQ3F5dgnJ4&>G?{n{JZp&A%O`%vSoMPn$@gxCX@lsV(R~M794}!5 ztVUeEC-xed5C%F(g7k*LzKynp1r#{^_{QUHaV*+?!09WF^9JVnn+rw5gS{hkOd+h5 zD@J-Y5^6UT(E|>@P1zy)uhkDDd(>-JX@ivqQ+TijQV%*%yPGExE-;o1^gYPiH z96`$tsT*q)|2Sa}+|Gy8p=b~9B}g|0Yk~eS=YLjG)-woU&Kq!P)7tZ&l*VeuuK~Sc z2szyI6^krQ1=9Ynt2M{gD`i~Ht?ok*cqJV!h zy8quav2KNx8CCef>M;^fg93Mgq2H~|ibrk3M2x@>U38JQjMooKeAmegx{<%N3IHqM1V zOdsF|_L6c~S#8m?g>#M%@SNE$C5?DVhw3}>mLLE!qcg72Y>!e_*{pELx|bLe5T))1 zT!S#j9gL=a{gNAQCx9Tv`43jotoR7jo}|Fa^c4%pMq0d)<#6qsS)q)w%`)pSHP#H% z@BW?D%hCz*VtJ1WJ8t(4fs0NIymA(U<52^1_~S4W)ZAiZXgm03Dt-iaK0f;ib^E*i zVFPr>K(JibVAnZBSN)E^G@)i#7)1k#0Yt{$2gNkktqbdlI!*Wf!^4;>%ny^qq=^OC zeMfTrTlJi2-62nk>gCxMeA*(@xglnQZ4*s=Hj~7bz4eE~R0yP` zpK2ItMlQ*6DWo3K<#i{^9ifXf5*bIy=;PlrwaiDL1bt(FFDQPAK z>0c1>Tn2@*#PXx6(=ILtOo0`&}siT~=-YN5A%9aENn{)M{ za}wt7@>ck5_HTL@hc#X}sK#E$o9ha5a;FRlb#=4)qPM{YjspGWCLPxeihDQ627%t8 zs?at7ET6QZk#UXH2>9^!YN%XZDo&dRSyUte#?_#tswbS~{@E3QH zeO(6J{aFb7eRbRtWFNI47cuA1$ATqI_xKfw?MYqg801X02cfL|S8nmsZPn)O(dR~= zlfa@95_r@1ptU1Pj*NgM#v^m70wU@J0LwWho@pb`hjK$D4I#@VMK#U{r}`}|h3^OU z8j`>s+6nCXz5(&sL{z~F$l(DN$jAGgw^^`SUq` z1%Z8`1}<-qA8cLIHio78>2g@l&f1Uhvd5~u?vGHLwT?`@& zPLsYs=x)dVMCd?kap-WXa0t;6b-BQf&&u=}8@k;klN5XORX{oDOmkq&%h&v?DLGhR zT-t<&7m#s=rk`PPgwd2AsHO}3KtCS-NY&>L+8pF_tbaj}gJ!Z!tI|gh{Mub+-@0oo zhYBDf>c?=RKP6v;d&j38I>K3~>%nG0=5*(@W5+`>)Hjx-3I97zlU!zOh5}hl+`YyX zdz2SwkiCgMM@Di3HVS?)!-s&}5qW?fTcHtSfY=av-^e2P$@@e)dv!@|MFu=$nXkL>@>aau+ z!A)ty3IuQWV&(dE(Un8bPUH=&2I#@&ijJo^H{&m3n>1(9rO;bsEoS11WC{ikk43Cl zlMGIkxk{ZY%-MS6D%nr0Tz6Fqq=x(20XwKK?7d=ysBy?2HL7f1RV)$Owy=B$6R0@_reSZ%7}zwZ!*{OZtAWQqW%2x?^iy4dc_2 zI##fQSsSs;k#89>ks`Y)+64EP6gBs(K1$sHql0ar`E(ye(*|y|NXruxd*H&x z0Th&WeWZ0&$${t>`2c|_&eMYL zKyGL*#t5{->EgRJ+{sOhlEA|^D)fag(SrHlI#N`@RCuZ?P?c~5EZl0uZ2(Rx-4N;! z6;6moD7!T$KG>iH%KQPE9pyQiimiVO?W^d>v(;=8PINo@lJM(XR=6(u46hsJ6h7+e zD1r&^9`${(+ORuZW(1pUH;OJnzj0;)JN4_*V80H!i95L@wmqg1_-+!vF^N2VXfwS1 zX>{DIYwxApu{1_Qlm|3A9*UYUJV$21 z8&=OXWZ?Is`A`FlX1&6>L=|EijeU@>js@N*+ya>=v(s`-=4DN=G#p!H{Dv^+kz?C$ z100&&3AD%>nk3g{83{Bp?HvX-e(pn6bgA+d@wrUGKU zy_8@Q674z+ZAJ;lx|+rA9Vk>0b0i3~&!@mI&y4pVuu(d0e5Akr`ePM+bZ71bgnxIB z4l|4Mad^bq)H^1OIItk%LoZ$aB5`Fi`3Y(h0Iulc`Mbd4s|JpY+Fb!sj|I1(2!;?N)n_y6 z|4h){)jUu?Pyh~0OZ_6SN27dW3_m?NtS>rGymUNctVX=T02DTB@(MB+vUT7EGtXj-=kRe?GAvw4+54_3p0*SH)CxN$&KXzf2NeKq+XR3Z5`==#lOL= z3K6^Aws&9=2Rt^AHLwnm2L#tay4{J4u(lfO5Y7?D-e;)B``r4KUr!D1Ur%(=`r6xd zXBrpZ{^pYYb;%qcdgEw8zZv2=L~?lpSB0g%#;f$M0}^XEIkf>N9->o8>+n5cPHHA%5i(0`nFE@ z*ZGSSre%{JkFIv*yjC~2+y1{};tgG&9QC_FE#9t+ewyiIGosz7jqw8>K80^R5{MKE6yupeP593*Xy3>0OduAd^0em31JxPw9x4cZvp} zG!P|`#DBOyL48c_Ozdr42!vdL0X!wY0k$`a9s+V@rtRZ1$A5MZwJ9HNUa2Gb6JF;q-xbsRWDa+w>2EKG3M6a9=}#zQdGbsHHG^pu;F|!zCCD zUZ-)tmP%EX%KFb%5EPEy@ z`!1Y%_UIzWQuR9S|0sRkEAi>x0SVS=^{s}S$2*8JpD1x!D6g-hU{sa|TUzAE9ndGJ z7+zZh$$3wB907NL>dnQrenw?YC)mr>T)vA4Vo=d~XHtqnrDB)J3dJ8Yf-cbk2- z@ln2qn}ZZ3muM79?hep$Mwb0Z^=Og^9i24``RM(P;&ptA&>1_NyYe z-AgUe+uPtm?7o>3-0wWktDa`P6FcO>Mj*7>@CW%jeXuaMyWYX06vUwFVaEMhuvHlS z*)}y$rnuo~kZ7eis1d-TO8_S*x{p0QVG-5puzX*6(U}od7byNA&5DRkRFeUJEq^$K z3$#G3A?sHyA8nz`lvmhczSvI(=9sKl6|(&B(Zv(_OBpZ*Oe$&AtFc=iNUQTP6l}UV z%^?z0nY4y$4OP20JQ8Kgs^S5m1X6O?q0;<&a_odmE2ceIy6&`oBvjx_lsPz_1Ol%U zJ{s7$YqN3DMS|O(lkA;cPWkM03RSDmwua5nLjxf3RjcTmC8c4|qd&kBmIz78Y`F#W zyRO~?9R)z5r;v&D3hNHP8@TT3&7W2<7VE?s65{>jBA9n89C92F+DI6q&S!mvIbagL z&CYi&{~2@;E!QhC1l{3x-Y|@B<*B~)6}DIQ_X0*0vhVA`@QZ_dJ39BDpm}$|sS~$2 z&+c8|Ti`PmFb%;0)TV)~PGj+5Up>WtXm#CE#d(%Te`o?bNp&xPOSpf-G5af`}XipmQDH7$gt855#yJxtgbY8ju9u zm){4DDz>kF54UzAict)ggyJfbZ?FUB;|6H(pHZ=urbI#WAT5Qh(NMTmhccA0iyC5` z5zgh7S`DptMl{>A3eOB7p3ws=j31Uu4C1`}UHMz+ue?UBRSiXHEX!)tah9oDQ@VOA zlWmI6%Bxzg^_b64vFGAe3eEPGqIZVaJKkU!)iN%dQa8@LpTi0p_baU}snW<&{lqy6LuVCjv>S3h?_hj%-26-S{`2= zY4YVx3|L{6h%=FxR-W0ctYYcwCG91F*U zaxwH~YC3F13maGk|0Sq@nTZrU=;eF4juZms+xwBZJEiCyS3AiZ`{1s`{=4J;?gM!n zzu({*aTW)2P5Z10@!ktgs3i2!jP8$Oq5bV|P6*pIhlL4UUy%yeF ziD#CyiI24MRn~IHcwh^VWD)TAf{$a#bM5iglDP7}oJ`5(qC2y=G#9Vcz8Q?cu)RXR zIp==+InnO&6KkrQ2*dkFLKPSb;m{ZL4`=Xc6kQ!nYvPj9{#pdKEy^h)<|+g`{yJtK z5B)9vFRn(%t{bRNyJg7;{REwhrwqGpzt$7i&E-j!R(Lr42{#jSB-7udCb+LANXc;GsSW7XTkHib*?zOab&kan7yw9N&rVl_VsIOMbyz-Z zr<`^b?I;6s|H85I1#@z3g*cBn`gd1qMG}P!d?*KQ^Ur~qXoDy&SLmZ8kkX~~33Xe)cPIr$IB(!A3zHY)-cmM8|_IA9# zJ9m)6QzhQP&~&#t6>=-h88x#gz^QQvO05sPw!>r&RIkxR@G#)G7WH~a?9-CI=7$kf z(sV>7D$eFy06Z$$gY~J!UlFD}lW}-#{KvkMif$%uer-Q25s7BZg#+6OQ9$4yecrGrAG7-WBx!D(EH~;mz zsG{+eB)Gu+Orh`Pv;2}c)kDoFsw#Dh*UP8s0AEKxyz|B5Iw%m{L?S#n)#(O zP%gpAZ|TPLX_&8q4tVU_X znDLrIF{ix0b-!yQC3#L+-fpF|LJ}K2kIF`zhB#l%r|v#F5Nv?Q1(#Y80;G z9jJ4WI0KOunniT3f``qG*H;hHhi=7jQDK5bIhJ=LyV#&hmY~=;WWiJ*^*n31Zhed$fQ7_8&P+4`PWG(?gS8J-a9>1%j9+i_ zbV_==6RV}X;$Wqe6QDQB7+ug1+ahn~oV_{cMPXyZ^3ltRKEI z=l?NQX9Avbw_kF5kX`h1%p1m6{^5jg_AQC(ef%Tm5PtARdeFiJ$QCS_(GP{yl4V~^ zZv^}^T%>6k>}IhbrB6Sr`k!$$AwlK22Aq$$JRk#~*^~TKgqaP4{4>-m=m=ChYaJg~ z8j#Ew)64y6>uzA_qFn~pXBlw1qTP{U?9hTqXzFo@ZL14vxlmz*@2|1MSk+^qsZXvE z%#^^VxMbkwVQ!tnDmQ8<7ZiV2iI=zU(ZV%jqw|2nD}nxJMyY*dw4fqbmc?2OX8$A4^sasgX+lM`(BW8+pvo_z8^oP`f6nOeQ5uo_ z&qS5~7E?Y>TN`t&E3A=y13zu@%CceL<|w$Rd9FA|+REQC6|x4gP*50hKFGO8k&0}z z6LXoken7IT|5ssqAn;kOhf{NoC+!0XDpr2!p@?y{MMIT z!ePL8s~>#&CsyDM7QsW{iJW2K+m%Ys#d^;qrzO*4{4a2pFK;-T3#V}})uX)fQ8u|dQnX8e9HCjQYFWq2;Fjpzd z99PJtqR2VwR~w4{>+*i&u2{(Pt9|){e*~omFbkIQT_Z2_#LE&DLqa22Tp`KdyDW@G zg>}Jw@>0W$aB?I#ik?NsJ#gbgnTIB$p+=YK%vhau`*Q=;l9*FXiH%^79k7=aM|7Ff zEgh$btu$JF1g~lx-9>K%p|uL(`n4-p9_8+}o5Y*l)FtQ^o13&L9zyn~W)US#+d9xo zErsT0Eq>QNEP86$QHSuV*165)udd5Vfv@wKkCuXWIP?TJ3BhzkH_vxM<-Q(4W{~rN zN1g%0Xa^eJW?L@zTtJshT(si`zJhjMjk@4D(!mF6RmN6Y0OKcgzz%f4y;R`B7xGze z>Mdq`8OS)+3sAIJ^3P^{a4HpWAjRx`c0qvtzT+AY=Vi7t(ifW%texiy4l#;+$Lm+` zq4T>suC^o*PafjcO+yoQ28fwfIISF-p#R*%!Gl6CT8;Ky>{ z!=GA&w>ixCr+tgLgk_0+0o9iCI?rs|=8WA_IzVkFwu{3u%ZX5ryzND4T*i_?>Y9Jc+xV-q4YV&pi z9F%dcxVz(nlJIFTOkQ950{WX|v6v2EV9_N}!==Kcw7Z5(*B_#GXC^$i|9zYIQ>)wi zgRdiw!590CubVa7I{!WNyzAaprzu!Rm%}sg{eO(oyK*`N0&hw3cjiA;bv?AY!7p9X z6@F_yfA+^n)%kbSD+!GSfs+Y)7y$$$`Hi4EU#a3(kVcIC;MeT;LwJtQmqCG&tACvU z)1qOi^=hn|mkg#?**{rbIw#x>{kKZ%#FY5Kut&?^e%5Xq&&Ec6V~7x?QizLtUH zH|x@xqHs1eV85tPS4lCpnEx%Yd4WA($)+CTL}m6$p}k_Gs+K_5vnNvgiM%NBy#vN> zDF#}-#R+vh|3sVI|G<&S=wIQP}sTC?`+Df0rn3@;=0hzI+UD8VCp=|mjKv}j ze%bx&j=c=eP;-@JWU5js6t9@%T9t0kk}S$@>KLu}Q)ptvrzvH(lCKP4!iz5Q2HE%FDJ#3 zlv@5KgAIqet-Ppf7}uX}34f>2a?-co@xH%KpKvJjP@%+QG|aok*bO)xChGDv#d8x+ zT7p!j_&;rCc{ ziHR~sCK~uTy!vevDV%Ew!cA8l6>6JkTGqrGs9OcjVA0NnFH~ILOok!5ID6rUr(2wEq=xs zgCMqAY2G4AJgF^paAiG*!?6SV*C7p3G+?X(y+NHoQi>=-_&3pvqUfk%Ys)UePX&Bs zJ`1UR|35{G7hx)V>8+hSQ-yTBK!+)`#*p=m0XdPFq(g&kQ1{PMbKhP_auBlY4BvHn2pZs6 zT`v7@58T)1)mK0(OQvQb33W$bz;R?ilqC=y1IU+A=l)fX>WKW!h}i+8>8_o5;~)Dx zt8qK_v3mDcDoSVX5m-u^WVM01Ro8lu*p;XeUV(&t zB`h&CUe;0>BU`#~iFWi!t4}4PTMVyI+WvDm-s@gdZ6cKpqHExn%@pS%MsHfSIL{&I+opYP!^sI^qa20NmUbJp0wOad3$(aQgqwalGR*zT+Y)bdeff<2Lt4Gh>|F+t z*|iUrXULa(HBJwoZi~M~$2En%hX2y)q2uc0{{Hn3OiYc52|w%jvE-;D%5#sI*LvK| za(t>i9bHeP`76;X@!#=+8mGShJ0U8+6fj2ThvwYR@bM0V6xTvp?)5F*e6uOUSWr>O z$9;x2ax|Y}N;1jsjIg%0b-#3C*CvcTH@Sbu<|m9Ip<`y(?)@S}Uz(~E^q*TJ#-5+d1h66_H80&{vmuU? zWh;=_xd$Uql-pCJ81AW&uyL++20JdtdGND`D_33TzOd6h?W@{rx2a|zsRAjUv&q5O zAqq2zY~13wQz&vG3?TjDB=wMRzS}2iZq8Ksb-(zfH^5yjAggpdG$b9r%y$Le4S^+%lh&mrD(fY5x5okO% zc08%t<+@!>ADg(bWD-D@w4(aLU3*j+48<(EQmfb0;tFvZF3U0Zz&q9dtwJa48oOLR z+Sp~xp^FVLy>i>;ZaebNN@)0zJ$^AO?CINDw*xtmIMHT&ObEe$67^fBaF;xZlu#O$ zs;A~!d|yH@kBLB_0Op6V%iI7=2^}lN_)s}5HbEMh#`KD9EDq^mgTrqZfoJ+O(sq}f zBpz=&9d)+JPK=#lUWC4B%3v&k$o9D-!3FoI=o%$W!85SGn7JU>ups2lP1Y_Ms&m1k zv7VIMHWoEa{A)GL-g5CxsB|?1!`VBi*bG-rTY`%Y5-0du>Ecx9n7omvN#a;U9uQmW z9GP8A5A>QpQTd6ryZ5huez-R$?;b5-=BZsR23{-&)XYC89OjM&?sEkciNVUHb3Nr8 zXnRy6|11u(U)*Fm`62OEPKd+(Zv(VuHA+6g(>{WFCI{>j;66;+3U01k1zX`f=KPmruSokJ=^>xD1 zHon_2dZQtTtHR60nJ*jN+Ri>8GJdfV*FgWO~v2c*rOMFF2;KWSecS zHZ;d2-L1{;ytu^$GWK({2=qA!&DaS;S+mUBISwXtg&IU-zN++0(RqC&F+K{AG5{?oQh>@PtmpXiZtO6T}G%FDpPF&wA z8JrG}5v?jb^zbN2=;)+#lX?q$@(f(oPB_!oRO5s<8jJhUju&*;;wsJH2l!O z%AjMJzxd?tbwotiO`f5?gl6$&f{_PoDki*o54}t-K#vViauFmD9nNE%u!_`@ayB+( zax<2VOD|$P7I&z4bsjG{9pI0=A+UYnfa~etLf(#D$Jms5w}SbVtbfQe`2-YJUy9|L zrFWaSrb%hv&)MA5=tNO6mr&-BJ;6GXYk~Yk+!S({RSdO6)z(UjEcrfz#=aHVFKT0X z<942M#{K8j4)WK#Zuh#{nr-z^I){n3Aw`jWu&@b=1*Mm zRk(Z%>qzy00WLrA$4lWY(Ot8xDt}F=Z9JF4PC287G~*Yn`o`0Nu@}^fw#3P7oa zUBvDq-oFtwI95N2wc5n8oAXG6S34KJa^6+x>wLlLaLGRO&{zpP-6*F|00`s~@crfRB-Jh#M-y*2VC5dYXaLe0EQZ{$IXTDX# z&qG5GhpW?nrzRExB!AV79G@57zC+h&7Nr!0Rtth@EWo(|T1QLzmrtiy4YFX-$XZ zr}$=Fx||%A7yOP*8678_z*po8UJXjxBJoy^@ld5A$C?RmE%^e8`&^j{I&S3NC}^cq zDSjJ}y7KIbpJw2!J4=dL(Y;H2D|sun5syf}E!H6h6#>T+1h?uS5t<7bsOnycsu3*H zxva-+z2$qE{%Qw9jvsEv0~`*Xs;Bym5@{x!na4ius1%Ig{)uq1AO&VkUSWpIe;k{(6C@kHkGjuVcuQ0 zD%B{G(FkEjN4ftP`&e%)GI?DIa^OaOOicnJDKCLay{`aU@rsp9c?nUO3Swj&NiRY~ zJY~b)cv>6j6fLX_rN^OgbbZ8;%2qKspKfv>9)4OejC29(k+2?T_>Dq1+_hu4m2_+A zdZ<-HveXvsk`=2|R@gx07s>AOmZDY%18|37%MH=`$Mhn0Wlb=Ip57XcCAfBs6OPpf z9cR%CC_V}{9dx0&y7V5GjU|txkduuh1UUe!*PW@;7P`=z)&i*VMYas2cdu&BJ9ZRO zB0jbm?tfg;IJGRZ^|y6K-|@_HzU`a6ZZ`rrG3;@~I>qknYj+*`EE&i?^Uz`flRTZM zHz5b7DQ>BMWU>^LV@sNHXkLqDj}m*xEJ<-zO?}Th90y<49DPn$a8IOSCO#!RQL?9Q z8Kz7TAfG>^ifx86palJedWv0Ss+Z|1RKBxDs%um4`19JgxQMZoZ?@r%;fAptK8Jk{ zD0e}(mG-o&t7)o*u1nOz zaD;E2M)>r=u^}ROqO7zM5{SK4<%r@(9aB-;P8RLeiqRsZ8&?wMk8BrF37_~uy0q4+ z&Ef9WRfa^_Ekaf5O50{aq|c8aXWV!k1@B8VGtKj}aK@tF^K&W&qrg;H-aWhoF}Upe z;Iug~Yw_FQ0Eu*n1PL-O>Z(ba0h^nFFY(X#6$g98kK!i6vqOsukB~xdVD3@*%u{fh zKj9>a&}O^o8sU8aJ)UeKNQ=6URmQ>HTObHupYx1>LfaP55!Z><{lcc1(_-o<7dXf0 z(g5lhPVF{2*%Mv&1;nAj+APujJHx_5V?@M}Z_^u3*j}n+a7Tm79P6j3_Y6;=-;_^; z*snf5qqX2D%*;%Lgu99KEpW8!*;E^wv3WE!6ODs2bQ15;$C3wHt=F1y(_N1u=31qb z!p~fjuJ;g8`NzG5ep2QKz^cIE38qIHHqa#R2YBI-%sWTf3iE|Oo z0!O~Ca5<~}K*yPnli~uOy*H*!ms-V^-cv7CuqLQbV^W5V(P+|=hGtLwBr84i8b zdwdXSwUAb>A6hmABhHQ2z4A8bFl(96FjXbl6}^)~HOT4<3%h`fB+ut-FM`NR^B*_g z*P2vpZfdKtPn{bpjV762T^+r{Q<)gr0LdPWM8ezMn7MM|#E6kH_+$xI;JB>bIj6<3 z5i(x~Zhf;g-(n~3+T zvSByUy=Erfb96Xv$~4w|of8?HIxe=ny;Sg|MoUGIJ2oZgqD?*0uWou;t3++ok*LPB zN)oK%b|<!778fmFr+?-AtfBd<(ih670o*Lx8JEn zcMltDpxU8eLFw-GjGyX*?f4l5c)PQ^Iyla#xIn4Iv>% zoo1F*p`b>Nj)FyYdFO~kGq1%bnnz!pmS`#`!P@lcGG-eD&^&|&r#`fku^ZC=WwEPe z$FCeCP+gA@W(ftF0%Ef9Rv>r@O1JqY#BYfb*H!i+H@|4V@bwyL5+Ud+Rlt-;2W=eB z6eO0mIR3>V%;IGD5W)b_-KJ01^+5*EQq6Kh28lsggYj*9g`=dSXLvde3X&iCE}T9W z1W>$*dw&morW?*DLlvJQYLEMfV6;IHV{}Z1I8}RBk>JNGGESY#KZFlX%h}h05<3j9~#{w3Ntj_k%gwd9Bpt*kDA6F6J-f=on-xa&H0KwagZUB zw+ng7-(`(SG#a|*FKNG!gymSFmSfxW%IFbH_>XD>=qAXkLz*t$O*QkDG|-Zr0Zit% z_vB?U;H<(p1e)^%7+=YlJxoUX89&q@DCW)`Q=Wx$A z_ajfBbxQu8i7R_`eE`0N_fSB5RSExx~6<;j#G*mI}eZ9eA@<;?MMPF?#ZzoQHYV|X*f4whV}Q21PvCHNL1yIdQp=peK z0cB=tH82|H>Rj(&z(isfQ&%V zD*>q8el}+9=kt`doVWP+T_0-g=d`m6rE+kCNBgV0x-~ST=NbXnL}}@x7XRm z_k1!=a!5|K5Xp~~S)|*2nrXCo$gQx<)6M;BgXBwRkWBWChmMD@oUOuo$tm zbeaB+%q|2HtIPU>(~WE>C?XiLhV{JH`p!wSY^iU+6gLpnv$!0DYlA~2T`d#$|?KE5TfBWpMZgl@Ew}20HT|O`P98e(10xLXiTnXMr!2r zLKwTO69Xw_uu2dyI#rHHb!NecZCNC>sD(wr;%sTu-t2X{hImT$&JblEp$HLHl@tY7 zQ3u)sVl4gqVhkw~1>r)&S;*nH@x_p1*{^eoCl8b!A4|6hb>`hjlgWLG&^bvy@8^Y1 z27zGN(SPrqQCFh9&__p8g^~XzvJXpnb~30gWLoTCfco~T6C(h`^=wirjZ?my34F%M z!ZdC~RhI<5*->H^^1~q?mv=rFdVT&(w|ctvlo2hCk)Y{fF%3CluMrE7*>Ho#=_&)> z0?*mGjS>cMTrw_QEQWd$ygTKg{#fVV@Rir9Yg&HS%72;bxyNiMA8iX?C1!hluy~Hk zL{wNgn6n|P&b)rO+%?qnO7dpCfV3%FuJ3`JI9ukz^IfN`TTzQkNS-xm}; zVKU6hGp8GIEi1p{Bbsd}@9*0~?@+_k;4}_TpSiK5(52B;EHlZkAr{O07FQKn4Z8Rq z??F46-iZZ%YZonNE5^qCqU(whAl z@L@Y7d{l4LiZHVAkt!mU8zR6CFp71_#m?u7tC~IyOpUCR(%E#iGvHsMAYZ~kkfxuTZ&YFo*~) z{Vkn!Kokv!ijDfgYmoVIq?OS~ri}Qpc7n)QOf9nurZLGFd5PIjVRO~JkFU@j(T#>{ zOfkzKR9PdwqP-5AqjV{(Bd_G~3)CYRLy~H%9fT1v6X)V@TGtcS5oJUTunA1x3rKixWycI!^IkgQK@!U_HW zB4az_Gwj?Bm#CV-rJ6lO)Uw8uNZ-`M7>1w{ZLe|&=_Bfh8f@^AbwEZ%NQXUXK#9uf zNf7~FN02=%#Znd6+zsNQ@TXH9^g39j-Kmru$NX1U@k=Bog_ zjO;-Q052loWG*^p6yZ%iATENe%^<4+knOTnSUeEf9W=fmY~STeO@fF?l9a?di|RW$ z-a0c>AvuUV))AzbCP~_sN~)(TnmmnG9|I}ZU2WJMMBYVlFWyP{$Wf5=8V9Sp1DM&; zThW#{2A@EBN*J4~b+x4H<0lLp)!KLQ1WCFn9pa*PaS*tw9VZZkNQezl#CWHdw7MJ5v1k-g=e^GiI{XUc;w|NJ{rHf zMa)yPPbB3jd4|nQIz|gj2f%ZYWtjhzLu`CDDeEK@BBS5gUikp~gO`?Itk+*;fVcv; z=+0b}yY*MRqQ3(=4m9)@Px=WQcHJMRSG$QnwvWIX69NR~=3$%v*o*VjtMmpQUGVfv zVhpXP+2afCZN=kSOG$v?>u?3*z1oLfz?$;q<^7@h3NR3D4%<2Y`mAnN+jr6J!-boT zXRjI@&xW5T#}P{Ajj-h<@glVvWyec=GXk&E>j=2BG;sIl%e(!GZgA9GYD_KhCm}}! zc~;{t%Gl@fCB#t_T`k+!TNt~K7>Ay@2y?R#JolVV{My$Ok)Eh?jVA@Ut#{N7FZp4W zAHVYq_A##;Mr1w$vrIdpgOu^a=6CRG4Y!^6PCpKPc?k8B?j4;&Ny6;9zp`q-CD#Wg zLchvHIH$@h5fWFvdZ88_x1J+R2DRw7cCGqsE0$KYW5dN*5~tlTGCbU_cmL(t4Yswk z`OT7Z^>%M8yl9ypyDkD`H+T!p(U-4u=CR5%*je7)H7p@Kjr2!voU)XL3Mz-LnpW-` zYIVpr)!5u2oE^b$7@#zP``*mRD?!;7H1QJVeQzUmBO|Irj$ui#L9%kk+22xwoBC>@ zm$^p3E|x(iKs`L6cIRpprV(Pex1MnIb+eZcwQ9go`PxDao1EXv_jXNlj8+ml_SsrH zg{1foVC0d3DpykHats$dh!O*1#>Q%`he=sp`?_7@Ma8pqqq^YIvj7! zM3N;eZ)ymz#%*O^KhRGx)(@5M*AB)ldoW(DfMMPz!ig@OOF-iQo_XnE79coLgAZVQAzsTJGj+b16#?@n!U-># zHVW^{8chqunq_^5&n7O4?&%DU0)phC5+cVal>(v*JJ8lixvEcJACtz8fF&^nonYKa zsg+V5wLii~6*Ep0uTO&}sVgc3ej+EalSX;Vj;9u5G5Q0VFqf!#KuuH4Q}s@|DX4kdZc*Wt z^zB*`&T-lS15B6}Hd!CM?l-?G=G&x)0J^bt372-WED*LTWsi1wyc~i*0*d_|HKT9$ zy|%B$TuU)}zvLc{ZCX4+XzaVWpps=rsALg{zY+*knx~4VgwQUQgo!2K5($>tL57Rh zmsdV3N{rb=5yc?uTzr#zK-IxHohVYlEXT>nQYlOdF-#kmLJ2u;uc~x8gKag8uq6;+ z9IKD?b_rhC+Q1SkTmkcLPXX!U0*zLl zj*YC-Z^2l$2ZI1R-fNjP6Q0!&)tF>7>~MCg0qlW0I0J=w32$@z3v~Rt5*k z?txXrFXSUi?-(}MV5XnHN}}Fwr5Y&e9(m&sJqEVb`VqcQ4|JSrcg=3uunrcA-M3&H zw~;7COWb3=6V^9I8X)r~iOCnt7YocOZ`&ox$QQ}`UDr63D5+*=WF;n}A!uXEtMq80 zB93crt(*@9(x9*MgDp`VwFd2O9x%L4h`whK zL+fD18tZPvWS3P;s`8xo(pd}6dH}jsbp`}`nXMTUAx6Wsk>h&O7LLdgy7FHMsqwg< zRZPR~E|ZMjGP)qNW&ODI&;m^HlkRVKZW1i=*+RI#FxH}d+y=Zay*9OR+fQV3hnAP> zk3J%xR8G)X+_lH4tfL`)?uYZ}ml%eyE0mB>iVl3GAPq(PK|!%OM%a0-@6cQAX6;SD zG`l)+t}f5JO70(fpOZp~xXFbG&A1RfiJgmu^VfnT*i}RN$ zOs!`ub87ZPw5>BDtXh33wF({axyA3nBt!`eb(Linsmb1`;2M_4nPFn-jV5~vPwZQw zF2~qk(f3h(vO6KdqFT&A_Q>DC-7Ca3OrnK?hXKzrfW>=j=CON;-5LtEIG!SVy*R@B zp}&>2C?AW%a8=-w2`f5eV{x!IS^-lLkiYa%*+&9l3Uux~S%aC*{7S!k!U^~7(5Ay=HD$^eYm z`p7*Y%xAv-ZreXbl?0sOEtI)*#QJ?PUaV8fHoP80jt7DATaf_ScjHiL5N2dF1%jla z*(lw59BL*o?Tp#4(>0LW*T6phF!cqUd;N?vU~IWoCyQBJ_aW0Xx==6$yU64qZQ7`} z7?yL?C1aK1?6h(>qgzxyLVC_XLan>}*c7Q7J79vs8;z~AV(V^FTfWzr@n#qSckDXxkiE*PKYHzBa3&gksQ1xl4;> z$NFRLc0f4+-Wi<6JQJgH+UAb!{pr-akAxo0E_j9s0&Hi9xZE`K+8|bt>Fvdy@%yxDz6ghkleL!km2{?^yg&cRy>)1A&l8-+~Wum^t zu&xKLyIcA4b{@LuyLG%l!9g@<+C;ba zp??EXSrdG3M)fJ1rJ^o58j(yc()s%)oAzr>j4LemFw-aFINLlp=?QjBI0NNDsHW4j zXDW(OUFBJ1g{fNG3@ zB0Zfpwg_0f7pG;PkLa-CdER(6i%%8=GsSfCBEOy5r4Y3A1UF2}m1f=KXq8Fs4{btr z-jH$7A3eu@D`N(e8Qam*ig2pxA=1 zH}(}asmF%tC1S87<%&zBt&P)Nl1(}zE_Lk)va61T85qt(TzIonA<@SD%&u9fQyNdPQ>XRQ0@hl zX64`Rl*@q@hp8dv*+u>ft;xZVR=7RMwgp7=JFDGmLCaM|VT)LdE@_F4#zLBRR zvU1q}!?b)NmcDKY6K4M+n`Y7l_n>GK_`50WUhjQwd?2)AUc~?;K48J+ee8}bIjzSs zI!s!AGgvg5l@=Dad5YdnJ#4SWoXI$>Zt4DB>k&~mPQ8FjYxC>2I@H6Pyjd%EZh+Fc zzvldrhXO`&EABEmO^H>q^0J#!VD}$39*`C{z^rR``(>NiMLOf?cr|U-MPu1yISq?z zYTsIJSJjGSN?6TE7HsxhXgegGQFi{;P-rKE*8s1;t;`K^!!!>5Lu=V6vuq-RGlI98k`iy?kH?9wv99pcdy)(>1`6Q|ctl=#0l*{zu znzY0;(^tyQ9jgqkSi?@4wW<#oMH&;LbVNPOiK~rGmLduk&K;@Qu%raHb+?Br( zZ-7_%yVF2DFoOCJS_L|v3vjV=Liu9pGlp{SDR`ZVc`!(;yh~%ALire!xpJBVk&~82 z-xX5{A0Wc&wxkT7DBpx6Q}Qw0luyk$rzSGbw0ws&X%_jzyWW`@tU9`jVyo3bDD^-M zikWHZ{dNaeg#5Yu#npMWJ#i#Ey_#tjJgN<^d_{AE0%?@Cs{CQQnMJS`EW&Gps<0B} zrl8>kb?m&ounhl_fCcYRi!eZEoLL8W7OFb}_*hnF{_f_!sA+Ri`qPpI6E#`ELs$uv z5$=$4f21vKoU*C@M8lDRn%=Gpj`fX%KmX^;I}d5T?=C;oPh-0Ew`Q4L`jypnb{}dD?x8CKxo$6RjY42xx?S6=)Baj2!(jL!LIUqMh}jK$YvqqnG64zL=vFy$J0$?F z!4{L&eH{S9I<;8w^31l4Mbr1jk;Y@L4a+#0Yqwz2<5(kuML!!E2mYeagau742pyBw z5sLeGe1y4pthoZ$qcj@c13j($%h*(eqTr)sUhLzIXIzZTK-LR9+DAQ^&7iB7QG1ah z?Mk@e=n2VPiwn2iYwGw&G^I`YvdV`%xd;+2Q&Ry zXN1T84)?dB$qTzQvIr`7+7AyOjsti;J^<+l(6L_G_IRtm1@uOj3Bcl+Gk3ZHu7j06 z?(|9m^@ldc`Le|*y8u(KDx2Yll}GLDW{#;)>5Nl--Bb==*3gk@wwZ+wu#Pg<;SI%8 zHYhXsm-;K+H@R3*hvCDA7rEs}y*Q9QEAGQ3o&c#4A%Z+jt>HDH%(6Krgx6;u*){9(p!x_SNpJ2KPw?%T#v)M2$R&nIlWpIJo3Ye!EBWCvK zI5!tYG`qN+CK$xSO3FQ~7{Y6d$p76Hpub0&8L$v*;juJz-7=%c`67Iujk9`k)xK`V zkJy5(9B?6-LHlm-^Nd$NKZ7;sG)(VFeR9oSW`9rm&q+PE6 z`<<%C%X0EBt=r{8mELo`0A3kc%hcKB zZHs=2>f@!~-ql|=htVhqanDy@p5FPZwkxCP6!};IbdRE1TZoEd7AUrX&xRz25BQpWBZSU>;T|71wsZT z7i%Lz230wIQzHX=LIy<#efythBrNodffrOv41t9i0RT2a25}=3g=6d!mCbILeq$v77_2Eu&N4XXtW;+U%)X zr0UU@@@i8wVr$K?tLJCX1!`hr4Tld%N2MoUdr*H`4=rhz5NK_qd-ZA3weuVFy+YBu z_fGr7lzg?$0+bgb4X50(hU99dsYYY&=Z`D5R@<3a**I^$OW<4H_4PyJR!HHz$P&l_QqWHcQxk=J`VlGqjc zKxoUq4(41H^R8g6^OuHRDPNetJuwh|N)O)y2H4oGiw*J9paTfLsF~z8-=r(XKh&%? z_&oQj4&&|~XepLqx=L_&u9TnD?pOthE3j~<1IzAus|~^M+D1u=;LCwTf`8F2!$arn zD7Z+TNkeJvH$GG%BR@lZ_>l-3SlyA+@x_*x>LQ5jQKO+I9apt~oSB$jzlx(F&2=r% z|3H!t65l4-GWB*;yIyk=A)otBj{1Y-iT-h2^U*M+?dzKnQQ7GTRiA-R$>Lz$#)L!R zE)#M-skN&#Zwj#K^pyv)WE3dHBtq8JDNquSO>%wLfLZ!+owP>$YR0muox@WiM!HfQ z;ttcb$^?xnp|qT8se1$oR% z`SWm82UJ%q+#Tz>#&dkLPUvpUXuqywRsUA&>Qhpdz$g*tUV}wGQn_eG{mf0)lDO_3S6OdE(` z+>|71U~w@YRjm7Kld{d@63*sRw*wm^tcN!Z>waRO-z4$?y z?Qn0mt-7u@p()1!zVes^G7>t+4u0ORnzM0YlD(q8495jyaU45a6y!gLDrJ>?WWso^ zwbCgJzz>T;Uc^g-k%dHrS@cNoZP88bOxYQMKVPH1qyE9hPt;Cw?Vl-^b@&_9*-!CtoI^jJkG$W{ zyw)fiL0t9n-TCxHkd^7K{1=e*fM{0&)b9KTL#0GCHXLV|jBMuvnxaZG_w z>vth`mcPI?)<1CVU#*tXl{zC*0dLywX|$vl zafRPI2Q?a8(j8x)@31`MY$hfWsl>aejropj8yi>q#6@^vR8Jje#dPI6x&=uuM%;!f zyS=GUgXSfM@q?^joL^EyR6d>DT+b(Wn|RR-d{1%B`>b zM(H^AK{8hR>aM;s3bPBrf%IiEN6^iNVtW>?O(=aVbyRic>f}Mue-9Zz#TbUu)S@96 zn^L`BaqAJlw>d;QkKwA2CwQxq~9hdMlP$b%u(XL%6MZwt9Qd8M-gwZ=IGn% zQ+bHp_Vn5kpJl;isg=BS6j_as%|Dey@rbCw4U?R8^KNQV{mP$~Nr0aWooIu$mEL@y~rdh6WgEC#{75E_J;@H-OuIzJ3ZT% zCHl){pl?9I$j-{a*1*V)ke%(1GeTCt^}VG%@WhL}0*lBP8Jg$`S~`VYH;D4>`UnXI|%ewxTcj9LyFL(0dhInUdWuRzePY6_scfz7TKZKF9Jt6Rae{(Dl zz7!L(Vm$z!@o-XtwD~z@8&PR2gk1) z|CdS?%P7|kc;oN%93nO;D2+nV&Jj`bNp+4|M4wO^4KFH0>F$|qG(z#af}gsPwR_d^ z^7T=553+{R!$(^*_2QGu2n_dZ_eGOZ$MLoKGEY49z>+edDb9~FP~Spgf!o0^sT!N5 zxozZXj2@L>V5beJ`_4ci@}_)%JD04JPoVwGn7xv9aG$dOS!V-nK78}IA9(;0+mOnt zd&t}qN61Nt{Bwz~m2Yce_IaOisEBsqso$kfld$TLnmR4%@;LuSk@34@g#{n;w`5Uv z6O@ct4iP65j$PjwKZlprv3t|KGCPb5PYOs~XXG_}X58br*ryB(<;1;7Au?igHKJy8 ziO)S4Oc#DD7kH2mF784Ar?KhF1Hq>vZfy|p)pUvaJ4W;SGV-z=zhn(=DjKC2)Fx^* z%bskMBh`b+FDX47(tRl{qD@1ruko9!q&oGM9KKXnet2XKTZ?}o=N!K*$G-_W$1lwNQ_z3P(0?fCKP&lP6Lbzj zj-MLvBIqmtLXH<_-cNP-o1k<4eLsH*I_Iyx{VPE)dp~434M1JGr=cJ9vzh!FjMpdO zETq?6J}FL%`5sM+5UuFqnJglG&c$9=(*HwrFv0BhvfYu*(N4%wVXxe7d%o=K#Xh&k z=S(H7Wt!%8iXUFrvxw+RH)UFKhvTsd-=pfxYnl?&>*^ce)9(VaoPv&I8PJGg>H^BG zcDsGPJL2|EO{d!zU^+JD?O6k`-4NI>;=k5}Dam}IXn}*SC7s;8eQ*)|9(k~|xVm+P z<&o2Ed}p6UvsHZrWy)hKQ?^&{k_pBWX_18pvRIAex^X5T`ZRwrIqA0$)`+*)jfiLv z-yX@BKjv)~HbLUS2xGcKNLH$lrl#zQyS^e#K>gKf@;YRh31NwkGzFvlUKX zn@VtA_Uf5Fm`p`n-9hq-XkP+lJ)3e&(hN&%rp=t2<%VfaQ_#|ue!CepqrNFu9t0+G z5o1PGg`74Bp$@)oOH7_Hz%c{x`7>h_SQ>)aR9ibmE)e(!mElH&F zEv}DsDAU@6=h|kB!fEYEtWJ6oH zvy^CcQj{}%C^EvlTdD_QeYOT9OloC>S5lM?J)94nRfB(9MUiQKzvFf#n%Xu&Ld12?ocax zPcqgymGQ8=@$Gs+a9AyEqCv)EKjh97xud4hC!{KIkK#;SNT{VUA)%zXH=wqt-+QA+ zua10ivdc!i8i~}C?ymygCU$x$?Q5A<+kty8yB{*%s|2gMFLmfV%2zQ>sYHkbKi?$V z30k(r`&!IaeZbSna^f9ognh8%XS}&V#NAO9uqf!@y7p15TtyX#gek9QNfJIeqlSeS zJ)FUMblX*z9)7Bx?3l5_MPTs%XN3Ey(J!#V`8U@-=gYMB8*2V7gyZ}*x&Mi9Kf&Wa zM7W=o{BHLDbSh_IA>{lU!m$x@{(*2WaK}W*`3E2aXaB#!9V6f`@D3R8_z8^vGPsbZ zEMo-(yw-aa9znhI=G3ndhoq?rl2TN0ih1I=uL?r&qe5ygo~6R@xKm{k#;BnwA|82| zkK0ZYEKQ^!@r(98Q7ex}R$K(PD|+5i?jA+wdf^|VhaNqCD<+?sCe52Pq)WA+XCezP zvycc}eq$fHb97NhDqQ`3Y6)D+-f$QYE}zQ99M5FPvX4)B%oToK*ita|H8U@l^>ouk zl8yOmq(YkCsR*V{e(r;CwdC$=2X^}z&}+H{g_$Tw&LY&^-eD7hu9nnPA}jCNYEYNm z9q%ZDA+8!0Z?>p8AIGQ`EATKXHv$9Qu|ck{g%TLKGsLfwxCb-l(`;itq1pfv$(haL zh|4uDHwdo#T7f_qciHlo-)sZQr7?Hs?@yM&)4S$guLd zz;;CxIWKTnWJt+98nGED*D@;X4nH_4-#L9^B`?XOSDm8Gep`vBKHn0_`_xXF78k}I zE&Yyze(9nWjp{STjmccuy?xmC5S6(gY7qscm^6q}4Vw?=i;`&Bb?dANYSXPe*I3f( zJ}A6N?0P(Q+tRrP+&anj=!Z@TOd|Ql-+eAcf;iJUZ;Wm{aeCih?2-rLRuF>X4u<|9 zDl1LEuYPugzH9H61?PSxf5*RmcXxLUk34L>qOj_>1nvv}oLG#dCRErd*;m?% z$dW@u82ni-!r#r|hzXqzwmzhO=!QUAc<3CRj?K`LbvM;L-W*k_&Sfm#I}uJRDB}ji z;d5C~))pO3O{L&L8(5Mi?U!0(t+>}_kBDCM#UgQ?<^d%I+m3c9r`@b#pN$4}#Rz=y zw^8_Q=+RidNaO~2>5HQG`qx%UoQ^dS6q9I`_=_McCVwHu*h29=SdppI5(afD(e&xS zEDbZ)(vMz}X-srfu~#CG=1LH)&M-Q^qJT9iCi`bB`9oV?G?<YRzfWiTcSpLL~7n_L{xGn+wxrX?A6#0v=C?n$^>xh4iB5_iYsQ^^} z>nF4ZZ^j6$li0os-WaZ?yC&o1^G_{$A}&La@h2Ruh(2Hr@q1q96%ABFFNQ&F+q)ssL9kHP9B3i^_P z!}BFKq-v1~?Sb~H9>{jSg=Y9SG|y~EfO8`fBL4ffMLJtnYH^Jy!+>}9qXqyM* za+Xp~XkJTFa}9G&=oz7CO9%?dH6fS2&)3HksUh8nnC)GOpiQlm7Kpvh0C?F{MK$`9 zsEuV9wMZTrLS}pnpS~G;WpL0z*?0IRHzK`ev@>cmJA&Z|r4S`!Az4fkDP%0hC_D9U zZKs2O#6jlOyQ8q^XGv=?MPF^`vx!<1FOqoA6uV*Te(n_YXz~}EBlaOt$ z2p{}%n1&+OjhHw#mxIn`v{7)s#pgMg(YPV4C1~&0mu%S}#`?Un0vF_>k(GL1P@4N= z@!V-God*re<5;TJlnF83=Q)`RqdMn_-4n|p8HMNiO3P-A}IwHX#@%JFjf<&Y8Z+Z*+=y8gEe z21dr0*%qkKe_9NTfL}B8f3o`jqniIM6=!84WMupaJwH{P1^DZ)37B)8hV3gbh4X35!lfNqDlt|F6mo>cpXWLNj?qLr& z7PzEWRMbLhnE33Yivx%`;}QLSRgW%vCI1A?!}Rp31g*TD{nN5RN`PVQlJ?sLQfMk;=rnQ>ap zy+4Cg`>|8t;n8-*icb5)8V&uc7Kr5XbAuvUi_DMbC%HQ#h`5{CmEd)PiY2JYSN2M9 zLM)Q?S}P{aY=X{NA4~VXdjj~TFL@lGQ#01OR7lES4Lz;Eu@HyZn7iplL|z0JLsD22 z4W9idrYtaBcVaF0Y@(M!Evwp`S!_O%Y+bKBVXc6@g|f;0?kQ@x+)1hZc(xf)%(8srJORl*OF861yKr!t zM=)SY!HE(JIc{3$L-!bd;LD0Pwe?)Zp=1tPQd{PsCWqYf*RJ9wGK#q~lpd+_yavJ# zAh2t0f|->}qWsE3=Ifzh%$ppa=_s^~rCR-mNakAmn&2CYh zb)yv)TIWq_JVUg*maXF{0xy+PbZnh+BHa({M{{n=`3yr6I#V{jZWAaqGsebmr?Zlx zfyqYcebkWBAVRILUGOW4<37wvp8@KcZ8Te!ld^X`uS5T zUsRC|!1^Z;GyRSg{QE%6^pDOd#-B>?pX%q&YJMZbU+O2rPxcouZu;|E=-0Qz|DS*M zMLYlAKg$NxTjoEkE}#ttjDavR|3VkwFCcg`|FRo_zkuM){Htd`YmEbzk?C(Gfwmj- zAJflE{l95yFGD6_0j!1T55M$3Aj97y-*3=o`h73|7T=AT8OT!m#dqUmXN3I=UfbU} zs)5^l{V_wnu-||lY6c+R&A`ao-a*eC$f%Rivoj-PWcf9T{v#a@_TQkx9kd0y;m#&k z+!7qNxgCea7;hb^x`<}8biTh>UaAr%wkKf(A*33p7Peza@U5l{jpztP)o>;2;a?Gtf1OG-T38@YJrrS=bl+S^>O{;9%WuJSSyL^ZrnGp29 zpZ|`)e@EcIBkBYpdipF|SSR}SwIRFz4MW<`pW zaNbvj>Xpv@o zGaJ-xHlN2!O7JY0=~8c3R@9a@{;1X{rn&)U^r1mx>1c1?8am<#!j(iMg?=r0*}q%@ zVm|T3G<0Z3W34O(1SaZ#el#;6+_3@#yVE`NuKD$7-q)d*oR@P$Ph1sCQg178hI-@~ zi70urE76hF(j`)(vAkuLcbZoj^@Zm^rT+22YCI7;5G`}Eq#5JM{1G*7=)7cIEB1f3 z0Blf`4dQFUkBVF<9B85zf<8)mHR zEFHKt8!O`?m;;8(qJ~Q39p-(#{&{doE7M?Zj?BWaq{>eClgFN_w{&2lbB4Gfa3{-b z?3N~0#xPDog7Zs?g{JdzTB{uJ7LShC31**ZBP_9LjrNCb7gpP%|LJC?@RjiO=5kk_KJ-LG{fc4WVAGpuz!Z+`LeHQnI z_{YzxEs3=a1Dl4SYBSPDn4}U{w|YxIJW%^ExlG!o?Ja6b6f!5#`;P8!kG;#0Z!D?RTAo|ffYprBJLFN7V$6hww=4V#Etl^a2;HKd8gGRS>H?btaEx#Hq=ED zB1P+Dwy%rJa_}|YDDxvKS2Pw?4IGgaG)Jb%M#|vLN}9)@XCx0rAS<#zuD5mH)Q$ji zBc^DP@;`J*o#LG9`~@_qmP7Ec2BeUT@*cxeBbLsu6ywdV&5NTNBM(6e*eq4hGG55f z;?XuOAf&r;b6+@Ge!P#Kx*t4B3YeXl7MWzlwKCU2BomvWKkd+PQ{ZG^dpq+erC$Ev zqVpG`VNC>jX@h38>702Ft04yFJUmBkvfA^FxAXl{hW%1En$wu!Zupb$Sa0l@W5F^m z<~+ADpMp)5gv?@%%@R_T!`xkKGygY+cMeU|RStF%?PEI5m!(AiZ2S2biFM2xK4P>@ zZaW09#v6FWR!kNu^=L-??47kOW&ZSx&2<ekBb2!?`X+or9Wb!5x`} zRs?Omb_~X=k3|^Dc0oor4kro!D7rvl27w5BD2ClY$#q^%7rVabskg)qQZzvMVB%ZM zQ0d^Fl;(6j(nt`V=1R=kNR**oV}>{wpt?6(^#9TIRRK|d(bj?>CnyRn^7L1LJNd2nKf>HVOdA0>M)T~G4t|%m9GTwQOV8vS zBPZJg-aH>MUL-@Wg?}=Y->5=~n~I%V&eZ1`!G5gWmWB1u1Pcqrk7BR#CGMjJ2fDPGh z<&2CI-3`|738=JZrO&x}ob+dQq-A)g?Wh7-;X8R9>c*!rdyHr6l~xDW!t46dCOb4m zWnlJkd#M^&W?w6%NQS%YC&Z*l|G#PmO$3HDAxUwV@0GQ_NpC^4`uWP>*ym@EZj+eP zmDeyqz*+j_A_L=8RdL;zLg-Jq+zjgqf*~Q4t#f><{PUie43Q+0BmI3GW|cQ1O4w;Dmg`@gpIlo+=mMj2 zH8_TLH0)I29lZaFGol#i;yn=#W0}uavWmFU@egdiM48ck7F~ygyKwJQ3LGN4K3Hft z*l6T%#+OxBfxz!ldn~JJi|b5a2!pfJRuP{P2OrW#Lur?wHfXWM(X@4NL;N;hN$R)f z*R=oe$~DA-F!|&|{9~O^ds>5eiEfc?h>+q>Uv`o6(LGya zS>{2RgfE?*!`ikTn|gt0JnsIs-An_j-D5q~^e$$_WZFz+qR)FcMsUfI;f|Gg(^>7) z{LeYvcpt7eTQ|jenF~+%BOc_1MQ27s=cZ&+DL#sDJjpUQIes@*@yW-s{4AE=8m33H zZzg@{g#=NBOD5@Ors}=i*)loVELsbR_7z9bZrNzVltYuU@-&27Hj(*MTMDhUcQWS2 zL_)^y(-86s0QFB)(TD1;;!=|UA^|FO$5O6IJ#&`?wcCHCPcC{xTfIUhgAS;&Sw#Q* zo?v4^c>1{NLFYt%Uw<{n`WZ;Vo9?j>j~XmE-oEA;bs-a&vcKe$Jl%|8{^&1}Dpc^` zXxU2cRpCaQEM~-yH@kF2#R@raVzg@aaA^+=L*z%4^B=BCTkNWy zvS?nc;WCzSi~!K!Prq@HcW=S%d&dLf=HRKZ764=O-_PX{1xT8iC&h0oPnm2*bcp*W zv&R*3KkDS64m0P|yO$7SvO6(>i%MQZ)jS+nO{5K!x;>cS7#wq3y~Tsr2VcN2l|XYA zx-_!g`NGU#n$wURlaGy;q|&bk6w0!9mTRK8+kZ=!WDQP0b#tLQp{1-(N^=>7KQ~W% zl@0%;7Q6l|6!=75efgu%p@h5FT%7X%uDzZDDaq{iHZrt@>xSwQ^pu>FRzXI8?EzsZY>RRBw6zk*?Jri)AH#+uT4$|d4a^SpAC(GdZn*MEA) zfIxJU#9g&t>i_um6{Dd;jA~1yz>qQV6ndvd<@*82{j9XRozbn032`!r*ZYq;dOT=4 ztztu~q*a zww5F^g!kq3mZv*W#?D%lX5SC{S}?nYaoLjrN#gGEmSS@4q%kY(){vJzoa7@ddHFA8PB7}XIk|pOHtY1IU zPm86;l%{W&&ksmtbhoIZ5_USc9-Jh{ixm4gB-h5CY&1-%8|DAzW376h{=Wm0^at@7 zE){Zf-Ko`Jb=&&}IC6B0ySjR7!o&fee0qmYU8i43)!ahItWX1xn#g6Z7g9!>!ro!; zjY%c%(TwQloz}wkwxPSQ%-b)$c0B5uPE8eT!ofC166-%<@2LY#yfR=1UHHCgqWwo4 z{!Q>TH$CTZ5A`rpW^=k!mD&kKQH&t$38RIWn4>GO%HO1h!!&+~+RN_f@qyGyiM1r`6)! zLr8R&H!VMNXPb0J6Sto`M*r($P@t`}92h#S{{5+wN-UWCXJk!1x)12p@Qka2!UcXl zy$bBVmHug}!=oJ9<>YvvS%8q`?NWNb;I(}#Q#34vOL1IEOiJ6`gZ-1@xW0XD0(8h4 zrO)71&23Xkchuh+zq23$@SFsV6lV`SeXOJ5%}-T4+Dwcy^{nh+nEKx4OlxSWnT%~T z(zvEo$FraG8DN&a-KbC#6SrpOUbACvF^`IgvO{F(yprY7-lFQoLG{LAQGzpZ1;dqC z)hy^Wq+ZyK1n(F#so=VwhBm(4>3fn@t=*AgF>CLQn}^kPq=P7$mv`lI6Ut`+9mp|VUmna{ zht1)#o#9)7%o`{7ma+b~fV=M*Uhn)JHx3U20Vqgn$8(Jw;4z*Da28$d8eR;{%rrL%rS@@dRoly?f3o5yNMHQozwM;?|839<;Qru-D6J z>ctPvw5~~rR)Dnk^9Tsmo_=D|#-?qez^_~V-nqAHMvTcCL4ZBfd zrf^`dU(g-3)lW=tL$)iCp7Crh^-^T|m*DSBL)7Co$qv^mF9f*&{3Tbpm`hhX;oSJHsX6XM8j7PE4e2ea%WL zRMu@eF^~;_yl8D-~#y2rWr1j0Q z`wIR%J~;w_$XETFARlg;&2x=O@;eNwLC|Nmf7O)t8S(v5F`&elwJsdc=hV*z{MhQ6 z_f1UOIX6_=K=%3VSF z$5V-he*3GYe(5I!%1Y3EsuNrI=}^_BX2Yl$AFB>8nj+o3(6y~8lJz7ljB;giXbqFt zs?0OhkGhHN!5N_u92g@5uvuOXtvrz=(%~4X-wUrwPh)E4bv!4A&paP9ePs@m=JyyZ zW(UV;P2zx*K#fe*#X1*HQX8L3c5D*Z^+qJ{Q>=)O2^;T$s!T3#Q>MN2Skz?0XB0% zNW5W)kb=B$0=dtxVs|^9*U)-FKux(sxEXRK_)_yF7-4wIuPK>o4(~Ve@oJ|1QVfK6 zV2!!SzU0_i|8`x)6ieM-sW=}e znFDt49^rOQcgW_4T=>FbSSgG)T$eS_b6O)u1|6c?7k_;a{qlKZFE@)3vJ&I6)8vs5 zY2ECfv$B@nGs4^Vu1y<*lQY&81}F2be_@%249o0^Q{IcD4?@6w0mFeFkfyN{;ANBzMVR;!pxpx5|OI>pYRqAF`f*O^G-|-Zcn*4xFLxLu`!?MdI z;%27fjLTj`5Ry(p$(B>q4k!O=Zu<#^bM8E^)U8gii=?A;tWsorB1R?XYdV}E{z1=x z?86|jCqT{DQzWp7?13=_lz;qinKe*i*Ei(nRq#Vt=ve!%Ptk2d+hj&cZj`|jUW*h8 zDei=t%!Fv_TTep8-NXp~_J@HOquaMCPSuQ&Rv61m=h4>4cwfA9<3A9R*}g?oh)4Fj zB!^0Fn~WXW!yU5VxXJ00RI9;j_T&J(1Fq_y{4p8Ir{#ywtDZhMqPC;Ai=magnbDfy zRnN|_)0>qEp_reZ0Ktk`1!Fgm+ywZq)RS{#ai3q*`akHL6$;uvnhRn;BeORRr=YuS z(20Oj{$F)Xra9u<4XPP#Uwb*pjDtfoD>>D%yN`?*>)7Kx3d;RAvL`w%3K>~$ZS8wz zZM={i_}fi556%XSpq?opxF{xO!yF2pD4X-PzDC{9rlZz7i9%90_F~ue6GRWXd-gsu zofTO^5T9um8cn}fKk0xPYMLMm7=?|I#l}{y?gnpwv}3x>JV^ZB%Q(&!_Ov2tEDwn( z6VGYDbhSdCqpN!|Nnia$DoS$RtdRD0JHVIiLJ*@8;>3f{z5Vf90+puog(*HN~JuCb#uSA?YJC2S+)EenZ z+8farU6(#G4ln}SsP1LKNHFcpx(r{?8NnZp`B-{FQT3qVI?b8Wu`b%U%mt#e?hys@ z6c+h`wdJD0{EL2M?I-4of6>tcv0ojKWe!NQI-Wg9e|W!pEcu;TL2Ku>RdqadUby&s z5q-@Wy{6X23a*&S?TZ4-meS%;(sv)G#fgMPzEDY$LR@nbo_0G^SDv!2I~AjBMMBH= zqt*GyhiWB`O7(&Zn9vV{)hat~Jn-M9u0|RaPFrulBnWne8vWx2TirK3tc|zHF`B=L zot_vL3C>;~c@ug{KcoQB&`glCuPBQvmbN}`rRZz{L@qx$Z7#LUTNl^$f9BIp34ZQ$ zAe^&}+V3HN!;go?I=0JlW&s6XMtC&ey#rey!%AtfGE754D}Y=OxxkEoN&a?dP|Cv-074_L2}YBpgu9=Q(?aq9pTGA9bs1@}rWU!oh~+Xt{b z+#X%UAU25(Oo=ysz^LmobzIlad>tM~8+&R#i!x2ym6-nA4mFwp$-E#QDE$`F>tc*l zM;nj+;OW9cCM5%}1BD5Cb@2Z#1%C2~GLn9-3ReitO)UtU_Og+%ZC19`qdBcO4Po-? z+t4o21@cVIPgV0JO*b)K47bw;&oq3=Cje}$9GPAN?0i#20-7iuIBx*`)87@Hf!W&| zdZ@OYC~m-+v(xVh1X)bsC%o}?v(Z4kko;V+ra-ivzPHKGXBy0L#-p1Y8w!}5huWbD z&za(PL?&K{k6f@G4V3=Sbs^B~?L(Qfz{!XDlu$C+^y5_Eh-f?pJLy@7Zgcde4<1eI z;g0;6>-6WK-If>`6fn4bb93gVx_T2oR(35a>3L>J9jI|vOvGkcLsd%^)x4??eYywWD}xSC{>qt6zf`;M(bPr;#7*= z9jjs9Wz=OgO`JgR+#@%k$4ir7==FDAyqh`BZk@i*K`%6kGeT{EoZy&0^Plj%CM{-j zwxE_^ty$tvW5&5^A7m)LRF+pc$!#{d20BC-+BVYt30&cqJiDcXqFiYjZzh@8Z3jUc zj#%~TgtM0f1`NdyIo_nFXt~=A6{0H6-i#Xvfa7YVhjVU*ZA<}@9GiE%m9~hzh%%o2 zaFc`sz9NoYFZ4S(d~Ol8WC`j29DENNdzem31nOrmi!>pW6SZ^G&(x%CMds*sah|)q zlnyC{<+?Y|0`SIzRz6JGr9Q%w#+LRHDn(>5g*SJHX2EJC;FJQ8A~phWXpm#NteaK8XQeoFVrrVa0%sEGB**PrMM*hC8_q*cJnmn)XR=0aJ}zHbrkB;j z#^k_wKSmbwwNr|~PEQ0$>z&1c=kIjsV_(3f?PS3+$nD-v-2d#MlbA_70>@AGh03 zHSR7|ceTFKklw=BM6(kBdkQTqdCa6w=V3n4{O|~DZ*C`Ucw^WP_cOkRiFDtCYfbSN zS1)wFV^;kQ?@O+)hB@J#@GLznuDS_>jN$x(aC{Su)cggcfiK$=aazr`a2 zqjY-p!wphA1$FL|1V*BBA=P`I^&)upJpP_So)L9OW&%ERW{ESV6uS^Y` z<_@bnkGZ^jwK>u=mWX|lum6#Yb+JEqyeyQexjgrICn$PR=qt_NU1dkKuE@cs_1MUU ziCpr{2Ni*odR%50-a&-}U5q%9KrQG^PE5cqH49b9B<(YYfz>T8e=pY1rHv&`K31)D zo?_uA4Ur+@t42t!3X0TC(oscyAX7-VL+!i^_W;hd(1usv_ zJFcoi{OQT*UP}hXGoATwL$ukh0w|fM^o7mTBhDe!Rc3(LCEqm(PBot}-4P3GlnF^)e zf@{4yTeWFVJYIOqCiD6ZpDuRp6dzT6B)WM!pSk9Y}$r?5@1S8!I}K;LVh#Nzu=v*?np0|CnZH z9Lw+5yV=-HJ_gxj*S+{75!j1fx*aC1!O4(snY$^yY^IS~v|xl~WD$Q+X=p~%&hi|D z?t8Ma+X!#p?=xEya)(EGhOA9;D=|)cX<)pS1+qLFUus)f4_`Zt?e;Q+!LF>o*R`Bc zi}T-o+}Oqse-KpArq+nz%g@;dM1ww09haBu;5tpWdf3b`$NT*GaEqzgSC9W>UBWQcdPYt0MGMV=h zNRx~|d%{A?o!2>IrU}9QBt5FjXi8jdFG1su<-2Hv)C}lI*P5kQZi>;A_Wt5rMa#3m zV)?zaZu~h{su22N!}lGQ+(k2irr_$0xt!E9%k8DT9cVkP(8y0Qr6l1qnK(vF7swm# zUX^uYV#>={F;4FfPgtsy>wpPWL?tPo*=7IHyA}g}`0*+&JaaK;?Of@#677p@nm5?a34v%UVTqCNuINK+ z4x-0wA4kx`XN?y0$9VR!%hPFcqFwjQi|q+4%K6Sv&#dWqVvX@w^vh!$RQ2KqP5j(m zx&gmk*%)7B<%jtDFPfScL@k~5@rE{j2&fof!9H|oHfXkM)-VeU{zzYg>t?lW^ds@t zt=Lt*d{3Bezk<$M%1A{s4?882{Q|@0_^IES=TMB|mwS zEIVPF7ZO;St~KYZ`SE$gZ7etp?4gT{@!mOIA zl_`b2ZSVSl_$El7-w)kcW- zcC*RJ`TK01ta#(tjq&J`jJdpY8BAX{tf`-NQcKD=fJi_dKTmdAOM-RlF^`>6BtUY7M9G-fCSI61+%ZZ^<9y*RWZnyU)3(bvU_7J+b5zZv~zio>4vE)70U6{o>_jLe4y>n*T0<9x8mt#Z0UF;B^K;G#Pus`fs$wD2ptVJ zK`JjsI?|*~0#=BkWNy62j$^1J?T$vl6IAm1Ms;1?sbaAG@}d4YoO~77`plm0AN_;a zN2~-2_EJSQi30V+q-P=7CXG}+sBSee+G$+xL^<2ci6lt}McN8c-n-ky_IqBQvMRoG z3|Ch(6A2tf^YkVe@By+s?97t@GY<#ar*==ax{|cYv!2Sh1fJcH&kU8>* z>{Yu*L3%=Mz#j{`ibGZOX`Z8>MJpMv5Ti2oUVEmJ<3mp=8hl*^m=fnbN1)GnSs!y% zS$}xqyLhOqoua)T$g@KAp#FdK)CUu7C8GyAC3=5@eUP5St2@sYE9h!q*INQhF1JsMz>(kyrAB_zT6l= z=v7Yv0`9*9^LEDHnQdf`w*+%>aRQnIA}Y5x3GPEnl2M`=tI=Pkv_+8(od!+tEM#ye z1oYBTaawX!ULEpXOY8TB@unZ2$H=_zM6XalLCQ}YOkzX!clFG=+p}d|JsIBqwTxGL z0V~Zb6O15|Th?(zaj8w6erh|8vG^)IYgpf7!-x;znVx%k3TB~IcOrb z^aM3dCOhUVVs%w6fR>*IEyF&M6uY+6=!B$1H=Inwb8x|Hyg_b>5!?WNYkt{&k&vQxL!gHVMH z03Q>+(n+@XTk}*uL>C#z!RV0^nCfio@p$} zxnCmaNRnl^m`L;S`6kYvfKZxn(AeO%B}6do8Lc_R0BYi+CJH5;P$Wm`2d<)na!f6speH5)wAev@9s(~eStTx_!|Fe{y zVOxCvG@Qj;>CWT07PdbD6pXzQ+}swmV#4+smsbOWNOTgMrp6EckGs)zdKoERDCKTj zR)_8KUs_M6Jp5Bt^p4reMNwW1WlOFmNO}|Gca=kR2Ywmm9n}H`u_Z`lWwpZ@{++Xf zy{|?UTf9|F-dLTkE!E2+2vDT!J_$lK?1f6lh|MJ2{7KL!ljV0e>x`2lnW+1NZStr6#I=u# z+5XeqP^EB$TWoR?(+ih(I9Ltdr#T0+C9@fb{ZV~x8vWsXH22&MQqAOmT?QtqX@J7^ zj2B(7-XxU%P){JuF2YnpS_Qv%T=8U0RKU$x#^D8OdsuD0LGu1JORSWcp=n4#G_mC; zDjdQj3-gF@GFIXXBJ9B9V*f85UTZ(UV zx8AF}!V_LTDUD^&rZ39Gm!@vjCnU4ir^vA{(GA=w>gT%l8B?FMIh6VV9q0FzWAMAmwv%| z`|dF~I;lerH0z|MPO{y!nmnMGBq}I+X6k0>Yq~!xlS3bGRrM@ov`Kbd4HZP8&pN(a zXv*I?rJOsyOCO3N^XTl44#yI@OkFcXT9vFQLA<9nhsIXFGJJ>)OgGw}jnub;W48pI zkKuyxhI+@|mxxw?cMxf@Y9IpdKv#IUGUHNp!VMPaMIL;rtrX34K!G(-+>igKhltUugCKAv$4OU6=?vC zwM?lOb$`n%E*%(LNBpoW*tqD339V)8eKhCo zr;CIFKiv9~-ElnnUx0B)+7RaXP^l}*ts#e@eRl=LUv;g8YsTx8&mJjRB&R^W^LJfO z-Cer3)BZ=S`#(}zD25Mb`KN>KS9dg-C7n}}%4T_h9*0h7rMerV#r)%mJ?YNETN8J1 zt`07-)l@q57I4~2Ex%QwCK>8dPS(^l-)g#$&-dpxJ^4|)N-WVd#1p7={L+Es*^paH z_b_;7YZ%^;wLj$VdT??OCB%t54c5RT>0);oDlP>Ui8#4ZX}>m6YWNjF^)Jj?jExav zrT%T*Z^ZsLQwI{83HZ#z1Ub&B&tNYkx^|YC=Eo-XO>1uUCoXOsrjs?+lGRp$U$&@$ zT+d^z7R|t4w;d*FX}{V#UQgWkjU{@B>^3KD=9JTKI^V;KnyzQ1l|DMGb%4zK^3aD@ ztZHL*a_pTuX*u&M9P_e^!{|Ox!yc7fHroCh7}=rIY_+7qup711)XHZecnB%E26P9C z`z}ef3)Q~Zh3&rKMj3`zEYOK=NJv8SsE%W=szoWmhGyOJE`MAPK2{B?Nhat*7C%2x z640(?@OZtL?gvW1_BKT7cX$rIV5}Scw*0mu6S?zQctYrWY4mVsM(ZTB_mSHP&uGv& z39+G6InWj!1gmVn;y!Q6hkZdT^!Pu_qcV%d*kMKK%c!-pyHhoh3ecB;y@kDcBxOh$CcdCKnD?oj|IpEpE&MN^5rg~44Drt#=uqqWpW-1o zhYL+;`sQ=N-Q0`XMwRr8oyg|Laj!P;8uzq@o|ikY4Nm)Fdv~v9>Ac-h(?K2jO`+O$ zA5xigi?80Zhg*6^R}`0aicn{_gc`d{!N;E8YWD96iCq;gt;F_Li&a)3X)X$6ID_b) zl-@VJQojcd?h@#iLk^PDuJ|iJL6h0rDsn--?eDH1U5*=}W+Ro$lbM>{Isaj*EYTN6 z@U4=XQ9^Ec$L7V=*EcE$=dfZJ88_}}uJ>Pi#_3--y{WVR@J3zVqnT6LZSf!@WT5a}0v&BSkOPB}cU>%$*x$xs#@$4+mhH6Ri8BvL+KmfgMQ zUXNCY*c3ZIZs`cIG}fbo6Akf8Uzw$W@=_w#@)(;!ihPOn4gUfGSFpNM^TB7KgU2f0 z$A;w^)m?nJU+Kz|i-l$SuSGn)XE4dkdfb{knfT@&*Vop@saoXW^I!F}wP#j;Ddg>> zRQifv!PGQE@3%Px<&4$QK^aDJk4`39Mdv{!Ug39rQ9NCDBc~D)*pJb` z2(ARR@pk9~<%0FJJ_p^4Tw7P4t};BR2m)}PvR0j1Q|-5j1p2;^&+G_0^{jJuJu3B; zzV%fsXcmGK4e-#GdTA8A)3$Vr_&)zVa2nv;VM20FUk#F&x-oVhx&Z5^!xZc&U<^+; zh>2Toj4faq&%F*)ob@0m;&hrmP?mk|7aNm5LyZ&ucJGH@bM5&x$LHSfVIp-MoKb#Q6!f(K!B zl1+r*Nl<9%0IvN)OKD_^iKzRbYX+MFSEqOQdd0h_0VV!&PNxiDGlQ#swN+(dy1et+ zQ4w0*cN}WQCc>XI6U%uz8LQ%MRQA`^fsANqzPOJhu4u9K94A)~;;9gX_~a%?V*m5{ z;0M;YNP|H%4fxg(MvM%zby6H;EF&$lnq(%B7gcuh?lIRN*zs->Y93Rl0sLVQnp!n| zzm^&_xl67pf@{?KSCT=zHHE|9Owr?&crQWG-bRoCfZInt);)K1dxz$zHtv3Cz-Cns zg4WlKOk9y7Ew%NfgNM0vAIo#@q*%Mfla+LFxLGXpJ%8Ncgt-j*hO%uI-dF$Npn&sJ zulQq%$P&lVNoCrDJsVn~tLg9ufK1XV6b9whlbAT=CI$lh%69hBL3LCV{?_h$OELz9 ziMHS`(dq;VwY(r&{HCb$km~!i6?DUb*#w<$ZE{kZVhb+<%IGmVbwUc#i>0O?pPt=c zT}xinBCw-xgRB)f6ESkA;R3~(1}4}eGVpt=qurQy@@7lB6id6fMKC{*q&cB=kqJJE z;7ZrALa>cAyzZJ;{Fm}1uSIA^e1%M6k}28z#neeM3wA(qEu{1b^1SM> zw{2FjLB2*!HqCJZZbGw7V!OG?Xnm1%MVa;$@z33!sn3y&1aZ2PLE?ZgrwNwZ;)H=W zM#OLU-TdS9kvO*SVemA=fbMr21xPQy>`N^EXbzv(i&u@1hOSYYAU$Yc8-QS~Ke}%q z)I-WZ;w{kUSw36Z^ouR;5}~WB_S{BA#Y~=0coryQWO8yTR_l-QJMW82w&bJ=BXs57|5>S3le#5)Ju*`vC<^6}RyU<<#EozWr-Mln;0taQCWuo}2nh192~HC_w!>hvQ#FhmS<*(3x}Ri|fw zv)$tJobuWudRX@Mch}!udcqo1$+|A}?dmv~$)< zY57nLiY*R3!V|G>y>^3x+w(RkI6n#;R?UM99)zSzK%Iq zISR!(f8wyMx)NwWM0)r@2~9-szDU%-t@+zh59w>Y?=*wB3q*xq?=UireFjLB-_ozI zbh!Aqi{6Lecggo`c`Zn@uo7hWQq3J+86hOVd3BNfrFAwzi+HQu)qDsK9of*M$w|nv z`2tjLN9u*M-y^q)Am7aFvoX}>ZVDejs%NnIesn_-v5@^R8myi)j7M{tJU4NPAj==Xtt)tY;6cL^>KA> z$YGyMjqgrY(KsF)h%RQT@Ooka$G?Av0|_r}NqoKX9Ex{+YdN3Ey%`i{T0 zt(U&r-QT){UhaBeJNWnQ&EF_t#v?B*G5R6USGUV;90%s8_S{eSzZzM6Uc1SDKlt?@ zgtZ`v-c#^x`tn;FBqUMfRXgOjY^hKG?sBz()oQn8{G=cMy@=$`q1%wPJ>-o{tG&!7 z#=0g)W95oT`3A}%rVy$fPBb`6G{D>aEZf6hK)>r5&DIdM6tMqerP}ZOJ5Q2^Ws{V@ z@)7-a>vI5eZt25dIIg5Lv3qM+_KFe{r(H-A=MUk}uOgm#+l9?fvg-Fd8*;YOzltok ztk%rt%q-s@?u0Jw)Z3aMZE|M#SQfs8!|WH zEP5r~07_5iyrp^E_n*^A{`obIY@g@cup_(0T*ks<(&N)oZKD6As;bc-o*!-b8hz`I z!zspkOT`aw&J1vLp@uZZuXNNq7@I<}7&+i*FmqmUcU7BZs)zti&JtpBvy@T^BB?yD z4fpk4+E1AVsEineze9W@@Zg^{;rJ4jj(j=j6qV@>#HCJ#ujt2hS}R^*0!1=1C8H4@ z&8(+f>{TV;*bVVRAMv{1UV*yY&NF6E&D1G%@K6ugV-GK7HHze9z1=*20-(rLg1^H; z+`QacUI?tazxe}1l=^dx>c=iElf8v)jk-<4cK&-`J1-m+PYcak*Dz8D!s@;2_i*s= z5rbugdcHIzHNx^8wT@ZJ3b=cK+psaxvPGACRTJOqSSRzg<&kE17IV>L3BNmLyN5S> zcY0c(iaD=@AsqvKzRIA^CoKP?=4c|L%D9!cwsgtc50Eh~O|)_uC2Ja`xwn0x&8M*h zUFBoP?NX}tVK^E`Ln&Rl>zo?Fp%oe{>n*L3>A6~Xm_>N*Jv`P+dp`+rnPZJ~ zJ*AjAm}(gb{)ph^oI@7JnuZM?E){x|)W^jK zq}gjZ%`K(CRj25>)Z47kDMqoKgQXv z@`Gjs4^Gn5Q1T+gQ|AB29s&DIXtdM;0=mD*oOOB_gbTk@$f@cbkM+MdFG4@>HA&1)@!gknGTm?|*PZT@mLd2B7R{d+ORwk?+>zStsEvYG z-X!Xj1EHo?%R2-v_dZ+KVT)u$=DTr+1@5W(b-f{jg0=-$R@0y_AnQ8+tLp?*}l+^x5VTh?)pSRa-ISSM_z8U!%kRM-EH0O4oj8if&Lg-tV31p-`Fzo(v=l25STkXF z-t7UV61JNvSfFQWQvZ*Ah`kCZk|3c%Ew2**U^E45@&lBEN9ttE!QO4di{O-X+>RJ| z=A(9_yJd}E%9{dTbqKTKiSb{%n?p0CRc}h}Rg=Tg!#}+_g-*U^Xc7;UIK4L(p)HD8 za>(g3**-A<=kHU}dvH38c7svm2uo>rl_}W+r*kjB^ESCboY^m>c za^O&nqscdb;kYgt5VEzh^*+M2wD-5?NfONFyF2k#=+5N8%+mCq@VGx*`c8|oDes1o z{!Y*@K)V;z)O}5EBK?_#tCOgVc59cddV9NTYuTDWzCTwp)Jw+$KPnYTbM>w~Xl`0x zcm56{3A!wj6J5gx!diC6gJ)Qi|sHn4TOCSakd)x!zW zv(?^k4-8LVrdYTO`#gwd!5qk^(DIs|LDFQieLP*TZ0c`07{{iBCP**7t@p^|?rYr( zfc5=U$@uHZx86;1JXBSj+a?ao1FR)&f_#yD;xcZwl4u>DU-yp4VQf#=&!J_eRV*nVhld7w?)ywRo2OPf^tM{V}eEQP5 zF)R;-jRd0n>j9~-?tV33~BeXB%MF^ZF07-;^>qB*A_4MXS*rg!0qx00+ky|;nQCSO9$2Ocr`|5Z0P z zpav&a`?L*dghA9y*glRPiULVaEVIteha zc@2}m;qsy=$2J{y=iY6s1oh`(sX0WQh8o`k%0V@l`5ILE3%;~hUEUK>DnTt_{y?Lb z`aBdPQlndBzd6PXb{}7}l?_a#Q3dj=V#GO(v>v8^xA1Fsz_KX2eR~b^{l#;f8M{ir zxoGsC?A0=X5v4@3)kEM+?cc*`&C6JUr@HM%OQETbI$EV8IV!s~#-kCsC%*>uFzQ0d zvfM`+_A zFB$KbzwUe*Gd$Zqiz3qf*;@Tk{VpbH>%X?k*8j8}sa#`X-9a^0t&72X?lK>#5`Gc#b11+MY{Tg0UY^GnN0L&E!8=m=z0M=?N`d)9do9zg*l^@m4WXBh8Wjao@E}PT*11o9L4QS_L#xxI{(g4iCa7yUjd)^H&<+-<#m+` z8e|x&O_%OZy`$eICHy(N5MF4x$n?_Its^MUB^hIX)(np0n5)sCVc0GY_k0(B3P(cA z{;bFs2!wGHO!PB(yu<$1izAg&TRB`&kTEwjX$!D}3|A8k?iX;^%dX6Z&snd3<3AnZ z;-(0qusSp?0GUpS^PjKVXN>ESd4nmX6+N~d8|t$fmQN`_I%P$h7;j7!&+d7?P>cCP z!L8N+3#r>j8W9(cPm|WsZlKAxu^)wEFk)MaAYIVP9DcLm;@0dmDTE^P?>`OR{-MAR z-$MT*b~)d>uhI?aIvR2Qa7_iMFXgr>%MaYCUUA?OC*jD#Uha}ivR||o3#AnxUJ`4- zC@ub+MrOMH>A4FA=o04v9om5Q{>HPrLfltgPOH?7?x%aMb9=Va3cM0uxKc@_tmlHi ztF;l(PSDqrbMST3TOvqVYCis^CuGlsiF1WeXh*+9nj1FqFL+H4`caPX0pkuANiljo z98HT~ZQ%)RF$g`r3udMLBc$@TPBWFavI7EtT*F2eoZ&z}!PI*Bdr`~1UjF=BUhqCU z&;FLfZ1mv49|o2&b5w2btJt1P1QX@Fi`UUXjohonr{4KN(vn%6`^86;b$1=asEwJ| zv7zq}ty8}*Kk1;#3ksSI%x)8(dlWo&?|oME@ZKIA>~r*QpY?e0avnR$=jnEa5|Hr5 zFTKGL74P*O`RZ*5sZ)_$&mYG-YF9ePB+UV{#~~dqQCZV#>6z%ezG@sMf6t%7?q^eP ztM@EAb4Tbxp;BI-QZnq^3&v!5r)BGz0STc$$>qpzrgd>TBU3E2A<9)la7{)2ZY32iZ*Nw(ZK0C(j%#s-l{mf+%Y?OTOe5%U z+1m9>tU0HQuJJM_g`kENKl1(oC0$D9@b0)BIzPAeDYck*`r zouFo%ArY75P1Bk){<=6+!wyEUaW@9Pa9K#l-|x2?koY1zHl8uRcp{oke(rd8I6vb_ z7utJ*^a%gbE?#vYk5_anys+=T9Ea^Twjg!TWW&p@9a4u$t$g%5m1_9tbhU~-G%G53>$G+(!QsIHBVn^!9>)ZP?TAoBA`X$#^c?wmhTDJ zGvNiARrHza>1Ur1GRHCYyIj}0LS?kV@NHA|xh+1S#{+y&+-&>eBwW&(9y!^%?s2=r zlWmVD15i!Klx%iMOn$zAfJ_l@n)Y+qx@w!yq?V()Y!5iLx=5V zWK6jg{L4K2Tk)rlz-s3)deXkv1v7Q+3?>too!7Y!F9 zuS%RUNl?sU8gTg{C-5QMJ#Cgx(~DEe(;H|AWOc8G}yMm(dD$gG40>Y z`hEZK&){+8wTZg53Eh}Ey>@Q1&CgYchjnyNeug z*RscNg_#TGG@Mxy!77ITvT7Nk5cllgS}wT8j2P~#0Y^5%9=9>=Y&%WPW-UCrE%-O8f6nuKV} ztyOhJhcAAO!v9n&qk-^ zz2>~h3xx;VB4(S1#YU-93S+AePnUB#cd@gXAsI{24XKdxT819bJt>=?WupRIZk zW;)lDu&;eHc_v*<_~dF0-N^bd&N#WY2mOR zQ(U+nGkJ-@**-ZgxegO=)3$HAYB=dnwh)$cqyBj}UIkRt)l-4JDdL(_?O7F#VQWj8vq$yLgxH9Ws+i)q2ioV{LWc|BIGAPg7r4YlV+(ASM#!7I8v%d43( z_F@X>PE;gYB+vG)`+2>J*M@1Key%$c4GV4bIo}5k3S2h;jF5Dn*$ax(p0wx$OJyVN z^Z>ZgX9FYcee;uNBWFb$)?~!H4}RVBAC5rLzx)e#N8R`G~L)!}zCt+6kCI2(W zY$xROoDs~PtalF3e&5chfl-mSd9IlLR*d+!DOEh%oP;^Xfc;O~0; z@Y&X^&OHFdVR(07WOw50$X$Ih%doel8O_yphFJ!>kdU8Gti4@|gq1_laWG)-8#(QJ zQS>kFiGrM(G5<7ka?>-?(lR6@B@?CiuRnM`Uubwvvz>)Y9|i2yOHy|)w3{v;fArlVangJ5Z57`Ro4C%G!J@Q|)ndj!^Eg<8VvU+|lfIpL3nvzU*~)yh8A)lUf??x1PB6vb@Jd zYmok?Ed5SgF+@E}%s4|rT3no8Qkq{&ikGk_Ouma&?f%P!2^xHMU?=l&inn>md*fSh zL3(mgh7Ux&al5s?$Zc0;i)8z(bojR6MOzZ5*|tS;+LFf@M6|njU4-;SSAFC5MwT%(K9yz(_@82~NXR4?A>4VIRcMHvVKVlCP(MUy zyVC-#*g65E1+!-5#xRcn!28z zMydm9u4W01eUAz#jPAWh;JHAb$E}y)-kb%tls+n(9g?1#-uubeMo>KolVkHG1>P6rg(dAsh0RJ)%q z|AXt{_JKj|Hh~x3@(iQj3UU(ux8)c}{79x5nN_vZT{r zsXCq#7U%WnD~plGpEjxKJ5C4gwT-~f@~t<7&0SAts?`AxQzueuh<44UF2vBwVjhO= z={p~&4x|?l_k_lXK1|-nr;t?W!=8wf|M~K~)Z@{Kl+V>H#29>)*bMHjgm)S;)w-AR z9bUuT!giT&i^(eo=PkMzo_qO>4UR%c{f%cq>gM3TO9QjQ-jw9ReF+r6t6XxLZoTUE zOTyO2d)Q`Y9hCd00->nj`Z0YxJr0`<6y_-0V~=CDv)2tGcVtYW!;Wpoh| zQka>;@yUB&?oQhLf5K_Es7kH7Cq za&x^AccmpcxgfidheZ9IoOprze%yDO9eiQum(kPz93`Jeqjz(b1kPqshDw_9wqc30 z!4QCUYo3}kH$B^9%F|rYjX-Q;tieDkx#Y-8r>K#iop!uK6@C;uA~^vEcl&I)nE{)N zZkkfvC$(%9v6)iG-j|(?(jf3^0eyp0KsV^3{Rq;vdNwWXA@y+mJsfKIJlIYP$=g}I zRzG=pq5Tp1Jaa}lyiEK28D*{=cwa(}ARV)<`;}MH_vX9B((aCkEyS3UgZH5(JKSY0w{x`% z8=b9^+sO+!^)op;6MD4rK)}Ob!$H3-HmPte0B_SFY*g0he43Q51j975TecOQ8&5Wi z#gI%d#O+18>yM#O!{)or>)cLg*S@4ok7YF&c7zY<=zL1>ns8k$IH_KKFugaYZ+gBD zKgyKe_vdOmtKBr$%<(nDUC0PWGwytroRgxQ#YBQ8+zo{Aj^B6XoOi7(oy7AzHYtvCjma*=eEubIO})QS2VgkT4>L0X$`o6*?QSgWq)yx>cc5qwQ1+Fe*jGq zCer^e-LgjcTZ9|J>Gxb^>b^6CL6j~Z+Mn+ta<9X{K@`$ z4fPZm?m4z~v(JxYdpO=h=eVVpJVsW<9Xsvsqr|;d0(PsGPu3bYtE%)*j@!0# z44c>5FXrfvITtsH$zEUk8-M(iw?iK%eg?gS)a2~G(z*ohcKD5HkEGc+iS)y0%(yavh8@Oo7Mb8Y*`E^t_uW{pl z`m)jqZ)*2i3!pf5zjyH3MDet%AFRCbTy;IE0(W4lu6Uz~cyltWwA%m4Zg*^V+dc9+ zl-trjUI>^bWD7*zqQZ z<}-QsKuD-?@nV><<0*4mGP-rC&l*n`6P>EWs2ASKbzkptK+8!JJpuH(FN8Co<@uT( z?{S(C@w|PYS@# zeX>w}m&**WgwNHObyb(`nyBIoI^?&dap}o({ ztdV=~GNxYA<#kbN?|o1>CY$_ThUBlJv^6y5mkGkwF~;h*Xh z0eDooU5K4}-Bs_WD0uPn!O{?Cl{n~+2a~RWi1+N3tnRAwdRZocvByPzch`Q8F_h1L z`>IdZ7`&bVCp2>F8=Mu1G4SZi=X9cMJs$|sU2{K;0*iWYOVh}-9_(zCJBoR4$1>@f z!LP!rJC0A2=jq#2sNg*F5Cfmp!Q}Zk1IFzMvU%FB%{C_84A-L#&PD@|)%@}*>JP05 zgek^#r8ZVgz^pvLG5cioz}aa;nA#bQ=(osn+{9&*k(_I%a8;x-*T0htOCT!t~ei*Nd4u!nZt> zsi33u@@m?4#L`)Ll_Yrk=5H0^Y2UsJ{NU6DhMjz>l746wp+hWZ-aJ<8|Con5KKBt~ zWQwocNP9#-9^d}bpQ8WfLjYh)A~qIj-Lyo*QLN;B=zb;rKeb}mky}vA4)%~CYI6cE z-}WCQfRd|z=h6YQZWpvnx|O1*(oPbW($(S!>8GdL=ezDtagR6M;@8lpox$fbk?`kb zC>`Pi>~#x%FjjmzxMu=i-Sj~*4RD+h+I`JJqP_iMKN)~U+V5V(E6dP9j7o|v`! zum=8D;lazROc!f)9n&z^b=`Hnos>@VDg;pI6^VC}y2jz(Y;a=q4C7dR>J#=p4X7vd z>j{xIez4e@6nTQ{Ke^U}R~NXa?nB!GWvF-TgHb9Kf5A!MZAA#W$Sz&r9?3h<#{pKs z1v$}gpxhY~dc#+phGsQe-Dc*wgQ1ornZEl1OMB56;a^Wk;aRUb0cOshDkweuIt?rO z%%01=BJmv~ds!yU-?MlpJmKc9aZX*EJ-Zh32JNex_`=jmMkkU@4pjsj+4vm1Gfe7O zk=&R(;Yl6(1lU`7x%d0OF>X_{K_GW?gFJ{xU-zLIC^v#f;yCfZK^s)9HqSY`kwj}Y zz#&jOvPZ=4$pwV;B_1G{^|;#Q!b=uPRDXN#Nt(N&pb<|q34ASzQFm-mx%v`0$2z;o zO_0S=b)~3#@u>ch_pIG-J=f_+cPqWZN$ic&9o%oH@9|>S>O^Yu5&!ON8r&JSVBQy7 z;uhIJmoUdRg9yuDFpfP5RxLb8{N-zDm#K!E&+$RJy zNuiwJblLIa83y(|#g(`%iQNE38GHVNQzxRlVuQ;GGo0nsi>g=D zs3YSR$=(Bs(3ek26m*})c|M7UQH3kv4lBR@HM79>ZV|>>zB0q~F1UNkLxklP%tQE< zuU#tOOxg$U_#qc~ox1FeCRWk?Fwe$YS5k_5?ouZP`2;7`!cg&Hp%l?~bKc^;ed+Vz zDAxRSH)Xv#hbQ6XGSMn$(zsr)(1A{dbco4908!c{Hl_BA?K1r3hI__w+2jAQlS0On zI)9FPrsV^6t?cm1hkz^4E0q+#4<1F|>C*G{$K6d?0?Vk+dfpaX=BB9ExNU$NoSBUh zdSz3e3gmOm2rp-xf!A zEB@hYqGRR*`g@P`hWaHjJT4faTA-guHm$LU|GuchBlLmY<$056{eN)Ft7wuWAY)vD zi*jGS5g@YQ>%GD^QpY?Q@LWQvCQIFJIjQ>_v5qw>GKvh{fXP<5qWOArcmyx!d6jKyz>winn z@bkSvlx)<5d!DQc5gOwjGbW7{s=LXIt>8C>X^~xHvj3zP`9z zzP5%Uesw$;R9Cue{ZOpgfh=RZq5YuP{QDS zX9s+m#BsWEw^0#DS%$Ak18d4b@$+|fB}%(V0;YyLnWNeQAgMclThaPL3jBF(R2!gD zUOw)%YZp}o*nNZF=&mOC5PbH=@YAU@S4UWNKBo~$zwdKO4O07TfVX(N8v@EuGytxe zgcRS$JeNT3-TV-(hd(hDup4tNEh<8B)D5;sO8rk?MF=7%#A&;p!o3|LN>Bl~8~hI# zACu_=P?1-`qI5jIL^=~j&SDs&**Ye(`QADaDdNuLmq#DC;@#hloB26}R`>lzz5eCg zWhYIJ#i4>+u}(0SQTAZgGIj+L7^u`Z)*NR7>?ZK0c8+sj{YqTb4xyMuqLYv0@l{x$ zHav8MN)7-zo{lMdD(={MCtQ&$DLbHagbEbv_*1XYY(yo~Ogeaezq^E(BDT_$vKVO; zTi>ptHX-X!lxihmnP!TDEMlZc6>Y_zs9#ZiLJKrU_Wt=TfT6&`dy_`MkH0jHWYRit zeQRpn-(WuB)!` z3uxx|_H&QC$IevnuIm6lt zlX4ZHuytfN!JI?5Fmm zFp?+skCB2H(cc0qe1i-T@5ogpI0!A}{RK$@ILhh8>{konLv1;m>4dny8q3~^3} z`iCTz$)vWAViX@~!Z*_EJgSvqw@GXt_P&tIv|2%fAp_yshLk|V*F>ekAKP}FB?z#o z8W`F65O*=sbUA3g@ddf6n)EmVtEj5-E_|29ZCLHjMhmD#RlvVNgo5b;mPDR|H=mk? z2wu|4kdfEj{BRFb^u?O!2WL@Xx2};N)|!HS>qon#k7p)`O8~ovWvMTzxV0*B!4-Z= zKHMb5go17Yfy(`%gKht0LF^ZTJ?)ZGQ0B)Pssu=IJn$-~G9*j8Db5^Ku0^|t`8R6x ze8|$hj5#B8x&`%sPBBv^SL{mX4p`@lyLdrz=W7qPW28b>kdFIJAh9@sa$h+m)pNab33#f0<-f_=Z2vq*6!)+zh@qahXn zrf0Y)u7O+{X0U`Tk}lEh`u9Tg*N5pwD_Ui7xZ$ebn~|KarScuonyM^MFJiL=RAb+c zMOOEn;U-lQ23AfNUl9ifc;Kl$uw{(%Up*s?O$m?)kpBlk-5*Up&r=`eq9;-Yh|^%l zw|!@~gts!f{GeY+oRa*cMMiG1$zc2%w#B=>lqcaFvz#EGV&g01iSn%`ibhI)+=xD- zxnu0dd=X!}Odh+F*=rJ=fLVqUVwIoJL=I#Ym31>N;yy5k&J7MJooTS*uh22dF850n z*@;3|hb-aY>8ro+f=|NVI9;)d?T0Jbd96B!lh%GKjJrCd$YA%B<=xr!xp0|chFdPC zOB-#)0s6!=IMQV3i{)a-qWAv>)c^>)6|o@AR2HuZi7FKF4@@lHNE*&4$CZ=?D!nEz z?|U;GCoAE=K+rKoM4sV)7GsTf6)Nih!MY?q{h&1TX6Z`Po>)RBJ{%=Nc(iXStdvr{ z_w1rp)`RE|@*sj;blu=r1w=1sm}PFEPz-Gh9WXFZ?5`0ZrBbyImI??_nfI-5^%3neSQxD7OtUvYI%M-igxW;5iZJg|>*n zKWX`Mgm8fzR2{f`Cy{}%b>C_1Q; zkTATju!_Gez^|Nxjagw@j7;X+MjB2=l4KC5d+Sr4uwXsz(1xMPbo39LIy=<&Ua>0y zRC;YyjGZ+)mbHL@%ki;sSI#+p0+tNDzrADMF#5}2x4f&;v;4_)rax7gy|BqnDVfGb z+4wMTS#7d6US`S(U|5^bd|x0Xr#`>_#ipS6qp;p@Vk(Rud-B2Ql%)kVIJ~IXqm_w)=8BiRUZR{?zUpPMBVw{5jXgSbj!A(zv!wSKguJ4(EJZ# ztrx|L4){_qeLjmTP$5OM(hs-}Pv`Fd^4}{p`i1FNe9REjUJ8CKU%MDRIHU?wUcFHF zYf~-02*vp@p+>GvFL=b z^X!6nfUyuoUUGPlA_uBpK?xpR)H4bVkxsmOThH8<&57^>22dT<%6r08&pU`x9dKoX zCxzdv=!yL5=^%%H|Z;NwnTk1>+Ms4zhUr2%g3?eaCocJayeTAqIMW=z0m^Pz+J7nd zr9B>(nLZ2E%HwO`7}azink#i1OveQd(=3RMa?-PmFis~NN%>Ha{0n$)$z}XMjWDQN zCeZ44Jy4RA^SI-*2rP{mvch~HlX3EMwh)?6f1XirgAskq{!l~WTkIh3o zGDi%+*rEQ1c6$mduuKys=*vCXrZ#X9BP4`nOi4O*jN>*DcqIGQdq|;GE93oQ&RZfP zqm(%qID^L z`_6%_qythEAZVw#vBBv-1C&8VE|tT`hR`Jwu3L#hlZ@%w1jFbrpm3AO=+>{n^y8OO_rr3e>+Cj##5DxCvqrG+2IX$ z@FSyIxO`qYl@rY?Y(b&|mv}m)KZ=4u-*sX+z76DSSNmo02!1DjohO8f&l`i#&el|U zch(`8k#kgMy>+?2B1TmLvG6Mv;%EjhA`$?)g9X;Gy}OAPTb|McoU;arU~N>rlf@BC z<4(%7EhHObB%vOrknHcZ)bU@!3DBty2oy0158fyLF7^0e(Nol~Xx>4E5cnj6M1Mj- zEiFVF}YvKXn!Vq`A$<48n*IP*k zbttuph3=}PbhS}C9YL=K%&9*);VBj*P9CNKdHAnYV!n6^hz<%ddz`8t>=n1Yz53V( z81qz{#`DB#aUKVhX|QN5F=(2vtW%b}?HFhIbLx(#IPEpUM<4szkWvJLH5wpGFZhdo zHhX^@dX#%qQIfs1en|JV_s))x8Xr^bm!0P0LVV#BBbWE#w_T*VRrX{IQ@ITku|}c{ zfg~>#Z>Y%nG)53RmJq!lk*}DXb0;S2Sz|)$Rrr^) z$B8ig(4}U6LhR)dw?DJ*yKjE3}#0U$Gsn>1CE^V2a$&bd-@6*+Kz5X0HrqIVV={4?(C8}7HUh;-cS@FEYaI1M`xg~WPZU5}X!~S;gx0$U zX%Jg08x6{T@qC5lZ=?U*Gp88*S)cxEbLZG?TxCeW)FCgjdSD52>QNbnY|t_GFvc6~ zvgIlP0vUZw{ciVciHbwR&L>+9mwLuo7TIVKQ7%gSWG|2lPJA!>EwAR$>jKXUcSkAK z>~z#OZb}w7zca@GfDhk(xvGAa!ghdux6Br+;&0OLzl=yHh^$q&1FG^hza2e_Eap)Y zOteWDq>azxLaL-Uvh+a0-)B&FzZSU!ysgIcZkw#K_#~XsJa8Sd1;{efsa9Lgwz1Jo z*PGcPPcHpt3e-vSCAA74g^|2o{|Wic{7=AfX@^FU_K=to^=loTS zpePd)?MU=@FJbOjVd8bt_0aJ7jHB0z1|7U>f#^3@e8}npy^6MhbXj;wWIsW4 zm@nV-xayg|#`;sPMRy#pFgA9~NJhhmK@%Rl{H@7x@C;jR5G?yFH9oJ5zhTmQ+5aeH(8V!|QSYTIjCS6niPcOW)L#`VsLn?b( z5p~WP{e#EWOundk=qpch>!mYwCyW>;I7z8*{{c^Wm1OS(kBIvSWhUwG&Y^LU7XH8Z z7l(4+zqomNFJ^4iQz+>Oz4w{Z6&PY12-0#BXLjXE<77xR&+jKD?)?zNF3}*oxAF7j z2bDg_DEDw7xx98gN~+XQhRsVEbWsQms!qHw(r2CqZl(Ca@XyH1+>{RzqBPF?2_FL| zq^VSp=&`si*-P^BHb`ymdnUAA+WjneDP0~3fE3?Mrwp!t5WyjM6GB~#i(S0c`>*=L z``>*8=Y3Bbnt`jqDn~#ZWSVp5$WQ(+#ABvc^l}w0PNJqmr3!^D!eBm4PLHViV5jfa z`txVj4Yt{!YvX70e&qiKGJ69)J0v_Ki4v(jc8RDF` z!vF=F;B+2#VGN6*{LrMlm}2O3iW|1U^d7&ayXq^D8Ih4C)~-f7QqNp^{NNO?YP1R< zW8r9r*&PLk_K4HCixa}4oxfIN zB}={@o#6ZC%89wF_d(u(XKS^HzdeKayRFpp6c9S_>IMI2eF#n?acP&a10A2WZ(=EFPD?ybAMd{d4D;mk zdl*H`$c-klXw^9>M>%|qK3%&S$T$4rN;0HW8<4vt?fxCAM{1tO7d5j*F@cTy=cr0I(#Hb&H^+?sSA>TR z>w#0BZDQ_Q)0*jMWDPJ|gU5Wa4bx}!vyj5E*n(JcpyHy~k-l!-lGp-b8xGUb`ImwJ z(u1cBW+W&C5NUkN_0cA681oBDD5<0K&=`+pnPTpia9ktYjW%jVioIrihDeZ1nFpj- z&CxlZwpLWzz>?9XLtf55ovVv5J6}ma=Ny{P97G(!;IXyUDFkXc+f?FR;wO zw5M?@8~p!X*U1EFI!mw^L7AzjA=6Etm2&z(+f67rTB=?N0CZlk+m!i^SvW z56;8Qqjfv7?&K*qom>N|#To&lGPYr2qlj{1JIu$=*y56*x+QOBO$TqjMfrbMvwpLc zP}(UVv~+ZT>zZ~K@+t{^A;Pb#O!F5!A*12|4^rA=Kj_8rZsq(lL=d|@jGb@`S?)+C zYxw!KsCe9>NqC~fO)BESzS9YmM8BaKQ(R3(+G!`7a@(!uR_Z=RzUWF688bU2ncpj^g^~rK}`0|361*Zs&gG#XF9)X zekUYNmnb{xQtBrSkXN?OC+%2G8Dh)KMqJ~N@}Rt7N&+$enXHlXWJYGbB6vSt*d&-) z?^_@B(-OdurrO17FZ@GY^xT69H>D#>jPui1EA=5etxRY0KHo|1*>C(G2$fN4R;Jf| zeRY|P0(Zz{^uv{rHm(JWAqX_0kO@W+ol@>=LLg{eQvW#~8^TNXcTW0_e>2Aw%lSX> z5AA{0UgbMALFzmvvb35A$}}k8{tDvnJI>-c6thnYfZ4^Poo>H%uL3$ZlpS3|{g6N(rc|ov~+Zh>kVX>M}3-?h+Mtc-T}$q;k(K8QeMm=`mUSm>*Zw7g0&9!y2iPY{p4jL~JV$yHXvvaPp0LkTf*J;aH@LzJo}lMiO_iFy!!YqPaj zqHqLcsOEbN%{b4CCy*-MSMNuf4^szkSE{&`ykFK43*lOo>G~@4S#->vYMEOo2&v6h zqDw&S`D2%2fh3~KbVzt{8dt%Jhas1jZJMHcG<~W_?MO+`i-oFS->1*5XO34!zXS++ zXz-M6QnZQbmsKf#eZqs)+du-HV0m}FFOZe~2X%U9;7c{5-*tR0m_;!zvA}xptRA+& zalWi|4zGrV(+{N_Ri{?DYve2@zwotGlwb%u(&c=8$TD9oEy=NsKk}hENBiL~i-7 zX-P9#k!;#Xi>n%HCAX(TqIF||OUl>JashWokF(P1aoG%taoS1OV0!)b0Fyb22679v zzQGW>(zUp~kCf6i6GlM_9`2qd8Z=RqgQM2Qm}V`KM1>P6CS@~U51$W0pVKPAmqIYQ z|I65&vHXL3jBBoB(q;r>>#lx9XgH(pqHkg7l#q{+s zOhU)uMpyohqp=lv2N!Zx_QY;lnj zr0ga$^`X?4NIu8#m42fO>@O4SFu8XX+Q_4KcYSX>G$vkHoY5d0kFe9$QKpkDGPS&_ zEX>cAuxHUdjyt@6FKTV-=jvF!WR}dBir4>An-KpHSWH7|%Fpa!82u6IsIgC}FHr*| zd+!>&;`5PeNy(hL)QMHoelW3QreyV#>=Km{fVQ;i4V$K7x6uiE=2Dfii)xHx|Bw2| z8OQh!03-KvU8YPh!|q8u?S1EabdAb29$j&k9vpi7HGE&y_IX2B!&HvS${MZ~JIPkp z%m+^^i^(M!Bl&`)eNtPkUaT|HnN!{=#rzmtdwQe5%e&3 zJG!L}%v*)fru@AiJ$1V&*{>H!jRj!-6i^}@#N8NqnPSs3!Qfh_&J zkk;oDX;y3AyXK=ZgQkw%`;(vZJoUiGB&QYT)PACT4mWorq=BlSj+;TXqsSBufRW|~ zEVaBj-h4NqP*JaKsGdBgybmN#_a%W%sIV*2{j0JprjLQN>urbmW1RIxsvx(~M~z(8 zl7F$I-zYVP6`R|WtB?Bl3#JXM`aem_LHp*`tkmGy64TA5%Y)xwt2&7ThGdmX$Azgl>GOGNrM6o`TutNT`2Ix!nJ2^vE^M#CFI;) zjqWAw`R1Vz%Wf$;2JxBH*{Iq44V zUfx=*9c%Zo_Z~U!?Ua6WxphCBT3t9&alPQbyH4FT<~rL+YT#7=^(wD5t*s>?RDon; zhKECERzHUPUw@?2TqT=gTmt57ZToCrs$;j5zpKp&;Uu>>D6{F-3y2G9fA??^G;ggL z|Mw<5SAto$YM|+mhAVf`Y1mCEmdJs>bcIpaBjenUbsP?TB5BpdO@6*>NDsOc%nU9r zkPZ7w>MfU5>svMacDkw1%40Nx`r%3Oydq}>B-bS=DhLWlWNlR)XBd@uRgHEPqKmvK zdb#~Y-PO=H$FJ8cSgk3MVyNjPoQ)eeX(e37HKtIGZLP z$qY01_2`*PUX4WXxcPdm-Oi89CCL6AjLj@OpX`Yp>4idWZ|Jdrs~gJ=v+WN0CMU;F zA<%9yA3@Kpw^;X?)FR)(Vx(D}gXy355{rEIV*Jc6-?37K_xfPa`>(&^2JSj=_#AB& z<5w=LYZ$RM)8)CIBZeD$nf|`<>xKYV_Mfeyoi5_m*B(*3>3rP~cPwXRN8tEai| zNm>K0wi7WM@LUlwUMtKKZiN%mi=JmxmmFW^+cb)b`jV)#qo@X(-SZy$4i>T%o&FgG zJoV-0JKQ5gj_@3og0gQ;#7_@S&lbWmVQcjZod^*T`t|_neNq2V-$SR>NNyvtaduDE z4B|K8K_|baT5Rq^#(Aa{N55?-zcX*YNrX3t)9b{obUhAmz|g5#B~<+{~&7kh8` z_+Hl|F9E%e-xEqJD3k6XA3B(!p0KIh*(Ml18p9u~^_kDxmx{M1j7GrDo51GX*hASP+*L}@bIZ?QgB1SncER3?g_AqkC6O>Wu zY_=X<1e?GvOIZt$i_3}{HJUITYI>_4pU(*PV^yP-a*mfMW7LqY^-)r!FSTRVb(DhE zmfNp&AR@OlaiVizWM6huXCS#V;!ZEMbxk~Vm32s3-822cqJn+_1@G%svqNS0U>*gP zl(r@d^^zZ;4k`}+xM>VpGwRmG2}>RQ9?YJ1Ry%Wf?PzqhGW8z>{easGn@cW59*M=? zUn&_DHRJst%I2K!LB!eTlXbS0ZAn#f0D7_B1l4~Q&14#{zczPOD#O28i4L{qT$A(`ryN4Q$f0+6L-;*u0 z5x&1WTar3lOj^{|rdw%Am+)8PSz)mE?BK|m&R3zIoeTM94h^V{&ypWD$ObPT7oPzX z7R9)TfUHQda`rlWojxoe!!qsxUf0^y@A%uu${lYyvE<+!qN4Lpc9$yGvTxUOuZ`zp45sTMv}7~ zTRzMk@Bx%$-1hhqsUsoPA@;=#bsySLFQ#Pz4_<-b^+{0)`m=MQ-w%jbUd zbtn1}4)vA5HXC)Lb#JU7^<@D5N;(pp-zIRZv%VM!Jls6~7{T^{q_P5B)XB$KoN1=Y zFb!w%tAFXISxrx8)r2=`vVs4>I`j?Si&NBGB|x-yewx|98&oM;x9Led@m`0M(0y== z4>9~mn{{de=k1x(b!6VHN)*=#DxyA^R@KufB@kO5HA$w_-`>#xIR0CRtX{{EcKN>2 zrRpfn;0KNwGdvifftJ@TFe>AcX1i7v_#e=GxF5<#i}DW2>D<1m1>;lwg^kRXjfIdSo(x!q z6xd?A8FuL5dWP}d>+bHL(czB8VWNWMbz!ZLEubv%uWz@3JP(v9)iEA)k7@m{Y(8D= z75=Grc#pHKUpt1cSBcuPaFe&qP0qqrc)umvO92glc!#}{p@wND<1Ej+%lf0`qy`*! zN{+RZ6sOFK?R8CQtsi~|+Q9L;pqVM2)*?ekJKeO8-_V_QxtXnbf`4i^8R0bLVBZLh z^@KNZ^0#cT%@^S@NF41N4~}IfozvgG7XXJ<0we;2syr8!s+`SXLZ9lXOY{Z9gb zCjn3j+=?x>MoaQW*6pT!flMLWSVY4>;pp6GN7K)YV(Anc(TktarF;=BHHc(8%=tRs*HgJcJDL)h`R(an&m{yUwFDU(41vBH|B+n^bnQ zhJr%3WA4Lav+<|n-2dymcwWT{ROmN@9r0Ph|E;MzN7n!)BarRV*wy#n;~fo#mynd_ z!+s{bK5qjQ%1Vfi%&{eqQ4giVVPACI&%W=>{LnyOnV~FkJWy7$ow4$u(7@&Ss^0!5 zGjniSQR&k6?CzD<)K~DwDC$<{k1<^;K+TEEFKV=iv()B)8A{H9f*uK~Ub(za#XOC9 z%DHm{8C=t5i?7^;TZ;i@j)`#nWGnF8?Yvt`ys>726@0KY6V<-yGB$gHC4^IEo9wOO z$1v53Lv8-2sC_}5!vWMK%*V(4o=e_}eRTXtHB75G)ke>RVb-Zj#u!7pk4Szc0-fIy zSB(+qi~fOGol%}U^W6_Ck~bGAE4AEq#hhBuJOSyc;!7QW4T5aey*X)*o!KZdp&e3K z;xZ%rukC|NT2EY%SK4mX2~Q@axMz~PAW3ShsIRi7_2ESRKwVT5?9k}-Gz5F6LN5BV zpj=<$ZW7vj#q-vKkIF~FT)gCQJiEF|Gm?Qg*+oKY@~-UWJz9NeS4k`I?e~Jk-nr6_ z=upW-61*VwaSUKo6LB!CnT>OlsriGshPhk zu$D`LH&2(cVV6R#aN;tOsxZz20UU96TORDK9eZK{NFvU`v_JaRP+WE)0^7$woJMjp zL%e!2Ypzt#i)m8B%r#n#CxMvqO(K3+ssh>cj~}a&UBQPBDZ<~Ek6sjr*!Qh&l9q`T z+Ikuv7}?pU!ijlGRB0dlk>9(fNpz^wNxsp)L1P^~=HC`!WA%7DD(MPhQ)r8B3@q2R z1E!`geJ(vJevr1}W|DqVu**pZBJz37;?dX#1qS4Z_vWS@{vLG~wylxuUHGAe6(n^H z$JSny(=hB4x=I>zDHisZPw)d5jimDvX7HvGxtMdJ*KB2bM`$+H4EEB5+#o<7d7of}j6%IoEPm z&m_mM{1XW-{~k}xtKGoSuu2B_34MOR;kWE!Z@peWLP+ME)n^FqOGYZw@qbV14T2~` zDbcHX{M{gEpiPW!v9TN>sqY#G?X$JZnnS#74~e_(oG}3zCXfY@WbqI7?}|DQcGw@p zAF|&%Pd%~N>jTd3Kc`4>_{JurmBgHr5{qdVQVe7{N=2~2o*HUe8@eBG>z;K(>+y{{ zC2HIh{l58Bs?6sgy|t^DWL}Ogj*s=Tm3fR^uFV#wKF86=AN)LT-bDM^9M9BC^-8$& z&pS7sR+o^4HmKnIbcKYz*WrULTo>2(T%`iLn4K_&P2{wW$ zg>9;zx4eBhxONNE_dYo*;qwH|u}*oYUZL8e^AjD&hAUmv@1;Zibh(bW=%59{_x*yn zwDr4)txMFi!MMKtU;OJ8x8v4=VdT3Bj(?^KAGKwa_spAnxZDt zW8IjJCTY@&*LgCv`em+kY6RR%3VP+wW}T?0d8ouvy2Ke_@EU($E1uNXf+&LtN?*$- zn<%6|mv1xe@)AQr@WPZqtEX+;A+01Gk>q$da^n&Qs zF0^RPel)&LPz*VcRzxj6yfvtzgTN^y?S-f|RcRIjY0pq-^q)nf#aFujD<=>|d(uRE zO0T@BhOSu+V~14YUVhdunV$V%OT46@%s$7i^Fp9%_43%180b;-!%3bF@m;AkZe#xm zsAl55Z|eVC&f51))W-&!DoE2*PV@*O`+oQwz`JP4{`p^ccmtjcQ7xy1V6%cOlS36!;ZpTz~2 zq#3&(ri6U-bnSSMkRvZ}ui`uIldQa~df_bPHgO<({oCL2p{)tyUtHmO&neth=cPn( zvVstT&)Go|tHm`7BgKg%*2LoqRR(^Yo{2&%P+s9Sv^0i+OO~{PeR-#y9&CsY{OZZ@ zK4YY$DPt--&7OBAPi2DVoq{WC43YyLpu8IQ;laG`a&atOel?OqDrk}339tY4Z*z7X z#S0;ffk`6_;v`GA@;8m*mRa`0sjxw1?Qa(t{yvkg_6o@7aK5%q>i4_Y#l1f`ET(y2 zRa*-v?OyXSoc1aM4BlufwO;Za!Zg*fryizMHhDPxoV0J$o3m^IY~tr5ozdN_^C!e= zG|s+*t(=l1#f(ODvDXCoT@-!8jf;t zWe@&gxsXWP0|tZuGe!xe`QqzxvCg6zGw0`jh56~X4?VCW5&buJBw54EGo}*Sr@rb1 z!Dj`$NEc7X65riSY=$!8l4?5-l8jo3i|BH(4C!j3_g2n)387e=Sl?&FZ^dFdoXiCD zMy$p7_wZdVZ*uy-RN(HWwtAFmq!Re{IrQuEEI}E(V)djv0}xo zK%q$S0>$0ky?Aje?(VK3xVw9h;slqVfx~-t_p`g_{h!O+<>EKrnP(oEsxQDl6k>CX zKcsLDajisE_BMlFh-@;+>Yn|cu^h<$JD>2nV*S(Q)g&y}cr$SDa8g;65xayu9%tHV zMB~~{+S_!{qjK)X?@C@x>m3=uM*^Pt-$O!t|Fd%OWh{w7LMOyzWpm)JI!MHB#zVvx6eSu-TgxQt@)r} zAVS~9Hm+7Oi8N%Kq7c>ipAJaidN-bjz7aq>gNKQh?UquXw_O~|0y;RacG^e${&#io zZ})qOKePP74-~D#rX!>oT%o>PQWFrLnL3Abc-L(KYQoTIoRM^|Q>Ud;3LFuY5?OQY zWBt$6jG>C)9sbW7mU=+Jokwr6WDX=nCM0X&nJ+LIF9pK`umWG&M+eEmwyR)}m4C2bu0);K8SIEgH1#ZAJpiF1N< z#EO?93_eUP``3*9O4i!ZZQR{06et)K`$#sGaZ35B2L9eOf;(9S8|DH=?#|b#?W|Nb z^Pa}{4njCPt>=qj!z9Fbv0|a`vDd!qLtWXOsS8|HEg}^}Sr!({KP8a_k2?{?J84+N zzfAbB6^}Qi&9>nkgo&or5f_K|SpYT}?;;&xXh#a-NUZquEke_EKG1KeR%dswwUAip zBz&jn7t*r-A4j1`1QSeJ;}lqBOx?{Zm&>x3k+YM%JX=`=Y-2X{i zBMo&xo~E1^mtUiNrO9#@{QGjG!Xf$}Q*X)$9C}uen>D8z&smK4J(;_}^v2wrp-$)b zv__6QR}|*33u|r@cYuRjig5dj{_%qkJ9LQ`#2=4NWv`N|t$#VdnSwwO$txO(S{afk z1KCDI`lcR8(`vQG#Wv@J+#ys&$INrD@<;GbqC#t}q=B=^UQEv7V;9?wFAJZ2MWeB4 zePIpesa5VYOO8ZCuXh?o=tHkL(El&uT?&$dM#S1q20QeA0cq!m_Ht9x`rcDpHcQ9k z^lxA!RL8QOnZ?d{SL^bCg9fsGxvHxq@(srVeKxNlD+6mn%fo6mjMAT8G`_R zxxt`-52S$jh>eNg_*r!>j}tmBg}aqS#xXw+ahU}08o0HL+$V^*#-G>d9H0OA93DL~ z@rC_>s%as9R{3dpM3jyiT=a$-AD85}ea-hq-_&jf&c~h7s=l%4NC!3^Yg!Gq1h3|y z7ytxi_dsIMQln@ttqzb}L9KB*-El@44JcwMQ!6(342r0Z8nB`X+aM|h(-dlp5}vc` z0sA3%F>8W>D#mrpGpm>MU~!sX@&Jq41eHab!umE7`jm6A`PFI6INsn->tB8Oq$#-J zwHAIV>wTv5AbbI$9;9kajCrL18uDy}9*P1Wj%@a~sAXiVjs<$IISxJ{r@x_o{PIVY zJ2Knp+}eV{CJ@x`(s@nNW!KDH;L^j|8!`^$^ZWU92`}s=hVg?1&8N>kKk_2}+yv72 zi12^<@LGt+a&oTB%4^~8o7avL)3vyn)c$4^g>w#94^AKY&vh)t_n%mhjLUKr=R1i- zR7-Fv@N!ALJo&jGz2rn8D4|`8OQdH^Xuqt=-6_RCUu^h2^E*!dr&;I=@;deTTkUEq zL~T2sedG`H=F#R#p@1yQS5;6swWyIj;m_d`%q3c6CxeywJ@dm4az#bkwG`^jmCMfc z*0Lvknv({@!VXzSuM7~7V|qNB9y%~vKaNYyGqoF++;Si z6VBv%!UJpun`$RBO)@B6gvkj{9l1-S=&+a9v)Woxxn0~~QO~BN%&C1|23Z1Ios-Iz z%6R~@vTGv^Fl48Mk>g=X=~uCFr~c&~ZQXWpQTw0wM!wC0%j0HiVRzBRg#J{D*iF%W z>>^(cvPNP`E!lOh<|`eI%*29ihTGz<4m@qCt=t~!zv~<&QtX6>H)54mNt=1x^dmZA z2JW53;TP+9ceJP^k>ikpjQ3FGwX}WtmfK@8+GJVRs6klj(dk-zkE5^aA#kfp)SN1< z%UYWHrcx2jC0IVrlAGw6!v=Tx20tYEm4d0jNaismYWUETT8$Ropj*4n#37`}6h5vi zr=S-CU2U~el(;WY$2WXXrKl~_DXspTl21J6i^2z6d}Wx0zIS#c>-hu(inL%=DH}~W{cH+~x_31a`|j&u{u-e^O1$^FW#3-^hd$=#78Z5V zcKr~Um)n>=e8RBPd}R!84!Ce4BP?tqx{a$czfpU13=dy*P z$u+&&UOaSRjehax?on)-gYkZh^+s^j{pNi71kj7Wc>M6&xGR}*`$M8XD|dnXjfIMk zTnIDY;@`Bz^b9L*vs?C5a8brW!|$Wxe^Qb1FV9r1&cPX96c&7DQ!{5v#EGdglZoCR zJa|0p8(p(KOY@$KtoWAIKq1~f=ZYf_nnOyau`7FUJW@sEB0q}FHf{<%AKF63? z8AfRIzpwTN+4rYQG8=wZueI78ir;nTXu5+g{d4J!Sj4V?;61{>U?xZtthYM(%1I_4 z*eFYoC9J22oZj!9>=@ATImdrm-C;>tNQ^a1GVDtaZ|d3}*en-EMA@+u3_E{)$m)gi zRBCH=ir5w7z*m($iF5D30 zFyUoPnEo4`3Nx|HM|wlsfDY&HiLuf{%#0Bx9X=roqhk%Z$jg4+0TCcLr*5P z{mh2U>YX}`N8^|CexEeqo?DA{@2mYf9F5$^ivn~Whk_$^CV-9?g3EQSugsssn>G`! zbgU2n@;IhXk=JWXqR0v(H1rnjXVbIW$^#%o_+j&`BW4ZypJpd=#C)_T3~f8vk&96| z;;kqg9%HvaFwG`2fnxBDSb#y89q~UB)PaLv7srBDHp=$@5|@g`ox9vr0&mW@Cg6af z%EyALV6MivDvE!u;1;)XBX~&2TNO*S_sx9-T@@TSZIjMOf~Nj<=(Gq?cE>?v9z6|P zNE=|VL%3j@NW1APwF6<6fDzf?V_mUxMqvJno~2pDxNOU=zCxR#uCfs&@^C11+C_J~ z7aTX!263mU?WvhH(C2Nf9J4Sn2*Bcviid-(symipTzu6^nSUtkn|#P@7UhVUHW0&( z6D#xSC_lXe&(vsp^_RU*y3kZ`7$2)%&uABqTGRIPRQt?ZKnacgkh>2QK2b=W(ESCo zy!yKo>@+7?W6{iF)c!p|rFgVz?2`@Ln?&sU4cu(%I+S73PKK#sgiKH5F=D@yLi~Wd zZqrbY<;pZ!c&1>D+gO-6C1`voSbOKmrS4UDw-isBS<9^iVUVx+p6G)opPl$doAQme zh)1gGLaXbs)vI*GTFxn~(KfZ?yIHB?uh(ZIP z(Bx{MuwSa`JdMO8x9#UY2nv1w=!h-V1_BP9hS;Rp=dyl*fSN6rxx$Sy;Vr&ghFu!| zsmHPf0)F|QptL>O)2j}ZQ2Tb6edwJ^JMLb{f@6)#L9w~=0;YcdAz<(T^(8kD zmvqImo@bcTVFo&$J_KGZsP;M-hBF539cfK<4V7L^R_jV{JWwi9bO^Z$vioTkGch3i z9h4>@n|;AHJ>cBd&tSqcL%)dBnfYM0Jl70>b+)=>z3zuxPtsgf{wShKa}nOs3eJmW zcp_v7DPU+)q6;tzKJVg{k`cDS{^33TDcrdvQPz>{SYFB2*;6uW`jD1gI&NEYlj${7 ztFqIRB(h*vsW5J(&ag`N4i@NOwB=Uo$cRSOiN%G#U`4<7`=(N`< zdq0k05s{H+oIMpL>^6pZHo{sn`Fh*uws%Jp*tQM$*l|vuEX++Pn9knp z24Quq4p}P=sS!?5TQ3|flbNXgltsK&8ybJ0LNv4|)cuz8G_B6ogg{8*!{e6IT-9qh zORZ!%|BMqE*HE2`HvW##%-3>Nn}mQ$qCry@(`C;lJHkvjL|2f26XJJcP51lc&@ zijl7xMr0w=lm7J8Ig%(N23MAskTs)GtkFfGNs==)`qe_T2u`fB&q7AUk>q!oOTX=o zbDPJ(cG+_=U2XQ;6gs@Mr}62{Lnl@{r-e&kr`pwIqh`B7TcK!3ML5Lsv*Ya>5BpHT z78%xTS`nX^4i_saS5Vqv;j5rpChW4|j;8%i558%}Zw_UoQEJLE_broe`dyj*oSfJi z^T8#$<%OYBZjI-^H;9)Lv?nv`O!PE;nXsN`IsAJ)%q36JzMs4HwCOtdA9Zb)L@Czj z4A?ICWTeSV|H2*4o6FdUc&jyEU}Jojcer%*0;dI;|{= zSql37yT3gRen|CW?3$nM?t7plMrVnt4WE9=vu@D2F%K6BN$he~7F{bOZuJ-#K0Xj>Ypl7hiyW>ZSga!Dj zYtVw-yGeK*1K%vY+U*dxe9_KIZE)afQ{0i|m|e77 zrUK08yFwPtqTNGsMayKt0$p0AxWo_ru&`^~TAm=|R`*sm1&S~vZ4E4R+^(t{zoLQX zbTuYSNqo?Pbxzt{{>M7U-m5ibUenU=DZ;r1KQc)^W=Ua@Q|naahD1-zgPtWA#6g{2 zwMH*jnUA5ar<7|R`u4Zaxk6rm+tcF>5M7;@m-B7MK^7$~2rIsYu6HEsWvcKKi4kEsc)Pg2LkI`t8z~UmH-ZQW@Ak8Wi z;;G^!9F<69sg-Eo6LY51@hK#TtLElLyQj5~)yDEW&1?=&E4u7Zn#;~2?NprJ@p_De zCA*31C~=J==}UBh0JV-gLMG5s;N8ocjuEyWcVFMK$m&>4-&GYd8ztMtuDrh-KQ-U$ z%b}U=$0E84SLI19n%6HK9U*%#MG7GB+C#jDN$*Fp*+v7;mTFjB-(cR&?;L3Q9Xe}^ z$Ez7yD}PXf&OUK=&}>lB6tl%a-DvdeTGX_ZuKEoZqmg!exm)kejkgxNBMn1G3?&>p zEI9O0F?ChUoEJ87-5+Zenl-&u$T}=Zu^3Df92CB}>L|T> zC>m>2A3Oe-y&&KlPYbFcnhIC*aRe&V@Y6O^65*bln=>vo%&PG;N~O-l#RkQhslFMM z++qT_zlH113KEJxip>iRCHFFV1gx_dtSDcF@L1C|pT@R%Iv!ORJsFQ_H%Cyfk)?6b z2T|Z~^;3#So{C&nL$1HDbc&^~F!TJb3=Kki(Rf4|@fRKDsj(7`bwJ8tp&{VYic=#)bsWtoOVlO()b%y7bmI8Jc;Bs{75vg|G+EtwQ=z-aZBtcl z__yBBb>nMAD@^8R{R6#xy<*mJ%4e|MWyQLTQ$@o5GX3O9Cf6vBMTpnTJHJC?JKONt z3=4U#l>+`4Wx`KcHGY># zJO9z=V2{?G43qj6sbHVa|r)qkg2Ezqz<+}3No?;9_}wn0^SND7o+S@i|Mq>O1Z2PLng!-P*rI7mx3ZKysO`GRjnAg2eu0elKyv zAhdr3(Ro&{J&h=nr+0*r1GMe1PVcH-6-vcSWXZ$biwz?wTJj?ZZ7YhuKA2UWEl++A z>!SMx zCmH>Jh~pvVBA|N7OXY}84C^w)BX+-iN1Qm6lM#GryqiHw%>FISbF%WU@$p7SwtfV7 z_4M$ts!CWVf1i&xqnyLT@{{e6x|w7s?Rt)NmlDqrGUe|x_ACNfESO{BNxnZK5Gr-- zJ^hu!HsO!r@&lB_G`-#jPf{=MsQ!0lgh)5yn*e`NQ7S4N95gg!WW?8>U49axc}Gji z;-?JOK7ZWoY31);Mi)*>>(W=6;SpNuQC}FRy5-OENupM{{9uC2AC1*#`yc{9CX2nP z0}5ms9YRyROkpZ#PYra?1?T9fg#0zMdNR#uF)-XsAU~!FkXNfR`t+lBeLDvjai0N? zouCjAPw{!AjKwzM_S zW^FnHOV%@C?jO0&>{|B%L&w^H?eox|k^v9bvjB?wk24!iFfw}>g+1)R;i}1VB+X}j z_N`vsS#=#?xuV_u=?I%UbjCDSU~%qCdZvKWlk;O5<8`vMwg=;I{`}of(Q8np*HWXN zX2eB|fE(GQ5BK$K<#I7&T$QQFdV1J0|4!bUiTt@M2pQhN5GAp5Ja$`2_kxXHK@CXp z)iU1EQKr{9U+@!hMiuDkSDxO6JHE|xVkq*<%*}Cmwr5dVfx9xA{oVqkWQ^HI9$U-; z4SgSwfCyQg&ca^t9Ev9X%HVeXLwd@I&*DblBQ6d=KIFTxW1(ATV9c<@jVuLM$2I~e zQ{o=s)=5fvrVOspd}qP0V?rC^QvuDbx0>Z|5d)nVCZa+I-Mjz| z`4Slsj#FwDi2&~}&IFJX8%?X$Z zc)#CiVIsL}DqI>c^oP+lASaps6iv`9-7LJmbnyB{ez!TliJ}yOdWcU$iBw49Yrjn_ zH20EJ>D0ptUt%o7D#J?XfjX-`;s3AC|NpE8KWYD^hYilH?gh+)W~{7TDoQDQ-m1^d zINEMhnml;$J(A-R2&y*kgE>8qZBu54XuL`F(fEGn$B5`k4S-AAkXNS3dpDDW zwsow*F9&Vzu3KK}i(?do*OWp=QINIc;zNgv6EQQc8W-dRCj8es1uBsOOraUOCHQCO z=QipVBIJTSS)Bzq_YlCWwp*j8MW{|Jp(yT)fpoPP(S|}vkr(4&kKr_36r^MH9n0C3 zQyVAePY)6+Ti;}te7n`G1%Dhav%#o`4C7b{%4_X;;QP^zNqwo&}cWMgrBTdWU7($lg1)mbRnQ8uWAs=K^f#NmD* zMJr+in5@-1tuNDfjg(%hqZX^iXli3Z%`kq=_s}C=yx(_uU7|{qE5F|6FpO>g!ht-`Fah76U%81YQ!~}*r$QWOWC0lH z9daA&4|`ST*CABv&hHiRcpkPb^j&vr1m^iaQ!mVqQV1UZdHt_QSarJ2VNNR1mg4k0 z)&?TRbt`+VAdh_M39URHZm)Z{mJ(2Al4xWQ2KmzzqCRnuXR2YBLiEmyu$xJYoK@JL z)Q4w)wmc!(LH|m+kcWYwVD2h&4$uWU@yC}zGotz7<`jPXjD+Xw_xw*@xlE?9Y+Psl zG{}yd7ORcJ>m)^JN}cNSdMA16JKxQ_A(8_}jT_OZA5CSw0y(SloSOv{Es7( z5<=bp41GsITc;6D)|mo|=Zo-#7Mfg1D>gFyrq58zKiEXwb)Az=7>7MJki)>Hn2IZ+Ww|Pk*K0bfG0eaod!Nv=7G1FNnK7Q4i z?y^FgR!eLac*w;knV_5wja=xSgWWZFZejZx`>Oyo25Wx0R>pOPuN1@AvL2asDYHO~<);cLRI(Ubi9G6dcmF z<}hWqHb&8??uu4DM9;lB|94xD!qSrIpn*-ICEPk+PxxPvJl@W?;lOhY@!}gXz{XqT z5#Upftr=_%D|B%3Okl*fW0F*k(ywi`QD7Vg4+$v3IJ14KKg&odT7Sb)@g86)9X;X< zj;T_pH$C6*68Y68b+R=;|MQG$)OQXagrZ6czr@)HB{E!6Sp?#ANBg0e2*UE-H50GJ ztsHbNY~q_cs<`me{!=_c4y%v(ty2Bt=1a-SFK+q`|EzONpU2rf$16=ew)8aQ6u+z| zbZhV+b55`3+f46IB8(s2eeizXf}SlW5LM)b_}swt*A{qmN|q&7G0&!C$4fFT3C58% zsFEN=!`M`JLREjTraU_RONWA*)0?rS=wOF54}wpj8u5LvljhbuHlI7~1``NTzP#=>HDNY1VP@RQ#-D{PK)tAA0-GDFSRISb zFuF&nD5!ebTwa-<_7riJ$@e@LmKI_BoA1-4iz|qHX zt#PLXnFCt!-V|n;@&#AarDoollH0UDA;yMct1s*9z}(p z++rVG$KQfRq{+MI!picgAziYP#R)S(=(h7^RV|axf{yXd^Q2l!lWqeESk6IJoFJwj z3c^8em+nO|fVh5lTn`xpy}|)Dxnz63L;8PR7et2my;4dEg?glJDXp~#ZLbS|JhS&) zD0K8r_|i_)(ThO(0=6q^)=VwUAV?KnvD`;5Eh*DC%hBpOUyyePfP_W`wNenMs4r9S zx+EV(%V}>k7i^R1!&wNcX`}Ue)h)J!J8AzM7_C~MG}K4@L412jgGiIbcnf3C?s=)x zCq{{A=Cl%pG;re50nq+sD4&`@0S{Rx`jSU8)@8iy0yunp;PKbn+IO@{?B$$CLy}Fz z3B3n}^+2;+ zPg{@Ar_Wu)|LC-ni7?LF!dz(p^}<=}%p5NxTV{K83S|a>x+>5Qoo^|%N-4DIDRmT7 zfnR7tb0;Mglw3TfM88GayciT1%P|0n|E$k#H(TPQo{!?b+RA?&3T+<9JE997#EiWJ z?}d!U<*`{gDb0I8A2!?KmLA65y|}OpEO_jOUtc{M-=1|!U&#EQP~m^|3WPU*u4Jrz z)_Hi|Cbg!{zHnHGGlW$JvOMHgbA`P#dBW4)|C%K09LK9*GJ$582AQ`r5;l_VG~{Dj z8cnNBoQ*2alka$@(iD6?;1$0)LkAaEx%BQM4R)sa{p_;T{<+82lv$ep#tJv0pxs1z z$lC&h-?dOL+~H1Nd&9b%MgoBJp>r?smxY8<>q)5sgED)dDa1*&tM^T9B?7c~0A+<* zYvkM4Y*z+xqflJ0!e8bMRvJHb=70uo@d1;Q8xmJ;7^4$rM6B(r?WH=~G4zH&eOCn> zIu*CpG9}gZe^opOJ^Y5v-hyz#Q6CzaicW#6C_er-nM1K^SWQ@%9v>Z>6Y~3EjOM~? zXsnijJkCcu8Wm;HG(&;;1gxD2uS-lbFwN9);gJgr=q!rTc3Xm!c;TJq!zCmD1GnBh z4${+-k(vnwh6!U+3e6HXQ4kP55dn8MKL#WqSK--jQ7}jfpsyq4Z}_B+#YV52lTSWP zU+-oOblK05ZpwINCW5ib49xt>X^btgEyvDkF7ebg1AfB~+1%VvC5hWrD{)fYLSB$@ zjYSH$s3N+Kau45Xioi_pK;BWif?}QSe?1Ki$J<&SJ%9jJulyc zdL1Kv%Fuf0j!u_b}FXYIVqH*O~TXkyx~Wmt-p8?=`yC@i21HQmA9h%{CSQSe=FQ4>y6I& z43$}LH&N?@r~J3?*G1TRI>Emwz0`lJKHW+y+*UnS=-{sG7M#>;-0;(EPzXUyPFOz= zVKhs8Y+%ZkN6Y`Yj}QClw7^W z!(#EX(Lx1@o7g9^$dn+6KANyHy&$)M1W%*)JGx2OA7KE>k>9xO(Jc<2h-ZL_h!NXI z`uG@LfTWhU3w(l+7e?W7O(xM)pTBlcW_gKiw{mw+&S>C3=M_8I0eiCE?L3wE<-W^Mus2TvSxVy%P|%Ccf(6*|;tST=?@TZN5M-x4q1sf?P~OdM66 z2W{;bz0;XyCW}=OBB?W263AI3v4H7A>v*Jt)d*K=pCgu?G?uPD1z`4*4W$*&h9VUxiQ&MlEY@AhAU;pNA&Ass%BlNn}oMS z4L8keUxVm}vO~#9E{6wib4mo0Ng}^4VT>%hX~LmRqWbNGJ49Np%-~QBPZh^U*#>Ei z=6)OCmlsNH3lu_UiGY*otB#XLOSST-tTbQgIq9nmzx5KVGV`wtI&(%xVX1w<<9)AV zwe6=fzS&~7ch>6*_zg|7fR6`S&H3G?{oU7VVXzx46T-ap1Dnt8jZ>;^(SyArShMC?( z=0h6%@2IYNofJN2b3M$~)YinUF4Tx8pVgPNpJ0?vyZK5|#y6B7dH3CwSx5eHL@`}o z1*dP8h^w#XYDe7NJJF`Q-3Hs8Vy!RLTKcS( zx!811|9mS1<&Cn2OekcUi9k$avg@TMsRGaGU7=KSD8QWr_w8@)qK+t+fFHS{xPFFE zRds~7eY*#rs3eMBBZL=3wq2m^m7JW`zP14cw6{8S!N#xZ`a`k{#sAbbo`7#~P^#Qe zcsK+mh1q$ydM&kdv!6x^G=)xo~|6`0tM(KTVQT;Kxee#f6E$X+*lQZ|MI z`Fkk@r63p1m$*JZ+|#RFajYQ}yWoxkckX{5?A%lu@9r0m#7$w8hP=MHre>|JO>hf% z_q5J>02oFZ5#h=R<8(cw@p8;g>M#bxxI7}ut(NB^3pXKt-2JeOS@wE0o+7ipM9$r^ z)%!v3l83=X(S6PQ(%^3bz=hlO=}FaoEG${X5?uNgh*GqBqRU^-Z~fVU2#NCP#0{N4 znXrZ-W+{qt!|w)icTpc08iP$Ka{mCWw$ar5#E`C*SYM|MyCbO^d0A?(Vy7DTS0y3t zPPxQSu(HK!kC1vJ@mX+*f9Bl)FtJkinKoR{_i6IBq9DlpknPsyG5QuTm@4Ruwy}*@ zz=$C6EsXYpA}2LgqtmIHg(11INvRrEzUakcTY5V!1_4fB5+o&LQHZaGRaRe1(%PYA zVtP~_VXqE#fJa7{e?pkme~#reW_edIu$PU~)@%&>ttl+-mRN;a(R{Xr?O3>;u`;vj zbMGEo2tV!?i*&+WpYDbOkV2(nGQ7P`$yRrv$BP@wM!Hj&*aK18O(#q$&r0|dZ}Ox6 zycOI;H-3~rodV>Z>jHw8H6f+pq<`L|20y?tK5|N{G!-i@Pd2anUG?78&IVdYOT}ck zJDoEBb%<)`U>p6ZhVO+OAbj1_dv8*JU=O{mbxGfpj9Vb=Ur3(4gHWuvnw&3%RPrQ# zFL;r&2DhXoE&QN+?A<@s#RA>>3k~Jc`?H~!TnT)=?}GZZuii?8@L{+-NUe>!UPBiR z!UJ{1zzUXOGuYLMM&UH|c_`KTYGZeQb&i$adujHKln-$`Fo(kJueM7mU)u_?3?HA% z_0!|kMm@S_me_!#m*|*6@5&sz0@q3Cq zh(!LNnf1yJu+5Seo~q7Nj&YB zgxYT2ik0(_rH3*O4aQLqF@Ecn2{%tZG=U4;@XCY-a+fA?bdH%JH8lE(AZvXA6`8eT z7(5Or!_u~?ZdX!!ABn4dE4Ih}&?M15`diDi!7D;Wzch4tJpK4NQ)E^d)N91=t#Pw# zwVKfgx8j}1;^%n0qH{efzK3{$+PPG|iR}GzBv1orye@1`*Vk3JIF_$J-;ce#LOTm8 z!F7<)F zJ0arnEbY2}eb(7I(fYDwLBZ@bTqgTd9%Xd2$;a(toXG2u8`r2R0FLEOLnqq_z|nFM z{hE|)A@MHbVI<%ebMA;RPLr>t1|G;Gu&0ip(*tbq=>M^;R}C=n4Zg;tB*tSK`uB8d zW|6qTDs92;$^8(3ss^^=wFX4r28lPzqfEQ+bSa9vXJc&U7eAfL&QXbG>v8W?SS^Nh z%E(G^epdfO1DAyzFbTX!n3-qvd%0vAZO(lT%ROxS1+T2@x`;~Oi=i-T_BAGCTPmkf z*ZlHwJ-vE-Tnf6?-I%-&E8!rv;v;rIseL9B8K?LnOiHnMR+jmz^y`L)b6xuH&;Gz0 zroeLJDGJDdnvQLNP+iz^l+5v*{Xgpbeu`szl#*%f7d9-g{R z47xL{V9xb0Ibi!W*x{)&6R&R_LD<-&wyin>~Jfw72cxcUErI7NC&+^9-=xRJx zeZ=M?aq%B#RLk_zj+~;u^Yb+ivg$e$y6qoWpKg*~!>ghmvAAi%^d9~s&DZx5tq0M+ z^F+PruHVX`(8>K;>k$)J*DEuBc)0PN;NDd6BPeZ{Ldc*{Z3oj`T{!#davMBoXSeUy z{^I<+_5Bj53-dS4@3mj9r_kHS2Oa@CQjwa(`j!ykJ7 z72%&-J8!N|K9O02la#N`Y%nlaMdwBEz7Jx@oc#+m+eUQ$HyQVTGZX(4gcH0e(_o+p zz@bD#sl9QlShxm!-fAo#So`5}Dmh1N4a8hvnv2+5IZ%>pvn-jDB00;+FB?oX-je3d zJMk*WO>usa0G0P~1e+8V!*Vob+A_}KNl}JYX-Y$K{x@=Ji@r2mHR+g|*KYP! z;7sNY=b0}1KDli}aM|zYyg`hL% zQ$+5~0E|t*4(9Ez$+tuZUat!1t!ot83WtLdUM&H8kU)Wo1G;-mOWoQd4P;YEZf3?1 z*yB@DI;S+Nv(36TFcm?pJ=(|OOd&hedDY*~opPWdA3cKU@;jBt8Bo+xd0cR*<;g&uydDpw zz$ns1^-^xVU&Znl|9JF+X+CB3fv(S;-AR|!W`seH2rULKK^(rEbr_~>ra#2s81^uJ z_4P4JoV3OII(}G1m+Q;(UH{qRZLxD-Ut_uYjYkQ!5bpu9ELK@Z*Fve9P$~bnrlExs zKJ8oO$>v%>t6m>^K6j;ncIyq1;@NpD1gYfIpw6gsB zb5on+&=!`!?l_^k9A6Dc7#NktLf_JdI!>pStY{lA1W9}<2qVDd<9jLN>>=P1YY#NG zT|$;G{t7;jJWQX=1jyuSso`d?urum;?3V1UF4}lp55ec@)L}?Uvlp`H-5M}56FiM+3jJv@gz8~UoQpmkQniO4TBBQrghyKsAq42``b5KOy~t&=R_(NwL_&tLIe0`mksQ(a=_T; z!k6edTG-e!#h?X7j5&Zbmd!Fx=(me3Buc#In-Yn(wFV@tveMmek_e@t2N@N;lBVZM zni`=lbRVJ_7$&p$20K7wGj?^*=AV1j$Coizdc~6zFP`22^FvdKA73M4njo3K$O+`6 z0|mVr?5?uxuSwhrzWzq(IYl6fYMazFyTGgqs<46|M{EU#3j5wrx-w;&tm$it)LoMu zEAKr8pFImYTRv?(dgcjpK1$Css`H{$Hh#4w58rs;=Qo&Q!%+^Hx++c%iz^i%Ya}E7 z%{RgiNu;N=N$_+TO=J8nXL!4i8R#`bKN~GiA^6#qs?zPOs;V-(S!ys1v1i&O=PQ{O zMf1G-5h8QB6z%I8;mPI44pmy~YVWAnmX~D+76XDe_k?3PsBTzVr}*t>>3%G~TCdY{ zP1om-kEf`hOXktG(W>=Vj#FA2JlxQGqW82)Kw+bbqP4d3bw1N%sEA6m23C^0C2kFT zRmHFg?jnuG$19@dPHvX6CL2O;ok{{%uivE?QZDP6(rQYdU&mNud9dh1|Hb_OwT>xd z9G999z8|jN#=rn=zsaKt&f-pP^WV}Ctoh<6L%jpr*0{}iLx{POELJ__KivlWf{i);naDqHH>2aGg*qs~@=(_# z1U7TYTxX-c&{$}4H{ju#sTC&=d|ZSLIhPQe4sL!!linePbd+?ZF7YSdird5+|5660r&xGgAr4(zg*S?DsG@xuO|tI?Te#;H{>x4ty~thyb&ue zHx*tQ!PL-4S{|5m-%U`zYe?1EJKe=C%4vG+CeM5A%s4@Wf7Mwv(inXA{+Wu|Kxc^0 zAXR24J9Djz-Q2Vy&5G^WYU4~fq`!Lp`!fCFO&+8jVE+U2OIg<@m4brhc{D-lF1VFR z6>^qy;H-M>et-%_dVp}_xJn!e9~=cGkmH^>yrydGQq)`!>Z)LE-U$beQYkZ#`6CF+ z3wM3eo~PEEFaJ5ey&Y2oBZzbRA?g|f>e5xQk+5H?NXt+K}fMd z3D?SIaoKMv$^|4w9Vok)r%JX<8d2Reu43gftIiY%#eare%r_IvvN6@u6)IQ+O8=U|gIE!?RG!m+ z08*8m&7K|19v)k{Ud(ziM*6m?o7gAw%d&j5Gk+4TiXl{=w)vn$W^TXfnQdQ$4;)?J_ch^D` zJr7^Muy4T{A&zU`oWVD<)MlR)fSR$aJa& z-P=2L@$R$ph18Fq0qR!fmZ;G&IadXl*ejNux_ggeSRb#^DJqg_iRI@n5)rT)ZAjc7<~qHL|0=lyE5}2^UT6sQqUn!Y zEZtG=^2zzF!?I{kCku~rV?z57zJ^W{qz|niwAlt!3eaR~^I2AtYv*Rvs6^#O36P^y zr75|cl!U&7Nq5zFb;U-!)a1J&XSSRq=8sxDg(v-S_<&dORVn~`iS9t8tp+zhCqVYi z2u%9gqpuq@xn90FT)e2ZFpg9=^d!x~6Vw-%;GgF&#;zy5-huhXB&&*DjOhXoQMN^R zAV(c=@8ch${~%j^L6}t&PMD>_3@&mf_j7OMo#`(4}2vRYBp3LF(|9+~ralaOHrA zTphBKhRyGR&F_WT>W@yPbOH zVIke_JXA;QsDj;=H$Z9m^plUkGbCWXr?7s?M4yfcIS)$WEe6LD7E%y4r)2Na!wyCX=AoYo{u$cR?|ng#o8%-y6{R7Hc`FHSdB zrHqdp%-TKO`PPb$1&i37ye7AjC<3vv%t5FV(F4C3#RsoLGF7(~R%D1?WSYB}Ce@5i z10qJNizv1!k%9rXFruUO<|69lOKhXjJF~S;x8Xb)$ zfbyK<$NfZ+dOll>qmBJW@<@9tO8FnhlthpUP}JVoXQBhFuhxeSH&q{cU6+We3FPhf zZO2{+%LV9so$p>?!ip|4j(^tO6R01vLw!|oM589gfQ z_vt4}B!R$+Hn8E80#=zYSRB5hz>U(R5RHc8v7qsI#|A#~1 z{`Gv6zx!{ugb9i}QpE8gRp}E!i$Q7@N{?-Oj34n&R1BU|QGoofh+V|Et{ZQ>*x2QF zcDBiYNPBO7=+cqb*&50*ACbpgYV%xShU+uTM-@gC1 zs;j!Xs;j!|9^7-!InQ(AyY>EL2X-5^;T7+0dmZz|DqYSV?!?;Z2P-%crC zBI}9kJuyk}CqLn_86%uBmrs@8d5iXo3(+Wg8C>z#p)}lP=7ecijY9tjEP;KM_vk|QKl6v$(4 z)C@ZW(&OaTd-uZk;l1eO#rNUK@!_4V-uStBLK9Ytn|bi?mnKvvrC&$UA4%AjWL#hd z{@5|OkT!2nb`7o8?e^L-^)8&9qpl-t&oRqu-E?nC05w*^J75Xq5&>+5KTNIXXq$a^ zUmDqmvXW4X?^?KbP2>=$GzP{FkISdF+KUPv^sE;#XLTrHF~A-E4_K>dZ9%+Rul^Yn z4;D|p3%&pz&9D4LxvN;VotVpV7Jb{ZRK`CdflVo$xi7Rkx+F)ivo5vn)awjJXJ5~I zWCAe%;ham6w{12;>op~G6Hd`RKzUl>KYPn#SSb}-2zX9^l^Ab#Z;ywkpavb^;PH7YWU z>H+1-iQV`lQ`@!IPDI0-)(Z%Au8h}qSYTV>bn~Df@~w==$Yt>S%Oo9;azwS8qy{TR ztU^Ujzx(ms(*u-2+4w-f5AbJx=>RXXH*)k_|0DquHb3J0n=QfSK>FP$sVK0o5}znI zT^WzO5o!zuzC9iWwFrj6!`yd$^O$|+vi#Id@qvfh>%#N{iDO_C zflJfUO_ANxV)E0P7qwY2?zsR)O<}CsMe z(pzOLklQ&935$~(FP|`61sJmXXQ30Kiob#8Tz>&fuGD$k0G_9fL)Wi*3Jb*#biH9% zU4t_}E!t%suxok>4%X4b&!T2nH0dLh>+mvVBUnGD5sL(WhV95Lxqq3AV<5 z*dwUB!~5CA+&JQq!yDm+JSlF=s5C4rP0bUBv=3#0!+x-+I6e?6^u+Xy zk`XWm6amSTg~Qqf#m%!Zfutj|Y?>k=foc;vDn=76Wuh`D$lU@3K>u=ODD`+EW9NJl zd-euf*+YYR#BBo28Ez<}P%A4rSD7a|A1Bg-6g!lCS(MAo|652jDAA^mARdgz5ya+d zl)R7H(-5Q*%S9t5yo^juVd*ZYU~^dy^dwq~Rp&G#5-Cgyg+SUYVS^uYtssCX2Tvg_ z?8D-{V6BV-!Y-8ra@HYEFf7U;d%o=M(ROsrA|Kpqx zxr(qJ-yS>QdSz(7ALfm0c=X$09jDI8L%N645H&VZ(&~3tS+zW!cIZTyr9@rA5inb} z#s!!JL&0eH^-9si0INPl{_XOU`^OflUv$Ddx)p_$ z%1Z|oH&WUjMgH?je7A*0ZtG0`j|%jP$+|pwe4a_CygDz?_N1rB z?a|o91YHIXS&6^#dxmv1Ksa95+c%CT6Uf}SU7&88K!m*eti%}dISAKc$HfM=h3|xa zKpy>q+`hwq-+0&;0BE%2z4Xq#O?P+7%OpQ zIW16YL`XdfLxPjn@lrwHqkl*Qx&Oez{CNx&dh0Bd+{3RYXsra{Kg3!_o@A>*Pqi7z58S8ObMAYS<2Qf=U3S z_;m~B6bv6!9vou^zl{9nc~7zhcdsT#~n1amh3 zv(Yt59i%#m% zybflfb0A3m-Nk-dgOLn%5Rvflz~WnVpcZIT(H>(~&{FtymdCCRf^~PGdK(?#&gsq4 zrP-FHm6~C2#xxex>sTl%E`K#4Hv;P8#zwJ(_->`eoubRd(74JizC5qwoVP%7eBZQM zYrgk}z<_iCRna`UqG`(3En1Hm>&bL?jT#;+gAL4Y{FTr9Bh7agfu35exhd)qWAmUr ztK|<~o#YRdTOx57U`eWFQqvr`eVm#^b8#eWN_mi)1VT44cfsfU_zwhfo-JZ12%ey; zpopN=!VVCkq=s;exnB0pqY!$1BYxX>(b0?HT#X$H)Jf1=*2a7 z*1F0~*lwRb4-ev>jN}dMQg<*U?tGPgVMK*t{hJLTotS!^6!n zls!yv-co%HYw|j)B*;{Ax6R4|>{fF8EsMUi3M$1(T*7cy#T{77QMs5Jb5sBB=<7Qr zZtSY5a-CfaF=kfT_;xnK_gz-+Qw-5RiI=YD9K*s1p5-stvF?Yqj;oh@&ZhF(kJY_$ zF?-L3QjpFTIs&cqQQZpnrA7}6Exsn%+*OG00hM7Tn>mgA(Pg`i zzi~46O6;C}3$nR5GVPN#;3rWPlDzAdGA`KPA{XTd5!HU^?6Tj*B_oPVakq zMHbJit$MW|XR!G}qxFQnrt{670?atSFgQPJbAde^Kn6tS_e)q>Z_;*4n7u9T^)e|W zTHh>YAf~np7rm`;HdJNxdeoNo3$1U40(ct2x)(RL;AYlcTSGSc2?4)O+N^0iT@J%r zXE!X*5A7?9LN`Y9zII-pXJK{Q5u5#TP2`phqd(?qKes|%^&4&17e776_D8R51UJmV zQ!0B0U@8v%Upqa`t!7V;trjyeH*X4qs_{^E&AI(C>%Oa)vj1Ae z{1Fgo{u|uB(CYz_kJ@jFL!kdYwacC{Ex5{hq0)~Wu`CUeedO1vPmt9Ii1mITdt{Hg z6dttAJ@kw>T<6TYC+Y&7ZE}F0laf_IzLZOjr5MS-)ba(G` zH}cUqh&GzAEX(;Bj>%uIHvgQtuavQ`l(}xXow&FdmM;oTA=0U*;=8PO5L_Qn1KIj~ z3QwYHt7OZpePH;=9v)AH7#r1M8`TiLR-L*M6=bCX4dqHQTGg=R@*mR4TqsKAQ1nS* zsv~_gAARE{hUAg8KTItGaWIt15EvFJ8I)>h6l)liYpB($s8t~_sns#d)VdeIFs(#j z*sS%+e(6&M=~MlJRsH=lvzEkFBY~z-0ULz&a4&6SDS2FkCYjiDjGcUJ8|5KWX)=>! zu^dEIA;HTP`Ek)2MwJ+xW}Tr(0~Ln0K)Z%op^92zZ!Ml=G1ExZp)L{kB58*xCx}&* zi?|3YuD?p6t3-kzTAa4nSq;71F)g2D^3-TD(?}L7rV_^U4;-~ZC`LKc+O?4@S4pIF zxruD-!jDEi&keR0xz{ z){i4BveN>z+Fm0#8mVZy9>1G##x-VX)i(OZaFJ9A+ngG>4>WFus;1S&)2#Zf4|*TEgyFk{W&J8LM}K7&o07s> z#J_OPyx#khF9AlIVqm@~LIhLoI%TwvD*imp&$Vd8IDM&WjA~S9l-1{B2x=HK*b6n( z_@nB_!}|q3u)ONB8JS?&^}?4Lu7HlN_snE&NH)X~G(2)VKC*|utiKO?uHj*3>nMWNE_H4)F=N(<>h}r5)(=4O6IKP|9VK6oSc;JGy^>T&g$-Xbt+|cQ+9UIk#^}2 zpaBNp<;LFOt8KJWkZFT%SbO?s@v!2PU?g~d_5tk?q zf0FeOR3Eg!9<*pg@ec9B#rdLPKLuAuPJVNNVqw2g(R}W#K8K}a9R@iwK~-zv<`H7& zVWOwu;^z_Ke=*SzsPjh>d3SJpI*R)EJr8w+x4w@Aua^buWXs$QG_m!G;2~~3bFq9v z+guD$BG)lZylblL&X>u?F?WU!bT~{P-L1cK-8N7vY7_jl@j}D+;$pkhJRUmQ!Oau5 z@gZot8C``(Bn2Fa+w`d1748y%_-_se*&({u!8$!SAcmxNBB}Bv(pyY|}(z2}I z+^og~96JsSQSQ{q_jB;|a~SRIHPs=u@kfUH;t{-&!EM?3;3QnrIib$@p`>23(d}qT z?9RsrQyQkT^4s{4?PTND5eu?#P*M9vv=q|l?nQ!+G?7#2dpN~8b zf9@diix9qv9fg+I6xuH@YXbx=t#RKA#ROCDIu6#KOxGS&ZCBM$-#kSo)I=7{OGYLS z%O=(8We-Qdq*Z>QOWWboE7CQWls!zIaU3rVW*Y5IFyqS3)(wrohc=zXB-Bws;BLz)#19S2H<@W_wI!Auv#x{vUICax6ANthv)4RqTM4&x5KdA zW76#<^J2_(`MqGp0jK(JGP^%_)K10t(jlX%k^kpu)64xCN4<4(h31_)%TbNlgsI7- zsgv|{dV98jKX<Om_&JgdHy$}S(v%0gyLM!46naL2P%rUCyBnL<4-yClH5-$59djs=649Wp2=>n zmZz543Q*F#y76x1+dZS0kaB$79wc8g5gnwZ1cdx|_cJHvmZiC+**>X0w?9`i(jce! z<$2%W+_ul>gN}0X`QF}v>>Nvo4(`X3l^K=3KhFDdzWwJ2Ql4Lu_mk`4xB-+>505Vf z7Itn5qa=q`hChmWXa9)0G#8)iVSnb2c$l03kH_vwZ&K_2OJLIUyj-V5|4V6JX^x-U z_QZUUIU(Ud%#^^Oin3hi02k!6k&wB9y^c(}9eET)XT5OexEM)QganL;EwEK`A%fmFfK0J%VYP) z=gL*CZpY1e+M7IKr-zc}$GQQPwSCR$x!2;N^3tOA7XR`xr`8hx-16$uj71freWMyj zTna#TU%>nBZX+&3a9Z!f@$xpVSz3^}KC3xu$BlKW+&c3!nlY_3A_QYAe`WxM` zJjZ&-Sh~hg+CYm9cXk1(rPwT;(M-E!bE0vvRHs&Fu~KXeN7_@{V9_kSWRq6izkGn} zk1eq4mR9|d;plvN$Y@WLc~%J34psS;)-Agm z|Ig-^ZGQsbh}t^>C6&S0=x0xkkI;vE=FZ&3r8;%jN({B>(=1I9*b4hyz=R%q!zqQ- z&uUvk_GQcO*6DLq)QY{w@`PTT%o7tG*oyuZuCOaMwt6w2wUJX?P5h|=b*%0{cD9-3 z>e$7Of~-06*3>Qhqiqu`{9dB>@>8#M_v-SxCq>1V2VO=NJHZYoUd9hQy&--L0XkGS zPR2VqJBrw?v2L%k*_1W;n)k=_skS?!y{XO#Uc@>7@y^$^{t9;j{kA(O-jkL)R=We! z&9SM!58i;Pc1}CN)*J1qrY$BAhUs=MTEUN&_h{a>lkNkP?dOg2Gxvs?jmgo!LGAmd z24&i9CoN8_c6;yH6WWL@e!lTH(g>HilIr{ut#4d=n}zr7h>oN(=#=K`W21k41<#h= zGP+I7KQfbCVbyybJnbm#ydX)YrelKFwy$J z_3_wW(Zbx)5#7#>&4ucAC46{Qdmg>z%;GmK+nwh9V7Ix*8#i~wC--%MJR{Mal6GTl z2dHUVvg7aRH~aKryjyx>yYohDxIEfJflKkEVRA32VwdE1XT!{o4+Tz zU#ML^=o9Kdu6A#H-dxHHe&&9j1&t#T==x|me3Rb~RSfB8#&ly>KFM4>$?C2QVJ)qPAkYEOCUaVo1R0O5mMKhzgF<_;1iD{!>&2CRltW7+7_U1}j(`n7D$ z=pg``!YUteg86WPgjjIwlnvV#QN7>U`yfJmMw73+FA*}J{|ht!A4N!9ko9cB)`F|na#D#5TRJmbAu zMGlTWv9_4&i)E@TEYqZS?d%|F2l|*eRzob{z36yDNX*^KWh10fvEsNrm%`c6xR1h* zDt`3E7>wT~gY~G5V#0$lFF zrDG3AF+E8&xzUI7M8d1IcbD${!ypoYAHY)+BlNAA>JHr9O#IzUtToqKb~`cWzs^iT zYOPnmGq^)CUVfe+M%4(=Nli13jWAA4(DrrKJHa+Mjj%Y6vN$jyLPph?Vs3dT_&E1Q z+6ho~eCBU|kDO4u9FJbdH1VuWTZeHF$Dv1LrJEX|mz$>VKlr)P1Nnsb(}IZV}=r0+}=4~@g_Auiq5;>c}$h9J=Q3eNsDu@1715C`3! zsP4gCb4;^Q$HrO%m$n`2Q5OB)2lp5GFaj5Sod`}}4|0K<(SBQkfjCHfD5>NKO{W+* z%A&k&u+>{-?c53q70z4L~yckoe-;`a$>Zfb{Su%Djn{n`F^iljP^ggZ06TXT*2UJ-j za$dQyx^};o>Dm#D*7+BFOapOO4~80}zG5RzaWQ*esQB^>6}>LqkMkJ;HPTcJ{Y^Fm z4DMzuR7hqn{XAISIdMNQSgg?5k=p3tl>xG>48yCfq;OJK9Ss>zeWN4k?$)ozD74}K zgu8x6Bl>(fcTkaUf#MUwGz7NGTlI1Ixc*8>Ep3`C`*(@I`FW#Z7l<{W$Y0`SlEfLg zvPpA+$8=rCU+H=K8sBT;4@SR>Hr*yq9KMYOvve( za9~L1O>koSq#O}e>QMNcSP6Daet&8td`d*@82s50%J7@jLP(iA7>?AwE~5ONHzS}p zP^$jx<|ZHpax@bmnVpc%o?E3_P{oW($Bav*KrmQ4t)B_?FaD)>2Ude^PXj8#Aglxd zxM=ZYm~>VkIz#UTLfWZe`e=d@sI4?y*!RU$p(LV}u_M%W_;q~i^I200EouB4UWoK%8u0;BvmXmx?xy6w!0j zG*xqMtOsmz^q}P9pu`vb8PM7?*4jSSS~?f6@_S4Dw>-mAse|-j^N;TCx!M-3?sf>B zx!QIdvvp3==5(9sT`E5 zP3M17Wx7jOYav^zSuR3uJdK*MGN!W$fGMwvhb?;(_Fjy8E9*4%(T3?sYn%&;+^}Yqm|y+@rC1iQyQR* zsm`_doAF)GfjV}##6j-&2}tvEc+}VDTY?{i5$!*l8~$rE{lo>yOT_hIWJcR1507&` z6$T4oNbY*!joT4FK_WE0NfOl(S{9!6-n*-OkYAe*ys!HOybg|;2n)ih8BjLY2&raDQ7$(HY_uyn zR1r~5iLBakUd2S2knz~ZRgOh?1wLXh<)JwM809ny*eO2$L$UIA+ zct)oWNOxD!d{p_)I=d99HkBsC6}(u;ju%7pH+=R2-0e#ak?Dp(`n`HtG__jhNVGJp zH8g#Q85Qib=3%3>v{rp+s~(F%qs*_9zUmU>5&>tW+FD0*=5l)x4f9oLv2$S|-&Cxk zH;Vs;p8^V$ABDJJR5&HK;rjEO+(D;TFUlM4Oy|=x=(01XF0ClxXJa`LlEv^2>8`QM zn$M>6j4JM+^VcuoK_VM}i>UT9v~Dx5(#YjdU3%%y*lTim=>Dl0n16&pYF6*OFd{PN zmil)`wK0hHmf~7{Lo@b{>x?0o1F|7xcPhwkc*j*a`{n-72~EKc6m6C;iaYUcw7u{$ z<}+z}6Tv%Nq0BMjuUB_7f#5Oa11@#7NmAfJ&GVWECr}0N8e+R zMG%zwSrStP&POf|wNlNNs%?N`ZSFD;vzmgI-=cnS&Kq8lIdB%lAcQ<+x!ifKfRv%* zR1%l9O~k0$?3) zMh$25ka6;)f)`%vN?vO%_r=D`LmT`PFb9^ID5_y;<{lsfh$3z}xSs?N*$r`tNY`B> zbwq>nHw*dKqX+wXJ!e7#{@zul-Z7?>ml}o}>YL5obCJ~K-#=f0JFT+#VP;u@jgSBO zO!;HE5oX8q2LvPwFV(EEqvCFNUV5WcUA6-Xr&RKn;8bzQ!$jEg+5uZK8;5V$SJI6> zB6r*KZm}!<1)a&Of14Zi@mu+XB$~e1h{p5^k9=s2<)$)xVWr0(9Is*8{xsK6Mx6Uv zTi5)Hl8r?aRnDtQ=8Lj};7$n5%Mou#d-B9wrIkdj*+iX{dcuff*r5nMMOP6TsRrp7 zNNM3^S!y)i5-MjD@D;;!bnvEL|0mUcILZ7|_E+$7J?mxFC^jHar89R)J&-8?vXNL3 z@6X+5qA9+PTor0^Xd;rhh}mr9?L*0{WO~LI;79cnW|4tQ!*pAiNu4p{VWNTKrv;)n ze28$NJi_ri<4^VCELEug!H+k3oi7v;@P)*G4|Fy&o^ z5ZbR8E(9{!AU9CML8Z#z!qQfneua6 z8l!Hj#Py4d1=7F6C?%jI&NJpQr?`uzqt1;3Ew&frV;Oz>R8cPSfA>^ivh19wObHZO zACGr`Xyd@}O0PqL_L7x1446J=NC)EsE9hNMm0+KlS32GLnsvU=vCWicJ}nXbh&grY z-()dX;x=kZ-KUXuVjm$gYJwO5^!{>RRNBuhtt7SfC2mGYjV$AVdVA#gc;o?nbXO-e z%(5WG+GPN9ww`RaLSADJL@o@^(%?7a#Kk<^N_=7LmwF>rqzXS>}Y>aT=QzcgeyX;T>!z7a8KB zfGdyv<@l{7StSFmGLkGb+@*gQ1^}KA0`)h@F?wuKA~y zR27g*C0UuHT!zESMCGwXPxy-}!3aijs;5M=qHCClMkX>E1*hmxe^7O(rse7FC28#i z0`SLVfYRqgBqN?YtWgY0d-$n*q>9O_)}vkA@wQYgSLI%=ZQGGsA+;GB&KXK+LW|T( zI-BSrX-^qd0AI@{KJ3h_eDZ%V(dfejh`$lD;eqIltpRBOT>YEnZ8!xl$pHsNKLi+P z|GI}_>91F430MsrsnsJ`0?r?|A4WyFsSS zEOiEH1Xgt$+l1E*wK%tRCT%Td#-#~Q;Mt%RCC+!Uphg0y%g5)Zl4vAI5j@ZNv~2UA zxzcUGj~-HBNz4XfiBZKPj-ixr6WTfneY&$z#uE-Z8$$P2kuJ#XBq&rh&Jvyw#^PF= z(VT}J<1Gdfs7LWqPS%NN!!m^AWWSd~j$tt|NS_ff&WPWOASl6^=yvR*#~XL+i6yYh zH5q6gL8_SD2N>ApJ~^y+LOD6?!1V(v=hUa;KB7MEu*;c-Pq3y|uv>wZaBUO>RD9f!%}W~Y3(c41b{ononJSxq zTe9&$iue>Z64hos3OaV)v_$-#B*xF4kl1?a_i-*qY$ye~ghK1eir62a6NZ4ZCt|=b z9H{lJ=g?aXcDD4rqr@##Q8y_1$=|i4iqh_PiwRNWgDf1#M@NGx=rTcTtr#ZjMpg@ZG@E5q$ut9k6fiiDefcF_;l+K3cfPJ z(XAp3{1!3O1*l%!CzLet{Y)sXAB&@CYGOj`$y!!&yjl1$FX9%aF@QM%g{tvGkDV2vD= zk~4;%DrEA9cqJNgj{cGc<wi0XxfQJDwn@WP^7Hwc!Ur^T=2v^6fLnTslfRDa- z@L)w8sVfQdkDd00Q|AC#I57KA`ydWYo^5$j1bq8|N`LhfNAVO#-sJt?D{>Eq$&`pn zh~^;bLwgL!1e4+t_z53H<%eX+G%D;D6;`YI5nVQog93se7;&|{=x_bwfx|oB@WPfO z92b>G1f4LqU zADN+KLk!4nT5@wVdPZkl^{secT?>{6HwP`(54)C)`Dq%Qq1x}n3ezAi3__xLYjamW zaKgS|!e^vYZnEd4g`Yz#Z}rCn{o!{T{+R&&FGiwxD(K?~(Q3?~7}#|PIPn5b|22lk zyi~6W`bUemD6&9GVrndr8|D`UlqSt08Q6P5$h6(W>3Sp=>JAx#M~E#+?xN&OrTau5F1M#b2_ zMXGW|1XgBLGojV1fh_aAN_V|VaMB-xNElloIJT#v6gL*%Lxh`le~&`=HiKKqyqu!p zl(<|DqS)yC9Gc(eX4XeC5Wm-qOktF2oYj5IZ|?l%HH{o`cmg~E0U08$-H5+vHuBqE ze20VbTtPD|kzh)ax}hXq|5q!=wA?Us2|jzt1^W;_?5;g?a{`jn#U)?7XifX-pg?p|`RyyasDi~(__{BT5-I<6yTwUqdcZ`sgqBp_1|6;Z?o zAU*2ZnT*&nue;4tigeNCCshs#)n1&$a@dFe{SAj#_4g@iVXAv2I(4R;5A>Bazt}je80a%~vY>apcN1fo17h!5`_PUfv?W+*RplOy; zgXs_Qf(oQEmSL-UJ>7jOI}qC?aJe&tM-84@y+-!3*(hq|hLNj|R7410TRo zoUYZ#hVHW6_OqP_J>(*(#dD&~Eu>e@^Xw$A@e=F?+PRS_80da3N-Fp!R0RnrZ{tRz z7eDc3#?ANiwuoHC4y>J^Ao*`n7)}oj=bzPQ=q{_rEv+=&z@%i~VQ3u%H*^~aYm+5!NANoz%clB>` ze*RkaM*NhBJzIan-J)ga17Za|XQ5`I4>FBfN<64AkSZ!tZzk6atS4ijaG3^5&#vV* zH@G8te9Lw&FR$?Sf>_p7S|UT#IjyP|aQ*w5VfFcbr7VoD0ImY8D)fJD4lqoyNTW~+ zNG#fsNOpDN!`n&*l6=6TyX@lu)%n@$RFa?_swIm$AF!J{k)BIXdK~YjFA&3IFrlzMLfH0 zTMqS#D!0Elj%*I;r}id+FiJfjQ+R+Zdbl`is_3rA7^}eoye(QE{I}64i;S}_$IM|Z zVTVna0CmwbliOa|u9=VYb*csqBjLCZSdqzW05k@f1uz+R`lKMD2mT)DyaWLVR&x=@!rz6{rqHKg+MaLV|sQL}O( z%!Hz9p2CjE+5#4|G4E$d8BZ1Nbe(I%HbD(v+`$d=Kn~-qm6K9b7X(t!UAC73pXoM| z`!FVGV~jsSW^~*SEhhg^l--B2MZuvx3=09?AJ@xMxfrRChb=ef8j23Y>j6ggVITT= z?SN&U@Porz0X_@e*Zifp_=mbR7S1Pj%p;CYw3JCgS1&(ODy7Rpo>OO4W~P>gl=F*X zWFN)%*21RRr&)j1{~^8qmZbzOkqw=OvBHK!cmvw8L+B+7sx-t&fF#&tMw?*(jtUtk z@D@_ze61nDPdZwc*WSptgIODV++}a5GT~N>QM|cA-+v`__OT0YAcy=zF#>r9vHNZ zVc8ac+(_(%rS)KP19F~VAQuXGR`zJ-nH9P1x8< zQZ+#vf~@L5_);^6z0Nf}KXH2gZiWhdD9M<1@Zt1h1xSTp2UwKY4A%> zWx^}mblGzKK-V|GIx-bqq{yAOY(6kD$~`$oH`x%w9>UzaMyuI5&p8z3Nor_9rAQo% zNR)xDBsVl1m4piA21S9D>r-27REcsxv0xG{5g0?IA;*?GTzU(!X~V;x))tfm@C|#8 z);`j`6ClxR!^6OuxOsrqLh=L7SXJ>31N@Sn@lCg?m3&EP?>pj8xjUR=R@itvP#UMw z)kZXeDvp3Frj0fOE?gUf{den>OT;zvPp6Z^whP~L{D8p2g%z2vfmpkC@7c@1i6tTN zLU~cXBK(c`!fTXR@ux!PJHgZ9b;X0?e4w^k4(;u7GL>3Q^+T4&0vDfqi>G>rvu8D% zLdgGT#{bu-htQB3iE_6cNWlT~J5J`mtesZ0wkLq0DuWHO+h#c748+okE={yB)rU|h zd1o*ET&x+b_&x4N4W9j)J}1Yt>KX-F>IJl|Cc!_9^Ii4K;91+hFzLr3Od#Az?V?nt zgwBLq`%ECuIku$@O$};9)Me~TL-zWbS1x1JBE*B!)YZ(Pz{4^_wy1gJdH+aqWs#hR z0@jwB-iz~1mG8*UuL))ftSm(Qz$3Z{3}mY8093%svbz$m(tMRUVh@nX zQ~*X}P^w0FEJ&`qA!n9&f;zu;B>sz@DdX**V6Or|Drw}$@Ky72ZjBCj@F&AzP?@Dn z%D{+jPpE}qm16wph1g6cfPq=UQRSF%rua(4Rp%Nd9N(>?#UT(Oja zRDg?w5|4?Gg0-^$>>)FgX-hr3XY&r(j>fD9V?{c3XyI$`r30k{R>pl4J`|47tJ6E*-tJ^oi6a>pMf!C>4Ec zBdlm9GfZO^eE~j+npjx=!0YeGxV&)`f@o2eW}+axr*H3u&M+e5_C+!<#?fNj@rVqV zw{gjElz(fT4RGemB&+Tdd9noJjtdrFUnln;Z%zm7BxxC??irg<_*RPEI|51O>T>v} zE%U%@9$~C9Ukt3WA?6H~k&Z@#M%y1P^AsH6iHI}hWcHGtdfo~E^8(iQn1Ko?A$nkI zjqyNYFbwSXQT4URCR0{fY56Yj^Q^BULc?J8rK{A{00K7fUvGzi{k)&um11R@P-LF?IcSvDV^JNI$|Bm>abJ3axIMUSJHRo z0W|qAWg!3aR)ppd(0gz6LTYN_K;B$@#+5aIFDYUz1s6g)z<`x85n+_=rc|rKGDOwc zM5ubX{x*7Yx20)|sebBd12$wGcPHdREE~y1>f3)#DwZ_tm_m&bXr@(`-I|z4)I2d| zW^i=ThkRk$F?j5rsXn#16BwNUC5IhoZrSb@&x;5??BUHykV{7``Lm1NK7Xj9V)XeM z#vWx@WEi-ODOK_kZeamS4=R@8H|eN{cdX8QvgdUA(I6@*s{rZHWJAZx8>nwcJmi3= zcQr}lB|h^pKi0(DI}l4qtLA~#`XLIRg|0u_D%(fu3h9&4GUGg&jUNb%@fe z$j87p^Lyd)Bq4LJ?rOY(n_T)`u2;>K>EWBA&eYdG!@FR2K#?ERG-VSYnw@w3O)wxb zl;Q6XEjHv-N*TOI2e6l(U$kz}D!v-A(b`nbWdUBv(EZ;F65di z1AlJ}#m+`^HhxpH|;gZ&)Gi-9vxubKrB8 zok4wE@_WoB1^)kEg}#5+`priMjAg^8s=c$}pwj}#4ALj!XbdxDqfic7mDU$VjdiWUsx-N#LO!^KgrrT;MF z|5}4IePF_HsAQS&#CQn?Ntt;<&}nt1=k&C9FQlKih`D}V2aiu$g+`t^LqClTxMeBR zMpz)*$p_A3CzdEKWs+(J6U_{VN24!GpttQ#c@WoPMb;1^Woxq_@=zW3Tyib(#edjH z&-=;XdDbTvFE7LG9Z@^F0z22si_NXzawj`+aJ(!pFR+};&yQ{dWktiUc-ML0pa88N zBpMgTnpCoIh}nNA+;2tW)#{U-lXpitCMsl+OX1vAom@Jy6oPc*^?zAj-vs;P6Yw$3 zQhZXQy55}A1HCDEe)I#5=cQXXn{zjL^PBc`;zS^Hr4wC*|FXTv|2;oK(a7^b?JW40 z71>e-h7^g7FCxPqH*qO|qF^!UJ<_;>)i&FTEZ9B_it{?!g5hmbwq`@eAMaANRCh64 z1N%bZ#g*X@l_{c&c(P8?U2{mT8gks%?KlYkk;yj|KIsCdlse#@icFD(Vy}4LI-~ax zGr4-QKvUwXRW?aqW~Z^aY_gFSGkif`i(8!r)x}#65>K8It+N1^*&&a3TyA1IfeC#s zz(`20#IdRCBWO8&>-_vwfFjwk#`}d-^!_a0FDR~a`DJx^B&`Cux)&vSgynX|+w`fn z{9*Z|b1)Qi2Dy;HBo~B~vx4hMc4_LUj_1w%zRByR2>UOa@^d{6Q7x&&eymw@tueVf zF!r#5sKOf?#OI+Nn-9*%<9g0jXwVYvatmx!vtlwvS*~$p5j(&_*-6Vr7Dc#BU+LtC zW?3})QCzxo&Oji=L*225+O~A+n>*}&nVS(R@7n(A%tnX8^sxPxe_IIaBkP~Y&*BJA z!goqe=tb!3DuKCZ>X^~4VDB6HY(kzCh;V-`RDsW*G6d2+vlI^`bo3T+{Fk}~gneIu z`|dj^n?O@~^zb_9f_vqA<8W6jTazhTHEKLpORry!pKf2&wqIe?XN@?#h*skAcbH~r zxtTuGt*|g-=DKn?XBq#oyOn|HGk^y>qlgc10Lvgu_EZFBU^nqngwo!$c1uXRQtubn;^5+IuIYub|yrNT#ttdi)AH%k1d zP$)ayzWg+qGeq9e!>fCnWDRlEZH8<7VF1c4^-Yc zDE0I#b=K5f^<{mfK z=f$urcGB=4SsjT0Y72Q8FAWl+i~Vqh6S3V$cgtbwt%`*qxvdf~j*JMLjFe^P>eUpJ z(>|61GF6sd)xTCWRbO+KSRSjI%gh`xi^V9}6Acg~M~=H&0`fr;Dq$avxXnIp z6s2yiOUs^2mO+@&ib=ZTE{4&qpNt>c4o?&*m$5|m{gr=|c?-2XuD2S|-kK#hMur1= zR2g@bck6Kc(%3@qCbLr}NZQ{WSW>O}p$qk~XJr3#SJ1!(UI( z`SeueytAu8M7wl8^7>xaBG1fpxrZn1CSnWIQI`%y!k+G)@L$B;#R8*oFKpwxC94}J z9Kjg$o2m49bN=`~=wmCV>p{=*dTeZHZtJgfDbHYvn_qF8g4JPd703LmjjBQ?H}bNf zfsFxlqxk7F^!WH18L$_{3Jfyyouza2diF5&4Pz`-GRk!&b;50BA(OzO6Lb>_I(T-B z|D7z6w`+$p zM{}%y3ZR?i3w{n#@&8KA-^lj$qW#pxh`V&Lxy|;9pdc41Ajm`djakN9$*K zO_2w}zt=&39jM{7DUpglPXxNIPRauL%q8reV9e2%whzu(_VTQnOj1O)v5q)%5wu*- zbwE!B9sj{ARRMVvw^?HCrzWRnRvjT?kilM4-plh*%8K#t3b_(wz2Y}$Mo^K)VfACv zXF{m3Si^pEBu_-1&gP7prpYij*W}vDq*vaB9DoCV`H?7qgKbOCIvM!C*m}#THoNHC z7imii6nCdsad)Rsw73;_cXw!k;)LQ9hf*{+1b250?oMzB4mteqIQN`;-}Y0!WsK}R z&t7x==3IMc6f$pNVVm_2gwam<5oWtBqRfs-6!>pC+KL`#RV@2?owGB)L>!OiJu(F; zCYvDN28exl^?Bc2PI->fJW2n*RP6t>)9T+U!V$UzR)6+UAto-nxbpRq=N+b&2T(rb9cww67KgSU1xSqQcf*tkDB`j;=JR$xIEf*Q`a<1!`$lU{Y(=YrNipc~N2TFgyw zzRMmPTIX~t0&=J6CEw~J zR`@dIa!TN4X&=d`DKJkluGI21%in1^Q3Nor25Z!N(CNdvv&(PO6mD z6L9_*HQhfKPoE`{eE zBR=Ndq$$eqE6%*uSLAs9$pXp#*RD_cnj-=!G`#Zke9DjynVs?^;yqaD^b~fm8xv?# z+os{j@@6#U@W~W7_A&cJ9wkkZUX0x`o@> ztBio4SxhUu<}2ZYfUBXqOztGuVav~Z>i=(}_rEoB9D>MI&z`y>_PnPxnji;`Wgv-E z3L4s>5?P?%K^MptTHu81_1v!6yjJ8Hq#snVpyOH&PD8<5JQ>%Zc?YBt%~2;Dagq2T z|KqaLsZAh5P?c!pb#P-G))xO;;hzNKg!8Q~Rpb?$a=$f)k^&jXlo5talUT6Mi(7lC zVJ2+BIx@zvc@@=(z~aSECQbM{{mw>eFl`LF25u0Xv+IZD`q1KNSf$k?HDOHJ##N^R zw_?p~?iaFXr0xYHzJ6)5GI7lxc5iBo9shvEMeja0Jhyj49cPHvim1BUG*KZHb2c!K zJBhRH$=+apx0=>q;otrU9yJ#vKGw_pPb{`91Lndd|Gx(K|5=wa4P`i?6IXO$)lCwu zcPSkQ1c(4a2tk3+{Oa8na0whRl@t7|ASb~rNj-*kHhS|VWv@N`0$&CH zYg<>p>h@5e*!w(iUjd3MhP955g7YZ3$1tWIgfy^Xl}d{iSl$$4~#l)HR?F>*j>s*@1pu|SdWH5P?8o^8}F66Cr=$$4jmoW`i*X%f-@1_gcjH^ zq=&ZyV2OUq=IzK8zeR%o@rp$s&VRHe_cbqQM4|#%pRq?;_w!5$D3fB2rz5FU-mUis zPdk>qOvf#nRPq=)l9qCoAk|ir02P1GZ*%PZ`mEP1dHas%%Ct>nYS9njjro3Ej<8fn zDO!wgtyFVnEOX63qvVipV-6q$OYdTM#m|*tyYcv0qso)#PkHKwjOVsahOsOy*m2*-d3c@Zi|qJLqzi1ZSvTi7)2c2F@(aT`JpSfco)2dgMd%H$GQ-!}ycW;@h!dq z3@imJ9HFuLd@Ea4fhVsUK#HS(C77R#2amzFG3RG#ou%yystv{M-5bs%iHo5v!T!C( zRy8( zJgGc%C{Ig`evfXC*bOd2)LDs5(w zaiPV9#R3+j4=H3a`bk*rZsjQ^+b>4K^c*!2=Xl518=wDMq5h8@ur6N;H}Tm@pW})I z?K|9_1Vnoug<29ZKA%p-&7Ka~aTVs}wh@z)gkFi`XG=zJH~OkJQ=q{vciHeGe9y;` zAr<$p1fU#JGb*k zUh311k>N5Vy6N882IsNs#`<2%52V{h40|d4viqFJ{wI(7dgb1m9XruuweLO0FUsSp zXMO$jbDb=x{s-?UImarFffS^DI+S@Rpe?~jQ0Pz|#kdB8XSIx5bfH1H-5qw%Y0^rHz>shlIcAlMjX*Ucew2}rY zQnilO+sew51v67samJd8^q+RoOx6G1lhogovu?MYdZk5ASC6OBPcsg1{&=moI!x&i z{rV6xohjbd+1Y9z}~rZW({5G%8nYak%KQv(|35b zlI5#qd34A9M?;aC2A3Z}tsFTj6Z8ybI&@9H&&NAFesqS!DEMXhZ7(dd2*CKweYCLw zDZMr17~7m(C?xDgK}*+nzSrbw1PdRndr1n9@IRiPa&wEGvsa}x8)Cly+^?-oxGPFb zxuf~Rl}2YEHib$ou2s;`h6QF1H7kHlUoR|X(#>7xhvm5DLHS%9K8L`q(f^6<5P->7 zxfeiLHv)gu4*peW+5W&;>C*yT{jkbv$lsNq0EdgbwyW?S4Qd;)p{K`>8(qifkbK7^ zfnK$hvFFEFs@_1WfzC)O>02^_!A7V*jI zTBr`lB*6reE46j1Txho${Fx#joL_aWK3AAXD|W#mu63$DM=|(Lgtd9owcyP3aEFpz z*ZGy`<-ARq4N(fsazx;s7Efe$CcU4BkFmLFn^0Gq2AC(ISR zz+KV=EI;c-;dybBZq`9a;i&rG8^2LJ0*)TinoKPgVMOiLfUgOA8P)HIpq-}`s|M&c zZ#N1#xY;q0m^I~BFUQ6mlj(}ze6BDUb9-liK9#hnP5Iz*YP0stE2BjJYr=95cxTEh zZbjpqB`sVCX=eq_HwqRJI=MXiiPK>UG;F5H?%4@c8??<@!*bcwEJ`=pS|X)A$_;oU6i%A-9!kCu;azeem-=z_H(k)~xD_@&&uY zjF2^!ia$1O4hVa>*8qVBT6r=$jzc{Rvr8I^5%LvWlI*9{e0+ zKUti(eg0TD(#6+NTC1yTOVW7-_1*wz@P6O5_|tA{cKOX33$V>VM^wd{Nn=SH+pcXf ztGmzM*tQ(}tD?@85{#UG#v3%I!v8XtD(=X>FaH6NzA$vUAGxL^HS%N%lS8j}^`mwB zK6hUoa#};3o#^051xGUA^j2>+hDa7vr8L*o%W#mkC&}A&;Dzi1&dF}DVI0yRIq;}& zYL;T)JaFz|T3Fv!>)G6bygy#yQG&k#SLNKP&Sw1?_-JjI{{_EFEe+T6VATe1xurW8c5|dI44w88^ z2jEC~dgR9d`vV)jw!&;zKn##IRHBNI(XF~`)mAmV<88=ssE@64U6LULC$8vsLWO%2 z^jXzkxr}B?)qkJPle@5eaj|Ikm565=Z~fLpPGkY__e^u%wV+8pUDC zMeo#ePJ(Dr_o2H6@oIQ0z;Ak9cb=Ks^TeinL0oyyUul$IBkK%u!OUeID3I1(=-8u; ztphMg*ES!<1oQyRHM7nwR)oaNeXryFK1P{;8N=VI%D~FLtX(y5CI~3TZJ)6vhoMXZmoHO(67mlq~}04f}oS9yQ3t)uV8dY z=4tu0h&H4Zv?{tl(y~O>x*cp?g!%c0W~^TvkNqe zbYb3k5+Ar#i@(|0QIlJ>wew>?xO(^^$9nR(0*&#Ula622g?-m~5OQcV4%6a_5&b^) zJnmNHU>BXmmUA*m)G|k$d4#rR2VJv*I{Ot0`&Ibfw_f)>06URlRz=G^pRMbl)0(H# zmnph$D^8Er1jDmPl#McZnL8TL%{;^*+7@GF;)U$j6~}=?SDpV!Iee=~MaUtJi`9kC z+I>U@o=PGmVwm^$*?XerT`J{YKV=@S^ar*+?T>@VpAN>lML*b!+)slOM3?=q3_;}2 z&nH`=4kFLfyWL8>SymxiG=iTJiSSC`PE_%t_saE+Kt6`wnL0{`d z4DceRc?aUjI0ten_IVO_dNP0>9Vd z5E|c^H^CZ0rkIO7;EgEg!HEx%m5Bg#*Vssl+ zoJ<)T+}qt;AvF+B(dI_)Lom2l_vYiuGQ-Mz+43@~<4U*DZ4`h^w5Q3X_L{N_vR}Xs z%!f=Vpc#-p@1GX=+QvpkOKyq4w`v!W@ z;hd+3rsL{e1!qd2`~3y$j}%cdy*n?b<1NamB!F~EfJn<(&Bk3efF+>C`EDzQk=#-5 z@oxR7|7p6NDD!Fd;Ie(04>tHQiN%j2?<#7t*U(Py(JaJFj*pebkHp~C%WG90Uxcu0 zij&Pdl_uWtvuBmXYRod}Q?!?2gG&}rX>D}}`%Bj+^OZ^5U(NG<4NYUj9OX``eMC!0 z(zw3UvKnZNpz>uZ*WJhQu)U8lV}VCgeRlvuz9+velBsc?u>dZC%Noo(nAz48>zLl% z-Tss`;#HBn=vu>L&9s(?fIoDNhb6Gq`5oyIej)4g^+@kx%#s$!lWeldWxrJH#eM9s zq=^J#1Dh)}0?^4%&#s|0q-1A~2IMVryCy@yz&zML=tUebDEKWUHW5_b)x(=j5V)-v z)!1Cs(Ne>A~XyjBaAV3(s`tFTm zSSzUeM7Qol7kZLjy27j3>VkaeF38sC@! z!+QGsxR2UMJsw}B-!k0QMwCu#$d)ggmoaX2W(n+BkB=n{hnJf5x-ok;vu}BJp+#>Y znTcA7Ce4hh$(#0AN`xiqX3(a8i>$)g>XT-5Mz=K&*#mX)OfAXO#mZk7y0stFn6K{v zefCCY$B0Yq<)GK;iR;;cojErS6QW;<+w{rX8U=hz-LEWK0V3Cmtxtfu-FEcxdS3En zza~cC3aVrl-^%<;m+?Z^dspGL@%3N6DDxqVmxrj=y&KL~dPqo?(Jjx#e$H4dfxMy!6Xs)-Hn(WIj3~ct; z3j=QO%G>rc0=IU?&Q%?~&4X&y4{_x(B^om;YVk^ddJ`Gw#30qX5Zfv= zYu{3>3KP$V%?*RbmIJ@H&P~csdLLY39h(JBQgBgFpWKPqc8|3psE)ax>!TzHXGtO{ z-K~hb*Wi+f1a*$In7E`LR1_F!{8uY|t7t_)s}M=dUX6TeYT z`rX*Hc}6FD-k}&2qN3jH3QHlzU#;*=Rsv$NYxss<4Pc9R+nl6)Ke}7s^ zK67Nu14~TgQ=_LYSUk*JxwWy&S7BV?2aCj>o$AE1rLRxdk)+va?6jrzD`Y1i+dp6< z-}a?}2w1O5*NuZ$_2$!ovWH_oWQ3SA*XVVU&Uya!6HX{!J5Ve z&kn$+;f=;R-5Uq;2_%{_6r~_VVS=159kHxhS8Hz*3$eZ~^rSdp=mg5uDxRWA@7=Aa z=)e|XVVbZ1+g`<%2X!DVQ0=*fk-kF*$9PfxlvHleS$>q zy*r`mf=){kD5z#}y1MHRdi5<(P-*E$z~DRKSby608{}KTXUS$drepTW*X<4-NYNgkP*YE^)c;ECE zk1LhVhRHbv_&DhFyqM}CzCMhc?;13f`dqq8F2m^7{9i4BkY z4#rOfV`}fs```fueW38*$sHVtZ9xm83+~4}F+^#oRj{39K;>z`O>HzXsC@P`@S*OxkbPqndG-5bzeWZDunuht+HlB5j@cQ*2COEE|i)TH=%QSSCh69&Mq zcz+_=X-RXbnS<{txm*Z!3rop5iJiF{wWV>yyNeU8sydA*#U$4L^pACF+eL=MCIJ$g zIlVP5z)Zi=7)SjYLG5F=$)YA44eOQJ%xtydj4T12J{9r$*pf01&qm?q2!MYkc<+b! zuG1^72vPC#p-`pK-@hY%$?45zLGK5!+^eZ@b3elot;0>UD7#8$k5|FXs~!7aW_Jkb^L_~}kv9b2^59z_#~ zG}FHY_JA@cS_Coxa!1bA`Av+lN2n3ZgjiWevLirp+|A%j-WHF)c9VP=9SZNl?lgbx zBtD9F!Z!v98xVF;I4AY3#|7wxX7tpG{A~N8hK`c>@Pz{q_Y`y{3wP9g8mp6MAncgk!jh~{rw_4YEKb+jO;01s6pL`JNb(FU=Hz335 z2^=itlcx%_E8+i3t=={+3P|F2w96Q1Oo7__ftW&W4yw<@O!UXbUVek5%iOnrRP z)aQPf3|ft#S;Z?7Y*xix+xV{or)Y;mE*Nb8l;?i0Nq{JobVZa29LnJWF7&i$I$UJF z)uxsnM~tK0VL(i!8-F6Hn>;J0y@OL87TD$e`p%S1d6Nh}mvy2q(36SUsF1tUD$+UK zs&$c`z$iuhls4X>Z;%rxXoLi3F};k#;*qOud+Du8?I!?(nL1^WP5iNpvyBcn<*J{G z;N2rhqkjfiSqLepuwG(~XXOC+dAvdSv9Cbd1##`K>zsQEDX#=3?iEM{+l=d_IPuH! zT>~0cVdF8wnaxV<&WPCarV51tO1@3!4CfE?QY!&jc_>$Or=iCWyXwel{a%uhyk$}u z`zrs~9R=}H`l|q;b83D+1xP@l7ZrHXZ|T^j82wbEi*hb)C(#*Ac2z zTGpeK{5mOv2i5sL69#4Vn7VsCpEgI$u2&HN25-JEq#dm4?8|xyy}Drv5h$lFi`s&Q zxU(jf1y(Zud_eJe2-Mck;k&$*0u9-uG8;+E-hK+{biKk(8R12)0mHYwcJ7jAFiC4=`yidWg%;}Z=wJgN78$?e91_>i- zJRwvOKzX;U;j90KegDVnR0%o{{sEPXBqW~mpP=|Gn>>-Wu=d`ae@y0^du#zpV2;S0 zn9^*;gnC>W_oQ6fyMjaq>l|>AtNF4e}LTNMw9#>=yRbG|08>l z3&?1Rs4Cl(kC)O8&VQN0)$Vl~I|P+leFO}S;kGIFb^U?Aex*;=cRFsCAv?-?^6f_~ zF>(MI=|s?Z;=+tE@uCW)8! zR%_~3x0@FH)Ayjvx1=KQAClq47I&snJ_*+=r^)Ho=j;*p>MHs$A|d?>%x`3s7s}Sd z?_s~>RSny-^@J4!o}@F{RwU}smH3wpWR_m-Res>LYK=9;uNA@O*$W5j=D5GBz#m#M zDb~_E*pZ(Hzb{(NrZeI#dKSVtP%)r=gPhm5^ylH)`S~ru!*Uq|E@5(ZGhw#8g6N<1 zy<0Ml=i84FuZ1L5Z=AHHmS#l!$BlKylYC`R5-XW09JzvKQ82X&kLLtkx$n8ST7NU76bflV!{ zOxNuze?p8kj+<3#>!I8ElXsp(PuK;}og_TC7G*MKP3g-{BU-mAD4vx+kCmL4@E>T> z>Qu3TG0h+MHy%CH*7%i@zk1wElD*wWKJ|HdS(*xK^K7R+u#eEhBEZ(f zZt%TfZs|(|@JRqlnFANt zBL7p~d$5T4(GnkQphqcj)`IHi>Ga&tGsfmJX>Xz67fWs9n{&zXUlwNdorTatIDPY6 z0SZOdn@c{;KI>L-PF4xj=r9qn2TBog=0s_f!lqDF-^MAQR`7G>g7lm)h}fP~+bG2V zpy=?>5*@jxq~XR4f3%g|c(i10NbUorc3czqhuTtyR}pJiqCgBrOeuW3lF1QsM1Dk7 z#qKPCL`GW3d4Fn3>l^aElI_^j{c@vX%pjm}Ri}gpPmAbIwNRUgC20(YvG5Z0=o0=% zkExi8?~8v>%DrdHtiU+-TAMH{IrS4oK=BN#a)?_coH}|K3MGd^wa7$cip#!UZ_ zc>r^Y#cv(?&>VeA+og3${f7bd$v+BO>cd0{-P`_Ol16mBaMea#nSYW?#Ga3{52iEk zvGNDsVPw07fRPqz4ID>jCKuQk+EUQpgc^l7O22j+xHypVBVxEo{yr8_>0Z71yt5!* zH;R;UV#l} z9DtCH4#3$##6xmPzf%v7{cbML+#-RxK5HSqwslEXXgb&a$82XbVU8y0XNY<)t#@R^ zI7a}!u1U!m1^k`SX6zLOc*NFV(=}2JF6|sCTOC0Msl=6Na|!KUA(!c;M;5((4z3Wp zQnB)=3j(s_OV2Y($dyZxwibCpz-N^1*$q}6Bl`}2Q6^~>G|$4EiJ{sUFSkRqGwby3h4 z>Jf*&$^Ifm$>3q_bchbl?1}I_=((@CZa3oMP@*p4%M`rw-PBv{S32V zAMADrSoybs)B0_U=Dk{{dTq|6P%T)dxy(=<|D+a+yED<_eJaQX1sx3ha&{b<|JD1= zqEpsbcF$=!T7`Y7aOR>E?mDwHf{^^uJJs{3pB!o*_N%ahc6deKj?)hDv00&L^N@(7 zUV*uMvvl=S0Sk?&gL21;c++rrS8-(87&|)q`9Acj5qYq$Z|j2(ed@-+N{*Q$FkZ&P#RsO_ZboP#y?j2T}l>EBe&tM(dKACIbH(fU?UKk-ROE;V{)B2-c#qw5sDBMKd=R6f9E zINmCN&dHaOm(>OOK51I|o@(Ocn$i(uz-3~?x8%A9i1!5vBM#BE_!#cNhz@E>|BDyJ z%7Or>_3A?{`J8#9rCxjVFQ+e}44s>;63lke5ODf=i!!{pFoS8AYb7&)Ks=@ta7syL z0Y=7Zws5G%up)l<3t@W8ICk!H`bzCGh<^2Ldh9$7aRdd5isBiQ{qm35b@oAF1MC0> zufB|dZ|mwKyswi2US+U+g-aCQ%BqS{BOkORN)r~v<8)?4@9w2=;Kwd!mzga06lkn- zMl{J*ld56n0(hrdRR!v@>r32>%1sMBY%a0lCOpy&Tf2MefZ{YIa?pYSLa8CK9Zlly zI-2FZ>1amz9oHY;dlrtqqOUjTGV*e|Cp^+rW@hWilD|j9?I)-KO!xmN^ zQm%_l^L>epc;Q$&VzH4y!%LL91e?HI(Nkd#Z+hOj=#&Np*MDj?w4V36J?60-^KX?q zi(=0{#D(M?TpKozkx(Hs7_*oAzAY17dAO0ETRpu}QisShLU&v)y&7vmdO^caX}A=# z2Y%sa0<@LrUV}F$5~0?aL74~;99?uwCtkK;rxz`)TW-oyvte!;_tx8&T9E8Jpb^(1 zVPY1ZN_o*+p6CJNkkhnFbnQbuj#m9nf`^onms1hs*UurDQl{BH_kLa5Qx;$hb7r?0 zZfY-2{pbOmRHHk}R*0nl6fa@#6e|E~?OiC!VT!w@*_gb9T5sCDdmst9@(!#2iUc$j z3H3wiTD8w{cM^E1YDPlWZj9;?;LFrl6$v4I%`{>>`QV+G;8~+*%hXpEUd50YPr+bA z{f0&V>agC8$<}k037B4djzBw3^Q1^S#Z~oslXvlQDK()_|2F!bi8-o$<8$eM?79C@ zd}p6f@gkISnDL6>f`TMFsFK0f8o<=A%0o=Svo#gR(i^S)qDS^E2D*l5;FQw$b`h_2 zSd*Jkc2=2G*>q5Okvscb%xfhfK`(-DiajXv)8V|9Jl3?pC6Qy~v9i7PX(!%y3m5t6w347hkO3c4~7_TBEe=COZ65 z0C&J_j88TnNF0I8=TevJzq}WG@uqi~vLnL2e}iVI^j17Cd%yT4Tl4^p-QAMbuafhO z+D6${`W9uT?_WhPQ|P>mti49HZV>!_ssQ2BtPEaa^DIf}=Xv##GVvYGf#&$PfCISg z9&_nQHq)|AGY`gSZh!D01l=A>u50k47wV+R|Z`-VBto03Oyq8S4Qt;*FpzTus zcsg&9-_pO8pOq&(e~M z1aWthw+C3O17eTOJOIl+hnVYu8kue^va(Mcahbbz(D{+%hQjdlpDj3AgpNsxXU9F` zIHo$-WJQWkuiBaZln(Pi_N8iv;ViT##)7oJmLn@#s^ja>sgpBlhVdT>ic#(PO8r(X zRJJi@1QqDqc-5VE+T4Kf9cxcT8wVLbI+)HhA73Yf#g8N*kNk{LU}IKCyx7Nn(|!G7 zn5K=vKbmss-Dr$h+Bi&t4HL68FnuK&*+SHHD%iWm%J#=bhmzM^J&NySaeBHaVaAh3 zWt;X_#+hb$?sfFZdn|-s6wUWecqpE(8KhfrDV0U|r(1o~Q@;EkddjmqUdFx6r*#z>u0t}pHlO7u24RT>J7Z_#y39Do2@XWVX8oAJrmD)k6XG18vFwz^H!5xH-7hL8xz- zUWqy3R9C)i0cy^e+T%IyImnxlLZ<$Vkv#SJ;|^;Nb7Sj*JG0nHZ=3}25k{>*wssL3 zaIc(~^}2SVtw%KBa|IG^JM!Jj5Pt~Qiz#U1Mbml`>+n7R`(@H&9E;BnV`=>FYpUFB zA`*3L=tZ(0;+Li7!5A#uVh+b)@mtbS#L0FZ2zK`Az^aDtmJwt9(lhaVd?$)zzfB^+ z2cP?b*=6o?o4sZf?z(@wYM7Y9ob4X^iKDTKH@Ca2f20W^5F$>o|H+Kc@yYtprluov z@=k`*U6Bi)iUhZtlENR}zYd(g^S+8-a5irThwaXvpP5PPSAs6%O#7L8e;4Q=K_Q#dFYgjY!5J09DJJoK&IO#*Ma^OvxJTja68t&qa<>2>S}MfUKh_p$K=qj$noI{gS3a*zlZ!$HJfWM3N< zG|&;rr$hI~xQ!y2q6`jb8t&*qEkr0|^wb&PW=wZ~S_%rBCv77v&({8`|Hnw6kJ|Le z2VJmwGIDu#SE3+|l{ab!&x>T9oA}D2t5YF7?dTJeFp}M#eKosYn(6tOvI8yyGn`2D zyW?(nL_ws$_ms3%T#X&g;_`2lw!igZe+7sz5olY;{|S&Tjt!?V9Ug>f=jqN{q!#Sj z1DSLHX^BMZa0?n$&%O4K%w0UP;ACE2gw-jv)C$5Q<^>7QsBO=nE450T&*kd!v=8Gm z$wGyt6I6ggH{zpUSNF^5-!^v|Vpl;9IRc}fkbqQ7u^9aR6nTlIwRj9d)tM~s@fcsu z?f1=H9#0u0(3%w8D;Z6DiTl00-=`yUMK`-uxl2RqJ#r68Np-xC81m~Mfo(nykBT8^ z?cJw!wYbJlW1~QBtwHpY2e%w*uPCSJx z3rwKbsz5*TO9HGPX%d)ObYpd@RmhrE#%=H(4A3Hyug&IuLx3(0sS)?3wHtd43=P_E z*0y0u)NxI^Mztc18k?2gs*R244mnKxwNN`I`OZKdBcs=>X8afFgMBz_Zx^1IsVSNt z-8tKVXha&G)N2{xysPwY%}&hhJf@S@UU2O0dFRo0AFCX^u>>kMe&|e4f8zlt? zZ#&0!;`#Ux8Zv5fipp5#nTOO2mZdV&omX-phgYL7_wQ<9ekNy8m)2&^RVIZ$#@7^R zR3)yB9ZN%5sxf{j(0L%{HeZ9PKU%{hP&)`DfbyCc%gB86i%X5SQe$vTw z%~X0`7{><5hbIc&BGXjtLCor94z6$CWbs%aX8~e#Mlvm6 z0&#_I`1yzA@FPI9@v@|Um{vQ5fo~Z=m*HJ0onN_rq+RbJThp@{M2~$k?GvVy-sA%u z1Z5-q{@(OPiaCr(J|i-W;Fvk)qQzzS2Y95{PmRegcYeOPx#1%ZF@cz3E<0~W-7>e} zXX~1iCU~3RLDYeq1Ew6Fduj}VYj$9Qcvt%x^_<-_klimz^pio8tL^xa+~dx34v}t=3ue>9dE)W%6hx*O_%+= z#uouTu3=c@zGs`6R_V%gG?IrH*1dCfrRuHCx$XtMAmG zb20om3og0Y&(>%YQ$@F(#F^~U{?#$S(XVTN_#EDl$`bjlk%2@a3678gC&w2@cvlz< z0o98TX8AhSHLF{1v+eQzE@J=la#4l$e9HT+dBOQ(BDm1=L4tj>)J+N0_`>4-mhTxy zt)UD#FK9URCk-KI3ZZ%-=Ax`$zVBCy-+u91`|&i=676OeG2eV?kw>l@5;+w4Ks+zx zvQXnZZ|a;%COE+!?>hR^)EoJ&@wX?rBmTk;?#$wS9WEus;Plq0unQTYw)#-^2R`IZARlW)|il&U-frFgu1T@lIjiHzKE!x+zt8 zRfVwI4=a+^35MZ(Kzx7?C&LynLWJ#i@2`@VK?C@kDm@^pq*<+sr#}kZZ$3}TO9nO! z3_e4U`GQpo+%e?0)hp~f+o2ZFXUR8G(Mwf?_hIq;9fCvWI zP!u>7EENX>B;q3xfG#-5S!MtiU)IewdW&}ov4qpM@xCGRbcQshW_GKqG;I~0)~XMj zOS|3}5njKAeQVH7L~P?|=;#5AKB4C{woDe(`Mg*iUVYu0>`!a2y&tUTwIZgq1#W8M zMe0Spj(e6}-I$}p&?CTip0(YSsneuDHQt)z^FTLsUZB*Ez}LRGx=7cS-=F2V$a60< zUxE^l)^@!X59d9&O!D6jRx3Yw4Ki=XLl*fL9pp!wLpi>hv8Z$s9klW-1Vs z7MnKwU4!S2tXJEPWTP*Y38eVJINCJYLi#-W>keVgDo=N{%`erBH4y|v`t>=D+&*IS zfj&Jf9PS)s({FNN$*RJ$cCPr+V7DkPpf1cAu_uC=mmI@y{5swq6*N(Y#O&O+n~N$P z_4ZuDCd>bD`-|{+7Q(W*I&c}0IDQxB6^NB;;{~BHF zKz_@|#=1`N$;ZB9Tq3+i)}r!oIXKwL2{xErv3zT6d1n6tv)s3B{B`)yg1R?c5G7x3 z@ka7Q3nge~DiBC^BcyHk6wT}|FQT3sN?&)nzt3f;9#=k z^oN(kOScDXJf%GUQuI~XlKs3M$;w%Scek=#rJex=!)HYi?_Mc8;J*$Q%L!6iQ$SCR zV1W#r+suBgJ#p^44sf#+MRv4*E^9wu)qy0b`oHt74P9xxhif)8USvh5i%sF+G)nr- zjH1V*$k3C>N2GWa#AvQCVDa=@8^A({EPufMN?Mq-cLFYc0Hi+@Z%sb<}XbxhAZ=N zoeFXCzLUkiL{Ya?DbIaI?9rb$(j#yGS<&s}{3M%2?_t#jvIOlrKh(*c((YhbuIv18 zT~ePO%YOf!T8~ltYEwF@{8j20ard8mX0q)Ob`wh{uOIZd7WA;TJy}J)Bxl4=v1DWd zrh_uLmY)lkFBEF#=X0z~s2^`v^dl~5*;u3v#VoB^3E8(ULO9$sSnlr6^f$?AzRuzE zJQwKUo+m^DEj4BDQw&E*z9_k(+mcNzP?L8$uJ*J*70MZoO$waznx2n+E`4o}l~@f# zVP@p42nJzZ#r&{3i7ZcLBb`ECl!(3L`Edi23@>J=mPzD7-1^C->~@-kz_gj=TA?Wy z16N!U+gZ%C_fds?DfQzSbDzBGY$3r!fthV)m01t&-d#lBuZ?u?zSuv2tLQ%2$JC22 zMr96maT|si4f&Xz8WExt(T&_GElAW(JcES++2G=g88J^6f-FgQo{k}x`07CM{K5vg z^}s{v5xyPi;e7cyr>IqlMvbz1gYr5E^5E}?gDSFDZETqmq$S%Yo`xxy;zxL66DYsPA2#SXu74L`d+TFv z&u{mFqx@caee0cWhuk+D2#-zMnfHFA#AY4(Zv+;aMh=p}{&WLTG4vTuh7dYulr^P4 zot(J$t76_)#^PeLHk&P9s281vEe|RC{)Qtzf zvzNXp_tiaW+6%bj)N-E$=*4kv#cAQ&WbG(AN zxLzXEbMz2P>Yen04>CDVQwyLgnO3}i+#AF5{}pFmXEc)e9*6K%8nT-A)r?Y89pFmv zF3?_7$G7$=>V=dSgA7oXsmi{7Z(TB;DDDlHJ|x?uYEizY@+G3|Cwv+-t193Ax33o(Ne~qWdSMi ztSKhKmBcRt{KZc%Z<|m$vP3Bl+K?I1_xqPInRiK*`cJCBXo>zmlC4CBWHwI)IhQ)~ zU5r8a#!r*iP~jGF5<`3=Ue;eN!XFp6=I>8DYJ=Yjj=k^icT6eH`8&1{#9-w0Z3AJV zqjco>8-Eb42epvC{1JsehHymQ^pbD(YRkiTeocisI95wn3RMv;OsrC3o)!Fd{ylIm z98AN1ovW5jnC9OnhpO4Ela|(iXR4LF*L{|uyD13pm!qQdAq$M`X^j`jbmnP~a>lB~ zUY!C~BiwuPb7gyA)s(d2!?cf(wzjA3@nF_;SwYh*vb=1gKP-n27AB5A*DtL%cVDXa zp~ZtRJ#4P=kD>UcY+nrCwLG@#Hr>4STeD#Vjf9Imu zpJ!J($5PGBB)W7uo^v!6(tov|%CG%ihtN4u*LGanb2a0ceKYG0InPoTi(Yx!KQX9n zf}UAgvbM~UvV@IFOzg_`69_?rCOC~GxCWnqXSrD>%fp{beWp7|vdyAVvdn;K zLZSWlXo{`Y{wBvY5>fbxp8k)SS3j?k;AC@c9KZ@ArVuvYaN6-5)h=<4Zet`;N$2Jn zuR`A2>!th)@94VYVyq*aHii3NZ$cB%`kPg;_uJi?RWstB0RI&eE)4jF6_q{dtR)V= zl&%ky3#Qb<^y6(jcRgaCJ-S!*c5EKkD|3H_EXxJ7uz60`FkXdP4OQk}pin!z61`3O z9$1W6S@jJDFbCdTl15CYdvtyt11Y4icUyC3ZMnRzp7iRRFmq3Pn z!1A>`V1ZEK7gacgRgw6S91}| z=3vPhuc>sKal}J_=ErFV0^EEO=#njeq`*OSjX@dLIa-{R*wM`Ce7i*DjpjC=N-(wP zWByLYE!0!7J_TyK#2ayKysz+ah*wdc>kQ-9w_5uC%R5D`GY!wvU5X!qiKVso_$J%K zw{^o5lW7cKchWh|j3q=tzjwevy{|CNKY~G~y{z;Wb+*+>>`;ux2dUIwnWrw%v%oxl zDk|A?<*-$gxBZfAq(ie_XQg`07!Kf?C)iRvbXh8OaSrWE!19>D>t+A=w?%AeQJQjr z50y`}yP$tLVb!KY6p0vx9oN*`k~=WHKgbv^dV&7M^|AlZLeu`C$bakNA2kJ+i$`%B z?ir~tFgro@Rq{;Wo;Cy!;$WEhmQ)c%ST0J6GtBB-+nTDU+QMZ0PG4qbvPBtrC^2&1 z0avoFD|M~dsorS@CU4hU4OkT))82T$$LgB;FtyK=5M3=;HvgmPgRlv60h*o24HA{x^_R4>Re&IU8VtwN@|NM z#UGwL!B>ek?ju6WElLIr_>zVG$B(P(omk%z!}K}3m&wLGvCzuk7$JpMN>BeK%YIfV z2ft#^v!pt2U&S>SK`1&pniQX%b-#LMi$B`J_7~S~OE)iI!4h4%L=h%P9k5qjd_oh!0M|d0te&0I=krzFSoiF zY~h;p%aJ*x9r2N5`;qxIoH_`{v{!i2i=70w(&mkVUWMWLBSOXVYWm*(%8UM8teQm~ zUiTNnVtb;l%?5&yMe+3@Qhm+>P-6+?@G;`QgeLrFAudF$&+xFTH+u{$rYHYMv~+Y_ zb|4n4+Y5Q#Hk~E5&hEA9YYU4(pe)8OJ%AcfBqv*ul~^?$D(RO_CKE=_+ZJR4f29F+ zkkI3Eoq)w=1hU!M{q|P^ca({1dTP z{t%Zf74iz&`d;b|d}XQN;R7x)gk8MR4^5OCc2FmOD*Sl;aKmDeVJiX%bHh7s84R8r zM(6Y#3^+XhjyTP98YS`OyiNKqxFQQPk8pK3kCZr=PLxDQomxK4LG@UQ|kEb&oaCU!;AV+U;)HI|(`ch!x_1ufHiyHY=ACBCpkV5^lOtN)&y z9OqPP@#J>NmJIF1!aI5T0quS8AE(dMyi@g48CKNGH&`Q!OCF=S)=VWD~r8kukH&A&r~Cpp+rB)ta8xR(ot7XCbjaQVo?QB(l{rC_e81Zvb--Az zrSAH&H?K+6W5cP>F?Q}fP>*R@)xCPG3rQhLY7|E^Iv(20ybcD!SqjhNKj^V0ZjC(t;>c#95G zDKtC+Po9so`jpK8kMOX5Gfxc9o*kmkiU|5v%TMgTw*IQXLuGvCh6!+20y`9-8cnnK0-?@c1MP{m->%iim$64{t^cX4HClIw)3|i8}jQ&0=LC7TQ!Wb z8)O|Cc=%cc`1Ike#2=v88c#JMx(!#W`_z$&PLQap;m2oIzxx<5{BI003o`~u9CPcB z7)U4Ba#bvt3=Y4_yuY28_K(S5ErrV&dB1=}eSxb7&vM=-c11web^XH=lDhbevb@m1 z6zv_3J7qf!4Fieq$j6keRjGIkP-e`aUK5c~mOh`WW!!%{JAH-K&u_2$FWG6xT<%~@ z^4x%~(a9^|3s3I0b|D(YAyf;bT$L>&W#a65aeOTiBMz#We_D97^n1Ev4#Tr~HZjFkg5p|g{~dMYD63ujs` zzsnM6)tE+?E7j`CZc?+$C@O2KT6j!^_8OEs7+(q$ln)LZdo=8ygP!tJ&yB4c{%UL% zAt|>T3LyE5g7%l)EO_@smTs=N69HNWKBY5${FX?cFpZkD;IbZ6?YQP|6kniYu%^rj zuzw)Q6>!2~2yri=?T=R)9TV68g}s~lhiA z`uYicZUu*1OrXaa?lI=o0`>E+xr1{jdgHk}98J`*BM445vSK=P?cc6Y|0}=!XYI*v z!Wax112JOCs)(0Ob1s;2CVCzay@slr*pXg}_})^Z?ay=1v<>k&rYQjgw;_FlcYZI` zjMNHy)?ldhqCe$7oQ$71m)ysw=4h@Pr;0XM!*kGb_Od|DsLN)zk$E&jmiYBrt3YexZ2FAN8bWCLo%@aTx-lF4T&(O6Ie0RJUHQJ`p#%l#?WDtocY`Cg+@BvQGozk6ta#eGJ_6 z$PbI@iUX9--*ChZkT#=@LqNPDf4`UP`IGHTMI#%bNeSM4^da1PT{d78^Sbqn>1IRW zU^y0cT&R}m%yhs%SSS>S9q>H)iM>C#vwdx-ZZ{e6OoXX=;XQ|1iM&`ezl+UWgaCy>7K>a3Ul)OJ@yC@L*yopdiTWDk^P1l?nl7XYK%E$6=G=ejXS?_ z><=<(jkgyW3s>(vxoW>h8Vs|NMS!`%I$H0{Gf6G#0$5G9xI>0@kXM4Z6&DMWfdCTI zpP&StC*ob7g)`I4q5T|gybwIbX2q2XOOF@64V{*+egqm|3wq{&yc95N4o_tN>GVh) zjIWeK8|q2ysKyLE&T>v#vCz@A-ibq}yA0IGBr|E zS0q5);yZEGvJp26|62S3!Dd0**TLUClPCDyY*Lk<83VBG>O8TKy(M(FZrYsF^8M>P zTty2s#P~4}56p_x*MiDD$n>nuTLh{l9D+to5+F_SfKiO2_&H1S-{s`;Ul8hrH<=9x zfFe^vyvKf%AGWF2CLr{?y(N9UT7RM%KhI2ER{=-IOSUVF%NP9z4lz8RP6dQ23rw7 zG%uelj)W=q>%rAW{IZ*%a zXVr>13+H_7_0^zSu>|E-gCqS1D2%wpon!;!WgzyVxA$T@dhMxuA1PX!r~6fO=F+Xv z(|!0ruTRZGq~z6;4NmL$I%LTNB7!6@4d=dyy6?=sFCW6CYoea~`7^hA7b#IkqzxFC zdU`19ql)JDy(5DsA*cyYpbYN6U$o5 zMFIl%NB_gZf9#C{BHA^ezq=ZCmVy^cHr8%qrQXi#TBp*4JJEuB+si=MK@QORr@`T9 z=<*z}9AZ&=&{pjJq~vmpqy1S9e`3-L8A6ThopoW_&`=nb=8r1VpLbM<8l5o0t!siJb(x!Dza3pR>iy}#pg6-cco zc=*O65))X#J>Dx^`}5`HU6!k=oDQd{;pIsvjHWHl{y!`J$0kZJQufP3D&s7ZpcQYzWf5I0+!y&4T)_$NeHUh{%r6R~ z`wn#Q{F*?!-~oYxCAMjStY3-ntmw5tEvYE1zBR@IkOa|$mq~Zf+#~DpnMA`g1}-57 z+5K)IrI)bZX#Gm_du+S^u#)2d5-lmz$GF}*Q)W{Zetl7d8_GKP+NeIBV%D==5py|T zz`UZO4ODQm2#z?=xjG3q5^CPx3K?bdiQD^=(N(v>{@FF;*71;lIourj|9+1D-;iT@ z!m$v~tc!hNZk+3#58pA?SGu11qI+SB&*A21Jd@4f!OHz?dJ?<|^sa*TNUE(Knjo!m z;9!AGm~63;3zn5}`AlE2aIy-h@d8IL)ILKL?`+YArZ>`0eD(@Q>MPzohKKkq0g*+- zs3EM$EB(8{?Yo8^SC(KvPFE=>lkdR_0=Ua~Bx>1rYbnUV(X`Dj1Ku+++Q#_(Ciy>3 z+_Q=8)n8siHmBF@$?tNQXmF1zo^B;u)7Cbi9zJ$L<;%?vcn`x@De12)fDtt#;w_=+ zC0l#B^SAH(wmq>M+==WWWZ~cUqGkd`#NnwOwbYD5lxhe8L&YdcXMBYHUVunmW0Qo_ z@cJcycF1^XEC83)1B0g9D8aRd-1_n4T!nv~MIQ;wVB#j5-=SyqH5K;h+ZjCl4cyp4Pqq$19`z5Q(SRF87g*%&t+ky= zMhIx)*2nIH=3=+Q_ZdVc6gOelp7)$VdmJ8BV5NZ9P3MF}f2!S*qYE$8+{KJm*<*!q z+mB!GQ|c-RgC>V|b>{#8l+v5!2U$z1FI?f2mul`cscE>}@7fR5zuUr@6w$#jxem^> zt}j%p?%9FJg4Hm=1+8+3eno|^1^6M9CG(QT&R}`dG9j$`WKDo=_6V|br_kzTuoyhL z>^;}^_W_+|#wXu(ycW5LptvEmE)DgVu-!fp{Ul?0g3PDu(|nZ(uk)+*yqwxyu+FcU z+8N^U`dxEw*eU=lvS(YZ3o&7o?xZR+R!e-*oOfa32Nk$#T;H1VuR-6z?#sq3`jYY5 zcvml2OIVsX=?`~e@C+Vqh*p#jp0?KC50kUa0aQK@57 zuUj9kuKd%+^<#bf&)pk&AYOtDNclTZ^xpJZGj)82kJ+E-Z-GtKkt4KT?Iq7cm`jbsh6ARY%=P3I(W4_nu*%B=N_{Fq?s;WQ|wb4ld zm!h;02NVNYGsYDx5#p?eDs%VpdHo`j_hGk9Esr94^-C>h*N2ZDB=U!Vwd0%9MeMDM z;}_^sr@Pkqx#O@E3n1D2@c%vI|MRH7R(Wloj9#ZT2cf4Szl4ejra#+_KfBQOZ zqkfE&(y)Bdl+MPW-!DmPvGuHE%O{itH^p*~jVyhUGA!7HX(0M}pMv+ql=uqN_WQr` z!vsSq5vFC}UfmBbNRipwM-<;@30Sq{K%gQs`@=j{Z(+CMV9(z*mq8<|Ly>~BZa2GY z$lVr<{>2We!|*1U?-NlU%yh25x9#|*54XkiznpM+!s7%dtGK@RXRC^n0{94_kTa@h z{nS1_(a)j?*nKTk!qm|D$F6*(6)StzkH9mWEHCeZalw${J}r&%+6JvFzJ2Y*XvYQU`Rtl4-~FiEo=m= z>x3Rx!P*g=R{tCX3QNE}wo&KQ8Ra$6E3v?uyosiKnD`mXOv8`z)q;z*qr9_;Dd4(P z3jcanI}ZzzOlp9rPswTGt*pJg&Pa{p$P-*=3N0(dWP;69I)Sn{475rY4g*=WgDwu!J z(K5KS(iBACT?xm>5BYHiHrmO1^a7| ztf?>dPU@eiN#&8{F)7X7DZcNQnTLhZC47_F=2y&ACF-uF*1skMPd4KM-7~R6a#smm zpcW|zmr(gq?#YEDE68#7!^3gsu9Ce$qeyGDh~IumJt zh;PMcT!f$-OU3y~!O?<1#*E2*^2P23yMipg!Q4^{*SJ&4fDYgrElob?GG^>uM#%Yn zG0LEe7l4h#d34+2JFPsk1fejy`OJ2EJHhJ;E#;5?{mZnno+|bxHDnUFUhg1mM?TFX z0cB{>@uVmHJC1SOY5ZI|U9};f%8*W+tIt$i9yYfG0Fa|{96#RMB6pkZ-pA{}T!(K5 z$3IW8@Y?l7;p9R(cw;0omY_E^os$(mStb7Rk1}fB&0)$4`a~o8rJ=eMT#w>B2W#T!Q81~HVl z%n1cju?A@$U8yecj+-^HVHWzWkA^B}wD^OL@%= zz@d^60~AvM7G&%al$#v)%YW+EGjPrkXx9ahA-bL0 z2hOmpM|T`YJ`P5X@RCzpcWdlXILrtfRXF%MUL1bwgRxgG=@#wBb$}QneHy+(@6+5( zahsl!9zty))Op;Y|H?3qhls|u1b&!t#3_A(Bkfy4>6$-m@)PUZ?&G59l9QrEgUW%= zbmOxIrPk&B%(Ajkbs+mko~Rlx()x&o?E$JRP}z%UWZdfjDU{nktbxycNp^3bLD3~i zY0x+3s|?&UqEW6((?nf~N@LgW?bhTan0112UE86{SUoRuZG+o?WqOP_m+-Ms(fkZ_ zd0Rf%MpA)5BlW|SbudHD;ON(lx*zO(yq-=-ay)^sXP*L~2^6A3-Fad=9P8dRs~b(_(4$EHgTs#G4xB zO`X`%u3d1-GF@JR2hm6OkktFQE6Vpn{*~0U&q^aY=nA5Mu@;UFk>?SgH`nbG_Vl)K zSLeQr)?4IwyzID*I`o1lKe*GCZ+b#(=$bC}O`l9e3 zAV4c7sxi=g_(-i3TC-Sl!q#Sa;ms!nr;ft|&Q2G*^$PNt8kMFt!4415+sHGX%yXN7 z^IB!K+Z4<5GlqV4F1YYP#5yV`!|Vp|4|5e|^B;~ANkYj6} z^Z8woURvOr*MnnROP?yG;W)GX`3iwg3F^ z>=+4kyQ>fX4=&P9c)h@+Ja#|xuBk3QB7gWJG=2tk^}$0cr!nQwGIJ41Awup#zZY>u z^K`_(>j&ZNCcW+%=oJT7k5LZQg`5q)L@c3&M4^`3XldJH4GuRL9aG945HEc76wU$J z)|Nv6%8OplbB;=~W$0v|GLhUQI6NG!0h$9LQTTX&OlQae2YLmcrH3az1p02_jkJF# zHtUQt>l(c4ehxQme)M0j&B*?2ob4!?0MXrH>i)$tXN|Za+e`SsQKz@G-BG<%iK7=ZjK{G4dh({ru)Q=A%Gw9C*Cl7y$%(wqI<@va9!r;9YgI_pL-$Y0} zrzb@iAGJ8@U{jV4Hdia?ES3Ke-P$#aMN?+z89FyOGrM@N=_5U;kSmJVx-5*+f?nX6 ztX3RF&5GQuyQh+@6xWd`RSb7l>L0ytzw9$=LC(5eN`6ENIW<;z#=C{H1PoE6e-&Ol z%8_n*zXsC?tM`oU)!%XODts~Z?AHEaxNU6`%8}Sd=51}Cy=A3pvRcS%DC+Q#_d?O@ zg8|#7)ik4j{Wm7UvFFJrlS?m?_6yRk6oi3&`%A<^2FFgp1gE0&Z5H41);ZEO79C6M zt&-&iS?`;nUhhcgQ5~C|?i14gdf*kdrlC7*Pt)A9QFbN4wfL z=3N?P?YHx`KhGe5$dJk4{zT(FTKTLC6Ro3VWN%Vt{DhUn&E4xS2y>o}H3A1byQ5Q$ zSkt(~p-=t2$D<^G4u){NSD6fe2~#A&{r!DAEMhm~h8+IVc7)xIH-698r0@x#rTwq? zA&WXjkXTij7KO?CBo5Q1f+8dSnh{7Sn&3R%>L{^ZkR%y>DE1Po1oIfUfged|p6qT-YP z&(*vj-7Q=(#TWa&9(3=LWW~A|0w*=O1M&RHxndi4*CtQKVZZT-TKs=o>mSSDb%TZvAVga#+#nF46kISj3K+4FStYeo#J(jezquNK*x3pA7bgpVI zMB%@1^qdsI2d4_VGY+I^2D`(VySsh#i|sg-J4@m%?j?;UBgr)eS0n4O-J#*5uV8DO zfy;!_CNbHrxk=Kx`5iL#jh3jYk8rF^t zwqKvnSQ?kJV5g!XJ#R5PZqIoR(tXF?11@4wTxKz05qVDFhU=OizGl{~l z&yNvX{TeS|k%)kPXiNHNFRTe^zp}`sq!CHLqCyZz^64&4J@9DBd*S1+e2f1@N&g35 zOnO!*5cmALcZ`#U8!GZDZM$>a4_d;CbwF{ycn9-_oovHSdRk5l08J0kxmZU$0t||E zm93PL8`N|q2#khGiB`1%QN5PbEL|q5CD#5S-tt}OZ)wK@+beraa=fxG1j-_#W@K*p z5IzQz+!JVt(u~Ut=bMzk%lM&1c0o?U+Vi}*b z2Xguzzo@8g@<(}R-N{K8CckK7eP>VdJwZvE`xO#p5^pB(*}?VR3ewrikU!O{*~e}T zBr*;!C9pjM=$^T7qRvc-GT9f1ZMeGz;(dhr9ugM_`(!|=Uem-+&7sIc>ISwscUY6p z7<@Hfw`eqi+%ylM%i&{F+g$T?N2FllRUdEPz1m5~JIKh-V@@zE?Jb)@+tXvL%dHJ) z4arj2_`ej{5TY@2j|tM~(R}_Wnm}i*rMQ`Vql#2Mr?>CHr@H8VLXRE}OP-ZicM+L> zB-}Hp%hNy#ZVS!_%ALTAO=5~%dc8LCuG)^>--#bARtZ{=!6w(`g%|Gv^zg($h-B$S z6w1qV)hgvR{n3e@XR36n2)a}G4T|L={q_3O_{y+4jXiKrhf?*OfWJ2 z>F^vW;JA@=(#V$dDfzXPyWJHm1!I%>2{RPi<`V^M{!mK$>fPF-#I3XOHEigYzl`pR z91rm!wbam-wgc7EJ0%`jPh;Fmlof!pj@GP>V+kX29^?Ubg#rKGAuWxLt zM|(D7#N(@Hx1Yz&!XuuE`|;Ly7v|dzydh7{C)V3*0DuY=9^O0mT96bxX}r92|)wT7&h25=;oT*xu7AQp@ zQ~s(mx%Blu&0l3GpDe0SiiOTrec_mZ&YAc#z%1yzH4_|4!V}ubaea9p_2jn8T;@^w zj7djc8dswi#ON(r3K$?oca`XGvh8VYJ#5Yxy4mq9ZoJhs4$HbFFhBZU{4!|G1b9`w zfLzV3F~A{^%t=3N95UgW7m>v$%C=c30bf-ne$xs<*=KsvrN;fUmp##M0c&5B*p>3Q zGYd%9qY-juqLD=(9?H%!jVJv0HvK%8UpbcjC4z(CZCO1R@@rv^rin%b!F$BjXSq_x zsk;aqYOOY>+Hv0os9*7Tvejh_22>umP%4pRE8el-g%{))$BhJjFfEHkv(=`5Px$Ps z={sX71~5G3_`1FUD5N9=mYSSE&b+hkeDaP{|CMj|R}3UW{SMsvT~2AWe8NBE*zL|A z8@b3)dl~z1vTIZ42Nk&+Hn+&0NU?%!8|sAOEGS7cM4N!h$Y-Oxi|3zuZw)0ascccb z1=tX$6K(FNJB~k;@p3X}n7dNF!8T_YiLs2EQO%93p36Uv>sZ_UDN7f!;@Ztn3x;2N z_DpaU`8aQ!H<)4CdwqOAwI)dh^Q$sW{#DS2Oel2{7Fl|-8u+_?2rp_!l1sS*xrwIA z(UQuC=eO_c@yI2x3t1TV+5WO_kr;_Z%&gAP&VEv7Y55k&2X$v0lO_y75WqHZD|d0Z z@?nvkx2bxE(nhv|1n?o*<7-7oIxvzAAnEhV;p2k;?Bea}o`O%wwISj*m!)K_BcXj} z#tb(oB>iuYtXerMYzCxsX$ozO%GyK#ra);-n68&kjvq(bGMY{gyzV{%rv=;5Szi^# zb!0areUSsw4Dq6KgF6OokjDgu;7Q52S+7f^IDU-@loL+~^o`Qx(6GMeD_~5?k)V0k z6+%WSC-LR?*~?g+yxm{9QTzqIdx}A%q-&SEef;D1f|>gVDz*_EI`DN2 zK#3@`&pSE#LRAT;9D+ikGA}f2d#jS`;p)zJEHSQ`Vu2%X2jPkyAeZ49CYFEDAr(cG7=gk?t5N zHMf$wd?R@mzi`_Wf8l>~%=OQ`eD0j!yZiJCu(VlEeXjWDaJJ25?Xb%i?>>-c zH+pe7JRZsb7@!iJax!`^b&G5E`zwUl8Ml0NSG5p{q%whHu{Sc=Rgyzpg{XkG=Xv>$k@po+4X^S0THfCl^uNQf#{%iDC$3xRwIY2F zSEnMjX+fpd+s`kDlyf|fUsQrsmB@-acdjKl;GZoYw6Fr3=7taApX?qX?uYEN_OPHH zLl2+c$2$#RpOk|1ES);%Yh6B{Wy7bx&*x9(EIUVfN2^Ad)F{`%*{V_>v^912`?GQv zPOazJV?`a{_Of@TU)G!GP7<-7^G$kt=eIJ%eP>5@tFJsW^&#KVi`b0f6e`EkD6_D~ zF!9k$f}A*nawfSQ1zx?xC8#|OCYqByW-xQx&i^pbGnL@RVzNh7-PW2I(A>|O9q?=M zT63-Rc=p5uJDiC?-i(Wg@6}LY%!cm!-QO@Rv2Nu{OONJWoE#!Sd`{b!<@EU%y2Qs< zZOll65i!kQ9vPLxlZS-(BneabWD7NO5oBbL&9*DU-1kf49hoYj1<3wcA4bi0G~s!j2labqB`h>qYwQD{@hk zD&-$;;*``it*dg|ovr(1e*oX%X~^zd?)Ool1|=XxwS^TZ-(4!0#fJB2g*=+($VEt~ z)$Qgv)dtv6-WJ*$aPDaPEQeP6|7SV#e9TwF2t|=8-#fE%Z7yzJC&Cq~mZ^EitsKwp zIFP5WuIl=h>JK6wPI}T$Xha_G9cFnAZ0yR74;$oD>Ahks_)}&Bd6f0=eknS8Oo6b& z+COLGYatj2eVft4Y-jwoS=?Wav1BZIWN#0Zy@=F!Gv25&_d0e+kQ<=J)?eBJ@X zJ+37^9D7e-;>+Ki#~6reeTEB4wSDmC?M7SsQVwZWG!=N7RmB1)l=YFQn{htK@p)uI z<^mF=DK=6sd!#+ybSGV4oKl;Zh`(4(IK^H?yF97Fb;fV{b%@j-fL{7%#Yi*c)1V^# zFr^Uj7XL_F~ESIwz0ToNIF{#);`5o`j5*Ryc z#}CArFsnCQ!!peYdBby}`C8*9DP`#SqGP@}NTi9c&*0{KDCygbT*luk^~*FW*uDj2 z%$)3yFt^0-tqyZ9ucWt3v^*RyTvFFMccHksw#v9u`Ef%I?~Z>=_xz%cBia?% zP|BTqX-_2u3z`Zqem3YYN=ZU%2Pa|8MNvEe?h>Y@u#MJL^5_Qm zcq+X8tHoIwQ)jTMX3Q^J2FzpPn8&Ded11D?Fur2GtU{^I-w&l*;RO3 zeHi-mFn&>eMPqUVvTdtxi5}Hy^}9M~asZSdWoUmh<>mShpzR+zQei;tARSOiXIy32 zjf5D-8#_xv@G17B-tFv>9i60gkuu}f&;*rLd2=6#lsnReQ?^~jwyHyo9KpUx%M9O4 z{_stYdW^8WP@J3O+h<9}GodISVheesU^%m>yrc=Dm{B*hH+oDykFe5Wqy&63&)a-0 z@)e}RDLu9CT9L0K+))hKRkOOEI3UzSwUq(ILQ;Vd50eXuduaV{d%}{)Umr=HYgi)2 zqNg*$(13Yto3yg$Uo+CwwtO@2?f@=Ofq<5eT3R$lAH#dB{cl{aHlE7;3!zVDM_pUP z-kFgNsT4!-4N&MFkZkpXjznJbz53nk-y|hzM6zYYF8+7dsY~H8nSRBq}EZ#Kc=35Tx|q#cuFbu>(EI) z?+#U}lYGiP`nMV3M41J~Orh`c70m_cWS!afM(LP}rN&tydtJjLO6;j52+zCVO1b*M z+dI8Zk?Eda6`= zX!koo;MNxt-O;5Vp!;gMu3PGm4uiRQLEp1Ok+ham^ZW-%@ROIznTK7y^6rSHS*n9Q z+I#tfaWt2Si?OxCmtIPSjlbpcAyMf~7t)_J#B;;_KU+lInW~9$g5i`Kd8Hj@Wn(Bb zB#~+GvZ{U2up@o6R4oLYj&tjGvXtre(Ti`iq`8m&^lrXi(sK^<1;iKAp(%Y265oxD zFFov+d}H$R`w~Aenpz4_+QE>h4w!e0k8;gcNi1lRup%t@fy}?X5YFCyhu!7X;$8;r zLBtZ|aeuCmss3n|w9K-kJ7mmX_smB#XRb6sTB7ISNU$=@d)ipXVG&!U@URHIQH>wzw?2CN{P5r< z)>BcCBD%J}&v(VDW!jbGlUCj_+!>tkYM;giTLgSS86-&lB(y%aX1TnWPOo9Kf>f*# zy}!I!psh6jm2zH{b=Y8dLl-Lv#RXNyi{V|Ks&p$`^H;m5nG?p`_0OB>mOAX;ok@Z0 zOlnT!6M@{$!Z%E@o0vC@gAr$dtNJlYjpQKDmYL*IqgQoMYp{FHf}r|ttH!QRoA;vu zo6kbi6-HBo(fA*#sPc})C7`CnelSmsaYmAfWZF1h+bCV~;E#(LJ(UVz*HaYTL8uMgwEzi?Pfi7!lb_~h zU}-ea^xc85)t0GRzogT~udk*-u44GHqwc_u8`<@(5o$`}+MW-eGMOESQ ztDqLxAGIlr;|2%gFKzQ%)Q-SYUM%q=)-~QaGyb^^H-6i;n`eTVhtWrS>&Io7m5ivk zKG)Cq>)jJy62gBr#|-k3R-N-fkWnN3K4q=h&!L|l<7UP~wh`eJ8ZoW4b(1abR|X=t z8#?eHbyhu8Z?Ak_fAWN;H7-jk$SYo}?39u0>|7CdBe;^O+&=PcK4d$tX9)caFy4|> z`j-3oNk+@NQ2Nf#k5ECJC6Gfy29~0`kNujLAJN1#(3z+ImciLn$Db2wG4fK&5@%Z{ zXddWZzJLg3pKTnRK2#yfT}SVu$h`vQis&{jJnwa?Ue@~&x?*G(Ai*RJ2NJCcmA_J! z2$MQ~WM*M+s{7YPIG!y>AcsQ0gY0DK-5K|5-KYU4R9$9OU(at2(w`c<9=3B`DrN;E zE&v)8DW#X@itbybK|Nde5J0pH9A_k%i1j;@V0JTxNqV8N9+U=v>HF1#T+1?jw{VvW z$86HLtk-!5s0cT}oL2QApEQ2GNl0D5e~XZF9+;_Esr9Kqw-K`uP@L4qJ<8UK;(og) z2B983xk43Mb?W2KT=iR@Qj4?|lQr1gUiWo_M6qMA^IY19CIU%@TD9QpYUpy)YpFHR z6}-`>(ZX4FTZh5*wm&G4T#=+ijF3u7K`jU9g{Zvi?;(USPnr zpEo>n)S#D(aJJ9HXZ3mr1ois7Q_eQFASSu$_(hiUcVFVr-&lx}CZZh(x&PbDCko+) z@Z5{#lS2}YvZJV{?cQ`6_t94EqjKY2=D9J%B!tT?%UVFv+NE6{D4CQkccn!}fb1ps zQ?5%u?saTo1}%*g?+fRGaMo*<#BY;xFJs;xgju$5gwiLo59GOu1!u3CwxHy|((;y) zzfuBZ3;yg*NI(E~1FDl=isi-%^+*VK2OHV%8t69261jS0tm4tnnxmE8D{nvIo6dnvO;M+}xMI+Bw(6c((N@>$ zDJwZ`Tz`jc>z0)?V_D0Yw3ah(s3IC^Sn;X)=i!1RHTnT{7zmwxw*aDe-IHS5$g1;N za9xYM=6Rc^j3LS&v79TJupiB2X7A#kI@QN=+XK~o%Lu_Xik%M3T~56ds4}P#>^)zm zsLBi2Q7z4ke3N1#;{f#o4Ea)(NdEkxJ3%d@8@`MmJwxTur2g!oNb#Hv`FFgBtfB_C zkZ;x@fNeCpu+9L3V;F!wRJNzE3bahgL>Kkr%NeP&n&C}r8gGH-#l5G?^}gXn_liT4 zNp!7YD}mWAbrIluOHhpNFLKx)7RIK)f5(T9nxZK%&Ju54@&heQ=uuVcU7wPDvq>LUH(pFBxlk!G$F@e?SDE zB=b)WzgL$kl5#OT=!Gu>Sln4cNRBuTdp*4K6v8q*-C7V+=yy$}HyJuD%yp{Y2EOu> zKTWQ5bN={>4-iSqjMQ|#S>WUlBByZwpo?ZeDI!nn`k8WJ%~B6tk1)%%{cJAVC;h#- z8ZFLhk1JmK8kXhqt_D6|Lg`$3{sqZ~ZwS3FWUk!;WB!ZJrP*#M|MT+SjNS4ys7KAr zjnPxrQ?v8IJ`V~-4%UeIJ+dtiZ!;<6x!g&A@2)O6czhRi-vki9M1qg>>35-sF3DDM?Sib z;4|Y65@IYy^hZqBcS6soSQp>Dyck<9Mxq2lDWseViB)=jt?BiB%C?F%3Ndq{7Bp&K zeB$@+Z!j;Y?d6x=WclBOKVco%6sS>0zrK?akv(D%TT&h3tK@vjl%cisTuySV5KT57 zSpiu}52P$&yZ065_sE#EXN>{(_P>Y-3NU=DuX7uI6W%N6j6i&S&GoZE9 z!`+x47x12liCr+PTIjlr=zCtVO#WbCtG^>W*9(PT&ovBDT2WDf_y`PFp8vX@Jo_L2 z0=-sui0~yXke9{<7IwX1!jzN*SS%C?U;Bb*A{H0@8yxmG>4@EEWG5_>*EX1})}LM8c(|GkJkG^4WAU znd_BPRZ8M;eHQ3~0%wvmy!B6P%|Hv9+MG_^#Yy}lF?z&lF)Du?`8NWp{at9}dFkC! z+h`uh=f^$uPZ!TMxUWyGP$gIMd4mye-K%LRo}h(Dz2EjaOxS1tdP4?IsT!oWtV}dk zP>ybx?k`j&@~_;ho$wi>AKNDuxB@%zuXF)bG5427Uj&&{97gK!wp}kbu&h|)XqISY zVjlRM1PB&ff)iYWyKCbREJ$#7LV)1z5L_E~cXw&rT^o0q{;H;?>dl?%e{lNj zeb#z3)LYacMzBR=Mm%zNn$iyG#hKUx5RIGia2UUEwA48XAQ6 z%prj5x%{5D689tdwcH+u^U^0~`97wI59-66R#oPGnf(8Gd8F|~@`%nZn&>C0D_|~6 zeuN~R4Y;>GS{?|q82WV9-kL+A?{G*DkaT(M{ZCu2Bcq6sfs+f|&2bv?_Fu)1zuvLN z3qliKMJ@gi!wumg1h|3ZF|4h)Fb1qK($PbP^C6V(LvbP@9lms`5LFtT7WFw=(TUZN zup=q9gMI1WT`x3j--xk3suH+(Qz*Z*O`YPPE*2GL>8&7Ycw}nFs89`#ekIYCki?l; zU5bn8I%{46IdxR&~LYd4v=eHet^^b2sitq%6ak@vj0choV;20H%|3( zj|PoROnNkPd6o&iI6R;F8MJxcO*0p^3z*mEQEsu3{niKsPtCpw)>e>NwcCWH|D#%! zK@}j}|MY2Z+duK_YNE;aq+1w`xlR8pqtunn4y57_>zZ;fb%h9QtlqA}{E(Es&hYmZ z`%0t9sqdhdsyM6AMdveWLV~DVKlh8d(QN8;VxZuL6~POI_meWKJWlGQlIY)UjsTGU zMDS^xYB3&<*B~A2y2xn`XUkV|&=yPZ%{5=2kkBIT4|f}kOgxW_Xcp?a3Id^Oq(8@L zY-i(BQu|}))zE^@obJ@K8254~sYSPOZacgl*?Y(%`7R{LV8mX=8Y$`4g^TW7uMfst z$v<=})e*t!Eu91gdabV)@oSf2pr{;5rNVwVBMkJiZ~pH-|?N|SFs%=x$do*T1#%0507%xl*5!2ac>oy09` z3s$e!)$9u2Y7f6>bZh8-N7oexEL1~IDlvzs3WJ)2|2&Y-5N%I;3s$8~9ysEj3=9@t z+<13}sMvj<@pZM5G9AVr(Sh!uKFka)}bO_^?p5!6LOCg4#bBMJR{Kp~=|P zX5^jLz8$+iJN!fBSqsEGRxwZIN@71jWfw!Qy+A#bcoNNo>VN7-ypHauat`zN)=*_p zGJZ&)B{Mm8NXAvp>R6!$KEO|i3$)zpw9b7`VAA@Ag+>hnK z?e#!EzI%tA>(=bEqmhe=j)^w`*DZ-!^YW|z6{JCMvH(gAk@O91)sdgo5q{M*#O6Q~ z$|55E*1YHF_tzOt?Nx)yXw6CIk^j}~`&`Nl|ONI&Iu|l~xggY^& zd1Zi>co3$qf}3sSkBj4v8w|7RvL|;)Rj7nU+IM8Q(^IMr8skgbb2`6k$XZygre(B{RGfK_2=)k z94nTSpw`-{B(Xj2xmlucw25Bp(A^ zog9Kdt#WX#Job25t8B+ZQQam%QfO+P3{wi{QLx1prY%BJOqCC zcHZ@$QAXM!3BTPkF~uceP^Xt3F!QimeM<1T^qI!~mbGdD0Nle~(TaMGfz|Tvw`I+MqRgH~=er@cz$g&%DPM?|B?&H6444_jT1H|V$g33TsrH7V%)`H#Pse&b z8nBk@waNh?pvocIvg;>1;+rx$m9#H{aTb8T`m)MKq97Z}xJZ%c5Xb0o9Ofg7l0N0> zBi^|Cc=79De#WO<@(3q(CdXf(jnFMOC_&C?sg-%gA~k2%(MUq zWMb{K9sLa*`NDWUFpx1Ld0A&c4q?yMRBlZ?Ki;yFnHZOKrej~q29!) zrAl<7+nAp4MJL~c@N_x=PeP|_MMW-#V^*Y%)1H#lBqfeiU=CqP@7j{dq`LKNtGj6E zMWS}XER%2%*9Ie}fj!yxK0~hcvRl8UPUUvrgJXB^m07-0lsCfCGW7ranZ)%l%XdjR zKy7$m{E#WgEn3xnUzuF#+qmS_zHGp|W&j6#Ht*D)XX7DE|9goUU#$!b)b8nLJEo!X zBKXDfM?;$1Q7wvCbH%eN|G)7}7S@@QQ!O94UY?{VHC>p@sWLm$LXUh_j@p zE^8-ikbL(&dODnbtM^$3-B(cwFogOaqpwA`c-Gwf=M*=>pf6UN61^h=1{W6~RrkL3 zC+8cs`kr|$4p(CXSE;V7<*21!ejHVdYXed9wyO(QAvJ4=bN(WNJ^Vyprw5$Moa7~3 zu^z;y+cWuKn5($Ja%6nDYN-PiHWfJYuZ*`5mzkQRJ66_rRqx3oyFigx zWvu1{yv<*30?IEa*-4R(T8e%Qb)w0C4Q{Uaueh&hiDl?Bd^p9S5_7g`A?pXxZ z`;F4uU)KaL__!Uf_iroRfK~Kx4trZXTE!*voL=0PN}8i zFDQ=?grRZ-7V6vnn|_Sw=L__l+ru?FI>21B`pc&fC>`VYqU<)jHy?YUw}ic!?Y?#; zJ8an(6||&2y$(nbocLdeq95=dl}19%JTV(uU1Lp} zJy`aNlQ^L}-W|=K{_b=;Am#P!Ht@X2&;#9SnBeGmhP@!VJ>f1NWvlh?$;Ouqn3_>= zlxNAgw&W_w%2NS`49MoXYcX(UoU&2Z4X`1+jhw$dwIg=6UQDk<-VIB-)vxQ@qG?tU z5{?CGu(o2OG{H*GrqEpsnqcQ0Vv1fu-6WQOmG(4UvO4P_t6P3WsO~%463kAOr@6)LbQp@!<&lMDMLF9X zR_F(2y)6(0`c%o|l8vp*k|?((w40oNEa?j9-Wpot{!WkAFANjQP5+b5$i7b%mo6T} z5LPgWUwnv4#LxQh4Z{;bFf4dx&Nd8kG-6c){NHbHoYKUf z2Eu6^9z%C15F0--W%R^eO<%=S_XXrn!$~|7pV4zP4Sr*trJH-M>o8?-wr5+kaYm` zbt@W^Pu3C#?3=5@K4g6??JZcg3`-Y8c7`fBCcwZ@2aiuHSf4uDHvP%t+l~5J$B#28 z@R3@8dNaO-Dh20}r-fV$8R)il;evLq!Hmkvto#xCyL*2HrbygO235Df()3_(viC=L z^Yu-oH`&7(JlWn>?Gh*lqbBOM=W)FmH3THL1;zqXvp<;F^0@~+A*^wJ>+KgHLZtze zy%7myD~hD1+Dx?6xvL^(O=dHEc7cuuWOJBNYV*&#IOt@*kHY;NtsA#JOCOk1gh2Lc zRM-aO*^1ISIN!yM@2FlMK*$q*{ovY}r$18=sWENpZlI%peOPP5WtZ>C%fLx`c%;G+ z&IuDIUr{MAJ8I(XXgRVwPpX)>YL!@pB+owITtl9Q?BvK*ADDwCKhzdNLGnsxX<7T^dYXlrHjgktTurDS81Z>i zDqTJvpW)Qsf?c0F1-v?Z(_5R@;C1uNhnGNN{c$C>bstgmLyLhK9uR%TeT?NBAmexQ zf9?;FfWSh=b`!us7`INddG!|p(H6~`<-WO1=8iWQ2>VgZE%fXT$t&@`>%BeaJ|P9O}RVLDOAtgWqTlqv;j~gE`YFpjOP5HMu2Q|XW5@U7x zvG;u(2O*)VEYg@7n7qNony!h?Q092LG4B#vK|ID!wfX=Qze;s+aB3vpfnf+VT{}b$ z$yPh+JOCY@Gx8)|e?x{?mZVnx;xv0&st${)bhTTJ1$qf?FsP^1wC_ z!<`bv$t!#%>U`}71Oh}CbGry9^OX_d6%o*gNr03XA>L%7Zyb9g88p%JMcEGzfx;w! z`y&hX3%H^jOMCgKi5P;D9v3Rsfd2N32kGW=z1~Q?Fsn>cb0h7_pA+*{CRF(6y@eQG z=5H4m#@)V*Z}_+ypY3NVH8g|tRHwVBZxxEQ^9xlvi{E5Qi9S@;YksRzC+27S2l_U! zfv>wgvC*$MDyP0WGqI?-DrQzw+)J}|a?<_+*n|Y&xPYh0SbSfu&o9n6#sfIg(=AID3oCtXileZj>{ZfQ7^jZAARBuCzpI;113Abby&Sof0c@xr&}R z+xg&Zu2@<~EE~Q0&}4pw_+$lDirkc;LIDdbHam0;1GEe5*+)F80?C`UnxhA_@2{h? z3$(d?J|Z-Eeep0oYB<>`?>4@<`B@Lx*MHkBL{AQ7V1bjCm7m5=6gq5(F(x?=o2(&h zfFbq@U!zIi1S$~A)m69DE`w**^VNB$_0~ll-8y^Y(Z;Vlyf+U!%+kjX8^~dq20Ge$ z+cnt=yRZ9Kj2LiW2pwSaUG055b9&?Th||I`8R@E)UotN(VS*#a<$@n#;@=>OJ{NwQ z-76Eeb6E!h+YR*jbym6pFKV!AYk{M8wyQ3gc|VZB?eOw|1L=paz`RTh0PO<)Y>UV* zs7mF;9_b5b8|*2`;V*&7HbaLq33@oH%2J_t&$ApDI;8r9?5@>X1$L^slYxa-_2o+I^he>h2e9^~U*Ox7dmmzC(6;kQr5%&H_j)oeS z=@6qzi5Ev-6vrTdS0Aq@Vf@uhp?i(G<=C;nEx{0f=DA5X#i6FI zNUz;HK|5nNGOkq~omk4*Zk~aT(2Nq(GtS(ZbGUgx!SK&db?vU2uREcLE%D;)D6>@) z9h^seYJehJAB1boUl8CYA`ogdi6qnJeAL!|$v6}YeGpywA==dJVRn2$k-I~~>ebWz z{AOMkzoD5&U|?6ek*thpjwZ~uz3T09KHgvq&H=xd(=dMNU%OBj>R%DdLD|-i!mKu1 zNa7U>`rmG-^m-W_dG2`o)h$W9YDPJ$tA#&B3zJ2A-8a6Uy(HdqBmB&?$}Fv`!n~2q zYo9wF-|E_RjwpA%1~u#9aobfG*EX!1z@B*!SIx4e$cITh`!yZ<27w zaHH?{vW6V92z{a^nufpoMBz=m*7{0`*}qA+VHcP_tv}KP?yiozaLnV`>yZny04P0q zktv8P7M!M$WtTmCw5P>TXOGFBobAKRR@x}YlY{%ED=u-zCtexZd8~?BJr_G6d|epQ zc?>?3L?zyOW`sINY(WBYKZ&>$+%|)ZDtI^lIK>Hi&;1BRtjbeEZ+FrY?BLb5`k;B7 zInQC8(QcsgJUwu6e;{+@H$0u7>1J;&03CUR}0fXq4gMVC{4e~8XLnTzXV^0OrbKlcFtA1*e}Wxzkn zr=p`rr zCvI^=szEh%yc$7oI`_R8cI%x@{2fe;%=K8!di)qFua>qP=JoM~E(T8Gq!qZ8f)$aH64I8e@@%#_0%%ADp%t2p9IL!3aeGFtFo~1y45rq7S6DUqUZcO5y2jh~JPT zLqv4?U4-q4Z&g4ime_B~RrsS(ZS;NN%iYn4UcBQ+zic%~PV!lA^8l3T<}K!mCo)h= z`K8+=-jMC1h<2%q*75)KsFaKh5Y6AYEl72CzAQbRg=pPt2mJj6$pD=fF0R^~xfIAj z`6F7)p{EiOP6RJ^Ea>!auGnNN%uI|zD1Xi^D^(UX(zrfP90D8Enqi#DHd-|+`B5n$0gtzYbBVI2huqh+skDTp$zeogfJ*$i^2o9Mo< zyuLTbGHB4duVd~yA5ZJc5E0C3R;7beiZ&|gilv`bQN<+@x{QrFWTws%vfozooK>$G z_JIcxtdR{s)L&A017gCh+357k^7d`!!3|7?-_i zco>u6j*@hVZxc zcjOE4eWI}nc6(g9N84urtIaYnX=Q_w#>!95Ct*T^mup&XW*cxWj0{4THQuMvv=?dj zb}CM_;`#`X2G{fduKDh2m>x%4ni<7@D~LULll_vNI}DMW6oNY$Q9o$@QdB{Y`8)f1vi=32VT(dl#80e=Ab;+AQQ;4Q@cY9F>Zv%S^L__wO zqOb$a;&MAvfH?M9DNS-Z;Ve1~a;d3|-UfRZ)Wf<7Lb3t6Jb;4;43^-+9d@vw26b4J zb{I_TL%4+v%W9M_yl(b#mhHnHCwgY+U<8CQ z`!O_{=FJ%3>ZiQ^fzb30jR%yi`fv6Ab}c*g>t7<@TCMXoGTP_-9tiM|O0m>wid75C zy)iNIw2JHNBu&=}{N#uJW&8v1<)HU2et}}2H-igVm@kytX=@-J!65PYo3bgq#j`D=m=t-jyJ$a6XBDFjmIiJZVJ;-)Tr#KRI zSwt_K<(WnggZn5`6vSh0@aAFtY2$v=k-w)os#&!|EvnI5`-;Bp9N^UeHbd1T*(Vdk zRJRR>QpjOF@jAO{9W42V3l5{Uhnx1=#U3-Lgwo81XlG*uQDA}LNHP;xLdY3j!8MO_ zHQ$|1Ml^^YlvTD9^2T@oWDG#3vnJ1M!>{P&EVLmjE^D(-j`bMkhPDx!A}1}Y#I#i> zCRiz`vxdO?=!NG>Pz(6JfuYeZ59S+Z;K;Ar=s6}CJSsfZZv|A)^&>NX7~pPhwRVja z{}G@3-xT+^S<2z%3sAQ%cKRlfV`F*G(ec5MfEz5;V?CwMRc4IU%C&CT>T_bqV(_*O z0MGw8fMd;oLPt9q1=;9f0nqk-=n$39Jp~>^_@e-QOP|zz7kqfeE|+|(z}=b|fgv6& zS-7s$bu49vCpts+{6O7@*SHdiX}k)Yk#J^srQgtMCppkCp4Lh1)#B?^W-MBwtwL?T zyIH{0GW1?FaK~c5$9~1oXFFF>_0EthW6oHtSojMfjQze>l1SBCyaB3V-C~Eo@2xl5 zhdV1`Cw6>)dV|LMF0}eY&s)raP}i$zK;oFg>z()k@#xR79U?b^sT=V@Gt|6;Q7{T4 zeOS|QmfhlEfRb&h2?>$LfUU3ll?g;I2W&w*yy8HUaL3fIUUE+^s`b%qs4=enypA7Uj zA=~=axAFoi?=(G(q`kGwD`$x@)ZN->f_@tJQx=UvzxU=O1(|VU@-6z+c4eU_weW4t zd`(3bz=Jh~vuo38O6bJ*LHSeur2L0Rb|~6&q(n`XCCsk`NvH+KLv-^+0o6*7Y;1$V zBh(=!f}e~)=uMIVpc&Fb=b_ZDvM#*CVOGVXS%}0FS&49ulV9#Idz36R;#{>0FGhjG z9DIt$OIJT8X;^`7-&CnnYyi)zS%(49QpE2VQtE}wWJQuS& zELGovY2U{Bw=ySPqIF~AKnxg#EmN>Rpd0hY4IkB zZA@1r@puQS?kl8t8DUf&_=gNxrYO=`v$3_*ubi?fztxKIiZY_&KK#yS4{!>z$ioe` zAQ0RxbI9@LQeUSMAWPLfiO6!eSOh*KnHbbY3isd22_{fe%42*Oqv!ZQhGjSn)L zxtCCs#S*^3)W*RmQsbl2+~-6uq7U8~JGjnn2Bh@rCDqhLDJ(s>TctD+I&CMAk#EXdSIYJ~RqY~jZ^*{#>R&+F3?Vl+5+V0wP5fL&COiu8G9r=7%= zV&`*1@q0{=*Xt;h>Vzf zmx;&w$FKs2(3|?t1UOXsz9{ES+R!+K4ce4j4DMTKc0PG0Kw2SYUBss9dkTaKdT6BchFxUoyA7O{_;A5Jkh9+c=7`jHMtHzhj50HJPxQpM}pW zH$HQn-Fh=U9_lmfJvJO-kr&{8-=*YdJVQ8MyuYAtJ4eYLRn_bNmmc!}4*!$QFw6Og z4OP3i2c8r_y}_LhG)op!sNEC$-Ou$Hl@!xNmk8Wmvgj{rENknk)7U()sAClnr zHPg0-AWnHQ)XN<0ULV!qqPS}hI)gbjs0opyCpCpNy!TUeTUk5eBQqV@sYtitE7LdF zZBMd5A=+6cCF?pR!1jiQx8Ao4B{Kci7yFlsX?OgwbE)UQs;U5dBdLB$jl?@*l)tqt zGoItuyl)>86D!9~|APcVcGJ2a(|`92c|yd}2CrD!9cX4Hx{q4ftsv7zJz+#_Y4qUE z3C7@BdbF<~-@B&InYgJ>K}WSZxCau~X6TF<(m66Q`pdz#@jAJcznM~mZ{^)_O3J(w z!Dw>Y6UNNLH}y0=u(db$LywXaH~oZy6#bC@=X_nPsK%~k&kFyNu4DR@fPxn}*>9dG zCsljB54wl#g)*!f#omG4MT~pw@0e_^`LOukXAq?w&wWr}tVfQZzU^9U@`Qr2@9zo0 zalR1&pvzcQ57G+SNN~D{VCRjeUjbVJ{Fcj13pkuI-PA6ekvk-KuXzVn^{|4ApH`Qs zSkkxFBggH8jUg$-%kIik{oqta0xs&{FsnFiWZqO&!Acyi_CH5eLPbQk*>a@CmGKSv z3~-48ZPYu{pXuyFyI4A>7fk(^G-}XoV5ipb^yPlvOvbdYy?qWs-D^EEF)-+if)_}m5; zj1%wD1P>d6X5DQHz~_{8s<@%*l%YtSYfC91k}#IVv1p)tb`OOKQBsqO&Cj^MH;X>s zo@GSSb552y8r*UsM5PdxkW$Bd|63nHPFpdQlcLjHI2qBZCC$r2(}~ABzQdnXKu@5E z;3g+;1a>E#X&+eGia}<11D)FTdV)Wku1Su$k@0(NC4kH{JQ{f^v5zXgI@B4KG^~Ro z-kz^Ms55F4lR_+ESaQIO3sh77yT4t~h@~{d0JZAv$YVy}!e)*JG4X#s)NOPqzkUO) z2Y?RL8IH*Dtz{F((d*`B96n)-{T?l zrG)!&6cxu-VRi2TD>B4Z`k7XS;*x1oDDZ0{C?1SeY|u~l2_DkJv>H1;%Xb9@NQQOK z%5@n8*Hy`78{pNg_ktqBBPT{uL5-jE)#)QA&kd5_x)2wAD4<>EM8#eFFcE&^QW%SFB^Igyc`&~#yPqf?y^FqAdeJ__W zKnOqQR^;X*;p-Z!^Khgb5X)MK-b#x}3yZ(>#M4)u;D8eDTDi(7p?`dW4mj2)wJ)~y zK_MXTzfca99w3kdW4=FUj$+_Utm_g55Xmx#=GZvVB(- zKNi_Lj9lv1*wLEny|6dR34CV(hkjMEj@xZ!b;v%eyz)s(R`Z(N^_mm(!fD;)gRqIywTQqn-@=S)w;ow+RK^U#7);64c}!dxuT+$rLLnghnmNP-gz4e@@pJ5 z)M<{WnK{v#)w~bc-|<7ZYijwU>X^f2MwT5`VMSX{zguwMqp;;dbxe8s!PhQVL+O+3 z?2$C55ZxkLQ`(P3}6U;?UNweIH;533O& z6Cr`TK`joucSgN+_sU)9#DPTZ0xgclu9A-e@4C3`l$474H{P2NY`Ltuh{ej`$zf=b z$t^k$H^K8bL5we67I(uZkbgwm>c`u7f`DloAI40J_OJ_Si}zK_OzRY%KZzkX2Kxg{ z%T?XM2Rw;(+T!y7eXcMlFwRAKZzAYIyxr;8`PwV9yHmeyruB7`^q3;GkU4(N?f$OO zZD3_(hh(WBP;A>uBD#zPxHblf%zyu^t^7aRbijdh0KFy2?0mB|QG-ek#TbFl$hS*A z8D~GVQBY*&WvbH8mwXOyC!kkbLv^6b7(f>lh=HH3`@;~HoR1O!Yz(B%-__nvaZMWy zAiBPN(+esVTIpd+v)=yP5Wm#UsRxNPgCV$Dm3BwW3J{Woq74>pW-TcrFF7JPfYGit5=*n%j|r(~ z-VZlSdT$P>$Qd7mUyJ>n_pejw5A%lhs5FklcrBi`QV3LM8KrsM?n|yRI<+ojXtiSi z*ndNom{AqrT^VaP2kJ&Yfe-)6osDvBY=#IdbXiQ0pJ&ieN_ynDK((^+H#+S8xrC_m zEOVNh+Zvi@4uR@`pXK#_%S4)$zHg7`?iRWP&Cq~ zpPX*Uh)4hY&%Mw^jypvIBq*TLnsh=^qv~W`QO#*cmNOrjQ+07EW>8?JSmwzMxd8^kjY*0X0b~=L?p3iY#nj4q zGy=;zO|k+XGf_jah{cfs=X36~{$vi8qM4sQn@|VSG){O=2!Bp=>$|~iO|*+)+h=MJ zeG1(kmQ#WHK-lAD?Hjr+i-@}y`&kzW3bFUF&krFcMu=qp7xY&xy*5R3$uQO=!g!)b zBkV6N@EW&YcJRJs>>8@Zgy2~dY&CR-uM6VD@h*tXI(V4>4zk-es?v7FS1|}HFsCbV zvP|G2u#D1DND(!SIk#G-s-N*u)cv+u<0fjRwr5)lzCfC$V9df$1GI`}Ev z_H2YfxutVk)oYKK38^sqT4`aW|AkXi9eed%meWG`A8r7`c=TyEng+RV~wHA z+66X$&6W3GNCQ{#pry8hDV@yAQsW^ZV%t$M<;+ePEWYKBg0Lb44^VJ?;V#6!l0c|r z^dWozw8mE40sSC5k47LSVEU-hu9G)JF_8S%r+wKeZK=Db%l1H(vGgvIp4vOiyedKwyJ|h6?aj2sF*Ml#Y%3#Z!G3!q#dud4!7kYpO2+iLYi4m5J=?o|Jt(Df zbqx-Gy~~e*$9V+^QI?8q9Q05rqitx8AX<0;IBxo;M8&r7b2}SzFJtR0M*_f7Yc6Ic zcIO7@u{(Pfil`_@+0P3#Stk$%ORv5+y~5VFKYnQ^GJ zC+TD=08K9+a?WfKdoQUQ%Y4hCv13?LK4R@6;^1tmgPBu2?dN+jZC;mX#KtgI_1IWl zA(hQBw^RfriQ$B-9ArFaI@BY21n1{(RsZR|mwmM8i}|z|M*rzpD&gfS5h+B#?Ktmh zq;ln_3h0+Of;h2&nXh4PeuujwWe3`m&>@hzk-W8nTTpy#ifrc`kPY5Wq~DWZ#}de9L>*d3~`)c#+ z#XXt9o3Yo8EFMvLp1y)*W^#2oYb3o3pMUV}2g$o#d;2XO=^+ZJzeYSqB9+ILxt>{| zX9utB9n%&sK5MQ`KEzckBxW#H#jv8Yb`-4qJ@q3`i1C3C17a z_f2en!Hyb!$*-J~EW1@8{&K6Z3PY?ApNl3PV-r6ra_IEgfpo1|(yim$4+KJ>I%1i| zIt+aF&s%d3XNzwj_@|IU)iXuS~ z{wxwM1R_$Sj;t#(9%9`~^w2VUP<`aE>5Mdawc%Zzq!q0q>x5FVxj~kqM?K_J((dA1 zxCE`JQ{w1dpV!$0SV+BHpOEs!U}d?Ey1vu_PDmi&S`Il39dNV;nS)8OTZHs)*AH9& z>Lnp~GmU++YyO83PN{3)w5Xhadl=i6d*#KOv(|Cu4YW=2z3em2jRR5^%Yu|A<7FZN zGiH1Z%zbdY$gRO$MamX6D%86~yY`R_T zh~TPkA(dOsPFojsjGCANGKIA89Iw786xIuaU269J?Zr}tSFMXeuy4r;FPrI;5W_D< zcj9C2HEnAb?tsYW8u{O@EezW>);x>mg$?!y+$&gUO?_Pcd|f#(8V()86oF)QBCV4o z(w)oH8m66#>dySWFWU9l!%9;d#u^7c4lMCr@L09i&H;3PlrzmQB%hq&rSSwH!07BU zb^+X~mk?55Z8eF+jAB2_{6vPV;t(lS3hp6v7nK4|fy^wDSek*A4UF8kS);l~kdb0^ zJvng~-6yhw{CtTj1E0{FY4S}>1iHCJKxwvqsV&nySF$yw!i&4@wfO64*z(f+69@$c zBBD-D-!z0mr=Z~Y>tf$Rd8z4EF`sJfYUK3G>OtJay@szx|D*0}^X>YWr<*yDf3~Ol z!l|yIcRxxGt7&m%(;ls=E!eag+I$1fT~#cH*CaV5J=HICR)pTO%*8TT%&j}=a&jzj zhEIjW!vGZI=0L*E$P?Zr=DHvE4gRnY3WKWw(}3>-+vndpBpRx?`$eh;`MGdFh*c9iz1ZUZVF^= zj;+N{2PT`K&wKIn-3~D&&TT`r7q3j1z-Hc!i4%eu`DUV`q01WW&U$|ZOSeFqu zF}P1(#@A82gqKBJj*DG|P;ytng^C9EXfm6ZCfH^I_1;)=A;X*Xi4bISTP9twTYJ6@j^41n zGbnS@V#CWE6?BWK=F`@|n;)F$?$k1x#x9ur^$S6vs! zmbs?3&Bq;(To+{r&E^0z3;Hbp_)J;8^?L$EGDJpSd10FGoT9F#d1e)0$4VsnV<;{~ znJ9gbNVn|65eig1_WTmgrN z?r0O)ij3C;=-i#JZeXWZ{$;C=n$) zQBh&%(}ztH5vAt(1CmE(`CyzR2f_g0@AYoE`&J~AxTrLcfMnn`KDWd^IT+cw846IK zM-M$+GPA6wy^?R6$#;*hyND7H;n6lNh(*Fv@Y~WwK> zQuG41(qD{0=+;sHww9}!;pg94Fx(P4UHe(HmsRfe;)v{MGPkA?q|nW}lE3Ytgzd9n zek?$HVN8*^w0YdQUqcEM+uw6r8agjK_dPneRSThJ3Mc(iOB1ELGJIP$eN;^O@IVvn_Efhm_I!5xI}pql$`7gcJS&3R@@{yDJ4a zcfW@c&9{jlakH7+tnSg(+%D`1D{S*fz={9Q@1gb#?RaP_An85b3zYf3^lkA{J>n3r zf8C9QM8L#4Zs3okoMI0M@aa8fS!P#z*C%Cv9=qZhv{(kTF{$ZzP5Dic;7z z_>C=NO)2GQ4w8UmOh()d6UAF2?4QP`k4=i_SlMPaO-f#aFplZ&k7k3tuj== zc3+aB+*}HcG_8$*h>9X9+Fo*3NT^Xyvft{h*ngKhj14YrMzr+4-I43bi zH_p=#f>!KHvp?)Rf&;zd-$HoH_O>l5EPf|>Mdjnv?qr0AGA;N91qb8?0-cU&sn99; z1gvYj^{Tk|;wBT~8I5b4xdOb$Yh2>`P=}Xces={F%KySz#|r?iU<8QcWW)Qfl7E(m z7Q$qY!k%^talqr28e>yHRNMaq1??S@EV3w3ch4gXUyFcCz+_Sn=_tXi!l1q5WT|hikGZukYQGCI??n`16Z}8*;I=Y zCvLWL$K89bZzR83lZQb4@5fH>@+}{$Kik(Vb!Xa~B zLe-JiMxdg|r#*x!lFKa>WZ~z;HKGAMWsYC6aT!ri%H8IX5if-A(4{}7_^!994;KZDkpcME{d@$A3-XlG5k59SKgyU(}L-g^Y(yy+4_ayEnK94iXnQ#n=Mk`7%zC+77Kc!Y` zbn1C4rTy!9;C37x$`|CI9lnKpKK;T++bnJ#{?TL-bNnFgb^y+F$C$FXLU8^2LAV6J z#rezyO!xIp=<|-vUIXmjVXvhUD>rGwR}z}S=v(R~*f1Pr`Dli(6c>?ZJ@=W1o&MPE zZ=4$0!sd5guY*eFo%>B6xsZ)Y1eG-qr;)VuKIi2KRrI*#=iWX4KWu$ta3)8`HsI@o9Jwf3$o)rlowM-zze zHc;?zLegkg3E6N&%j&j-W%2OC1DB#qBUjk>w7s0%75wjHDGGs~jW6hsDL;{8)dk?s zjhEjc__3sv;CYK<{q$n%u&23^in+G$skCKL|kFcmGbf3Bs z@Pgz5G=}<)-}5Je0$BiK(Kk$NiHg_Kg}(71p*Tq>`Ep?Z{Jk00g3HuGSup&Cv0Pd7n3FXVz*VkBdQ8(fOkCvi z+j3e*LtLo&TL(oH=6%}+PgPuKVu*=OqJhJN3i@Jlct>ZWqI~&*%-*bsn&BQXg9eK9 z(>UC-uG)N!j`+RE3*Mh`@Ji@-G6;mj;B&-|DcW&{fXW`jxRe7#3J^~ks+Y`UmuzmR zBZ*T^tqY+9c2#&$3^0~=SV6J^08*GCgY!^9z-&Mms(qif;w5+m03z)l-DpXh6)%$< zs1YF#Rx@UYI2aMu??|{lXD@jx2t@;a0z>6=7+vL?LoZ#(_Gkw309gd|?+{a3KyLQ@ zIg?3#zsDfBv;ZYp36CeoUkR|lz15FY_BR@9AmXDsyI^2^gDXtK-MT|A3*%q8zi0ta z)CROMM0Mm*+rh;exAOTZq;=>L-+5mAf5ga1&}7D`v-#;63aI~c7=R&yzsJ@T9jgnU z_v!v~2(mLl%R!6?VF!^+KctDJkcs$anEVlex`L@oBlrWRnk)tHn!2}B5ZCp*D%3{L zA!)+T5DWO+ZFbD)dq7}9WF4*-qWirB&8c0Na48y!n8x&%wxKPC5m{$Nc}c7ieTCsA zDiY<|X~iX7H9k4-UvGyU{Po^38}cuWcQ8l$`tQUX0n_0JqxfzKHMy#v@64>Al;^!! z(z*=|v8V*s^+nAZFI&>$;%i>PXC##6O6rJSEMARB2TL&`+ab$FDQ6&Fmzm$5yC5^o zzxl;!voV`sP$6K{Oo8$MB&xPq(OGF;iW;+=RQwg(6y!)8pG#VkZ!hj0RB-^T=bM^$ z3-Iv0dt4nNV1L|L7--2=mr{I=;)=FJ);3%+4ue8eSshO@1>YyXpC(CbTC{Xg(R@)`zk|q<2rH75pNx>D z3d;L;)RIds9Gf`@W!C|h`?yBrLP7LLBXP7dwvvoPKXw%#6h^aWChOriYqjSXYfd0i zk71+#!N~kiNUmQ5aMrgmHV6;I6c1sBS<3VZn%+xf{`Bsq6TTH%;u# z8A^jpd_G0qZ0NKh%T{DiR2^A3|F~p_K6#s*a-InCXIvaj`WTe{E#>T-s-jlm+_Qbp zKEThQo_ewwg*ceuy1%Dc_!9df&uGo^`j9m0f@H&nY&7rmej$^746;#vF@IL~=-m>u zcC^8^d!q21sw$cV9u;CrFgSEtVw=%sA_9f}+1d^`IZSo~p>5uj#0ua5pzJ6k00@wJ z&=A(S%&C$>0F)GXQF6~;nSIkZSs*+&`c3H}gvy;EHWvW74qg}r^hm22DVv%vTbH?s z8xJ2%bc+8msh*@3OdHGto5_s4CK)V`mUP<~)V8b!#=RGR&(D+mE^nIP+I@4ITy)y9 zU{pdB4>=1u^3L?nGXqgG2Y%zCzkP*_^(7l(?2~|R;2J6g@Xq@pJ3O%?uA>(JBoIFj z&PMNf=b@c7nhX;a<$vs1f-GQI)9W}?HATA$@LCBExho|UWv=H1;@7v#W&B7ved&s* zTW!q~7~=}zR$+~?G#s=|%oSnKg1T$VJF4=m0Ao6Z>gK?ifa=39F&oMWPxSW7v(o=S zawENB7uuZQq66&C+T2#$C%7ikHw5TGF6FcD$2)srXyj> zYq@lQK~XC!^nb2F*)Q?&uPhjTsQ}4Oz!DtYV8fOVVaBr44WBkF&ISum@t#q3204s) zcjA$1fPicKk&0Hzh>+9`w-(8WQ*VzSoWb)`#<=Jp9X@3bamgmRI){Nzrv$Na`_;jZ zBre97K+2$pniu&KP6KtB4WH~Cu~q%=Kf=9`4JCj))%#R*ZP5@hK30%WkZ|xo3`8#o zWf?ZBCpNHDlP(5s&vOu{pAIuh0x5a(-QX(6NQ+hB^yXOH&sG^ zobd|t;o+03%exTfG-gukbOgcog>tBk;Fp=01m2+PxI4HNzT6iGzT(f@H-liAM;Peu zSErkwf#H?>*8j6^lTs}=0dEJ|#8Gr_m9*}h!70_n4L?MeFE60GiTw+7N{no00xJdz z0`6i{@p#kFAawgYgqOP9@^!!30mZHG2#gcGp|4e!Xng;gU6cnYq#}wu>UF5UPbW}^Fb3%xSPV5KO+!M5 zM{GlF7re?{r;`vD_Tc=?!p z3Rm(ODh(576ugYbh8+_%#mGhaS0V_YJd!57r)8n4m53K9{?~3`C!W-g{u%L_rWycy z@?ubqg~!uyljz{!VFY$%EQy0-@=miJFUrs0<5<3&U$jExh18s{`N7Y+`mTiY4$fW! zZKb0WXOEl{jt_9&TI?QOjEtYQ+WYmPKTXX8!Zq#X0Cd%MylqQh?N#=lSM?rK{ZP>> zay-2OF{a{_NXd>~H_wShSH;>rjRV}AgMwA~ciK(wTKv}+{cMGSQO)TNsv!e@rtpcx znocb$xxBbfEuI)+*FV%BRX^TbX?+x#+r|!0{(&7j)kO2k+zZUBOeA~y4aY?`VFe+U zX?`{k{~1&^R|Kdp`?AS~ci3py^Ux=Zh0gEIEa>0TP=eaYpjU|!wqFG;bz#9OoC zax^q(DJ-_08A=^R%dIeRV~MegUjjBf>S6UHfAFn96WBdq1@S5Z+h;J4P97DFR1h7c z1tjRY_yZA+%I0r9l4G6LJc%4ScGRQcT$#rDexl88j=lsOfK(mSY=tP+fxGnrKsQD4 zRbV*DP-JBU|9J+wqa``G!-%8m-!gH{I0zz6yv(XD$ER=_U8;g3LY|>;i|um9#$v)_ zLW>yj9~`O}@%NNzL%1YCrlohHXoxDpdm}(~d>T-&Y+27>fl%(l7`!|?q0|qy%~=hR z31ul4Ko*JZU|>7wX%jSYOET?>1VzyNNdIdc;R7$M&eaTe!C?0gE{7Dniob1)d`+Fq z7{ux0e(mlA=g4yfGXqE<*?&1NHy~bw>Hpb}$4VpIVIcMj*s%N{XvfB7H*Njzj=3(CXl~gll=Xo$b6;6Imx|3>jrYqF@g#7|B zGAYc!^_rQyN!)7$FsuFSD&;Tp|ND8gMHwP|m0cr{<@pKl{#hREF#IEFwi{s6jYB36qH=!mqv#88Ug>uA372?1Ru*Mj#%>qe2dXxKN*`{d{siT4>Gxo zZDUXg=E@N{?`I9pQeqG|BLvTOE~-W3Mx>-amnZ<)R{1a38%sF)bnAcJ7l ze6%KS8ZxiOtdgXwl4L5Uur&0kDmxS{_qK7EvR z6YfJ=dIvd#j;%MJt}Ge`3KM2X4u~=6O`pcln!?ob+pbGDm<8*Pf4<=Ez|_d4uN|PJ zLsf^!3JwDQ{;b`hdc6RIFz5t$SX;YPYOz%6K_+YIdWzQNY+V~!hFVF6N=e6bCL1&d zNopozE6uu;_pubPi4;0mbBVyTTj{=ajfZ8nGZ@F#Skhd@_ zwgC^WWB&69yghDvkMExMMiRKuo3fv=<0CpCr4%m2z z671o3503B4?G4*u?fWE`Vd!HB{r8x@M&9S~e0F|o2>D|5^9WDn_M1p&&9XX8?L!0y zE?Fo>B0B{)Vi0Jtm6>dTY}{1ZIvMaJ$X`G3Dq^{iF`Joe%HdIEL?f8|?VPV7t2Y;t z4)7=YGOpH%FsUp!p}=8omOK9TWpv4*FW$Vndcn#-dTSYqKgvX$T8S)B5rE{vN%)6+ zh?EBl_Ynxps_d>`)VI6v;NlHr!A$_&fr513ox|b6`{zyYutPBPrblORR=4q?g%6Af z_#f*LzzKv@q73}MkSwaEztH)+I}`;k-_`7Nd~W@a#Psai+thLguxZ9l9h~-6`T?+oD!T23dx)MC@rQd54}X*$Yr8kuRo^hA}+M3tlry%=V$Qt?Jw z;&JkRsfJMteXSKBuh*b=Zv%Y82pnr8b9oie51@*iwu&6Q5#?eQ*UQvBBW!7b`*(xKlt^;>-*S}qPM$!u9`Pvv}G;K z37SFyp(D}CJ+O$kTYWsC={=zRCZcDoE@6K+tw1D#AUeup(H+--7sLjGxX5i-)__N< z^F{fEC7<2?zkS_0u4jFY&Qjv08a{W*7Rn~4Pu&CI^MM=hH8n%Rzg2U~FTG{G&zQAN zYA|nEsihSTvFPk6lX^;i`r-~}y-s}k#rQpMVC87!+21EPS*4Bn>R(vg>Grt;QZ`M6 z>=fN!C*}vc*@w4L&Rb1SdYC-#&ctI)1aRnnJS=eFJA=kxS8Nbr^Z=>M0&Y z#5ZPsvo-JgYtL2dDOJeI3kI1x*2qbA zypmln#G&W>{*!WD8PU;6JK9UPNp*)5zdRG14nAMTpA4{S*WYf&HsDR3rhawiIS~vW zQI;H1mi@Edz33QNdrG$3lxcN*dVgrgs@>>zpx``k@*7it92LO$`HM!jOEC1Abq2H$5&~0L0A?d42R;^ zXdZhE+V4Ck_OEyL26SvFh2MDt^fy+1yMNxvv1i&7W!&zBW+&gIS}rNK+R}WI*ANXp zi4S<_IA1ai@S(x-jN<}(?J$3C(#f`^4u4(Ck4 zUC_ndTnH+zN{5#VuftN0I$xhGbZ&7V%%&GO`N;%*+gEaR$GR@l>V-A3M~=<f8^X|p-dD(8l7TG|O2~3twg@r*VtQBi^iUb=TjS-7npGLMr zHNl0N5vTp&Hux@$NVmu7SEu_YE+V+%OwV;V+sZn*U6YhW50ftZ9gTd4c9P2ckqCuO@$KL5L^mn?V2^)`1x zfms75mD&Tt$mIIhH0JX@=d`G)Pu2VWlD@_?xG6)1<+~-;?;G8iA7*2-^Da|!Y1#bs zv_q|8d38FNH&;XEpRvdK1PMV+hwtc+eV#(KAymvAPr{5BoTBmg6x%}BR#?Qr{S>{fa6>HmXBnb(Hy++>Ikyl0u+~9cD{Nc$X!$`?b?6;{4PZA*ydr__%o^*u*@@S(@GNm*3*A#e}(Sv z{;0g0+h4KvxUty=usyrHuW6qxf?UfXoU|RkjG1hQ7+>#DVfx&=yr1-*Z8?{V-ppyU z9ln@uF7s>V^Ig-x(diyrZvg*Y|5A0Y&@H{yM0PQkW0~b%B6cMey_wbKdSx4aAyuLf zQnlRzm}@?lT)R~}{e96=)UvhO_OaM}!P(;Lde>NI=hM7**qno{Z*|{wPY=z~j4!#> zA>e!0)uiyWx!LiieqW2X=C;`b((ISo?CLFkpO*3O*DgDmm$%pbW79D~#Xl~ytI6Y! zmgaMXjShi}xsQ{)OPRF}Mm{h5)kQwGgJV6Mf9)(S=OL!HE2)1xr`*hZ+gR`B2u%87 z3f)aauO#ytYXGw?mm#J$82n!}#_%nZzfA2mg#>MTE#1w72)NW9T84CXY9knlHPWZJ!=&+wC3N z|4ceUfiZcRi{GEqg+%(a(MH>Fw(x0XJsI$RKVBvVeywMz<6dIBmI1fccIS4Fqdb>j?{a+I2*wF6EA=DxaVE=(xB#kU6woTTpsK ziKbA&#k_BZjyCvWL^hz?0jRPaC6Q-DrEOzZ{CCt*OK&^qlA z>Om#5au2`wK}&m;*S50k-1ft_>858Quh0|LkxG@iB<0jh#nrlio}KWPdYxl>@fSuL zV+_!_Iqubsiu8(~vy`>&6@0A#-%0yFq(q)EE-9I&2ZHJisAF z^G|3@xacvY*fH4XF<8pI?Q3e|#l)({-{L!|bVh1s5Vc(_03TDg<+1D;HTORC4cK44 zl%!E>xUXx#a+`^i+CM+}oDh3tqjhr_GzThUuGO?aY!?G)7LBHucoEpyNl)F#aXvYW zE0{cVGh>Jp>NFGab=mOu;@i-0T`6r4^&3Tin0+9}+3yPKred{Yr4QPnhUTH)KcT-* zeU8ZJa>v?mW#`OdVPtbEWmS5Qrv*_2JDW?5MGywkF!zWNCU9tqZak1ho-W<#AJj;P?TW z)rGz+ZYa|aQ#g{!jcR`o(w&Odd@BzVV{hq0O}eg_>64G+2KDbTwd1r^n(lJ1>b6YM^nc`m{r(sf%WM1)pKI3qnA6BXSXR3=LRo@2A&g~q zT0V8B+?!7jqzSY%Ium9%tx|f>;CdEb{p5rNeB;;>X7`U#oJ)jazUMxBFV;9|j{_T; z^_K;|L@PL&bn&caLoyfczt1@Ah6krJPI8j19L2&|+Ga4cEFp(4q3ch`)HC6{^P%Z~ z3NT%PQfM~wp(!W9M5jUHe|p7jBc#xbl*7{vD-|1A1|U?zGuU>1+J-2h>6apTOO_$l z&4g)K^f_XX)xxNRYW~$yBVpBWQ zgN8`63?6F=JXp86y!Bq?8Suc(Q_Nbzosr}W$FblLa*fFCY!q=`vs@(>HWV6Vj zOsN+jvYZ6buNpMc%oHLt(F9kYZcEEWV3Z;?mj}^5L)2v&pnZ^lAoxWjo-sWeWEThr z|Jsq<9wLEEYC|dF5BVA7xr0HxSJy;>%onH9N zLM>d~vY-BR22M;dl%*UDdhe8nIBXm;{ZF8}UcOl4Kp`Bk5{y<&C>0x+ITRq!YcjdY zRK(Gtiw31R0@Qz%EMk}~k1baWR|D}eC`4*;0%!SYs|lIV8+F_l;8Vd-tcaCq4>Nri zKk@5_);^X}HT>YSWml6v=s{b6lkc{Oo?wNYRD~Pt;#Bbgv4wCAQ%s|IdmuW5&61caL`BO8VU#lm@7sYf~uMi(W=j1 zRV2Gsg-$f2>~9L-#6BAKplJdXw+)bL9Dw*cAJ`O;{)Y#l{i%S1bj$waV!K6|bV+~x z+VizViqrmp94mz~-C8k|P>u+{<}yE!b46)3&+D&>qj%w{zx>1(xzQ&yXa|bbFUg}5 zKFbX$sCfMllQ?g9tWkItLZE9(H(4<9j&<@y^&kGCnzEg=GBQR2q?_a@+38;M3F^vU zc9Q_sgyA)Lz`qx>J96zl(VH z|89W_Z#e@8_}=r`o%&@|O4OdZsI;_Nudbg+W*5uUUJOZ@aHZC2RGy*AmR=>EwI967 zx7LE2yUq2tt>16h-E$MrEj-A$1}lFghzgun;yHa^x%fWoysOtbj0*nq;ba@%UOKL~F`-Wuc8_y~gKqf!!@TN5AygX8F3Y@Nqdt z*s74G8z|6gv9{in?okz9JE*rLd-ZTZ7{>9fcsfgbdm4N9Dq#Z8h_SK5%(3Ii zE+9B8?R8}iuyc2<%W6|7#Z9P$DmewsX!{jMwBW0()~(7-tb`<;`r(A(aCWcQ($55i zEZ5#%s#klNv}Z6GpgKpZ=03gAfCII za&XcO;y+2WZUgPgYF^V@+ABRvw0tvJ72@>G%c@nWyiBR!al}CQQRb@QHtPGfjvj0m z1zMrdJ>V``h@V&~VUj77EnRt;XzBIr*|rYbquzVH**|k)cA+UeS#~z1f>e zd&75i-Ir$_ozISjm?L0il!itQo0n>CSGcDG%UiRu&zezPTAnt-b$<<3 zL)ER7wr$;~eIrHlkN!ES?E2))<>k`u&aX2J&3xE)3?T2thMebc*Ld4+N9MYFU&iCGCkDl3?>cm#eO@zjl&(%kD(JT+3T}( zKv#WGa2f)VDgqY5ACK2lj{6LP$OHDWe*{+7q=!oZ{=SbPc3SIuT)}Txt2zNd6$yCK z6JY~Ale4equZc*I|B%t*U{I9G^3nMYc#`;}6vj&P8Z+yMaR@%lt+V1YW&opv#&-M` zmO}1jAB&iQHDnM_T6C%n%v7tgAvwxgUr1MnLQO9akF7+%BD=e9$p#l`@gCLK@tYP2 zI2LlL>OOzAoG-?6UivmSx=1|-0RD}VL|VRf%UW^w(~)iyDS?Aolwe zbl3XE`_}tf?Uml7TEG4Q_5CsUH`-`kjCuQf?WzzvsWObBk_77@BHC$QjQg-KGl08d zC?~}@I;AK&#dzv|C!JQ$)MQbd;?yw`3X8zGFt{vxelB`Gep6B5ONRX=%xYGP^|FxA zNg0W!0!ptbxb_t^vP+>5D;s1${9x6Pb20(pT$6jiR&z|MUi9BlCANbaLOabcMJ22T zw)h#}VFxzHob0;=Xj|P$8^ArW@UZa#d!U2ZGe+xYpNQVU^l3ON|9`hKqB+={{@Qh;`qn_t>cU z>ZtkbiuwAW`TT;rC|Lh5Y6mj7d3qNnJE~V%PWG#U1 zhS2qaFwH}u%}Wj>RxCGJeltEBU7)?PG#jJ;>lRmQpD&E0b#_^BADUteR3qK0M~#mP zbX8lkTa+*0Nf~HN&p&Jrt*6$n`~XDAqumBQc2{{S|9u};jqUlimvKzM$RCr75RW?> z;`UwO4BYAnKB>cirj11c*Zb zsalMrFSMTTt09Y6p6&{znh`A1umr=Y#MCLZtY_j6j>{O|a%`6y0+6KI^glo5a9q`6 zz&R-g=SlOA0QDp8K8e$Rlc%{b2UpDd2Hj`Xm`Rl44E08U`TRva(!1~FZ{r4VxaURk|T09~EgR~v{LmXR{gJm&ErT2ZIkxSXBo zmf7lEJ@!9Cfbf}*X)CYe60;vW3Nc2<=nWF8IgPHTiVDIxFFIpB%LL#SqJ$r)Di=@9 zrAp$BvK^Q)zej}i((FKg)&ewJS zmBLDoef3}Wdn4cRQJObYXJ1~zr4ykx$Pj{hS8Ss*kG8lHN^_Eq%luQ_f2YT*LnXI$ zU3sY;pRhWVrN}~bxock&$2L?bwxQAaJLRK~ww@1>>)|bo`rThEap5w;&>I-r{K3i# z2@nwK;COD3cod|I(J&3+el!+?(ea#({Sqq=wA0g+{PB@^S`T(DEnnrboOF;aYKVWS zp!HJwx3@)KB5`6{gG2&>!JO1X**-#D*Jk)B;eKK^7U|DvVEbOGrMRgm{zT3cR@^() zP?n*Aox2EJ3f)zOGKE%Y*6khOZ}&3c{Y&!VHF+N1dyLkc?+xcU6%@2kogdy*95uK< zk;(_Sg=TsN!XtZVC?jfUhxL4gpoX(Mg?>|#cO@(P#5vN0>Gpi0^Ipp_JHkZ-H-kgN z1~Q$(DS+`pWjdNaaNYbmpsF{{#9c@4pE7Wca?EgwS#Fz-fH;I#Mi`rj&Bu1UA#e*y z>oK2&+smlRod*bgU zIdRZjeUFVR9m7f7y5{*VX0kD+;z_%u3yOhWcUqLnUe z76iE#RYWn+Wu9d|^=4%0;O!EHW?O&9Q-IqGF2L8$?CtYJji|XYXq69f!;T9Z4Z<#{ z2;6vE2D~zk4?H}c)sx9Wzt#b(94N>%3j%@(%|&xN8xZLnK9N#|8^#Cj4qbz8D|Ts~ zK*dDpRO!$c$Ewg;UYe64x*Xa1*2l`UBMd;h8|1k?D6$n1fD6&%nO>yKwiMW|0`1#8 zIW&JjY%7cR0lJB-?94sYndpwu$}lYrDT2cgE|oUjl!};XI>)qzZb4j64nDaU(z_3P z@3ePcr_MPrH17;EzAq4M!m~VoV;`h%%=;Jv9}*EA!8Lo$b13$;0R0VzuCCT{caQ59 ztZ6@U##}UZ2~`3(l1tD18`ri9M>P9qQn3G89Wq!SD;?FV?mcXtVuDqe+}BuUncuk0 z2~X_3gS8%*T6nJU+2k9&+?y1X!1!XtAGF-^(Zj<1uYOJs{x8=4Js!S#%5=PVyfcN= zrR)js^w+sR(0Tr9&Ey_48!ZZlYm6$we(Ujy6`}yTg;>dl4;J6D@L$nSNk>;UCR-E@ z?>>tQecHBkPrcJ?Pmj-a*f$8cPIq{}PkIlbvU_||(U(&LSxMolA;@x5s3P)sJo^PT zPC9A(QuvJx@_*!kYFznIgAKzOtvD@|%kuq%EP`-7;7#FTl*9~GENH5Gns0%m!_$4c zY0L>f#upwp>)CLP--=EIZkE;deXK&}`mn%zVN)}9Pg3b6i((&b(V z^O;`dH?M{qD$w`3PcQULxQ`VD2}jirF1QN;{6~#732{OsNV$NZ2=Giknv1vqB`L z8eeSil>f-jTPQcqLp^6G*{O`!bP1lBP)56Hh}Yb(5$@;zl`Q^{^ix3(&*Te44oa*O zPG)AWmQeG7>L1(0bA=J>f7N3 z;iq8B&4d5KUtaO=i0tR-K``VN!Gx)-`8ejU`k#!$rsW+GTxd!2iDkiWKa7NFh~zHYlP`x0J)jlh169 zZqa%T*DkgYaxM)N4A=i5!K6M_59vH^{Rqf_o4heMBh=yKB<-6D{^gI$@Kq;}y?5fW znpRCcHIHv@#b;#2ucYMP)^WJjG24_^d+7IR`jXT`;(o>7>RyM>y@5+k_B84e%+e2> zpCMyqBNJGn+&)4sTzMIvFftQ}=gT@ZHrw0&d>-mq=*%_bWAQH!iqvaU^vN#Vhe>lL zVb**J88BA{i>-eOX%*ua?;(u%iXZY%3rY}z zDv807iZCe%nQ%cngjI0*5Oo&#G{H3ZPtN1DMT#Y?pGoMxL+KfYk!Xyq6D3;o#wF?s zz9&KnWJK2n@@Mei_d8 z+|GrrPGk?rcx-!l{7XAR#i#>W2Qvhl#D7tkE{>naxXYw*9t=swBd{9<;VFGbgrLdM z$e&3dZ4f!i=yqiX6KMfr=nfqyMgwXBORg=L>G{^?uC+?PxHMEMp((@K{_Fa#*Z6lr z>YvP+--F8>JV1LJ?7u34v)l^9MyL;m?Gbk_(gtPZF7tx<4NwlI#C*MwaWM2XWa6QF zQccr;E(5&e+mJPaW%*(zTq+un9X%b~-eKHPSRg@)(3D(zOS3H<>n-a)UiZ->hB?B1 zg2tiV?sxPp=FFop-PVJ+x?CPiv1ctG!dB%(yFqhd^z>V zw&D7G5O^MlE`OE6@_q;q%BtpcfT9l%_de4CU7HdbhqG{zvoe1qu*Yxnf4g8Eq1Tl2 zMC?ntwf4-9u@4HLuV)BvIXsF<+(u`AN#NbvmX4}8gZ@E66-1bPQ|frE&y-R6|IQCAmU(o(q%qDt+g(KXf^t< zo`5n(A+nnr8jTA2>IXDA+UGq-z0QhjN!U*f>8V?@*_T--3fYKwbO2l zf8Nbm^jV=X0R#c0*~_QvXS)t~1PX)wztLV;j*#8`OsRhK%~A zj!3$AwclTKn!*;?;RLiCfnxGAF(J;~q!cnBIDptmn~9fnfw4-~?va8u?MsPH@-`+8 z3s(jIbBk{cz3i>)699|tRTpg^--ujs42z$QnF^g>Etr!1{5L@y85B1cSs+T1(GOZX97DfNK!Okqa zWgJb}hogU&jIkjwJ;3cFj-)-jr#rK|>fXFn_aKLco+U8LuRJUU!UbiuHjnd340kHB}{8vHiR zmFv!uPiq-Hd|dn@2DW7$wtAGFJ*|zHwwZ+DB&O6DKl0euuWg|m!cVN*djUmPCiiEE zZ-Gwc8WNsPd>W^(&Y}b9lF!@j#arH$4>k%5aJdYb*$x7;U>9l+YAG4TP*m*^DWmqE zp1_Ze)4@{4m4Egt4_S;;U(ckUXaCrV+-ZcN_WeG}w=RW!9Ha|HCa_dt#3Pp(n8v;+ zsJV{u(8qbj5mo`hBr;K0d$HHKe}N7l=;NZislhA*A_Wr?sII2bX{8i4mQR#NhzZzU z$H9<<&P(AN_bBx{dkbIyDG=8Qz3{vQ z0?LcLoMX1bE)L(98 zxbBYD3{9yZ(<)@z{L&yb?j+R9zBZ7>spi!n$k@x~g15 zEe6`&3@sWTOi~hY_}=B8E)L#%=Uq`FBAh*m3NR8$7WK*r)<&);HW2*jDmY$jF38GK z5Ul&PKc98Qr_*hFp7YS3X#Lt`*m)U-T7h&9rRoc2v!TWbn+bl|D#<4uI``e@QqX$G z_{~l0;CH)6XeB%uq#K|TA;fS+|GJ_6=;v*3d8)P*ogSzLApPaE_o?aaZCjX608_V z^Gx!Fho7BXd{p2(`V-e!LqwavOsG z0Iisf$PNMJbO%rmlJ-lG%}VKlX1%4)AkMc6=VqV6y8o zCvd!N(dYTDlrgWP#S_5~Lrt??c8#KUftnA0gqSE#MAU}hGQyH_lFWRgIN9wU5n`s` zNJ2aSDfOrVf-hTOgeQ#{E5K?=f&MllthZ$wu37%&LD4ATFPJhY=k1*!FVk+A2`GIC z1iBhlIS&U1uw*pJ5i$rDE=1{jss#n&kb9X>#PFO*=%I{-LxXdp5`U_m#8oo35swG> zsA#%Bqx39Bvm2IF2{a7(X8Ch}IN9MWzX~-O?Bz`EO+26s_5TXbweDbC+e-PvxV`O9 zhN2L8I?$Dcq{h)t>k*N{JFw_@!sRRyRIvk0yubcCt@tx8RrsBYkiU~m{f+amO$9@( zMTdvBEYC&2I3DL@r$V^n|EjfT{woUXsQuOwNq|Is4ink=OE_{5of7f2FR>;mFTJ{Y zE-)uwM3m?ooXzCG?P?wyph`(FQtl@VX=xkL3uhd2f1LV1rF1djGY%|%#gt7qx>h=y z+C{TA6VTf8-2e}sgIBWz%r;+qemN?7)Rh%ZBZ?xE*dHfUOyiPfMbO6;ym4z=7Bx19 z8}?X_hR~cx8oo6BG@9kKnAiv)HHdimF<0DWjQ+FKN8d#4uGXCR4JIb&>Pd>~1lxCk zpk|>&8zu{t3DR6N#%UHdjPx3vtMr&dVNQIIb>!B2L-n{M4s&y1lV|Oez4HdT)VY>9 zE7I4y(tNPZPtAh%sv_2a0b)9TA)=4$fzV%4YHVOi(Bn@LOcKMa90QAi0oP0Vgt_El zP_5l$hCZQ#|;dnknLdn+OpRV>{L z7syS^$Y4drM21B}+Ai~76t{yFWqO?pw#469uShbU0@kes4_Bsb6))MzhuL~}F^cT= z+j|l`i%&TqeOFAm+s?zLQ-Nn+sYAha~MCLw3*EwSU2%Fj4q|Eh!j*i=js`HdvI%RzvaTNRmdbtPOi4LvlLz+&VsE(J3xc45`t#I?YYCCmx;0y>m zT7LH0F+_;vs_07DAJOO+u}Yf11ad(|^YO)F3URoA?tdB`JJ=d<`hY*pk9d473Hz}jXl1eqxbXGWA~FcVtR$g!wbXw zEY;uSj0#L)a7XGlBhWS1H`&0F*Q)kyRWrxPzI9DN_vy|a4SwKyoq#*ozwS&<8^7g$ z*suW+Jp$;UUP&0sJVA;P;vc;IVK}UDpFRtlj%}4Ul41{r$*}_E@b#`P+!EmIUWyVS z@L(Q+mEUe&gj+#B?%?3(WB+>}*%z7)C9_XV1^0KAWCNQ|TmsUenyW_O8_Wf5kPT#8bu2GS#znWW@1tNc#nT%kjP+P=i z8jT9L&qUl z+#p)1LM~Yc+pgw+hkhz6TFT!67=9a)uj1HCS}S{nr%BcTOg!y;{A)zPDEDBRfm$S6 zb?6ovu+x`)^9eWB!15&q5W^&j-R3vZ**L5Sq#eq=mrt<_*2M z4$Y-wQy}ec1Nu{!0>n1O_Mh{$NcFTqS)Jf(Siu%=Pk(W|)?N9iFpml@-8FjUm_^l= zI-pU^DLn&9B?{|X&&Dx8AF8(ee>()}DVUZVsFKE4lEXg42KQiU0N16@D5O-kmLsjO|ErI;%PU$ipadTc&4!`n*JZY&MGR7 zuvynQgai%lfdIiF1a~J8EV#S74DJwIgS!N0aCevBI_NMEoWb4a@L%k8&fa^ibJ-W& zt5Yx9U&m()J`q=LHh0!WN)_h`bGhWz@1piG4AT%+cKKhD6m+~1(@ zAL7$Vcq$er-gTt#s8JJlD$|khdznCkS&Fs-u3jL1r1-Iqpdj+q7!}|85wqadD zNAQaY&$4%XDY|+ej;Q20;cug#<}}TxKoaMYZ|>M-6g)j|xRr*J?hILRz@O6YdHv`g zmZN)pCJ9f>=YJ@$^zTd%iw;?G{izNY#{wB8v;YU_PnmbRO989h*0y)URr-|n4%%17 z`Uhhu_MQ!zMlI_-h9>#qkOW|lnEhZmOPb!wNr~0R+(50R z%TpP0QjwFWxYHFf@a=3^dzlBLM5-oK9NL-I*!G5AyoBpvm_|3M!YHN1Zw9Fp2rZUQ zN{-Hz0n8d6-ZmXwAFMcSTU+vHDN6%lkWbryNZiKmC@eo0kTo^*?E<3_U$K;2U^)-YdxYbh@C)@ab- zk$|m--&|CGb8gt&b``QQ)3nu4tt5Q*xH&(}v$Psa19b~h5cVfOZHNDW<&Qr`B{~Q1 z#g|ZvB?I5d+G$UWJ`=QfG_&6M?z29n4rM*?q6)xrR^tf41NZEXZ(ywPZ-5sX|8+g~ zrrczrb$BHB)rqK`#tMhg8Ty6CSFa)NUM9pVN#Z-3xuGANpI2%iry)t|h^&8ez7$B! z9g0Z}dQW)f-@3JtWs4r1s{KNJoSC4ZB!ag>nrhQ7%&R+>!k2&?1uk0HYJ!h zgccB18y3-$3F=zwGB&*{nas)JS@OG9d8q(2Z|>ey%venKy0-=74Pt%u#GBhMerES` zL^@5>5cNanRS!=>M<(8+s<^pen+d~{^0SJ95swk}(Gf{~IFW@QdGJN@y z?fFgRFyJE-3^5Vrb1Kj`8-7Ju)?ds}J5|}2^nt>})4|UJwLLy_XtZ0_@nEmM`&WE8X98Ndgx>skst#?QeCmKa0WA-G{2q&64CJwK zq?t(>hLvYkwOziYB%!)7^{|QH*S0d=`p`XTB#%U#`YNobb?{Pf7(ZXg3 zd3ud2IC0({QH-ah$I4M6<9|_j3ev~W6)xB9DB<{AuTW>UFj=!CkWa3MFZi;p^yG0& zD&p;Ox&AA1kg_k%=l0lfrLm3SC}%Ivr)Ct39)L!>{+;mPOQFr6&h=3?v} z+wkH?VJw(~y{Cty+VmRbox_8j5#+VNF)sddp3mj>(1^%qB?XpP z=zDJ}KkOT-S3}mHH|V>VAZK4CZ(B*jcEecNdZd5#2vONNNiE1OXZdC3`(wNFHEEX) z!$+6xZG2I0mU(-5-~qT7iAq>~vpJMs!_Lapoj2_@hEdLhw1@hB~zoU)*;vl4}C=glXT0Lw4$lL@b#y5sU#Tt2?L zzE;wwdKT)6ZE(Dg@RJF<@ZNrdB}K8Xi1SwX?Yzv|-HA1%waITcoE*MVAZ4q|0p1AO zS;HUtc+hehx#63+||O`*6&xzVD9hPAQu zM<(ylde@Z|dAt3sJWal+_FAhaVH%rG%=fojj^@f@q+yHWBWZs3|Dq9( zpRSm>lJHaN(LYvJm;jo9B~clSTHoP2l0tBVAsa5- zd@}c##|W32^zA8#OnLb_6cqBfyWr<&h#=sRySr}u3wc5<&JICCb#fvFxX^#e zxO{?o+%e86faxLQH`o3c(v2nj02pC)zrLS%A`Qof|L7ujaVjnz>UfaEBa*v9JmTN} zS8hy8UkG|&77_w%iuFF)#jl^}IKEW4om_z|IUL_%k_1u=SboJM&3%DP zL2DB3Y-##!LP_T*3t{&5LGoE$$|~^0#G`u3u*;qW)$`j{Dt9dPz;1c+=j#)tWldC- zj@OlD{Vpgd-j67D(OATwP%1!6baN@0QlO2MtyoM!<+2gjnJNamMVYC&8zI0XF`L62Qc z@P|jJVv7vT8$_0U+Z?pv!(t9&)&ipfmQYVxIYqp+bx-VD5esNs!@K>RQvCZTvS`Cm z5RR^hy1|u#!9!JEE3Pnm;hP&hVud`QvFtk!LPQcS(OHs=F-p{Sqst@*ijGOKt8VPSE=x<`XP_+4UqaofUbo* zrSU#%oewgwH72D`URh3anu&_(iy18~aD9{lua>ENdRq~*v!hMG3{dJp72H4i=AAM7 zfj?Kpq0^ zAzD7?6Yvf*UoSQtn_SQku1Vfaop~5%)NSq* z^SPPWLAL(h*R1@CZjAH6#CQmg^(pkGC?b3`&a2Hx$yyHj$jq6x_^lR%37Q`X3)40f zY2ZnehqsLy;`hktYB8S?Kx0A7R1dP3*AxPKB<$`rT%{RwUj1!^%)w&~B#yK_`ops)uun8pf*I#KF6SEL^e)M{1v~)RZ=oi#L5FPugl7NoXo%Q^= zoyEmGi4INd0iN*W8U{+>Mr7GDUws{Vbbv(=XR};TceuQlzt!#M;e?2`=P6(&;07v- z?oV`#T%Oha7DSmu5tQ{nUv6Wvlj$GKqP($5b!U@~^ij)@AOdGmAD2mqzFd|yQFeY` zFDR-|y9Y0Y3u;N&y=&5t-e7?s1ef0{4Nu>~h9tRgJo~MDd;7$$qrZB)9J1z>pflYn#P(8m8xJ z*K`O?D}?pc1BwfVc==ag*$%cvWVj9?Zk4X<*yJ#oya_+w|`v9o_eL6XriCsZe%ZU`B}z+{M*4HE?h-{ui_iBgfN3Y za=+p*y#ieTLA+l@hOdY5klp`{y_zy9yB-pooEr zNBz1xGsO4m=VQ+F9RXY9frm^mCqr4^P1!Wzs^|AIGoCs?HIPC|sx=UwdCxY=*|6im z%<%`To=aArQtU66n#$F}9SVz2y)&sm)M^2 z96a=E@Q_cq5OM9ZIw+*(!Zf-Ex`l@vN*X$GNxnalr)vJVIPJJwF0On7*H>OWn*sY* zT$EU463QXff9D-{UM7$KacLM^RGk2;gUaq=)!d&a91Tw>pFE+X;aMZi{;$sm#_qJg z@WGbIUd$}fZ{UQ3#k>(kW`qf)(9QL@AFt5gme(Dsv>{5R()VrVC9$Xju8W^`QhR5Q^T?7dQFx{!1GqA>6u;n ztJQeJ0r~NabE;bkn8}oOapy;?>b)RWmM_WqhtFguSi1asPXWt5XD!^-)$gx++TP4u zHq@2V%24d)^?F-}XjvnD{-Kw&-enHDlih9jIHofOg(j30%2EYcot7M|H(4SLD_;7a zx#m6T4ric!l1AX3*aCKe4CFCzq+A0lSa|oUxc`XQGK{Ybz4DHn7A)plg7`JG1U>hH zQQrVp%=(+P<$qj`A4^sT8V_95n6|5uO1fB<#j&3zq^7fJ9skT9!z~f%k2t2Wbt3J8 z*ni>Epb&EkL9d8~ZyHRFK8Y&VS>MfEHh~)mTP>#m)9Ek9efJ3I;?T@u5xB<% z%0}=w@gjU~R`${^I<2-?e~CFWwBPVJyT18|6+J_+T}a97CCkS~=P?pXn`&n>f>ScZ zQd6)EWA}l{045_E*58cf_S+<86tDR~*v!n&>-;nP^dU8?`85a@BbftLh@fDTMjRU+ z!bN<%r9N8+zeq3rHolhi#;ys^{LV}7hOU2;sLZzM7X`@kPgs@UGys--p$ALxTkw*q z;P9?^?@NFu#M5x#i3qm2G=6!$kG+A8kIhJ>CR!G#3}1jCjvR{q?86B61EWlM6#NQ~ zo9%GiG2)vdF_Q>s+#1Zqds3?1Yuz>CgTbLLJ4;aZR&Is7P-JS=z}W8xXT8RL_EgID zG!?mg3=<6k$ye0LvjxHnd^fhel1F3P?q$s^U8-{(CV$=Refkp3ciaNY@V+W^acB{- znO3sOseM30C+a(U&RF2T4+gdLa1U5HT+zI=sq#2{>Qmt9Wo( z)EMoA-rvJcLWW}=FK?c8SBpDPTFKMl+Oqt!fg~RbD*=9)`nr=(xaw|1JybV~MB9+w z){%DE|B0gaumf3M@8i7gZe}W)c9*1jO`PkG(Srx$m6YyBZ9ACb@vEwa`uLGf zMq6q=zZHb0Ctzyh-u*Sc%Uav-!kT;xsR-PJ^kuT}%g8frQE!V{gCad=Aqh`dv!nCm zLtkpT0b8VPL`1VR?Mlh?F}O8VpMTQ81Z91~CM&%yZfmX68SCU%^`XeOk8+(3(dHng&hy{#AViso`R@`3cwF?Dt7s(8n)nPWnDOCLh|F^I zQs~bbebWw)9_@Qona6J(`~@s}sDC=?tbb%Vh$}q;vBp6S1EtGd;ubb$i`;njqju&g zDH0v-YjkuS)LZ_PksDGS0dAJ}NSbaX0;aPgix0=6*6#Z_OqE3KE`JyVAg}Xmr`jUj zd4gx)d*)K=0$QR}H^x5}*$l24`?vaPYwwo?MS#A90&QGs(URQvy)+$F3~I(HP!hTl z%xYbw9znLK#iLB#i#?}en)3mC>OrQ&PC!fieq&#%vV?yujtcnpLs zEvLC(TGumq+gJrl)@0`2+wx{2Cp2#_QTg|e1lt!Wm045WLM;9;#K@;T^1Mw4ZOdn( zTciVV_4gVUIhSweFc6=mzWxhx`nO?vTa=K~ex%*=$LrsOH{Z)Q4#M~cZ{I$9_H3;F z1Jq)qLblNQG|3|e+mEN_Q(k`yZd9=h9D|U^buxb+`OX!p#$%p)@m>VYcyI7ny@(hb zlljC!Gvkay73t0g?heJ!oh3prCB8kAVGxfwcZp4{eC^1d@#YQ()kzw$Am~8!)H-$n zL4%1U8KBBp`=y%-fmOuOcA*$~r~- zHWU|3hc#8l_hQ)?_wps8G@b%Y$Tb1VC{$XdoLg-m3n z5JU8P)-rm!IPAUs%A#hxzZCX0DmYu~M{9a3=9=FU+*W5bt%X;EovO#}Gq`K$`2W() zH-}5PqeSX%0VxWqB|^1-)B_%$LC2lbglr9CjP9pLGpmzR$=W67Wy3}+p$9p_=rV!r zT!O0v#EuIJjT5hR_WON2GmV-$VYif3d6!*6tX)zmGmNu*;`sLG30S|mk>s-^D~8jH zuqr_~$Bc6gGHg#Rr}pXm9kjw#--#jApeAG*$sZfIMOHzMUS@WF3xmUlS8LpOA4F#i z)F-R;Op&v4i02uL*y%ObjBEC5Dliw5<^I?aH!KH1WYaKRAhVOe*q41a9^jg?kfpGH zw1(Qz^|NVRZG3K5`=SXWf;|8nS>&J3Mmnp==l66Lwrz&^i{e)#7BLcM3G7X-c8Dqc z|5}VpZ=%9Cb=oQ@O4yX}sqJ0HI`v}+2gbb2zKznF3f0N=exIMhW^kg@(9L0+%12kH zh(b-#cI2e0xr_rMs4kC>DJMxY;BrlLT@$w6W$!#2^BG9d!Ym_$J6!rGkvcAUcwY&^{iliaMvKy+Ee^L%OQK^}_togALu zBe3Knad1%LiSbuxYvft;vDvgi10AYsBj=ww*qju!B9CdFb8^g6CZbtLb~m&|w04fT z5Eva(L6T;Y!v*8~OJChUU$c?{1xNcg$7bna#Ud@xCFD>&^->C-f2IF-C7zg1@Ax4l zO%~ws?cE*cez0yh{qtdXO$!xAYzzo~`9UBw=MbHI(RjN??)387px~MIdGh3d$$LjQ zU~06ZRU%$FI{qq~Ej$$kf%LtIcS9oC&IFmx{?AQo#*y~&(3wZj5 zK2*$Cv)-s}=#{_fQeLn!b5&rQ;D@3+wPowT^^Dp$#g-zdL+=SQEC4tt4A&p)r^8|c z@x4sjTLHzidh=vit1VWv z0?u(Un`BkM)<&Nt|LvU&uGNb@G%hCvpM*vlWrSMO_Zrk*>t7-{220d_e9-DQ`*3J>LouXMHP}o2&*AG>?#nrDCwTL})f`Eo- zZJqqOv*pf8-!V4{z29ObRRrZ(*k1@_QQP6~@fNo-o4rKpnU=K8ksH!c17KC|!@$*h zq$J7MK_}naR8e)7Wy`vDM*fYj_R?q7UBLd)Ob$c?p7W9tR8hY2)>$fuI4ldCus1*c4Za%_&Uoe?=-{S(*fCYS^>|& zm-*?G?KvDz&5s1zXfa_a@OB^1tNKoQIDQxtRK`?TjSsrrMdg(@U0&jM_}hN5jAmi& zVqq@95UHV(60qPG-%a(*ztJCD;A!HJN8BUl=OIulvOH3Ewg`oMieOPjW_u%r*AUG> z*uPXNIENJNp8Ro2u$F0vkOj$?>({va{Br~e4CxgmrYj~z>d6_x(dx010Z7Uf9R|1n z!=!sESBFpGASEH@)tH%Yo8~(3yuWikE;`MT=)JndwD-zDU@k#d2TzoW1F8oTvy{8} z?SxgX@mGWb54tAh@H*3U4qc3>tZ8IAGFR9ZH@ZZ(-oR)oi zQ8D-104-koA56l%8Mj{hMT5N1rfYHx34SmqtVcn2K{D3=E)dpj#$i(bPSKTf*utEc z{@=aGe?);@@9oKjx5Pg0Ij8IHyJs(pn6&)ubMbeKbUoi7Y{Xo(vVz-r^Qo^5_PA+4 zzgx=!D4<4<2K5!?%KdlOQiQ(FM?(**_WVb(0jQ_UAf*W%@bze>SNh+|6fv%R0q#$ zlG+|U$rR!6n8W#8V*XPci>&C~t3@_Y8e2Ma;T zUk324nsB$P>?z+1o9HcTZ;+1{q%^cn`TVQBZ%thL%__f?2r17~NmCH(&A;GH z`bW`;m@6a zdpg{p_>fGx&9lDa&si*24mn-}xIjbVO%ZH1Fk zzbD&35KT%m)psV~qA$FT3Pz3riF#5hUwY1TT%JjM9>%GVa`sp48u{9&2vnH{gdThc z!}}|yiKF{5>xSbF_lB=R9WGB-{}xZ3=Z_MtDS%=<{W!piXgTi?$L9rN4ZVrejev&h z{jmFFlAYFH(oIOxZN8?W2Ldm%w4%t=

elgw~bR0IsBZlsht`JIeY(T=#n{pVbdO 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

|H&a-u)5u19IOD_e~33i1we} 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�FH2I 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 z%0A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 z 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�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�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

2rJWy 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�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%0A16A1nB;dBv{T7M5qu0KafJ2C@re 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%0A`PyiXHe%a@ix@a_}dG*bwj|kVpW0 z{3oWzps9B1nhPAR=8bhrq~UH)|I`h@%KZA|`!eqm--PgRoKO^*J*+yXg6 z4}S|@T<9ANnIEdEqIM9$kO}A&%oTANO7!YyU8i#M2(i#MVY9}Lo`W5jGR?!M4r_sT z5NY9QB_$g@qH!>rTbnGQ!I}J?xIq}h23{|`W{~4>aE5v0{^yXCGWJGB?lK750)W&S zfLYov=h4W&jKFz#QtUvuz@}oyiSqiM5X;JSrFYhJ+Bi5MD$zr;l6%(FGzz`tRlhmX zW=bSsG3cN4nt`_oK6Ly&L$8F{T?Y{h zQTDa<)qV`i5(y*W=bvLE9Z8p`n$tsa1;W7LV`GdWeJ%dbp3F)tJ_K{eTRvey4H=!2p0_kt`10me=e$uU)u3{4|pdKJKn+f?(<^~QQW0cH8{DENclI(Od#avvN= zb6<-5Ku(;`&Bug~i?B?*Lp<-VQsr`Y z286)K1PbZ4f4?KD2Gnu|F#I=Ii4pxP`H4lbSoux?0o+)pe!uz(``Lj6Aq9q>oUqaz zGIsqcJa7ZM4rW{d-M?-|Tr$)J^pG24yFa^bit{|G&YK*08=N7-^Zew~Ds26su2}#{ z!`{1+?g^nIQ3oi?ICsJP9g0^TK0HP%RbrEaRLsnn${~nuHlA&f-Yxt%{ABzL{9OEE z{7QUSidb6CGdB#kHT|BR)K@o*!bJoi5NUnU#Jr))Zwu-Kt;0RGsCv>q8X)lFQM?~> z8!c3VwM#y#`D?~M`M4WoF*RwrbjcB}F-2IT8&qK#RNw%H3Ly|C>KQ7!E^G5bH<)WBC-mI}}Fo7x5bW0)Mr(K2yTn^9LUSt4GANuV00_eP90cxBijg z7ZrWJNs=n+iGe`EgVQoqslH`hIE8^!q?9o-FtAWjQImiUViR$6ySbv5pxoWv72&q? z)zH)=aDCd{y}_-==gEd>z8&dGl4cj`S=qoxG4$1nBQWu_a?7u)=&0!=UAm|l5#D`p zwiBs*_inA-9q9s5nx`36Xbk8_3$t66lWqU1tCwsMk0a}-Z?nqhUA?4L$}F3DEgV(#KgA0-%ree zQ{d@$664*ceXxRg!YyrrS4Wm8%a@9Z$^i1X%XQJgl{QyZ6`Qqo0s;)kQuuuY7CAlZ z*e-AWo-{wuZy4)t{&?teXgl1mMClA;qjKMb#wJG<+P~~Gj6O$m4eG^04(#@}IGTBi zd3jknUe52+^&3ltgb*GQl`@u{-EHM==JSW+O=Y<%yDhI7F6*^m`fN!ttphL>%P?z3 zTH22Ny>Wcd&{kDNdBDnB054lvNb|X6nKt3!QC8+@-Z@g5K@EZD!&af$w;Z+u)6x`z zsZH~Xgy~se)r0CfqA@sm*dU%nks;gQ*okLxaMmq>q+10=`7?KcE2@w;TGDYK_rw&q zQF#Y3P`+*)0Wl66({yoK8bOPm&Dq_$lZ(rZf*9y4gd`>h^QqD5*)$tipPUc`nzVcE z7O^Fh+WN9dJ2FD=+6k;fT|R;|M?a|1Gqcm7AQN+Y#qeQU;ri{#cYAlvvUzJ;Yk?;R zp*9Ec?AwKdV<;@F^4*W#&0mAK<2}DHpoLbJmY_&rk?EqP>RM|PGLwQqJ?K4t<6|S% z=4MC7N59R?D;TQW60=^}_=&_}`YVI(n(uf%`LUbK+|O;?qu`GG&(2r5V0C`+S)obm zf9eGdg1%B4N|XO&MRtkl{n43SlBtmtHA;puny?s@Qr5ycDvoyM4n|p-5|~fRgAPA$exYt#)?7f{&tx2B^!J0GT7A#R%Q_mYv#ZF2 zr!e3_vJI8N!E+e=XE;QZ8PWyl-~r0MyLmTLNp&3yLW`oT-*6#`q{zsB?HAon(6eIy zDvN^z{;F+*pU$#jNijgvcS`%jOPFI{rv+L}-Pm(QBqICDJjoNerJ?DqH?L5o=JFg= zsFfC&xP;MV(2+mJSdy-?Ik6rRe&*2bP?>RXTR?I}_!B`#vf1lHu&t0?0P>E8>BJc0 zd>7<9j2$@{Y=bnTo4o;WghhsbI6@yLqyKB$3_-S;L3g3F^E>Vly@ltGr!D)F@B(3g z(=33G8}5x3aO5WL$MH1W+UcsjRFh3lrn!4H%HEbwkom(?KEcqVb%{d824|%h&!BAM zL&fepwMzl`B_>SlT>be5bOC)s3-c&psLeHWEoO+@-4wE;%D zsA+J~R86FxA*6>m;14~2v3&)0!vCe#1abu&SDBic*3~)Ee7Wxk;WkC3ga%!D3cFb% zDxN@Xlu>cT9=Fu!Z^auf-s^ue0c`c zhrlQ$wMjt<@`|qgp%P{`J~hG2$~rYQ6^k5;e1+!Z?BcHusev%hfj9Xr*bbqOnioC3 z-%+^lYFo`y_c8O%Z5oAK2a*d8%=S&dM-R}_Y3eS`Eg`*~wo{^5)X^cu!xb}x83wPl zKt(`ri?-7xkV`@BgpPnH-`&XLRI^FczTfAVmKb_IDP#1RH2*A;5VSE ztB>Lxy;DF9M81*^nHb*sZ95zeqD(= zD_*u>-8kEPUB+Fksk)j?Kmge^j;XjKzd*DGrk!?wE1T?11_b>}Ss*Eln5vxPTX=T- zx6@TEKs944PI90X5DFf|M;;ldFEnqIt5#~N!uvUtpN}s&(GIRZnN=|pM6!GEg_gYi z=;$cBNLEfxwAFt`+Rcpz7U6~Cn^8t$QjR5?9%NxrF!t`1_v=;-h3`M{Xjc0q{}=TA zj|*Qs+p-wpU9{iWcf&?O?uDBubZF%zi%+w5iex^bL;xZUgbra<%_02Y>lZBJYdFu; zMNR#)(e~~5L&)Y4J$y5@zGTX)|Ms0Zym%*&!J#n#Df*flQ)d0Zu2#C=E*Kk?A%yEX zQtYyD9MJ{&E9_@P!pJKrY37@~`N=n9ZxpPF;54qCf0h!x@2#Vd1=lQ*OjANeLcgJd zeSD}!_rJrLHXqnqY_K$?o+3Ov^l0UK7Xs_r*z`>54>^uaktNJ6h_av>mPKjMKM;wh z%o!fqY5(zuVvR9hlC>P0~YNaHJBUzYo-~VmI6| z7BtAAm$kboY4A~2rKtg~Wc0kgw#lP6E@YmiE*LT)+$iqP>{l@V0BdI^2vC@Pn1NX0 z*iblqNnzllgIlGB{>Pj3>1Lu*?{~+DM$mewsKsT00>-ZGetbz2sGmn2+wnzg3{369 zW*gnVl~{(Km(D1ZL}c_!NjzN0hgTTeiC4}dQ1(!kY6* z>D1~3H{v|*mBJIN4{(pD!q3VGwi4a5FvxeN{3({r2P+9EX#_f8NYeZHpr=5xr*1(K zuUnvjuB{8`p?iHX>1QmfsL<8c9%!6`NSBx;q56xq4b5|^T`N-oW`vQk5y+OUOGV-5 zGr+q5fM0)5uPmR3gU@SE8GO#aj~42_D=Rk{oAj_kr1V#WoVier%mWGpF&a&Jb(NZr zE*>=0)H|4W*q^7w9KfvnZ9q=X;;8K1G62;L(_|yl;m9gMwDR$PCH&1eI(AZ6=r;}N zkGx$~TDo~;2R25ySkG=M8{?0c$oqA5ePaqp83S!sn;}u)@zIQ>9aL0wEz_mx0@OV^ zL;+_+ee`v7@O|(}r41X5($>Pyq8{oVq1QkRnVaL!5SCCkPzvZ|)m7^@Iyxr$BuAn9 zgAa>*$Rd5F?DyMuZqC{SZ1m$3!6&f!9C2$vz>^A|%Ogv(zHG|Rfl{IR28 z-kX@QOZ}X@ncUhm9*)eGw{s*vfMk);QNbKk@nyY)zi4)2(M>mOF87~NRl9=^LajER z=CC>|E~_NnKOXQw%Z8lK!G=mkk>Df!WGcwaz~Ft6pHukB-e=X2ZPON#&bhuR&^ADz zk^(Y$;tx+F{Bj=KjcbJpp9hqRG-D|&>F6pG-tmwp=(TtiG&bVaW6ayS`dD$n6?%f} z7Fy9bGK@Kl)i}601Q=OZh9_V$p`QqmVUZDnxQ_vD@eLv}2C}4`7F#a)0Eh%vN#Pqd zZZbCBoSK@Gs}rRFy$9Ta2rqD^MU~!+!@|Le3h;XFj(^Vb!X$Me$S91CMhVt~G=>kW zOkpv2xZ8@I%HYk+NYql+(9l#}SzQFKLpp3k;6BToJgGj(b)rE(PUpt>?%ep-FI!zv zG)(%h*nnIb14xKFd1n$(&p&+BO@8*{p!yM1`MJX#uM@W6dku3F;HP-Xl?Dy<+&i!= zqr;m!7pX6I<|iGV)nQWRPr15&I1>E)V@W5%iZIV4!~{A8x~5KNcji8jT{@_nZ5qJz z-SHTB_ZWHh7Ex?l~)mai7KwgB%Po@lH*h3#^wcO9UblY(29tbiNXLwzXBW z1%H_KDVfm^8?f4NY(e)VA;lL_Ll3Jr-a%A1*@2_bMu!1)t*xX5?)Yh&*78nsy#3`X z|EX-?w+@#*3$&;O4!DpTt;^7yd;#GvUCN>G@8t>D^jZIf|58}8#T3XvJ(6J2Clscw z@(8B4#8}PX4#w6WZ>Yg+A_ixgqd;OE+DI8~63WlfMtA4Agircj$VAwIHgrIK!G3EL z@=buBr>z}4nVY!~z-wrQLtOnLKnyp*Q?A25$0+FWchjScMqvOmQeGxZ3-mp|F7PAW za3vHVy$-fHxz-Ww@+c4wjRT+LG+;X!NH&clxP63N<5&5mY0qUqt868+EsIQp0P>9)=uT3yYj7 z1yi;?m6mk*4FeiZRGu$`p{z)nWV@BiW7?frbx|A$)Lq|xL|tL2`h_%k4QtLoZV^jU zyE=AqwmUqFjCcK(4-@bkH|}82bEa4AZ>(hAM=im2y-e4rS{t64s;aEi*3rSmh)W+@ zE0tq&236W4p z5sZL*M!U0`PZyt(-qu_V4+;IN@5iQ!s`vA(1ZFc@SX64lQ|4-Cu++xMCMXXqz=0ir zfQUCuIsWAdL-FAEJ~BMK2*l38)=;sDR|6%2s7oTNROq`_e!lFH?VauJ1Vh|2r*%$= zpwKVdBD1mh zr`-~KY#1_|#wIH(%d5P+Ep08i_?UP&X~`LC1`MhtiG|-O=$%|$C_)0RLfp5og!XiQ zn&a`uQP3Tvp=YgcoS=4q5>R!(m?`~JXeT3kVc-#&k!(Z|(CoHV+WX{%iy;kK75l;Gg@6SiinfxG zk@@)Kh?o$+*{r>Sjxlh#$LH~RGLt(d2AJoog;PNYT;=>;_{j(gBj<1AiBCx3 z=;Of*Ovo}RbF3fO`M73&%|I~e*F?$(u(D}PU-`d$!6r(_Bts)AF3eRiNjx%Q!sn3< zj(E@iM(F$U{Pw}Y$mYxW<7rIQ2fSUpZmk8b3yq7*3j+Ukykai81nk|t5!r}Ci_$iJ zehxxr4FXjjg^^Ws-&Q><$tAw(6=B%Urk%!ym|h)!KM@gfa&&ZfEoRW#W3spIvo7;` zFB_xCy7=_Q-IW&}1?KbjgcCCj$N8@IlwTb-@xAHjGUUeSA>HZ6+9e6mRxF38+^&jE zw+d)6lL+o-e)qh@FR~Fl`1&h{AC`|(ITMks2b&Hlzcv`XU+ngXwv8Tb)7eqYyC_q? zpDQu{ueT2$ai=pSYkj7;0~_k^A&Lqs zoEz)>`olO=_p1pBOj$7uBZP8gDNZvWdnf|#%JD1I%4E&Px)UDXNLoE&mdPldKW2H~YS>aROk487FH={ffdI%BD^(!WL}Rl=tOT+|B#+jM%)i zCh7TG%SxlU_{6@8!=6q)HsALk4l}P(b(S5(&uP6fG`{*wv?77)!|x`BAt`Ro*%T?g zrJ0B39bSjf<0p%JQsQYTF{G3t_LefJ7fmca<5V_Fdts>tI#6=gD6FRo?8$p@eM3In zRyDo%#o5~8e~-(Yum{7a6eMObYd^7=`+^co&2idqnYf7uo8D|TN@x1iTWB16qZN} zbhk?@zL$Il^#HY(7k6Rg$;DGNes4veB^vG^czp~&XSpXQTYBD*1HwquvaIaT(o)$90R{CF+z+U)RLUDh=QVG_?Q3|o z(^m8|$8B6)Q=D19jA%(f1W8|<^#lsP++~Ki4L#mYPRHvI648r$eAh`Ql#4`M5T5!b z-iunoXy_Ccx z#NIyL3hZIc68`LTByk8W#h@<=ad5OB78{9jb&G^}hK7V1;DAYj8xkgCuKdPZtUEs0 z+||{{#>m*Jy{oCJv2<~0DP8b>`#Tlh-YtMD6o#-wiRBcRmWmM{M=LKwQ)iZsM=fU@ zC2ZzCwCY%?&||kYaKbaOeUP|-U0*V;D}8KJCoqXDqqoBS?~vk98miyAA`zMdD-y2qPq?3donfoZ%`*Z>AWH zHrXWc9Xn#%2n>b~J37kh;q&**<<6kvj>Vgc-JL@%;)D|~^US>Duc!;TxzAiJSc#wQ zP`-a@RvER{(h=61%@cDdUkNFreYqYF=1k9(COE=G~$fn`CUAOb4{9CD(33Gpv@mKoT{y}@Te$Xk0#&i)2_67cYK z5hNfzGIEz#o7{QwEvW$Ki&TZF5q8Il00_68f5}plyNk|P;=dPSo*H!XP}DmyKE~1% zlsbd*=aNh4YUktOm^5M`ud$d(leGAi02Fdh_S~Or+^@#Z`0cB9jiN9`Tcc2ffg2kP zdKb$unhka5&wFO!!)#$d8o>~*MydHKOj|*1mjqrvI)gKJ!;inlzsK$uJLEJ_XJ|q! zuxtUXxNKq!t9Kv78lkND-fRo>yB*Y6)O4`MtQbbTlI_CSu#4{Vabe?~tdee`; zzrkEfWgDTnV(L)k5M1J}$zW~}Wl(5nrr?&?)SDe3eG&b=U`pSH;RCK(UWCnbVdKGQ z2$y>LkQH*-Voh(VFA<3QvfZ{V?`i3#ugjuyR|0dMSoGyZiFVjFR4P6xZDDQ>4i1u~ zdm!@Y0T>a7QO~e}V2)V^PClf>sN4O9;SkJcBF;i2zKynKIIOtj= zG*SV#i*1Al%qoKp2YdT#zsAi2n6&PZ1Cp$EH_^$LpFq~!%f;9fa3;6D3@QFl`8hZ= zC^HPuikV+CEQ(7cM<|8)iDr@OxukL2t}jf@r0FF5o;$pgG4BzyOO6_p5rgu*ixF!R zF!M$D78h~%@TO<{PK@OHc(@rnhzXEkweYEfgTrfTl;3 z)ok31NNxv+jWBfqAxZ!@QCZ$?>^CNI;*TJXwF035j|XDCg2uy3S@U^3Mx-1OvWjVe zX{L3a<($Py3UMP7X5afV6ze4*C=P-GihCn2 zkjNEN^QAh~;)8S&tzdnHeZwfKO$=dsP+DAXSx{im*+RqmEouvGY-~=AJb3u~VnxgX z56J6!fA=ASk`n>~YJq~^c7ZVFb3nU`fr0*J`WhY;9{%PwHae=5i4ib*X{V->5fYD& z4!hm%G9z*-k_m!jQc0>!z;Cc^Pp=XadzbZoo#f)|?(|3^o}I^sxH{za6%I;4OU&b! zPkz-viiBf9i=drAc^@bAKS^`*=nO&~W3PjE1ZHITzY~bax(mkLYSYou?^hRPoIG7-(5`6cao|tM6=l&Zp@R2# z22}{9%Bp3*my&qoS!}RUf((Pizst(kHF{W;c@K)bA4|HXGCrg&%Gy!#sy@Sy7~;L4 z220}KOmP_|9(}WDQbbowQzD7NAE9zw?8AAk@!HaAanD^9+8_q6G>y3U<=H>&Avh(e zF1~Jv3%>@bPSH)P+f|bhXIY}qMyoCvT@$`qH0Y*X=!a*x!6o}nYWhx0MZ-(?5PFF3 z1zQ;6Q0ZpYwTX{C!WYIJ*aPE}tc9AU+Q*_I>VW~Nkl+ipN!6#w&r{?H>#^OmVvty} ziR*?rh(V^VwfdMcb|}g>U<#HPM2bYCo)Q%Uoe0Lfh7xlhm&xt5YNn{%ru28~jW#=6 z948a35%|jg8+iYGaW3J0C@aqu(`s$Yn8qsHety;%GByzCZ~Esb$bk&v(Ddd}K8$LU zm*Ih#ax8bFB$0Jn3^qym;xI`js9M^B*2N+eb@B9pj)yB3lBf6-$+G-{u* z6ha|I=LwxF!AhU2<)15i*T|upXoDqznODQN`-saa4}0-HkN1cIx`6H*aPfOV(GW>{XvKTQlZ@UqQS%I*2^@Hcr>Mn=X( z0=YoS35a}zA0AX+QE~kJ`x`VgwCUymY04V>!9hk-_IVDV>#{~!*+)nS85##(VdD8w zI(r#LZJti}^$Lsp>EaSt@K(M^h))NEhtUmBi1%-og@f6m+B@1eVy7<^%YViS_o8i@ zZic6_(!rh?Yu`sWf9BNI8x2aBgnR|Pi4Ry_F0bcc2&+ZIGByr?dV2P5_wEqr3k-}v zLVEDo?&p*HhBwH!w#W$0|{w zRF~^7-csBV>0aasN2jM#6O#Zyrk0d~v$OXuD1@)mB^z#Nt_mnI+uh5TK;nXGPXZch zHlMs2H2_=>O4P~-2UFV2{Ir`vBkQ;*j!`N!bi<&bq23Sqfo7g;{jd*mef!g=WL(@{ z>KyKe_T8!$o{3WQ>VIY?^)YZ1#(y)@@xL=u8zUvtYbAUt90}L0!e`DN$(6##0(eAdMO8^N&kJS5 zr=CvcfA`$H(DTCL-7L>T#@;X_)wZi8Cud+2;mF7!?zt*R7pk}hz&YODo(k&g+rvu) zhc-1dX1}x0?mJ454nVav5vO9pd@`IF>W&Vf0u`a?C6t8AEC=Qm2b;Qnuekcu(^l8v z;{5+Cc2&L%%j4}ww!&cqE6AV#X@|EwOV4xx(#E%PPgP&nVU~Jh&|cJ$7-%fp;L!)N z2?}PXxLu~;!|1pbKFx$S}`}j68K*P3S_9n@i82El#T}4ID=_<4`BO`41gS1I%tc?JTri2BX1PyHw zx*24eVi-6N-D^0d+wG19NDa4BSHZ&CC>4RBoQ~}|1%MR zs$WF{ljB`Ax|{ZU9=vL1`6?vbkv$FEH(#4~SEp)P%d*lqcu`nt0Un;|IXt`lrvPb?@pz=~w4o5X%*k3x7#IiV!MUS^QO&BA zZ!sMp3O*JnV{BNdH7<{(u!@U`6&4k`BJ)+w5QL*{r z@Pqksmg2zz$#b!=$+w$24WbPUTHwiogcIJ{-Q??5VMZ;4Qq{ei@-bNM--AswNsn|< z-PA2&EZdIN>(SYp$sUK$Ea4WH(9sDUd3DcQZ-XT5l6*1ZgDRVGF|aZ>J{lb>akU?) zmw2Eh6)L^tc3((fIvK2vV5hAd?)2%RV1=9n>r)CH@)xy*?s>l3`&faF_OM*e{Me#K zC6+_S!XzIS9S)CzfQq~xPMQMWTU$9f83uHAUf9`h)Bx$!#PkCE>7-fA#vy=4k?=PW z=;;ZasZc`Zqgyl3fbp?OOP#jKnXxIyzQUp-=*=JC<$vf^wLY}f{)ugH;o?av(wHqC zq$s#W|LORXlPI_*y#N~v5|V#6R!{ytQ@u#{CDocTd-2^*>9hrC!3#% zkSmvWzZ#}J-it(k%^n;R3vYnzf~Xw2orZi9FSMUFjFBfW^}(J=Cs={9Az`*@;G&7z z!Kaf&Y|s1NXq7z&-AM+Xt7QcH#FUIvlc1=gm*aj+CtTTh!7Op*c2Gy0Wc0+Kig>}| z8~YXOi8AZS;qON6`zk-SsgS=A%13cIdiiG+Xq#Z^02Qbw3^x=z;?+)P2iIG_D7#Et zLP8C7ZBF5)>Q+ik2DP_u>wvVM*JA050tw7$9et`dNbD+@n>nOjk(48^t+MiAkuewN z7ZRd<1NZvUN`{WATZPJmTY1!hKAuu9;aBYV$Xi=m-$=i8t=)%72UH_T;CrkBpOqE$ zvRNe)6-=y=NO&aF5Yo-V9T=0~-D|v3a(Ti50FaTlAY}a}Xrhu#oj}eG^4;cTCyt4+ zU2V5_Z~(TM77tTz?`KL%N_yf&wYBNRnPoN24=i6qX@OiZImP!VXXg|uZNgC>Xf7sCap4NwXbdhCPL5v9dE}?`>=xY;GblZUaDV_AL;p z`Yvo!z|F5dnm4{bwKz#0hNij53p7`P8hm|g?aUJ6A^^YbEK^8rtt5Do00 ztdj(EDPy?3J)0~(NeuEwESKJqbNV!9#<4LZ$ICBUTi{mg?cKdkpFRU#%!1F`pG`FVEVd@XzCn%HOf!JTr=fqwkt(J+FmkOK(jR za1od=8Dv+QiZS7QJO!3mOc6H;zrSCspS*5dATcA?=|dPa#0=5T61R7G@$KJ1c`Vvb z$liy<+P>SK`hvy7j`<$87I`Ddl7*ljYj*H_f7IZ$*XDBD#o_U5o&0(0JRM}#=X<}g zz~urw$udaJ(l9AzWzwgoV@LjHxwfr~XM$@;&b-uNPUhFapZSCsa&l@JaZk*rnLt0d z()4?zgdlpYPM6?igEqgv_YV%i)mqzY_1|};Mf5KYv8bUsZ^8%m z9|qRw6zOee6TDypK8pfHZ7*+{kWd^)vz{aV&>+0{!_TvrW%8< za`OcT*)bZH?{?te(CwC~SN4~WtTIsvdcfJWh;>LY|6w0%I&G8r6pkaDyqEwnx6jC zjH8%uM^qj&Y`(4!4(SMVLt4d3t)bwYayo_Ij9E+pInW zNjtdQ&?e9U{~nGnuQ-5(gIif%j=vGXhOz+}vkZTBYH|fiodJ&r+q->O@xVZBg0$0B zK8hcZj{b}3^TcE%(F|}-sW~}0KvCTH@827L{YovSIYG*XY&7AnEFZ-geBhfAR0V0n2v?VarW@&aIG zgXJ|;wMR%pOloZtUnr7x?&j+uT__O!qr@ma=<93i>7{1i+uB%3{0u^wQV5F-M?pi1 zjft3?7}>fNt6H01STNnI_MMl+vjn4-qeCt|o2+~4+5|^Z%VYjGA}~|_9TAu-gRAfP zDIh#w_P4zz>>?tDHW$Blj~ZAEc}RB*HX(L(M1(>4Ja$=#Xsy@gT6+-@w9-_fmL zAXv;$BVj5hF+!#>!r#?*+$?0*o0clB?w_iATk0SaT|9cdKv!6EgE~cv^O)3^4kP$* zg_`Lb{aex>+oeY*fW(z~qOc{UPC{#2`-MG^2e-;YgO0t`3C8ugT#{?in^C_B`9$H$xP1C#>h7*CDQTmT+?LMBlt3Fx*3$0E!b}g``jW`l z!uXRYq}yHgW-LtrqO-}dj$0JUxk17eJc$ovgNSjbLr9aFLMScal>w;QvjyB9GipDHr;CX2Fw?W$XuS0jzvo`hRYQ00`)k zM}VCaU+$S3`uy>ulefO&{wrVfN6(9GMa3zz{^y3p1|TH=;)hBkmQ38BUk-#KBtfJt zIKgXwv^WxD|8VPYzjVsgew*BGu9BC|0tF+eTEz#vFpLdT8QiC~pjQDH5O) zEDQGkeerN@sRbsnw)PejOns-U1lFuH(D)fZN|sgqHA8@3a3XjmGgC=fPhW4Iq6?7l z*$2v|(jy?ubdSr*ZIKJ{F>tX{Qt&Yd^3rqj^Rv>1W)&v~!N9@XxjlNg8`ML5$O@~T z4p`1`&^A|>baylf>}O+F;hJ~G!NF0Io{vC2AMEMrn;jTiVdm);7UVQ_`Q&0^g0(;V z*1WhZ@8*+>2cI#eUAEr?W<2!G(82-%&ik}5sXS(S7Jq56L6{aHveUDd6P z-N7B?&}@WWM)>k-|Hsz0c=8;k(u1ymOGmJIK8Zr;yLXuE9MY6#(@w6=oHMf;i6aiR zb=}+1c~m#=q$HwZqAWNUk1MQQP#=dV@7bCjUlY7zZT|Pr4|dM!k1PBKI&p{m^U{w; zL(;+40xdO@Sd$vInc0%;dAvs%Yod64>VnD zg`SJSefD8*QiF_|#E#c^d58=a7>{O)8Y>4l%>~DBs-?s1Q*~c5V?_IEBuJO?WvoAp z9Va(~w<4Zb#F3^sD(i60c>!_5-Q)db_QX%Y6PgT##C0=svuym}wlc=pJ%MypxBTL2 zJ9m2oVdNKF(r)I9b*n6i1ZQtkNooTmyDto$(9r8>7!lyPg=j9P7?{(^o5duQib8;@ z{6i%FIb*+~{5oDr?A~71?k3?hYQF^zm+?fIiFhLdWjG3RGTSxTUmid>fLs9`ewhWd z8vzap{E34N=-NuqaF=QU7Q~)WlTubJal^Uh$#es8w#;m*0Db&|ihkTEfxgD;I~(Bp zHBX4l${JJx+uy|E$gIcqbI3B+8f<;2aG=+0|3aVf@q(M$0ZvR!vP_}`{Y{UX7AE|% z@Tk6rAvX7$=!*mN*Ivb9HJVwGF>Mcn>Lb+(i*Kvnl!%!sNa(MJs-tbF`(4_)$c>%K z#Qr|pWjahoQKlHpl9UL_KE}@yPvMWg1NqX6a|ce=6U@L!99LhZLO&*FYCa-kuN)ut z!L7Bedj^L7=^&!4!zn`_Vu0ksQsx99A0ABB`~iYHH%z zHVh1)7vj&)b}RsFvlLGl9wTM7BMhK*nQK0IW*^0@tUg&V&|?8G1+7CSV;ntm^7?zk~(BGhvp0{gyFf!GY{;9+2gUWD5!>fY!(!oQ7%;S1xn6dwsF( zdXfDdP}IiHKp~IVC@pI&W^5(zCGVu-rT0mPkdT^<{VpvnnGj&|_KsoN@uHiQ{K3o# z5f_WUOB<7SgYVH6$|;lbEQyBQND3Oj=At6BouE34KGRPppgk?~|vUA!+;H4tO{B_sM(hauFTqe-E!0 z=9;~1AM|j)y708P(R`8Z>t5yKz+bGerB`Z4m)J$uOaXL8?%2s>e2kc>bWUY@mh;?- zfckA_eUiDcPh-7xhpiqj+@+?q%{TTwtI);c#y6DKH}}e#hey?x#C7ucqf2EUWq9#i zb25FH68cuNKR&b*PUzZL|XL1WFCFA`_4 zibz<(^THCN$pjO+3G?#4aUScrNf!NWtuHLh z{lPD>x&}0US)|y*_C|>G773XoLpeg77vE-|o9A`Y!NQW5nAnIG)C=2p0{eoLr@nh> zY{oZdQs@)t-;Jw@;|K|?RI0KTdRhTSsYAR!6uTb|P1&dB!&hg*4>DFV1ywb#LQtA# z?v^>;Z$$~~u*>&yDJ`z?cl&}8u+I(m8My-WeVlch9Eb?#SmyNQW&gX0xMTl8_-E2T zu)fLlCI?{so0^y=AtV4IxTZ#j)k6OV8<+^N3$KI*twBMmdci4Uz9>=n<*o@5sUF=j zoit1xbG;{$eba&K6UM1@V~_=j`x9TJ3)L<1vp)0`d|# zCjPaayeS6^$PYZWJNhFG1>?(O*okKsl}ZolrJzzZQO?q0DQlH|4PUvdj0xMKns(Zqj7pFk^ z>c1lx{G!$6*xKMah+5+&ao}lX{=JBV%J6^V#7Invf&4K|82I?uOrE?=ghkK+2Ve%j zAO``#@yBlk1mw}z1lWBhB=7YSUdsSLOI(b41A$677$0yzjzsQF`97Qvg`$y41O?Bk zYr48RiS)-+jfQikiw#2WAaI+&_Uzxc@HQhT;ZTYN|WCCt~a<`vED+Ag*bz~9yBO+=qYQDd5 zfJX&3B^TH4a3dqb$Y`htSJx;P*Bv30G9qS%5JkbzcR-Plv$IozkiYwGnYdK{)m43L z6WTa@zW6F1UxFq8ReTK4tZ7AT-`)FQFRuXem4k7N(edqD^pC$SEOVT@=bEA7w^s$x zBO}5f#B1>qfS)VYrYaT|yGjCeN&Jr=qqXcl00a;U4NFPZ7kqNMmN(w3-j0HV%EHVd zHk?;bQd3msXl{>Dm!nf|J|`MlJw#pT%jtsQB5O!|Mw`U|GG)~yW`#a$bB zYg~eRaCe8`7TgI=a1Gu-fIx6}cXua1kPti&+}+PyYwvI0bL##As=Ao(7~@fB!;!FB z07&@#R3bPqw!LC@vg5h6DPuL`YxtXZoKh>CIt9uPW=1rA|7?$t4<0D*)C5f5^S9UcpfnL(bo#z|Eh0#Dv;jdrlrq>qyS{!ioyT(jB`TceOd2qv?X$+C5P2P2$0-TI<;d?SCH;r`iZVka99WrOLXURQgr$p%kPsKj`o8$~L9 zEBNbLjxeROvtwDRLXlxSX7D93`ROUYzYS?)Q*#~%3Q2xR2jJtK+Zc(YcQtueb38d2 zf9rY3t`wV~*&4d{!dwZ-?rUk5k(B|2;ra$@d{yt5nVA{I!*2=*c2cq`D`S8DY_#Nd zEGXj-hDB^!PKXA-{VD9V*VEUxv$HF&tb8slNZ3%j$!{w|&Y59fjE_@y4;?3IRW4ki ziHx)-X2mfvHq0WWsHv!6e)n$gaBfb6l<|J`oZuqaLgb-!DSvz0+_$=-%(k*d7VKpM z^wJ=34Rs;3`Ga#;cEuX)Mrn zKs`lxn}D5fZ4ARsf2*zoLdWxXh?lkB$@u@@EBv2*u>Ii%M6-hU&pt?Tyt-D_FY_5z|4s=oO4=#%=q zIG_TDNoR=He#^Xf(}hjC%o5Kip(jqw|0YtS646a|eSDx3F93A?kg{v`1u>6F;uslt zp)hM=bT(2)H`17D(O>0G_C1eMf)_7!?Xy;^iGPjn|Dffq8RE8)v|IRLmW@}f_8m=d z><+{9GY>JJXC7nzb-CJWyWFWpajdOT<^pLw(J~(WPwS^ERT#4kXPhtD@Gx&ty;H(x zzfT$7kaGF^Jh5A$fo0Lbe1j`FxnX`DIJDs0*9?uY?e7(9@<87KA;v{`8@#6F^EXrD zWH|}*K%Wl+MYvR`iQZ>NC*L6eW7bpIh?@<6Ln2R3dFYrjpw}B4+#L`Fi@jxrl+@bk z?yKtV=2qPGSrPo5k|!L!#x_q%Qg5D@hx;ooo|Ux~cyOq#Gw|+m=*n7^G2$RAEmKH@ zx4XT*JdxQng%DN3$)3mFqTmmpJn-OYs)x+|+)3G+$$7h+cn7FnxLE{${}z3AaIPsU z4|#%O-rLIwpth%G0mB`lNU*;DZq%U3Wv@?mLtf-GG7NB~R64DletTQnAk!U)VUZjN z3+wo7#ui#cq)_rxV-t=+q=A`;S1F&nyZaAM$}?e~XF`aygOZY!Z#%NF#6z!rz$@Me z7%h=k>=KF*4uDz*ud$uYy7YL`2{7K7^k<%bau3~y?xPo_Cy|@@SOgXTTp5s}-Uprq zZA%{hE>|go9oo|OelXJjnEdec@N;Pa9UTMsu&0z%Y4{o%8YGd`!X@O#M`8%xjb60+ z-BnjiJf)Y8hP5tN#(r`GaoaIgz)_=RFw#m7Vd+szNQ%P>V*bKSzZQ@NefbE%#s=X^ z&8oPu-V@>ANms+a4~q=%@_8Z7&E}fp8buKbf5kP zCiDRva%s7`YG9ymRa~t5^=qmdJf2X^>ERb`EE9lIYXFC<7w;HGNzt?@i025{4-vf9+yQ4*KeOln3ALg~400QvD1ajBe3$RoV#u{>!? zeyDGqsyk58_qA*Q3Oe{38m@tuKb$e_f@mU59|sVz3PXGEh-UB`_3BFCfJiG0>G}d0 z6$O}l5Ij8X)HKaKGbbzj$YDGk`E{spiA#jRp)GVVyMONK>Vy)C9v8+U@1C# zds`sgG~XdB>y!{}znuL76T-Z{ewLNhN@xxL8o6A`@WuK3pC`9;zC`sRr8D4V<@Y?! z9>6qt8>_IH>tWhdO;C(QJg><#eJ(37;YbTJWzoYT> z^Kli?&1f{lraU+~1z3#%eI%h%Cnvc@W8$?iJQE)uUyUYsPei4Rx+LsUF!1b zbuasmfsR#G6zpuBUMuP&4-d!5b&qj=za0K6ZmB+DtFATt-|DLq{$FuRg}#DWEc!o+ z7T!j^MTc^LO1nBl`rVEDpVjw7kpp`V6|j~=qeNYlOf0?vwr{PD&-Il;hu?nNW-V7! z{4OV4S8|-EdfxiL<|-fcSxso7{sKdSL}RE{_?`@u7WOJi3o#^~l?n-hz9>!~*DsF+ zNC?}3&FyTTqs$G*OitYEeXc}CTjQ9@rB3G59)=X|Q|DaJ3TE-F6urJQTh>Jn^m5ukq6Hn@c~Iq3L|l zcMiD>`^y1qA@>w`cgu?Wb`GB{?7OqS2_?PF90k@ZU8?Z{oCH+C3^I0Z^`Qe38-YDn z6YoSteV!TU1X0N0%l>C)!HGqXoOU|ymyr3XoLQ=w1qqQ>-Gg$&kpu*nT)c_ zI+v=Zgyc$xcp{hN&0~{cy9TE|9430zwYCyckn91k1}QRDFjtZyZkA-%lDH-4Fx#7`174tznvWp z4#ySh=@?`bU=Wl@S$guBFBYn3{zIJoT}+c9{6DA(2Kq_tKRfEMh>q;!b_I4W;q2mi znfV`Y?LgrI5r>@L$d#HsY~56NkQssB$lO?ly>F`S48}KQI_kFNex6>IK7l$Ot?uVW zQQ*iC$ouU{gx}`* z!qICB!6m7(GQuh&fThyisQU9W6m1h;++F2lWQa%ND!?$|!MFKfF-yS00!XVS2;_2) zOMv@RO9voS+@?1?ogURL5h_^#B9TV(=-}@oAYVx4+7qSdVc5Ue?}Js4*~HwU&t?+| z4s?x{3yF=AsT%qWjab+wuaP}ebMC52(e+0@$DA0suC6RP`r+3vK#Zv$7hz7I6({xu zUNy>gyL55ey0>L`2(q-ls~G6)OgEt#|FBb_@^(dmCTR&5j_q&A5DTUS=l}Ap4GgMf zEbqoe4lW4pfCUT0CBNOebq}dqRKv%jN<=DFwG9>Gkx<~ky28S-8O7V9Zp7?-^Lr(= z)|JsG_U(A-!u|S?vxD*v?`TF&PDrrlm0ewJ?BoOpqqL-au2!I}iSb1O?$7a3@C!&# z5OIf;u!f~u(iYVWPHE~?3j8Ee`PJC`L_*Kff(*yDjPL1h zii1iOi;Lv{1*)k*C6;H9S3Q42K;3~^)#X; zU3%-V0j5lt0GiIJep&U6d$@~m_7x+lOaOOG9FtDPw2H1vF#(LuQKQ-tc`rrj!i=;! zdDVRq@5UTMjnG8|=M*G2w=^$VCrc*qeB_J5j)8`D@9mQurwW&G?rN#GTr_&mL+?ah zPFJhq1VwaXqn94paDb8&v+_;9lsQ%!>me=_78#08M-EU{ePoK(#EGY8P_@YpU`I&i zC%OuFJ85~6X`ax};T-memSEM-V8Dk+wr30fCpUlVp%n_rNoni_h5M}m>dPr=2{ z>)6`*Yejy;OAqDo65NZm$n$Ypk zR5q1d&M(f9Zm&83Dw#AIlLfSW^D`jqV?$GuG*kG)p+D|+;1j;qyOp%^mUJ(_q=8-y z2$k5Eej`rafR|KckCOejb&7bAQ^4UfACi#) z8h^!L{_Z3v9ztR6?lxE#N=nH}Ym(j^qLltk7voA&NH{(24>4n#jPl{=FbRCY>tGrm z7qj@}?d|I}mtt%lP{rTO3+Hf`5Pas?)>M^JEBn9U&ikeJuKVML&Kqw#X}^OaRS+5? zd|B}VBF=c|Yf;xqv||qOLdEvNZ*AC-oP>E25}S81I@q*~#~Y;-8%{aDi1b!8ok(%q zH`YZ%<)P1DRrz;G6I7<76AFHO_NC)ta{7#dJ-)_2C4l&d<^hxbv_AWAI{Pra^=olG zW6>plT~OVLyx=Zw+Ryxmm<441sMS<2C-z1HizDS|IDw0OL);4f@cqc>s)I20MJvU8 zo9^OKwd7ekXY-q$vA)DhGmy&n2IX7xgUtm|y`2ioZ|Ui|C#6_nTAG z0P-j|&bh1l1}4j*z>3^)cfLuA?D;#-yK@s|RplZuSYq5I@QvIAQJSjImu8qC8!mYi zo zvt%-dSO2DfxXtj?FQVtNyBWHHQ#cRRXW%twX_wf-jsp8D zDr07aIUo=7ur3a%iV%DO|CiO=7o~Nr|9`QXIg-5*r>{CThkI&xIj8_`6C``qbTTh+ zLxqyJcGWRPCdi4`b0MEI;mY4jLmA1Ht52p=Gj+H)V~^Q;Wt%R# zT$x?8J~(5Uyg{~L6}K}*ZlGOswZ{gs{$f(pevkDn`hdA%MwyDro1#|KG{jq*sSa-L zqedpi*8Q{bXY~yP>dRfp%&BBhO`(NniKA7ClUs+Cd54|9B5!@hT7~M7zUs+O+NPr) zt(c|S4>}e5h~Fj^y=jMm3{l*tT?o{7uT-WyN7e%S_cf}jwF%1<>a_;Hg3Z-}drOe? z^4xpNl^$_9E~3{cUAUw`KRK@3J+{~6Bx2DL;1J>auqioJ&IP&o(>Fcr+!W;1Im~>U z6pH4lFfV(WySuyF+S-(DR%#nMI=sBSV+CO^UhF~gynHR+zI~fL&fTPPwWOX6yDu|{ z@|Di0bZ|8b{t1Kdaepp{D1}Vl zpCtzq3BwV8`xOYFYCIfAkrM1p_J^gul#h-+aXk4X4a9wtktD5%nFKm|pzBjf{TQQi z36k4BcqpSrM!LJZ{a924ylFC#;jSTR9a=XWVD{4Td`NwwLXq2NBh11=$Dp^4m=IFaC}F=#Ft1>HTUm5|63xKCM2sTI(PLGd@=uuvgvj2wU*c~`*Kz@` z84|f*Q*U4IAXfTZJo9zR6@aVC#Nz$RdK3Plo|q|#JO!kO>X8%2MRWxlD>;0Mjm&)F zi3Yp82Xe8#Twd+7GK#QKv*5lEJVs&+sA~2ju;hicdJh_k&_c4Zvy(3*h(~Bw8P1R; zEj^^WJ6mJBRTbS)Z4_4+Fv$~N)pZRfa%<)A|Ngz7GP6DYE6UK36$MDRs>TUB44pU_ z|A(Tk3d87l1h(XI@Ff%y&X!{>zZa&^Jxz;q!bf+sysaE*t`bNccU=mU&M0$M&1v0- zwid~Q8$*azsaK*ZOY}v@_LPA7@c!rq=l4lNM0PmY7n>~wzCCwG|%|Rip@(vYWv0(MV5MDub zNDTYPi8N86n?^WuHK#y3xUZ>v8~WwP<$CO)sk&dQ6APz&>a^n3%Up{vkE*J&hF+*X z7EnS9JdCZDjEthCJV&=4&>eMxb#)yIznxVZRuczc$6QqoeF zv6%Ba?ouF~c|8JiXTOQs>iKu9tb9DYx;i?pZ9YIJfvUVp^p_|kRAe(l6C{@EY9}_O zab^Jy+eNuwL0ch62g~Pjs@C)xEIFFsq#a!dWIyrs>I!vke(n#)d)}{%aPaVX^r#cC z)<{D##3aNnRRB%|6wYbbhjX%|;-$hrz>7mujHjxZ!vm4zrR=i6)K3N_D|}IODPGW8 z+Dz+3t&6p{aB`}xNmyZI=ReO3M}U`>k=iWz5*=@4C^LebN!Nly_}s1&BR52!o>oj z@No|tq$7>7tBlO3O2uyBhHd+ZUw@V?#wrb%4$0#Kms_mmX|?+-?@59j&le2#wxKzwo+w=(KU^v=owO<aH`blhc#HtSiYB zpahi{+7R+1G10}&LPnOJ4opW+OFu{-78&v2;};rRl1Xxa()0HEL`yC23egPo%|xBMm|vRGCXWH*@9WpExnaFdK};G3nwm&K2M0iO zJqvB$=f}u~fzH;Qf+n!3i6L5FVR8Gnif_auPrgr-%7)Y;iI;Wtol0L3%it$Rce}18 z_GYkXgXKcnbQ!6adD@UY#{&k{2P z$_2BFOAATa;(01_T+4CC^0!b6EM~lB0MjlWU`%dxj<;u+EEmGz-q2wADc!X2mT`!8 ztKr#o52Hv?8CE(hT$~`^d~a(6<=r!VFGxvQSzA}vr2k~#cYlAr#GK{j=nu;9P)oc~ z@rybjLKYS(U)>(y?sUOXr%y6(5j7!+y*6XFJp5n z7mbIt_MRm^ZXHhk6%ICBbr!6}+9ZpG$WCen!I$lNDtYC5@QWZr%H9jGGg0!7G}&+9 zHb?Ym{OeUj{5zecgp9P5hPSpfJ!#|9&ZKczh7SmpTg`32Ce3wPe#-R$oDm3VCZCMUsxs|UKT2iV`T6d=M} zn2&E{_iqi*L$mnx>l_5MPsKk10}FFbw$&Sa5j;7*zt6Bs=Tc_-^DrrI3$TT`s;ft( zqhVmoi8?h-$75u%YvbY3N=vu$v!{YcQ#|`-)zi~9)C`u^=T_!_g=>a`nEAN@|Ghw* zt67p77Az-fd)EaA2N2h9XSeTS=LVU#Dk-5KrXQ9ai9i5@P*_0sbSW<43~;(6-KdS4 zL}{}{ip9mXk*eE3L3>C@AwKCOEw?Z`e-kds(AL)Mh!n^M3}LAR!(MHQjK6E0-pA@P zva8+P&&>H=)QoJUnMVuAD{k<8Er8E9OzNMr1XaDLqQTw4VUpB3zRrj$&3XUkw}HXW z%04d1u5bSig!RR$)rjGyr}va}4FA<Pk=v%z^i8dJuK0N|)jr)umYffl56b^V0mE`SIvz0AYb93|A#HuYDhD<*s2BK^ z4|rlKC?U%mfl`aSH2?Z7rdHSqZjs=+ft(+3qh{HQ&zJNL@WJa|bm2lkfS6?E&c0HQ zU-?RkH|>5Z8p{cYxr}t3g=BT~WHIt*Sr?O5HRo;z=;2Ri>brbXF*FY6HyU#}eX!zP zw3xg&16L8q0uE&shd4)c(jdQoIr({)K$^LF_e(Bu*l%t?2Y;OHF&_7PQ9Nv%U8V9mq5=saqdGO=F z>w34A(fOuYm4+q`gfhU_jS~+k&qJ7sMd|O`KqM)pXfQ(f10da53VwYplaI!YV_{~b zgF^QTsz$nyw6w8z5|;ox-a`M;dZ!gkVH1NC)H1O@kWtTGrfQedcs8{p|5iQDWJ(Il zvz>DZ>{9E_1=9$l^3#P)7-eOxZW43`p8Y+3eq9q96z>j^llV2((7*-OO6QS^0FDAX zRuJ3WU2%P(kQMt!1_Xxa)tFNCwj^4Y` zDViV*1-eRHH~1C&uC=vNH>{|@r-%g~a1%X6t+_y{>94f~bOE_;CX*}^LSn-G6F_R= zRE$*ElYsf13yxjl(fd|O1D7Mv3TaWT|HW) zzlcGoD};vV??9?YDi(=inG#5}mJ|i;DRM&jtHt|kQfG7e|$J`aw1s78I&|KMIBhX zpIbL8>3^FVr#(h-9p@vmAJ+P4nLNog6k>W2Q=4uRrUAl6jU;FW@9~fH$!zSQi}%MG z&rcPf#8f|*H^%eSFyR^EjerDjA=cr{VNB#ZpxH!f0z!*2pU)nm%VJRQ$>e|8x|sBl zoz)2L4k{w~4Cq?qD@=_yjP>nCY6ozu&E4Olm3aBpmB5+84E2|UkwNH&F@*NEbwRy< zyzfm766NH2-@x9Jt5dO+r-lS`CgteCBT@knHpA-Y7_-wprn1j46iCygY<$inB$kI`p@yNFnvweK`ijDgT=%xT<~UvvZ4pCVZsp_igL@QJ>)DT| z-tw)!JdZWOQ{1m&B}S6%A9Gt;3YzfNQ4C2|8M&R`y+fjz(!w}6F#Go~n6+C1v?ZML z8hxUGtqBR;5EJvz;zyvq0@Dt$DF;17&JA2+YlK*Ie(>cDl1_0^|NqPZy}dxX zTg!!i&9TR}U4w>jFges>XyKzU7r6OMhgE+VcLPf5u607SeC=tfeOL=s{+JZpmTTn^ zCv3vg_9Qk$Za`1KdSF^Al)~Qjg5R0%1U5Bfc$xW6Wr@N#|C(l!xPCuFUjqQX3kN48Fnt#svo7+06c#;#OjD=VBMNK@ zgQb(5ods^`X{cfq;J^+?qMrT1M|eF#0T}j0-|}9b=T+5sqac!}-mk}HM;%_qPSxwD zPT9CxpI(97pa(Y#c7Jp|5*I#zbISXoW^f7g+ng00TmqIG$HW|pseuJN7a&HH{@_Zt zrc_a02D%bmK}3TeTbKxjyBE%~7cm8?DU@)HlZS4UI|EmkOb;!k-v8m4=*4|{10-J^ zy5QXN^7r^y30q~3{%hLTvD|c0iV}Q=b}o;Fg;7hfjv#3m_yMWlHg0h_4u3Xm?(FxW zoH%57UF@Q&2t%}$T1+2(%2-$hqUFUC&5)IjZdUrlb(kch2A}=o4}t^s<3vov;mzY^ zZV_#f<&mR*mV!Gr=V*t&i=r9Pa`B|HphD2uk)5zz%&4A%jm-M7jM1WuG?U=anuu+C zlGMZ(;SO*Tz4elEs35|=Qf5kDa{K+tE2_7+Rk|(lXl1Y|f(6`=`L0;MBn1Ixz--Tt zx@o@n&Q*y2Co6t$4`%uQZRW}}|7W&+_l5oSH#Vi1+WWd)ow83XsRe{ixC|!E2$rCw zJENRhMwyL;!$`C|dSI+-zcj>cyD_$dF;p=q-Wz-#ybuD#IfJ4TVz=P4cJvXJ1l_`b zs~ooY0jRrJrEI0l1^1E$b3$=I10i%EZ`#z|-Qs-oL^xhPK7=R4(#}~u6J2fN_(-bW znUVP^9%`1xrZyro%`fbPzY#&fv$XluRh8pYqjJ#+2^gqcspY*SI9OOe7G|TN5O26k zV#IT+XAV4K!x8$?73 zLR!Ett+fs)YuLJTg}hE%+uN!4P;B8rh%5A<-7K->2@8Qqg#s_$?*T~4QC`;ehzD78MOaq3t z+Q;@`FoI;Wclt#EqW^Izt|PTZV11o?efQ`5W&RIFq910-BEgC8+T`MyY4$^yuLQ!o3^(HIj zOq_@6$idd)a9QlG5{8D>vh+aLk-dp~y$nY?zQqOYQOmXuA4JyI!~Rksb^6|*utqCNpmlahB<=f=4 z711V7hf5iKm}i}w!sZ@Hf9@0(H8FwN)*H>m)s;Hx1K$M^O`oj;!aG%5Aut02CkqRc zFzH%kVy~Dlui4xJqnVqs*rck(BbX~!GME^Cn-PdJ5ivHNe3oz248 z-;@18su3y$c6DKxoN>0bqsABI;0;J>30g!zDp-I?gIoIw6)1{TU{E{^J#VQoxwJ4e zG_bZdF`w)TNPYK7@n>jlV~j~!m3Y`^2u)O3+w(KkqXJHNZKz~#j0#lenK z#OaKuMy3iV58{<8L-JAjVu|@R^h2$&7Ialb1$|FHsX_b)`xNCLd{j#z=)J|}@s`+9 z5s`blJL7KvT-v>(34h=9k``{;B>h;%7Q<0ySmJf^kxPbb5&nEJ2PYQ z9w}U6qoo7A4n?Er7M+-XtWyBOUSY&(mi|Bb%K;U-qP@r92jOphc(bY@>>xP}p1NKA zJa40Vl$f2QGK8OwY3iJJVVM*-hC%yVhSZUY+nQw(DZ&Nr?^|S5r3yZ|G?=+{__>xi z`*@jt^irzhs}e|G2>5BmjcD=ZrTGJ_^`ab46E8Nkyv?EvpG}CJw(}QSaePfO)-P%= zsL@~s^G_b1Hk-GTMETj-skymnsi?SUizw+!x{DXJ8lk@ioB8>fJD8US=5`b`lvRto z7l6-)=Aj1C4S~pc@AzT)kD$VP9Puyi@;~r-aLP)hH8cR1X*lJoks*L_fk9;0zcxhK zg}6%8?LF*|aEpU5`{_o+f3E$?z@HNYAg%`QQMZ4@w+5$-S6(@C`&<3Po0EG3|rglFI%J_ zLOm}LVyx+#d*Z}+Ul3)?w*c$AARVB`MB^6VfDRqrSek*x`&FV!HbzJO#ux8WB zT1)8eZkv9EWkEr~Jn+#rh=Qc0wN@+~%bgl|v>+qo`wY2gz~w&nN+p2DbImst(*ovK zF4kZz!=jvRrVqAbj29eruIjV1N!Se8YG2`|zRf0WrKWz2lj-X24*2xRvVCy-P3V_- ziC64Z z@UyrNWB>sLC zT%@{Xmy4`jOFTR~EL~_?yxw;h$a>RO8lM;!Q(9US%2emZTwn%b6A2Kr^Oz>}7Jx~w zz|Ie47ke8zcOeYotK(8BVj%cg^gE_h)hfYKah#>%icl@i7RlLK`CSo&GjeL}z+qJ@ z=yz6AF8Sf6^*)V_0j;G%V0~_ujiW4Ul!)RC$I|Zy--plD3g`+|Zo0KD+HGz=_8ne5 z<1q?fC*ZUVS3OYV)=FW5W{b~ZXXz@9VUY>krlz4OvoiF+ZxXZTN5}rI(^UX_I`h;l zG+xE>h49)6i}I^7mZz`V7ltbUBk{84GslTTj{}G_0$R3+vcV0HSSqeSH@Eio_Ttjg z*3M2q`EDKHM9vD*0~;7dlMSR!K5 z@|ud0R&!|qf&2OxY()hHj?kG3rV6`qd!TJc?uK4ECr3F>`P!l1ax7}h<45bK=}6Lu zi!lJ{Ii0SKZ}vQ9VNEsq#$shErukXYU6LjrPvFC^Vqv(l=AEM@Ai<36=LvZt-sXx^?-A>1t>pu3@~A+I}Fy|=cravNqn#`d2zpLGw) z!NmCuXym2^!Nqh~EQ?=QdfSY0Gfr2s)L16hdd|;t9XBeT&%wU@AhG5YC${>bZ=jEe z7y)dLqHDu}93q9^Xa3qcJB~2jV(Qi5=tW@?j*qi1{3I!Ghd~__K;z~UlFc5VReU|X z4W&k2P}}J8yBncMnR)&WjsiIB_(k4Jy<+-ev`@lOi1&&i}mZj#U5Mz#XeXY8SVWD$lZYVx0xj z7)P}eQN*@7UOU=V`8F@Qr?I@x%2a8k@h^3wh}E9w<>|cGl9NA*YYlqT)!;n`_UX zUK+&2-m7-*;^p@=e6cV=K)PdPt*xE%XHueUaL2M2+QZx1rqF>wS66p({QQBy4QuxVXR7Tr7jrfBsk$kDsc8XgHHu9U#PmLM`DoY>u*-BG#r%)})bzpYU5$ZF?vwD#YWH`T zz^_1!Fc8M{UDyXiPBRiu7P_-@J%%Hv%Vsq0m)_DntW+C@Dxa&==JO&L>#LcZe74#h z=V%N>bmn>@^Fq`4gedm{t?638d`lctQfBYR_nu#!7>Z#3keHl;kGG_w)5Ohd)~ryn zkl%&zTo7GAG;GhXr`AU5_yHvo2@9H93@!@lHi8H-F{OihV?*`k@TbN>o+#LuBZ#sFYpnvFlrRRTAPv{(3QKhe}J`3xZ+EA~n^PW3i<}`NNKM z|Jgv#Vnf;CH=k z>-?1ry#8TdzFU26BG;I1M0!ex=b>fTJm~Uh_`sjo^qbuKl3Mw|-<`N=YATSFyyD_Is<5|VwNhGpjPeHH78n78YhR1REli%LI*mTxyi>VS)WY{j zG(kV($@uU36%fI#Juq^im}#gEM4dL8pE6Cc1s$O-OZ5LqboJut1>n2B_lT9EM@VvHBP#9Nx3o^CPEK)n< z7F_kOzq&jRl=}UO$BzDJVNd)Cft&nwYNe9b^v>r(HKbd|^{)YK#juwSJkBFlF6_S_ z2{t8+l&L739#1!gDf^R|#L{ID6b(3o%djTZv`v6Nn1X~+>QfOrw)p~Ot!EJYU2nWL z43b#-;Hr5a3!f>hDp-znTIX2KyUy@ax#4Ib1;J?@LlAl~%*0)6JRK5rU_lH!uPzxR z5iS|_#=}Fm#xVGd{u+tTX|n-`?uj5KPwCrR1PQ1Vi9)vq6Hh^-4^Y9 zb9wxE@UHtFX1Hu?hxSI_rsK9OI=zZp4iJBE|H3bvY~J zTLk0b5y89czq{`{{RkwGM`cv9`JshY&U&8WFSyW!P3>WPkjTB^@s1BpfvgielrVed z3ijV?j9`I)V{gC>et*wj3<;BW}*{`=P>}xNO*%kk*sX7{2wLxIY zP^@t^bKqR89Eix_GHDRRnodFf=l><>pBJ`wsRpI4 zjNpcX8jB1%a-t{CZChpNR={Ga@D(}?yoygbZ$$}J?rKJsr~Z(OY#f7{ zd{{_3@a->=Et$%5uxrN-DDptgWNn z;n8WtD2!)gurilJqO@rP27l?c_5F7Lb|#;*N)|t~Ey8QJ-yKFfT4&661_vF7n&8ft zEl)x|=T)Eq;PdOw*zdG=6JNe;5~8lb!J+={AArM9QZfzY1e$(Vm%ZOkjqXDo02bEW zK{9wvB9}TC3zode83i>*#21bXQCQr`u*>&xN4`{!-5H7s`EOu|U$mGDv=AgQ5pKP& zmNWPs{@A3`dMfjl{R9Sih5nGf0A_xbP&n>tj(G|7E%9ZQbHJo{)(vo_D?b&2|41mOweyTmqan`1h-X6YL2ZE;m-WSl#9I*nC`EoMSv# zeyL`o+XsgU(vgvYRDb?(1)!z5KWRHPCb_@OBa35M&6z@ACh+(R#g<_VhzQ4pX96|! z&W~R*m(V?$ux3jah>^_Hux>5HO(f>wzKMLpAR>n)Nch8(;$CXV#>+gU1Z*h(eoWzT z{M?TX>{|G|4B>;wFktZ3Hj9G9kdg#Q#UFCcB1e8CE1~`8L$bO@lo&1?CAiON6~AO- z$Fvd5exsMTLJ!}3p?tLYt;lClk2Bv-sPyyuT%Wmu2yuT;Aq%3wk`LLdl;NrV8eO3z850knJLLqF2Rv_L;0Vrj1RQoT0v3PjS#gT&suqX`G|q23$~B!nshU(LsE=Ejjf zFXh`>u5r>gXC8}Efsudqm+*3FCmy^fVOlzGFY+6MQ%#Pr9q2Gyn+P~*FrNBD?%`QM z-6fs9$fD{9S*uJls!B4(xL>h2tH%lESBICu#_2g3Rr@5iKrL**Hf^KcN&EvhVgIlg z-CZMcL7r1%+98c>s7F@Cq`!X*S|@z)V7O>A8Y&XW6q&?8%KS;zA)OIFIuaq$X|0o} zGY+anhMR|1B|c%`1cncDxe_|9rfcJK9~H478s4jrTZV%ZpwzRob1{XY6 ze*t24fP~q<+4wk+Brqe_kOuU+oIZa>|4RLXQp_LvU?|*u?=nY(_3=EfK0m)M&&=H4-z*>i2zUqx z2yk-)Jqeg5#7|F8cXoEt$i|C(bA7(QAb4lI2^5-nB&i{>B6GvfBFhuXg7RD(EL&?z zI?D0@$KC4pc=TY|h6D zbh_sA6k8_;HddzB^S_R>9d{pxhIWgJ08vlkL(tpv>MGD;A;s+0Mmo*2oCnX_w2TRc z_Ilv&oz1BEAbr6hod!&sfA)FcYY{>|zp0RLIBZI$?~;I{rV^6?eakQtfCfRNE-^Ev z1@vI3n&1;KF}@P+%D}bC_4eFgkHaP0(cn|AX0t~6O*q{3zYdt*9I}uXjnT|@NDHQk z9qDTe;#=MdlzmpPJo>=9q(a0raCU9s4JNOXV8+4}`2jeUi;!s2_(Grc}U`7&1$Jq{lrIb-Zk&Sm^rOP()7JlZsSp zuvIvq9AI`r$%)mt8XA94KkJt<0mk;=3Zs(`a#1;M8h|-Kid@w#vToZTV$K zN`fG+ZCpLGD3kf7R>Xj;(-PVD3 z2tuA!gITYr^?OrI^lE$hxLHf1nusB`0RHcO;Ia&d;Wrwu`x-eFcWEsE%@0X%0RBWp zjz`6*8C{RMCogwgk43%+Tf?@NO=55JLNI2*3S*t428olLXd8xOHvvnzDtqkeco^HV;}pU$MU|H>pHJ<)|g|C zX$n&2e>43l8dN}6X(=u#?sGOZOn!{yi##^Vqs&2|e&NHqwrvzW_8yR4!5{DGGpPzZGJ0GxWP9Cncnuvme=b zXfEx4d%o!DB?o3=-ks_T)3r0q;@wU#F$v=E z_sVoAL~+!MEbdJlMCiY9D$E}?Ll6Y^@&5jRF))-zS8|i9Dq@g!*utp9 z0NNp@W~P>$(U!$@(JUF>%%#4gga>sO37g4bh>xcX!A)U(2bK2UA zPCiRAVL#g3?oJHv*T2ptzM*+Xz@`Z3zXKn^vx(_^9qK?q{X)k=t>^>O?bZdargdTXi#nyiP zv!vpl?fB{j&@a2*dbPvui-!M-t7* zuIou#*$6Kjvb<@_?`Y7#Ate&0LOVA*tD>T^b9gv1*x%}TK0km-NxbTEdUJj}I@-0k z_;WB+E#I+aG3auxcO)In+J4JSdEcBpH1r8&+D3Q`Nxe;51>ULx-u{rPbXXv&69cg+ z(Ons$_~LI!0vGcaRsX59S1zGHhP)xBX5w%ch%l4Td8OKbTBgQ{E0s@nGjliZODL@s z^i!m4Lm(gFRVqmaH7;{exOkzL6nkJgh&kd@pFc+0tWXw%JH16F0>+nghYC?drYB#gjvpQxdw; zw)Fy7;V+@dDnEe&W4f{4OjC!?AtlbDj?_VVpi^=+Xg4&A!G&x?Y1P<0PpoD=7~V@?Hkf;_RJG8VG+BA8Tn~$lBaqYInLG&yS;&&E)mE z2X6Y1AwKfvtw`tC{HjPm=l#90Y!){#pYJ3`tQ#k5l=b}?8bDU=A!RxY zLs(qxSp3;B#;Gv-8`81F02@Sb&C@x)`BVx8^F=?_LRs@{oro$K_Z(Gi@Tlu#&1@d2 zlmvrAN?%L#_In-i|X=q8dD9BMK_BPP>u&666scEXp&MC!Gx4?hribaad z9@}9InvW)`Bg?wymGOQJtA_cRI})D*W<7j6il|#6x472c$QJ26Q+PB8J{N|6H7p5e z@ioN8j=z6@O7zb4{MO~yLIWKNifziG0kgg&np8iiz_67tYDSN#f|j9^B){rQd1)Sm z?A=|<(U&C(2!DNLn>T^DrLqzAH+f46%{KeplK^D&SibKH^2%QtD_>(sM*G98_T9jP z^T-*HwD5U7@v(cz1Vq6azQ{IBVz0;do+F?U;e8?qPMI5p`K_ko6vkGeWoT@Wwl z&0S;x8#7Py$#$;C0HV+lZ-9yl|KH%FPvVFaf>0R;MN#tZM^tzVknpV?51nNirr62s zCu4B*v6|D_6*N-`PWgXvR(!}4b*OlsFj4NGFGg+uGNO6|ey+^*qe9t+THS_e!j(k+ z3%t1Xd}uT9Yl#=~A;)4&xsx4xD)(;HRw>vP zz`(r3z!%iX>=N=Mmi*8w(612vYP?7RBUI8VX1kUu^SsFI107xs?kqHsH2QThG#3|G zxL5xlI?HY8T8xLmZU7S=eDc);!=up)ij8-_nmkt`pAZk<`C-dJxATExy**v({8so|%$o*3wf$#sqUJ^-sq*d!4P_FdS6FuI{Uj#Lk&6Pm-jv_b z4B+qi-uQ%qzK|FXR;DFhxx-C!^(0TBnP=54lfxRgeG%}V?u;E=augo&l`nOAb-;7g z%e7cZ7GmoIg-JCO7FH%LJ%x>Z3^hD3=!*|^2>u#L_|D_!WW+1+2CKpj(1slq$MwZj z$;?Owm($JJE;26tqPTeH(b=|aCRV!}8xt$4nf$FH8Z{3fE)y4*;6l0S*cZjSt=r%u z0GF1g76CsG3hLIaQ5&X+8!%C%#yWI4|LQG5FsF^qPxwnC9DhI$i*~tI;bvj$nTj!O3QQp`itKWmsB$RH8~y4#Osb zTkwZ)q@+ZL@-dDpYPYkuqhrPLN#@9xxN)|~IlXA<_(8rtl94u3L1w%Wr2rwtxca1l zF8Cb7vkSj88pQw89^ORUA7<=$)LKOCW-|=8{o!H(2*EraXP?WOTt2sZ*_um{f+<&o zhM^-z+=r>VWF!kQ{!^2+V6NhN!;o*0*Dy0hZAdMB&r3+V7tHNmq9WM^`eQ-Xm6@0$77Ueypfe%- zpln?zku((G;AW28)Lh+scKvl@!$44zz|yFL4&~C$_Rt8(X7clwn&Q&pP7e>bV#NHp z&>Mwx!Wycv-0QjzQ%#f?v3xY&VI%d<&*R}ay1TdLls?CS>{3w`HCS#M7+~=*ymtLv zUR>H*Qzlq;v#Nz^+9O2q7(-o1FOiD5o(vWiVm&M9*m}atClrs3i`b#rX>!VpdBu5I z+!d0ty|2s>-pfQ5;qr0+1Z&Aryz)CAYBJ?l^XrJ8%Y~yG9E%N?94;dxL-G}GHggsn z#%o1X9c#GT$<6=XC>lkpI!PZywCA5EqxN?R;}(qiuBr=umENt0fi`6sV=9 z{`dk!&fSUIuTexBTSf)>opu}IT3XsxSz{($2FR13+1u>uQhYmRc4!!+V4ljRXZw~GGfW@Frc_2RAyfLoTT znwoymKB%6Qr2%b=KwsGDe5aafIZ!w^KnrGp_6Qx*QAy7NR1M22im0flC1fRkAFB5) zLV#eK9xiE3LVsjprmm`0wXlDcgvta*L3(WeQ5PdN1=tO`Fwg+NsGj??V`ekup3avz zTGUG!1b_~mYa3zqTC6q6KvRwJn~4c+Y%IQ3*x~-gZ>3YFenP$L7cb6k27V!4xpoxg zU3CZT&6E@JI%08hFdBp^^waNl-x|UO0hx%k{bA zO_D&&-A@n7{wx3z6YE+68lWO0|J4BP$>ie;z&JYz_#`8l5)FEJ=(@}TK&WiBTAv; zsfOrsE5$A;`kDtUbMEwP;UhNBsHR1&DR(`O@}HO1Famb0*txEY#iWe8cB!8335pVa z*%mRDfKXcw$5G38As%C)v!uXO;D=sNDVwpJKWGxG8}PbF1j#8OE`PSxqTNh);ljd? zU|^2~#emjYQdOBfUIcAlOyF35`B0G*BRCognev$mwu1kQT^1k>=|a?*!=nb%_ULD5 zmQ2wxFaRqBD7d(`?YIoq9JY9Z)f-|hHNGCkHzGnW=p^Fc0_;VH`nm|zs2vB+h6PM5 z5W&|lD79(5s*jUuiz3xu>c?hh-5>5@Yl&I;r6rnu(ge#jzW6%=s(`>E*cm_o6Hs&( zgVZmWH!^B5y>Fr=0pjYP8Zgi2_4B8!NQ3e**si*^$ld;icoQkGCdpa_TsC|twv$D$ zXd(y=n_BZw3(~Q~f3xw|Y|G~VnC*3yNt=wo-ugbbw<3rhqO#ThQJ&l6{Z{>J%c+48 zrQp>8m^^Fj5H&H|W~ul&h}%L1{i|tKnceMP$G9alL`3kuSk585QJjmp0Z0Pfyd}oz zfd>dcySu;&IKX=?e{p@s#zhl1z=G!-=*}tLv$onv63p|X-R1P>rsRhAFp=eQ>-F)E zw#;%%zs?s}vHgY$&LKEFUKdxL9wzU~wcBi07n}YF-#RfevplB@l%mE&76zCAz%s^T zQXlWlyA~%Pi=L^_^y7v;c|IGnj}>cfZoa|m;reE`Z&MOiSJak`Yj3r!MV63<&jFAX z_|)IQgKhoXCq`6I)5Ar40I+8T%jNrvG^;N+2UcWQfP~1O^w>q;<4&N16I81ylcYfb zO9bL(XOvTa58M0oa@phelGC!@bWY>v&vi{r?F~+*wn!3*E7RmIZU_|UX2Utct< z5Wr`6VoNEaPEE zvd=HqHk>eEE%~PWkKFhLD#q$2+iPY=Gw9p#oSeY<`RgW^Z}Y-0NUUVI{$irP3d)K| zpQ@lWN$(16Y`ymtSM>x5Bbq?_KzEz_xiB^B|e1?ygaO zL~%Z-Cf$tJMKWsK1%lbH37B*W*?Vecs7J4bh%Z2Tr*2s-`8{8RKMRp|z{2>vHLIA? z>qbEXNL03Z05$S-vgrM6>WN*{5ikV35rPT8kiBh4GZh-0@X3wPI+g8Srh0lVHUoOB z&jP1*tlCzfl@b-9oure)jRG`CFeI&KI)6JIF=#Y;8==&%G`%q%4W4Z}TfO^@xsJ&$ zS~7-rCepAld{x_fJ4BMuPYttp$80?tQ&XJs`o)u#Es{S*$Zg9oxs7K6P`|NsV_&vV zlkm$_6Walmw-)L*D}Ak-9Ugpf#=-~}+i!`5(+@lW6yKwg5CmzK+&S5mNjq3oRkplC zK|K3t3-LuL)yN5YQb(`|rUZ4-px>68^@EZ@bq<&}ksRxxi@J6M9Thrp1Kix~2*_y3 z4S|J)E-sto`3fN*Ptuk%78Myj`0?>s6(udLllwcM&-Few&Pt;#6<9knH}-M#6|pWK zs%=y0mx2rF)uB(j1NmXNjKbZGwgv_OCes-O%TtrK_i9v>4+=af*Xn$aPeGOp&2D#d z2Hf$>ONcp>Z@xwF755I0hj#ax6Rh zFf#IFd^`-7{?=;62bQ}x%o+KRgd!J%ay`~U0POsw)%}8&djY^bx8G#aW)0xnGpzX8 z%DXZyXsS`3O+zDz3%INiPlB8j-j6BB!Rywecu=(}tZq|w*|Y}Qq9&vvEP4NY!pVr? zAG>RlFIdpAJ0<^g*CzH+81@7Nz*?Rsm8}Zg(^3A#eJ2#3j)S3`5E<3eIXu#+XJRLP zG;0b#^_jwU2mW956hCm6dQ9gIepJe18=6Qp7(f}{a~LFS+|gX*IDkS} zH@A0km7)%(?^!|Y8`OdnPdjQ8TzhEPlp#ifKcpTJRelIBod z@)lg$NTQp8;P-Z1RRpcexm2eUAuWpk<4KbtS!<;K!BC~uLW1e9b2TbO$ehJV>c{Tb z#gK6fSW;ag%8X=lrMg9Ku$Bz z!~MEDFtFJx+*#0JR2Q2CC)qr`?GIU{OLqNzaeC|CFEvU1wnr!$OP5mW3@K63rz;ru zu_;EOMJKQc{+I5ry!`Xwvlq|5r-l^Qe1Hj$?rGROyNU^SJPIBERVwSz!tY34xrA9z z?PQsRmEPE=?n4mmZ#?Lqe8Z#NnHQ$Cwi3_2)yE_l`NvYW9bN-Gtkd}fw1tFAwS?pI zz)2W&F%n~=K=b9*r>g%-S zD!U@;l=OUy4_EhhxYyUf{$%DNdnXdaJP^S6 zK$m8jnh}(YeYj#O&|tib%}AO1F^!6*>a5Ta1)C;Z+fW~$gw^h$banPC*DQ%4i^m1b zCEQ_`*Hq;4$xFw`6+X=$&>?GRs28Atj*Gmdlm)u~nn3U3w#hCT{R$BGZ9o){F5@G9 z?fwg#ve;@v_Lk$?(^BTgo!e+^tLJrfVTmLJt4mCn7AM!2{D`-e`n5MFd@-h&7%6Tn zqidYm43Kh)QowrL^`p;qeTE|}(j>?LcAo$QCt$0ia9I=~hb_=$0KNa9j+_QgP5?Nk zI(xC79D=p1Oe{VcvfyryXg1j+3IKb32>EkPfU5ug3r~nxX*>-Jb)6KcW^z_mYPt|= z|90Q`UO$eTSw{+7zM_(%H`<`^F4wT0J!i&%LABcI{7(euPMz;4L`IT1=&>uD20n+n zEHBPEVPjd35iSd2B=UpbFdU6#Omdk}A$V2pijMuhOfWPYj)(|D4r8^2aCD5NGN>Nh zV&!~z%0$t9ULzcDmhij(#DKGI_DApr>dG~qI|1l@86Yb?6UTOYEHCwB6C@xohyqYB z=>2^5I2D6C@-G$@GTfwh)8l3fgzFKr9f10-$=p(%xsEouxDbV?ul7i!mVCXrz-2vf zzKF?9%8}u@H1Venq!0Tcon(YYuZ>!8Es0%AL=E+Pwc|OqAQx0I7AD=}4MvArZyOj$ zoIS4n%k2d|uoQT3eDa*kcOT7eT%eG(h}J5K)hI>JV!+M1`NoWolUb?e|CX$@N3$$( zSl*y{F!W;b;xN6WS`DE~YiR6UndQlk?8=O8@xA)sJMH*Jxp;-t$0epO7YuyJ( zjU>}#-lV@K2jq{F;CgGMJsiRG)Q?(yn(v?!=0<#d+xw%ce?*Lfy?q# zH|1{`Lj{rK?@wE+>@||c`}ezQz2YJ*e0uk&)&&%(;OY5j_GbX1Ky#urtl5^0kAuO4 z@6QIh)KuJX6uZC^@udabgA)E>WD%X5ZTT8FnCKAlQ?Kf8G!!Oa8>OsgZ&p ziKrsyoig-W_ux3tP)ko+o?Ve5YQYX_fr@WwbnHiFMvTq*c)mJ7{1_Uba{sj^t*fhQ zW1}uvB2nZo-ADgGdQ2}w%D*b8ZN-3vUrEMccd~Ji#s(}&-n0$q)am)|7$JgE)PFpx z@Wlr|r&@#1P64GOWcmHDLRp{|bv|AJF!83Ql-=FYK;o=Cvl*ET zcIe%&xZ3U*hhi`efdceapRJsKZw&)DOeT+KdR#(ELS~{TCH6Dt{Jgx{>gwX!+R|gg z)!b)jhud35`Gwsrpn8(%e4!mN-#8mY`ku}Hjj5ree#Yd3lCBR?rzhygK-z3qQw^+0 zjaZyDxfMFoFwRJ0hXVNP`Me`e!Xyw~d(Jc%(Bi_x!q^XJL@5gkO(kr#qs!iegoJjF->6eQ zui+i|8GK*EgEN7RttmxRMH`fgVl8JhhhMNuveUXZts88pY@brIQqqo9D_B~D3?*st zPV3-5ZsF~oz@~^8;1=+2xL2h=KSuYozMN2W=z0uqC{V+7QybBe)@zB%nYqNJ%?3{Q z=pbUqe{bDDK~7 z(v?nj@canfI8(>>#KdfmLj19Yy{iH2IZ2&w`fSZdFu|_>Ib|{_;%6nUs#@;8a@mI~}Iv`rZ{ijk}R3m-k}p#T;N?3tN~rM-Fu zu2QL(QU9b;$;9lxf*SFwNRs=@cx6+;RZg%v?PzJ^OqXdLHCAX{-CGuOXJjN+)+%Aj z9}X=`JFq*5J80^VO6jXFJwJc(ly_ELXL0w6JT)8zL2I0uM0%_ErZ7n7#|R*b175vm z!dH9|7W2(G!$AKQty_)Vu-nC8;rT@fm_!l6K^OYWVvsVU_)>8G=A-^ldXfGZH+7{h z*iCq|XOZ2gpGh`y&Q?%ogotOI8na+{Xo$dokV> zN-fp`voyBz3YE$n61K)VoIVA7#1?_wQYnR0?mda^_)*qoT>_Q2Y~Nn+JpZ_iYN~Zn zlx0u7s&AVx=ObZTuJQZFdnTl;#7nkf-n`3WjpVj^AslMM-t-*A{x0_>a-Qi~nS zQm}T9#sbB9Gh23nQABADud&JH64~ z@BCU1hK}*)E!S$hq2+A{)~eLBS(tqCa&(y}vou9mGF}+z7u% zNR2Vl&X?i%+i@#{%cSU5G-^IIb^3!cHZunn3r_Ufj35WCtbxtUfym(o+e zm2V&MUoPz zYRb0NrDQ1$XRH}1&2sEJLGcaB0U>kZh2ffs9Mk;8rCz=&K&kl6GADg9=_(@WYtd5) zsXZu>loPYf5%R`vMo!4tS9V!WH56XOGSyIcw=UdeuGQ;`fJK6VK#88U{IE#%HXWM) zU`$lv!i2wjIlbn=vm@m(ONHSI~{-OawEoFB!miTD)%R{aSdN zI?RZyW`Lmlxv>h_Ak8OXGAmJJhGa${tLXirRaRs{?E54VM;2M3>{6PBDb z&f;L5l3;Xvd-J?=yC*Wnfu-RkFL9k@{WwwXXVNar}+@`r1#ptNsZ`yo2)vaXgxt64FO6$!h@&`dA!(oIXs&;K^ zt|=HZw_0K_ezC8n!b3sGNI;ffX%CFnB9jw`EW)%0T>gH8FAzIFuhtLkd3ioFYQH!% z>=T-oU0z?3>tSx7STS=z59zG1{Z_?yqQmk+S4Un=&2{zG#UP;FkUZZR&Xe4kCZ3ow zB_(sj?fCd+ssuguQ_m-XjTx`2tIlT-x&u!c8D%xKei6uG4Cp;4MXn7%RH!F-myv;P zVgP8lX||)*!JSdb8S^>&YIyzLOd2)ggMul+x((2Rt8o97wk$*qxjvE9s6II1eSR^6 zp7x0p?P$sEZcSKKUS8d9h%!TiQMazPa`taIet$ol#zjT-8MRu^_xi@nM36WSy5aZb zVMST_yoKX8je*VTo78!Ly^zH-=(qeVj}_3GIIkb?&horma+*_3QNrF_P-8>_sOh|# z1O!cUbHPAiL}MMzAC2&~mHkBv-&Cya9?m=h-8m^QQ4ZmYm`_b(aalx^{T__G+6 zh!N%+na>}umN<$W-N-w92cVRLDnDe}^E_Q_(qnO$Qo^HkyhTczv9KqUE4V`ovB!a% zx2NlJ&}U?u3HlqiAT%^nfBYy#K>R@t zuseax3WEb9GScGwA-ME>xz_Xswiw(1JyYN&g9~7&;qrJzwzK!qY_HJSZc1qV$UQ%I z*k|{lYoIkc9XuI4o18ozl~XsPdCsqc4D&t;p!YFeAs8W>#iogiGt&4_z<9-3E_TpZ zPkXnESXv$)k1|Rrpl|oh-)vl69e40KiHf>>qzd&Dg2@S~_;Q2vf}YB~zrZ75m-5`|*#km1{q1 z0H!!#e4wbGo0n!Q7je$dQx8cjx4Yc!?_z?YDjTYhylyx|!L>0$q*Oq^BHO8^hG?Hi~w3us`DepTE@^q<7x<_UhML>&Wk zwyj}!mPPkV15gHQar!O@7Lo`i2gRJJf^6_LaP1l!_AT3oH@~{Rbky<7>JJ=56ds5V zR`uJ{tg@$5$J>^|j=LF0^w@1IH<7wDl{?krJGJFIH4=NzQB;vJtzT5`G(|euykf3b z2{a~&atm}X77K(xjX=%v9BKl8?(&K`)bx#zpB^_mm`|`$)zS^5v#XXm4A~P# z%$Ygfl+qLZt;n9gBpJXNPyG5D^sRsSr1Ew1H+j(To$&~ z2P|BlMi!|P+r(_HhqIfBg+oRnOZ(>e9twd094%xC^~$v6Gn!5uG@Xc>x|@Zxg`NKC z=*sBY+S=gY;MP`wBDG&!K$MNmojE@vV!#^&2rN1eUtBd~`{?w1VCk`wrzdoU3axT0 zwuE!BBDH9sC>Iweu-_*QFU{0+gGg%;QJ~}v<0U6*y zqlCTBSL}v?ou&k+N`R)JW`<^eeSTB^mvWM13kL^jeL+m>VDPU74ARJ-c&$q6>N8Vw zbm$0mco{M!N#cfY;@*?_`2mf1Mid|BKP`&vtFHCugk;?X1zUis;qE{Y(C&|@Ln)a; z!kn^LB&PF;gjWM!#RAM$U}I7aXTJ|(K>=!WT3?{Zq`k9=P@#UfPAehN83BL(x7nQ? zJ}+Ks-#1S1=&o>eggZowbG{~Iew~aQOj8RJ$f)l$mtgN;fm!MfuD48731XwZ3pv7Z zK0jAFi0OAtj-Zs#7p4`QLo3~y-F)fZa`2E~A$;QNtm{V)$Z<0tO1zXsvnbt??Q1=P zRpfsvuBu2nvKXHI`YdifA1tv-1Q^Bs$6|k($alb>j*s+%?%u9dc|sK5UNpb}ti&s6 zs4!v`qb^@DYgN#YRI)8kbVAImbvLIBBZ+N;@lZ&>n?ZF5a4P1ySVZJvx1}cpeituNDYRJ7iyUHTdEf^zxIkg~vnnTL ziOcMZ^g7ouE|{vmL&|ki-A(uF5c=uu7B;@osRbn3z#!eqw;fR!3Wlo|x`&-ifk@qk zh3upAqdaRS=AY7ZtK(zoZ(zUS6VvTosn`; z*p*+L!S}O8*ZKsBz+y%%Q?>@;hl{*f>s;o`{N{o%X2Qa60DbBjAEwz5oi?;<%bEUq z-hh!ry)AM;xo~RLedA@TM8zA>4?QFR5+QUR2sR~U>nA+pTw46L-@h`-N-|KD`xTf~ zAi#g&EdbJ@7VweFR}2WkqlF0|RScUmt$`t0r)iISrNyu6jO$N_^NQN{Cy2qgYiuVv z**)AS>TCDpNIRT6YZ~m&S8)R{sO(uBOwT9l_0x5jQ}_r!1T+v=3uGdEH(~UJz0a`+ zee1b>xrbhhTg~`Vn*HTjbTaWnr9HQB2)rNFtOEZSI^Mh4>DMgHJOjHWdTh>i^$?i` z1~}QLBK6%rk6u$qKn1o0G9K~$1PsNsOoZrYe{~|N+hEqe)d8q} z3;H3Hg2m!BVD)-GfGUJOYkU&%!hlBUckP5}t>%Anzz~Z95 zJTSpnB2g;aB3;m#zK)QYaSnM*?+a+P;On`jvFrnZ*!8bbxL;_~Q!+6Sg{|qB@TAx| ze){eR{J>i^ZegP{r$ zuWpH|)^O&Hr9RpM=s6AZvsk`Omf6_c5 ze_jmvqk$?XvY-e2Ir+co-X2Jg%lm6NOL+rwua_9e7a+{b=ttt6&aNU>IKSWxHYu=( z0iO4UF~@Db%r_KL$M4t_iW>=usGjCn-zcz94c+xf8s7EW7Q>Q;{e>E?IcZd}xWW${ zkE_R+0k-fiq8l){0uiwR9z+qv}P@S;1Z=jTbv0Z+tS3A3}32t(=5 z0~s-~-kfLdkB8KF^vlaSR79uDq{qn z278+H)*vy%brZrQ$Mm(b7!@*!M!4()7v_^wu;n1$>1vvqF@F|Ci;_*98ZZ%>Vmmgb z2fcu^e2MjafO)kHUiBdFi`N_s9b)>|VN`Q4cEk;A2|W6)3jVCmV30r1Y0FgH-+j>< z?(Yw2HJ@%&{5jfZdT)TAHMbphN=zWl_2szmxn#s>TRT?7QLAf8iBE9 z!iVGMiq!ehgMdC*^Bgdb8FnIv5(PZN=;(BM%#7FAgsaWbd5X!33}r7S9BE$!O@FH) zeHGrn+6IOrMG(IYr$Stp1dCaFhK%2mhmK=jfWfg4^9ds7Uj09ABoEeD=H*k9OH2wT z{f@pPv;(u|yIk4jAHHeT2NAgtH=wB=d-w3B5dT7g_>Uv$)Jg&R*uY2*5NZ%i#4EwL zQgV^*{?3r-_1x4WHBr%wls?j!r}9`J;OY5mV>0N?!A zbF_azwf7XjKp2*{;tIy|UE0)s&voeV+GBvvg~4V0WJlCr^oK`=KJd%zP(_9 z#(r`H#25&VS0H5cMp5)BsxuLzFFD6QJ(>)uSXnVU-d)4gVe;f@hV|WiyvwEE43PLWrnky7 zQKd%`C&8%Q`AtnH5PGZ3IC_xkS3KV*4<=pgPjeFxqjLI{qv{;VGt?JpS7dm{Ik1=3paBSk$K z;)j1%qbotVfPGG+WA{R`_HaOYVKg+~V?=SZobeGQbj|j#a*=61F?1% z0Dl&fNkpo;kNiy^Ynp%kuDJQ5;BVg|U{sc)9B3rFEL6CR<$BJR1H-iB&uAe&5^&cu z;kye);oT+583FzfB96&!09efK({uU!H-dnN)T6t|{=JY6?0YGM zWE}G)LPbO;a$!Hc+OHv7wY3+sm$a9$m$z56{{W7yJka;|`t`RQUC}O)k9cZ~_5?uD z6u_$B3u)j5Adx@)C|(#^!h>~uyodQzQ=umlrw6TZ=Mbs=vhfiQprG{;#Ewm;$JV_g zxYW#>99l-(g|D)tua-5RZ^o6b!@T(kjEYoV2uC4(flx~L$EZXIIiuo>SE@WT%WA$Y zHcMfBUakTp3}u8e0$|HJ+_c z<_f=P(fB0w@J!5kNBhgiD2kUWi(5`gyusU?qYKrL;3oI(8#YbsP6BxNSP_v0LD8Tk zoh$;xq+GzuFbl+<69qsBZ6T}UJd~w3JzzQ%DCi#_Y*8&yBk}PLP%AYX5

xtmwTK(QiG7Qa%n8nfrqq=^YzH=b?Pwi@gIOssPd5p|*>VMACDHV@3B`+NG zw`Sx}gRm>mvMbbTJAo0z%csS(&Wou+OzKfZq-mh1rsXy`Jh+5oLoWw9e z{Ex9u*E*N`$s8fX|B_?SK3LK4=_dv8|HCSt&&N|fnKKCT2v*2;6y#BVP4-@X7&}_- zTB{pcXPa$3Wp zNUN)>$+* z)nu%v!&^v{IuIKw7{Q+CC^j@1X0DY1T;nut<>-OxTPNB#z(p5*#>X~mEZViX6TOqT zlfIL)^LeNI8>kP*n8NtAB0YHJZ@o=lkNn@-0go9~b>+Zo$kWf#fOO=q^43?`R=uS% zdiszS@)%94(BB61yn*5QEY|9o(Obyu0*7~b9Qd|P$+JoAmP1p-z9Opxeba&Jl~MST zf(2F55A&!J(mpZW#v z%%}dfj=H(WBRv;fZZVR_+*BqL`^tJt3l1TpRSRJE1u%s0S9~Z@OiN1x&=+9D*38Td zDFA3na%RXR4Z(4N)4$btWh-XDLeN_}(`v{Gh%E;H)BGXDT-kSmRt9DEzYF>aY$Ts0 z?_Ss6VoN7%?_Ou)@^Gbjvrzfq?|xQK1in~iocExRaHrI%eE2ekR!NrqUm_%jh2JOY zgjOgYF}^Et1bdi&_Y(-Si2v@g*o$$FrzjoV@szH4f(bJCo-zgmA%VwqjYxcH7oW6} z2nIbCkSd@C7yYOywm+{>9aq~(LIs$#*$THg+V3ijQm_}2Hcq&Q40t43mL3w-9|MF2dGIy5e@Da4+k_ncP7kBJsknr2h6-aH)_ z&OeMrB{)@J?Im=U)zIn%O*mo9NL!xuMS1EG%aHCWhV5DK;fh$yidYqtC#fjV{FVSE zne`k6zKw%fNbRChYysFh3oT0=Fs?X7othlF&eOR~Gw^gFx8?yaW<+rLcBt87`NU2> zDanuK-!p!)NM(%$NM#<$#eyKxf7e73rHZ$}iMy9ohZgl(Fhf%EEWo4eLYlJQ1E*Ql{AKe&PV70pb#gn@~A9r{-j z?S!K|hYFg-vG@!afe?~00zNSq-uM=}lfsN*w!73DDnDO*@p>LhKUvujK2r3@GM-X^ z?GxuysS*qgeecc@EGn%x%BKi=dL$v@$2=-zH1dDt(|@6}H}KMY!oW-Zdx^zB|3V^Z zEzcBybN~IA?>Rz`BUF^;MVNd!R#e^$nYj`yA!b@5o5{>JCnyDTuSxY zB#5Lw$>h26julGRrRtg-x&jB z8W`Siob3M!JC7TJbJjT%65O-yV>c2-aTek9<#d z#MJEoJHIQ8Qry4e?$E_t`JUwGJh@S+9&|$a@3KY{gPco=5S8foQ)7$8|2dqMO2nS^ z8Q!EpZu9$i-lx|MB6)Q96k^XlnLgbNcJqH}jjmnpZ3v&780mQ94A#iYn6|r5{t$BC zQ*6Db-ms?}7ky+-{?WLKjEGpLqn{o+xB!`*t@RE~PIB$;z61#K zn3!?!elcNF*?^BLL8x@Djj}T-HKjlbd~$A1h>tJ0X@L}r;{(E#yE>KJ%6X3YeP9Pnz!G%u{;TgnD+EggCrwM?zk9208y z!H_m#;QcuvKBf>&3yuGc`#ipS|34I_C!++;;8FC)a!+pK=?1F^Kc=)4C3s=JBrvoj zE7t6QET(nbjsTY2Ttr3my|pJv;7a>AFg>9sKKr`VcNHAAKGuGR#ryouSeB^e|TTOTe92B zTz?4;@9!f#UN|8c;(A!;eTlGis0?vX4w<+1IDM41@vq`=!tD9C)gOmV6SPYb0GCEc zgF#4#Bk%&8o#-DEjfK1l<%|4XG1!t#!mQwVCHqUY1}P+qV`v*!$KP|PB#6E?fBR^i zTbl1V!bIy_G6qX=TulAWq?!=c;t|LYc@LaJR`l|(bX(Shqnb^`7P!q6@s@DFvC&kB z7-HNoe+x7P`*j4(Kga#}Tg}P-1%g*nuK%g?5rjmE?Q1Zj0OUgO!~YC2E+9Mx0`qQR zSs-S6`olR_x`-`u=~@NYSM{q zM=C^v1iZ?$L0S3MWiFSRV0v2i=kLUCcr{<^OV|cw;l=+T*d4+!L9EKBl=}ad9M#q7 zCNbe#U0pu~v8T(|D7IqP!2N62;r}E1L}!2jHoQFCR6O7;Ss`fz4|y@4cp!=UR^8pq zv?od!@~YyUCj{YxURX`*8=lu9UsQ!-tpd+#MYfREg zWS>uH!4oJn=rp2H^F9`#mu$6=f7aJ52KI#CvLBN}kR4MC{||E~ z8Uged7|Ijcf&cH&`FM-C;ZcPCJ9LgMA@!D(fU^mTBA-r5kMAFx^B84i(38{Beh;pMWzG`Jij42}i~=h9}#w7aRMrTNO@#SmZp zIZIB*{TI~sd(&lr5aLPJ{ce`${b|-w=@{^h?d%!lOOn}6z+FYac*K+if_MHxMSOn@ zU>41XJ!&UN`PMUev`&Z^48ud~YS7$#yy4vzC}ulwx<&-Z+c3h&?V zIl4K*d*l9^mZ?EA@GW)BByu%Oiv~$V^z{{d&qpH)9iMpf>FR2e!K;ammHY1g_mSY- zA-9T_*7aWd{hq~#yPqH01yr+2F+gPBvv6#U0QMH)%$aQ0vBILv@vvIU z#`F#?P|Etuo54^xXIzyZ+H%!r&&@t0yG^}IH&(%=L=lceptYo~2(Oa$Zu7|t9 zV2@h-7@yBJP@{%*IiJArY|<*|ZLj|P{Kvb-j{4UQr8F6ObodJH2vl8SJAWo3odqAm z{@VXFG-}+ATuFNTXBtiB>5E-N81Q3U)-rh8zuT{Ie-`F61m=&J*YPYd5Onhwr^4PL-&{6CcaWmMH) z&;|?(qJT&vsG!uL8|jt?3F!`zM!FlMk?!v9?oyF%kPhjR?tV4`|NFk*5AS-OUTu9dp zfuV>jw9%+@nqDt2o~h~Wz^t*HHbbWjwsthogweR|*7cLd2jg(gf4}%#m-XsrOP;{z zV=#|IbH&jgF}me@E6~?AR*xOzq^jcFkk4i$qm~n;mK9DRa;Jg!_YQ&il<>SJL^bDj z(n_*zKA8M9hiHiMv!zZ)T01_RO|v|$(vC_Zd1lMD=5ZLNYerZUrOX{Wq8WySNyx z2h6U7Xnuq=2%sfv7bj$Xl{#2i`0Mle=g_d>yI)<-x;0$NQp)xEy^@a=T#poh+fU{= z2&Y+DUiQ)mS_E_JB$GsFz@bHvxQibUv-xi~0Oc;b7`ZF^Rphu2c=6*sgAOrmVQyWY zwWzr=BcYpY0PR=f-o~20hH5pb-wbkYd|aubRSwJljW+(ZB?6)Xe5|&d>RJEO#cypHt5VG7m>(c5N|$z zEDK4W%rf{{(ArdF;b(2)HTc*)pkIg@0!hY)h8MpxYJaUiDIXpVEQ)*L1G2UxQhc|F z+wejPW!y#sohDh(-HZBvE-ssUyB-$_PzN6<@TWJvdcK+X&va=`O@#t-W9vvn!COt zp-DvtKkCla=a~M_FM+*BAzc4mmSDDOiqp^K2@8im)AP*iP6UOHg4(!q6^KR38`*)T zPb;4^Zjj96^62+=a)t%s(W1bQQyj5-+_OaM+HZUed;P@~?uDBD2< z>uuGxE@{)ccck>*w+&G?%h5DSQ`O262@Z~JLO?s*R3N>l=Qw$rH6!{i-=Hl`Y}7JR zD-E+9sK|CN>gmE&p`BAZsQs8EiEHE+^7w{jd`R2Z>5s zGQen?&o^9uB1}$We4$tdK6>t_WJgEGv<)vr(wOPu_CobuEpKWgNcC4^5KWfEZ zW;r6&Nm_#`wOs>8K^%KS_qp-66(v7oxpfSERr*G3R$3svL_G%=43k9sy4+SwdsC&l ziY8VCvxjlmdx3820@Zjhrpi!sjz!NBGr7PD)7H`Pi5{AsMpFm;EW^`!*L@OKE!vkqC4DbXTm5eOXC1lQL#H9zoy_(({@iX_b?IjQm4=_gi)>9ld_Sy1_i>3DV)}NlKBEO@m`N+}K$f)!uw=>`?V+~n9xt_%E;mAylDQSVn!A_N^}X=(P7YJyOkRqS?6crc!BDC3E44g%qs+dC3GO)u`>iU)Hn z{D(H_x;M9nQ!C=9r<(xUX@2uL#nCXoipoVa!@*#>kfG7bIfJckFUZ6M>xT5@<>g2w z7`rQewY4=>{d;cPsJXUQz<6V+GyH;04G9xkUbrQJ`lhWg{{_-hgEAD9yKmw{q1}Em zZI}7#YvecvbUiwrrB9gw2GNeo_$;wdr%z!aa=Z#IQ`M~L7lKVYp{(G&v%*2vUZy6u zHf5X`Y z3qviBW^@FV51TuqvrT%0P|xB}nTB#p3^sS?-)KeIj?7!4rT>*?J`)8Gr<_o;;al}Y zl(vmC`HKf5(2RrWIaY6hkekFglUJhMKP^ogm=TINO6$45Yy#w8FkyT}DjTm%EG;*; zro^iP1FMaUHuLk1*qON$s*a8j!H88RlCsA3R;(Ium>O0YUKv6@Z*$|fan<% zIzBBMTb4`2X|L(^Ap%8JS=qUd>#2`nJVvVC0eIj*hIxbF$4|l$fy-{!GaBo;>qXbg zU^0oTEtiw%Xay^5Tki`_wID3$QNb3^;$t6GMk8$aA@#fMMuC1xVAi2v(MMc!t%f_aXk{YI_t{QWHS{}7iQ&U?k zY;0@*{-&TPfil{^Wt^d~1Z2BflFM9wz=D?l@MmwaeIpy*);5?%X#UTilqwNa2c~9l z)!$q@Tca{ER@M;+3JU(#c*E%+b`tp)n7$?q^orFPvx!>ZBMtw1W5m})gb8qjVpca8 z9k3k|EGKjef$4>_=fNDCOI;iwhB@OQKr?1SDT{q6FU)HbwtRGA8dcRP@B=)Q*1s=B zy}aB|Xt|&k)f#%MAd9yC5v2F)Zy|t>*=lqXk)0;+@npC)u77LTgU=ZgQrc+R%N6w- z<#GEsq|axVpZDR}w`T|Y@1%#Jai2Ii*wxj7e>H4uY@AMO9U7n;j$5Ny2rBrLiJTx0 z%#tWiPj9X^)i*OUu`&4;u)b36rkY27`?a)w>yOZjJOfbhH7jAL)#?gdB611}E-f%# zN=;?JamH&qS#%E)vEx!_k|^4xhhF@!ZOgRdy39MCs= z+}A=!>8&j-e^w`?lD$wX#r;3Jc3)#X6A={^{eA3ubKTB70O_Mgty8 zDtyfF@?4EIBZGbE?f-ABy+su6)4)`JWhA4xlS#<(UEM+dU_CD9+;Z+2@6m?vk+zZSB@gW#= z{FEb>hPm0<*~v+DMMZrh0}*l2AS7gDWTfMR<0kv7bFYKde$X?foKL`NzYkFk1L3xM zy@gk?$xO}Oz$_OvaaLBIKRSCdck)YIR|;M9lM4 zf3PloB*(A1483#Xb2U=OMAX*HECniSKR03d`5|;YE4g77G(3 zq;w*Adf|-N2a9Ukm1Z2tty}j`9_l^z^ zt*k2@L9^^kz3t9)t?N!wW8xJbP{qb&W8<>2vazrjG~r50f;TtMB>GkPTdr3;@F$;# zV)EQ|#;g{;8r>^r;_%%!8jzg} zJA>|Qx8|F(gVpA%<0&v}bQVlaAj40s0m6o5WtFw|7FuDIL0|q>R91}0%gIGXN58<* z$;$jCC?MeN#U&wXXlkUUem&tJyopan1!AWbF?gJ|;bzuIgRB|y-anP*MoL^HS6CP5aI1=GK<2VfWvg6=v7Gcl(*>bB2SlT+Q6~?ksik2j+5N^{t*1g%2E2H6h z^xL*QXr{r1laLDWyReF-<=D6A58uA2s7!tNyBmc(m}DmJB4MMY`UPmPo-an|ZEbaT zQ^-I0_?iNkV=el<7pXld9?^hvdV709Z#-Ogk*y@rUC*;!kL_)2lDx zSQSjwc-Zzc+$D8oy!u8=Hg?@UiT&(JRh46DJe}SBy{Mc|2r)1Kkd$$ zv+1c)zGcGm{yBiVoX5RR-IiLg1+YJNe@9fAj!kPZtXXty^L3sET z1OLHEyoS4vMP3W~R!BXZ5mdOlSOk?;6jh%0(G2WHFzCN(C@5$b5mA5p7RYX~9bKJ7 z)2LZkS{s`h#V5qzJ?ZSCCl51DQzzf?$F z>8Kwbf&<*Wqi|^RtB`$o2=DI$viDH_=J^CAb#=!ZItoCu-p0Yf!l@y<{^B=<0%*hT z)u2J{2N=~^?O8Rp>0Hx{)6I4x0pycUwNp)LQ)yFGQ(akAK#{hAy^c=gA{f(PD)%U} z6dcnS_IqpSZFJ4N=KWI+kHflOcrKMzTDo2?zAn+~J4r0C)+B9n=m}v*9$lO_tB}~x7PL)Qkl&!fa_3SLE^Qpq9x=2MtM6Yk?=qVLc z7_%cD5J=NQ1A>ZhFKx$*H}FEUjTb4-S0#>x!WwCur<{7`+d~Uzo#MKBE91Hq#h{{m z)TU=?iSX@Pw?n7+Z1Y9QnT@5jwY66QN!$p@hlBF*SUILIWxc(IOo>W1AQ+g?W%*)b zVs9UdGBNVW((+r^M>@lz-lBaMOUroVvu8-6h(}_%M!to=eq~n5p_PUNEpLsER`rb> zA0KaQu*E9n-2C`~CSx=ZZpqEXhj8NVMk3@O3QoaRp(#a7FEzxV&$Y9cLmSf=Gvoouk) z70M3=>W+SIpzgLl0Clf^%b7Ch)$2N^l6C(pC=r63nG!ah- z@Kz3*M)6@0sy?4C?B#dXP5 z)y&L{oVkU){S+NN9YcvZQ-i<#ZWMueC#7u&Pq!g?44Cfl!zu$n2Q~D$$=<8aR zq;;kfH4J5vn}`@}j2RK7%Ol~(UM<;hW>VK{83Me8~TVz|f~Y%nk|YjT=9reJK%NEXOIEB@buYyWNYU5q!%O8b9|=Pp-7 zYG7|odGK$WkQDVn?c9seiSi*sJ`|ok_b5*%9Dus`VwKUq10zeng)IFzJAe?GS5({D zn(v()i3bD=k)(M2csYeh|d@0h0Bn}<=i)aa3jiw&RjR~9Y4}1rcS_1=n zm%D}KT#oC^7rpD_jjZ_Xq@7eHbOl!rRz)MekROA7<%O?bdnzg_A|l4u^lcRs>S2+; z?95eHms?uf9Gh7#qG$Ucmzphiy$H~{+yE1#jlYzd^&WyP4%APvKH1mOn;*I}oywN6slTr81?hEyX|vwDZpF?fWDo7+{RXTj`JI z9}_8yJJRJBy?_q)9~x3UBsVYsMokwQ8ib5HTkDLCMBALEgG3+!gGF^@Ws8gepNdCc z_)^QtPaIzp69#E;2z{9 z?%hL|kT1h+OnCbTAXjtm9^M~)9e=<%HJ9(*Lsz|GoGBhOP*WwvLZJk6HeHYZW+Gsj zs5QHsj28MFAE&ozT^0|FO*%R`s&~9N26K=? zb8y%l4mW}3AryHF{>)p4l<1lD`-4v_;PAta29FW-OQ)fsTs#KiCH>JoJ| zoda>tXjWF)f)+O}=-ze68nNbZ-iQdUwv~GSUQHYk8f8ChKu|2yPRGfKl9_^?n4W;N z1$Vu7qFfIM2c&UDJ6jiOV*lCEP*u#)^Z%9b4FMqo!yvD?n3CcH==X=R_&ZKl@Cm(p z+y^;gd%EcfT~D5ooSIZrR5TgIGwjc*~3(=IGo*@ z(ib5Ijnu0vhzvQc1t_%6(8P3aG=D_WUcHTY{S4|SYD{eG)lso)p<~KvA;1fYiWHI+ zRQdSQ`;gdUew|9lcw>fzd=sA`FboR|D=U8u3?hl4dYyAhKfwzuVPFg%yIoJ)UdWZ#CcD^L#wSrG#~Sf^+|**j0LL<_O4s z0dcG^CMH265Md5^1qJ3glP1@b_r>!5cv?Eqcf(e0n98@2a8%Yg)8na1dE3Jw_x^9D2(XHq@bvbth~JH?C3*^I0kA{ z=0U3vd>vc-PC{;tb{{0jtMBCSLLa+;5=*K`E;&s*ajx8tuO1$cAB&XmTAG9fElo12 zeS;AC&4Oufy!SZUD}3ITF8F`-0kOSX+>uye(k0gH8A;xj=5e~A!y?G9aeN z$U=^eOp?si0L;eb0^X;OdiP%^*8g=m6k+m)1 zp|H5bXm{D(RcE;HJJrNQDQy@aLxPDG21Ewp;-Zq0LQ#_ctk1h!L3chSV=ckNLQjkf zOGu8sNIUqo(M2vNP`0OQm{*X&aJ9GCI^8cnOJr4tf>I7?dQZ8=l|6(Qj}cJ}O=oEi|JH54>#i_Ela zx?39?z5r#lCX|x5_a3YyDHIQ2DY!%}GlRGEy!>Rcf3Z%76t}~!5ciU%gp^7Po-VgT z392UqW6!bq#Bt;N@<`(*kf8iZKhnk}CL$t(>*_YEFReYGJ>v&A6z6>gv+f>N{osK- zTUJr;eAo@gYm2D3M`$5n+nB>;&_93fsczl|GuVs^Non-tYja9MCawdXXMK-l?rUKT ziH`p;x({YV@0XPwS5;vpCW?6=BO;+n`QywPmjA<|JJEOq=s7vXA2GNzU;3X>9ei7{ zRg+eo{y0a=&Q9T{BVM)hT$#>8EuX5r>h14l=VHq$Pyg)nC4haqw6wG+x;Tk@)9(0C z35@IDw__pu05WWGrBA7;kuP58GoTb=EU#v#82beQZ2JTN+g9^GO4EfVI)r(@qH#%n zkRa=#;i;piqkF$w(bUuwaQM6))<%I^qsip+LCfgq%&#XzANck4oz<=u7SPlJthDU( zNx7(Jr-spE1M2g?fjQhM$)y3?Jz7g8O!cRWlkBMgENBIf{2x-B8dnjAU zz?hww#FyBvpww6&0^tI1d!3=aK3qBa;$m@~I*7jsAo$JjwVzuo7EaC48d=7t6y)Ts z8~?tx<7DArpl4w^kaMp-?O;dpoyTrgF%+FArZqp;`m5&NhbMyh*fz?Fa&% ztNtEMszYG-SM|JespITWi|Q?b3X`+&9ihntC5@Gh4HY9-dG(8DmMc?6MuuVGVGX_) zhr6kbi8G+wTTCzRydD^xmiU^6 zFmOlS{uy;?U*~9=wOqO{)6Ue`S=j^y`H`Lrf1#teV#VHBFs>qsoitV2Abh}U#2yN0 zV(e;pR1dF?0MLpN6wq?%qR#=qM4(GUd5iv|ek!Q0&rU6R+xVD_7X!4p%VbNu<#qwp zq0T+jKbzmO9zTJle-CIn2Ziu&cS>k;7|R*^iHXj=JvRJKP;t4%kpVq( zVfGo~Gf@$-p5Cs!+yY*rR8J`aPUct4W}Z^NH<`wAe)8#dy!k7YI3g=IENEEYRK>M> zZq2V)lkV}Du~pAI1hOQ>18`Ln`Qy{m@$J-F1A4^lvk`J)4vvBTo#WnkEE-jwI^J41 zG3D3T8dg?dFn3`=0cq)EMK*_w1PCbA(a^F66qiVX!)1gKzevUFq>K`aiIjQ&V!PO@~))o|S^1&^PmuX;PlJqi}hl+RGg2OwkSk*M8 zO9lVYJ%rbR2O{l9&`?lN4#6)VM{w})awEC80<8)-DbW{?31iOJ_PTu9P{Tfsj%m22 zkEPwB{03%baLmt>^VB6JcU;eCZUlA;0Q`5uF1jR{NRSMowiIH`JLo?y?7u1z3Uspg z9rk}+?%v_Y1}%0$LrrM~($|%c58wRZYFZ;$!dF3>ul3`mgL#fN`LcIR7NZ5^!)jURW#-5ov{|QtTb<^L|G~MGH#^85kMZ)!jfm7;0tV zZBG?`v9hw#E&5?bRTb3d+=zo%K!MoBE5B zH(!i9b*1H`{M0?v1zqXrIT9jbmR2`6w^syVs)Ss)zC*c$e!_oc5Pacqp{uJaWmr&9 z(Bzyy*sz8eu$;MkJUR;S;GPzrC$O-mr_=S8KFQ9F`-kwe zTh9p~VO2o<%*{>u`XGqknQg%g+g48)f*+wsPY2uoY(h~obJ+9#l#!7ZHowhCJl}Qb zIW;z>{rI_%mQFt;ZGD~yu+{eVwn%-8B{O`4=UNG%Jo5vyqVzq3~*I+!F{czT&~&B((V0?u^f()A`kIue1pg zPx;M6B*wmajUz^2LEI1KuYNjP?uHYk-WzLc^A1?5Hk~0LgNLsq{K1R9sP%4GI(FOT z9b;y!oXd^7pN>t8w(i%&iIwGFIzQM@as39Qm-c5_L$43Wl?*T+x#PhEi1E;ey?j+u zi=lT%T%lGYJNgeYTX?7#E+kU?Mt=a(s9|iVeajjodopPA*H zW3gYoGB)`FM1aW2s5^W6{QQ04Tn>FzAsuwnYO1P<392}6Ci=xBO^prk>ri9MtXbbH z%7GGq>&h8Eyq&_lPiTLA!U4BhEL-HsnuE zzVlc1o}a&e|DJf2J+79ZHCCKHLrO&^pv&8wVjr8BXbh^sRMef_o#L(uuhB5pR<~aK z*?jW?RbE|ra(sYi6dC5VHpzR3)Un7of}~4D82=Yf;6z{1*q*HUc4TjDX~VzQc}>%XXVGoS>EU8lgdDk zfvU68Xbgk|&khc9Rn&~B)@4V>m~$eTf_ngYMf9)3L}Yw8pEO!oS`7<(dZ>ux2P(=A z8X5{`X_eub-;Af{N8=qG@twJWfr#cC>qof_U{uRpmR&OGj*o~1B#a>>Bs)E{W$mzt z5=)1POh;UFaUq@-wdgf=dkb$jn-6F$LO-fBo_F6?5N+`9{OTn2z!Js(*y+wane9Y^ zCrB3kBL!C!X7tmiPlsfN0qWK9SOSIwmxd)eFAM^ zaZ&5DuqqlRPKLyM;U3hkJ}AAQSm8md0(&Lnnns6`Y*eB4%J=D z$`TNz*h3rQeFy%4PgI3wk7iYxCGq*7C|WHGZ5LftU5zUK=ee?mhK4GC5|3dR6b8W> z*?^U{j&=rwNI*ysBwVx2j#zTO9*Jt&igxDjKZ)zeS@JCo{7FeO!E05rv0)MsLlG@W zWO2b+Z@*P~cMajX0Kot8F%sYm?2nC(9w!}JZ;n!h>8He;uEd+Npg{?XYH6v<%S#9f zDg)J#F9ie;dyw4!Yi~-zGU0!KzWwv{C=(Mzn{T3(S?-MOcOG`KvvxLT<^@3dC z$lUs(s_J0aX;NImUza0)O2`rc6cQr*Au=fyxrv>0yS&B)5a3o54^$T32WmAl4fgLy z*s=XY995>i_4WDr!AFqA{ASr1WsZuD!oZOF*TTBViJiLk9!WETmHfSj&D+AVrx1_9ET1S{q`&*i5-uPBcVfJYimnQO|6GDT)%u< z~dqpz!~A}(jk8W3+Q_SmDI z)l~`GV;2zp&m)IEc;rw%-q%DAG3_bLaV1ih7%~%=9NC~K+#gNen3gsM`dsRW=SLm5 zaP*^-)2cE`O45okU=uY>gW(nyybzd+H9+~pB_SapK2lCzdgx#yGOacyDXFugqsHQF zpIO7T*9OKMgh)7pO-&#|1uM!Q48Oi|Ga!ZN&%Dr0LPf z*KHiGvdc>_(vKIr^94OKJ2U5zuC{&*2cFdYe3D5~kwnlX(U7vN-OKNzL%7+yFPm^sUe5auXiKYDuh7CUuvH?WnVHzU!;!qFrsAHFt&;b#Lv!Lk`V^}# z=+I`3jqM3gs|2v{uFfuU8Y=uLxbsk;dQ}%^SQ)Z(YTFJFa}{Of$%%=Hu_qan{85#~w-<2(ilkWz)6wD-5DueMLDW#=;s&8-pCSP&abBmfi@-g4t9vzu`ts%_2K8tnc&NDsF$aMmPul!j)<{N*W0)PX($ z(_+eEdV4NbIv^Dy@pPBH+BBKfIgVk%Q{WlmbM5^EIEmgsano5bbToLxj-}St%_f(! zmmxn=in5ppC`YHDHcb8yp__8jh)S5;-5JLr~le(o!%@2xbF2nzc3 zi%67dSMs+g7ho8*u)tI#aRmkki|>gP78foyEbg?OtEe5mTa*7kE8lj=ZGcDn_!fC=Y_2RQv@@C0L=395CNz*lRGwR_6((LcNKU$LajT7( z?x#KP*q2RDN0KFW^EqavOZ&APCGR|Szq-mwff;!PMh_qSjKU0E>G$;p(XB40-*MP^ zH@*G^bC#M;`#rfT@7&#AX?=KDTWN!t@ZjcoVxJDZrG zVPk_c7pz1L%gD|KTtRp_I2u`qQ1Dv;^0WpQv{0vg4a&uFf(!Wbh`#~PGbls_(FBCQ znmtBDc!4*dWGdO;XN6Cy0qT5Fkx3HLVI6=ULXr)n#gf@ASFRf!&+N}Ybzvlgf@VzP zS0vNbN^gEqQO4=%BMl9J(S^l$K7|EDv=k!ygoyF!@tm5W8a$IPUwAznAwyroVR0(E zD=8EP!a|}wADPt5{`n}a$lr%bomg*`O#J!7Xz(i)>I7~{;)tHZiiICv!_t0~EiA<4 ziL%^?30qvU7^sj_ki#D_F|c@k)cN$uJ#Os<)Uyf>QiqD^A(=3=+{obU?BZxFc+q{! zGKy}|PV4=O%E0zF4x+W#-}_SMeAXEGXP-fRM!T>0#yI2az(XAnv<#bDTL=31WC!+I zdzRl6AOAu!JqsyjX=zaA|4|8aCLJ9w0F@9VZx^mNo32;DNsqby44ekAw}%IxdV?K4 z^YfM8snRMk_w0nnU;I~kEpZZ z+|}SpT0=b}`S^YUMzWftqqVIqGSYLgfZ+0Tb6tlxftZ&QnQ&)@J1~koU#&blt5d(f zr}sf>a^YlPV4$bxCD63+Lu=4+Y*!v=#O4kmjFrj=TT=zMWz1v9;QHEH4!xa&qaz6k z3DC4)7{cl`lEK=);_=5MvfIbUqg)Z5q`BY}{G zi{EE&uXkpKkeaxtBBv&+EU&DBlKCA%qz^S=Ck=v#yu7(?DvwCOw{Oo7K&6tH&@buT zHw4@*UhJ>&0W1d7&@Wc7vLM7nt*yjuzlNhmKoB1h0ptbaHa7Z#kW9kQFD}~K+ojCR z#Fw5W0kzSA@82^#A#i*(!}=!ro+@(o0tTO?47)zZg`;3ched$7B!$oHC6h*EZLJ%f zuIgO%_07I~IZTg>P;2vWB7&g|cqlp-)Mv6jq}oW|+~75~kZTQneiKUn$7w+zyeEKt zn$fOUA>|G8^7=I~p>#P25Y@OCVTIzipk#MBQNFY+At5Fk7JyzW>^IW-h1KYB)?5!L zoxXkZitvSXdOz44_a*L#uB*c6C)bFI$T&BR^eFein0q^6j^?A|H^DI{`&LO$JwpK`h ze_3Z0MWnteudcZ|`FCWpR7FBr_@e~`7(&1%GN&sI{WLE%kGfY{O1Um3F45WF>o{?y zC5PSYyy_=-;ko`Dq$D!orZKdTQ!$y(GRlT|(b-rYt?ljAc+Dxr)vgv={+&N3ChUV4 z>c{g03CW(sLc7lpy^Pu`Br}U*19ZT`m9I;0C`fVjW*gQw*T1*(v(UE^3JY`0OoxQy zk>mRa+uO627T~Af*6D7EqM@j$Kw{>Jy}eFm=9aNBOy#V=s=uMfR7`GeF5rlU&VQPg z)@M7WhRo-6RaW9LGgGm~mUF18g*vXWm(SkpzRxGZZ-$E<519jd@DbC$zo|(*f>3g5 zDpzkNoWvm4;M(OH#Av}_Y{Xmp>%U5%{yAL5NaW{XWTcHhXgwZ1?HyNX-)KAwUFC>zB3wAOOB@e7M=_UVmN)UY6UV%etvuNpB4y^&`m=$J;s5uOD<#@YIK4T4HEa@3yO+L;m}`n zW`2m4*xs_9|M3KiBpc+1|J`kovQ=%x4a<=^YYrbnQK}N1zV`(Msc&xwJ2`t?UMc+% zy`Cd7zC7mp!a}Fr!A#Fae_l{nnA?;D&l84<&Y4vD`SWMKm#2L}eWCNHL$A__q;wIG zORJ+drJ1VB)_y^qDC+=#*;u1c#*X%z&JG*R~Tq?uKz_8 zA0LwWi-;@F7khhX_a5(E9$THr%E<%HIWl~w zf`;?2x!sc8(Wueurt8%2sQ}Mk36JbD%8s5h((8`ZcF7itd8ZdN@*JN+6UU0Rftm6OskHg$2BD-(dDi$O?8n9S+i zW(B|v-eKR6RunZnCghNoZM5gzr^k=X{m3XtQsjIa6hx4j%%77r;cLUO_^|K<`ew)u zo6gEcDcq*!#3b#%T0?ezu5?8n==EDzQ*`u?!HWO}l`#K4fOL~jx9g{vO)Z=Nn&QV% zSFcV*LuGuklpu|Lv&Ll$y63r;`?PU^T+_!CZ>wMzEP%*ej0iRgp8?*lqT3xWK+-u z<&f-;%w(p(6_Q3gljMZme9!TwMf5TfiVE4xcOY=AZv%TuC0 zKvvy5l#`bYV+rV{JI2Dqv_fhMwvcfZK4e|uwr6F96XEsnfWEq#PDo7nyY+UGbNA#Z zw< zK}!f=B6Nfj!bCksMm9Au6x5{Ob#QAPMP}(8lOL5AODHjjxy zv!FNd^Q;g97kHLc{Rd)yW1ggwWeVXHKY#j!*wp~TxV=d_ME!}CX|CT_Wh2z|Rxw5e2+K_es8K97}e?xskfR zD{z;IasMacxFEXg656{Oidyt)*@m(EyCDrP5`)ENzW`I`_AXoUUF=UB)Nla^g;cW% zxbU}@BQbFMmBpd`tQ!CR=-AFwoUP{Y*=MM0sQBUE1yq8y!f0rUTio?N9SxtjVE4T% zh7&nP5C@Hf$>J^a83gs!3+3}2e!M)vkIHLQLBV3h>}4uSY(mV-Wkz~>E+)ZQ6bO;n zah~KSdV52QvW%QHb7?InF)Mz>ocM1CfktCM?8+@Ktt5p9H4Kn3fJl9KE=+1GsLzEc zL)zN0mX_t@WC6*(r@zIBZ|*M4u-k6<)r^j{xpP zPKOWW{LD#s1#J!Yqq6MuZbndH(=q%ps`cB9kfp7ar6qm<3tI3x0g|7vX37Dd5A4bI zOtYm=i1~}<L=ByNje4gmJ)6V5EFuA7?N-N!sef~_V!9y>cb7ppfeSlM*g^+8)t79D96 zNb`xdzkV_BrY*GVTRCZIb+%9`D+?`;)Y2b$X3@`vMveyNp!*JbuDxTIR=~nvdO#NO%V0sRC9XfM3YV7I?w2atfD{;xjm@V}5Jf~8Q z(R=d)8Zn)#%P&HBu&Wm5=KN@rSw@CMCWk5MNgyam^~I^RJv~~o>swHz)Pyw>{YC0k z1$x^SpDxe{$YjL1L8n$%D;S_A0&v4!m#5e&(+IF;=Ud1`z4oXAgNHi_Ma{cbF@zE* z99$hXdZ&9RvtCLyJYuI~;$on!L0}fQ&2hlQ#eDn%!OF*`#*i?z@n+sbp80*awXTr2 z_c|Bla7g0JcM@FV6o-ntI-iQ~mg6Wxre$IyVXizVgu{nAuHYg% zaxCOMXY*fkCtHnum{6J6dl)~A`U z?~j+>GMi2hh?opZOQVE& zK6&y476#`0%>BpgXq4{cO!d*p9teo-&la9o&SW6Xzx|U)Ow)-BI<~JGuPWt!6L|?J zt-k{FtD13?Fx5s2B5J0r^u@DX+Va!Kjhr*uuts+KOOL!D(~W>!#+{o>)zK|3DGn%q zHMS>6RBX1#Jy(t=`v(UxTXUHRpa7#e0b}DT5p7CUf0Aka;5Y&Vc}&Q;1X}df@Sea! z-T94@FVM+#BXJk2Q8Px~Mu`ql@kHAN&x3;kK>TZCx9fK1v_NQYZ$~=@c)x(5HMe(Z z?`n!`IZR15H#se@TW)Rr(^|sj@9I{+ubZs8bX;iM@$UT3scKX7g0PlIVd0=RoabAi zgp&cY3SW$IOIW_&LIg}v10o=@2eQR-%P(|(5j9YC(P(OMFhEB7$NIkr;Ff@r(4i9FL>T}_QejESX{)dKpL zr>C$mT+agheaWfGH~y}DWPT=-PmynTd0=_4>x{zTZ_&un2%;ftoAK`v<>lY9eX^^g zt3hvxqQ0Vmfs*T-5wC=JbL@N4mS?VFQp|?J;(#~?dShm$rw3O&y*$fqTaaYqbu@lL zh>_q}v^MgLlwZduaXOElHF%8B0uH_vOl0;)|14-(P&A}sA&tRV2GYhE8m|Akxzbh( z29E~&-UN1i*6}K5!9p1S{+h{vrZ8*EZx6o4{S+JL<G`SWQ=fsfnwas+ zX(t>ahfP5SwRa2{*x1Oh66TiHkFjQP&wZQ!9{8pjFo z5CKoGVVKut!+*11=e*sj+Y_A2&2Me0laJezSM0Ild!1?npDQl6;LzP2oSK>X>A6%K zU%Cwv+DwPfmXIVeJd!=eu5W6e+uX8Mn@1b=?=c@{|1>{Z!EC@m6z~?xaYV01{hAfk zru)kP@JQoPu!5Zhxdcf0ls~O4ZXwWR^7sC+GS9ShZgA3fyEDTKEQ>`e0O^dS8SO`^_8scNnkWBXVY?!@{PfCVemJEJM0UlHa#X zo5BZtyy;IN&weQ5p@5R+%lSOx?*f09$dYdxm{Ksqa5x=iY1=^D$9MjWX-CZ54 z0;rcdbAU?>nBlf2b4`w`K{Hnu!c-kr!Qo$71jYyRJF{nBD+#9+w%xJ<7$!FKvh_J4u2{86jDs0VZ*^#4;doSDyY_K0 zivEc;e-!P;GZwD}%CX*Klcg=?3X|DM7kZy1Tm@X^`&j?hfe|r6r}2?rxB75acZP zx7~Z6^Xo7JKNto^XRYVC?<@cOsAvBBVur3A%T^~yWE9j=Fm)I#ymwn$8y}z0 z=O$B`d^!_c7aA%sI|qBm;USr7cQ&289-TR-t|p5{_K%6Ngsu`=p?p1X;?@?J)Yu|> z556P9;_+6~u)+8GcA-PSX}foG5;{Z7A$ZK2${OeNbY~L!*qd()x94TX9e9c@E^iJz@ ztpns>xqKhvJT$-(W%`RHho8PnxD{KW%8~&d*o-+#L80!!@D?qGd@}4ZK)1f(|N4^2 zW(foh^lQr9uBFp$-^E4jK zbJrRQWy$(Z6=jz2bi||h+`R&4=N%7A;w4~%lK(RpZPO&6;|(fl`gyU3OB}@tL`}x} zEc)Htz~7%=H<_2y>sM&fuN}p}*Kk!rJE#HOn$A8xa%SMxqbY}S@8st9C6&U~Mcg$H z*7cllLU@#~Kvz7VC@eL^4)cLxk>H?Iy>{XAz5^QXku|;20-S9OGm6|y9xhF{X!_8? ze~Ywt;(Yk0>CQ+EaGB=DL-Y|rxIqoo*0;^cS9*auBOiyUs(a=nukr} zoH88?&WvRfjqo>bDc(Zdu`SnfdcU6OlZ50F6Lmz4pKbNnsf+5b0Vs-PhCsI}J{n_hBW}{!v*~iMx-tIjpUonmRVOgCimo6cu7^xeMNvL_z@>A7^Y@@Mc%$y1``I zEeFWz!X)*k1crd|Y4{#iV&xhA^*$}B%{~0O0|e$+$tdB=fZSJ#d;4??0}m%PDWSkl zN@VfEe=B%Lmk4p}wU}49O;=M_Htj25C;^DcouXcDK7gaNmX?-M79kaIZv4975vq`H zVIe5+?gQYka5BbV*eN#svAja~^X@I!^Yu5p4;A>sfl60%GZ6JYd*=0Fi!+$nP_3e+ zo{XMSfRp#>EO%vBbW23BEWuek1U&zoAMkk%k%shc&J3^_{KwlGh`zXRyHJTLh~8oH zM~?mPxoY+o{LvB z8PuMce{d_@S@3cl0?u46JpqIpaxuwk*^?3xNEd=^>GlrZ8^h~y5$fCo_6FZ-86LiQ zUTXlAZze0c(+qazb?@}iOGnD|3ME*ee#WxjMsM>w~Gsj}&{`mG|xjuQ2D zfM>X|xgydf)4{(=KE6wm93;C6IFNkL#xem&Y`xW!UXZc2rUpe4G}U0y{6_Z>1Impe zPFP$7R%z0zSX_Uue^v$eF<)Rb$h%8KqgZ`~2;li0wE5$A$apEB#L?pLKZ6-o$}6fF z7-kv>@AwxSxvrUsHYa2s;rj@ zX{M;g?_pJd#GGm2;c1Y8RL5|e2f37A#2YE*6i^@f9x}|bKe&2%djYN1&4LK>i0E)| zf)PNP&y`Gf;2uoQPyxknt&3s^AqS>hLGgFsVUOpQl7jm7DqA}_P2G%k%w%C;m84%`b=bASs^!JVDR@0V9YHMrvZ1z8Jw@S_Kpa>%3t{ov` zuG0Gptrr#HJKQSf6;K_Wc{O)@{@mGIGsF%UoZh@f>VRIW| zpjP7ZYLS^s-VQ;BW{Hc1z`LUoQ@5WLOgbV=kh({1wx1=>K(~|U(gA^VIc2sA{B3)o<5*hw_NGY{4QhRd+;jw z+8+M9cTQ?!D)@#H5xY&)(-<8-^HWQc<*)~@-Yk4<7h00eg8-TgV=@{(su+taTnI5?R8fqr%_j;%OIq!HLF!_5#8 zSzvk+r$D35$^3f2BqGjE{UcvsW=YN6pwmlyk}b(U(J9;Rc6atWeIVUh443LsR2j%0 zX69tfG})y6Ygu@KnHOiTIwYyqsn z-grrq=%1P8rgrctPKN;hgQ8-*0X;7tpEbf&+U%~G{B&jl`kBi`;byKAwS}5A=!r}q z>`DUxpyKFrd=@p6Yb?Q1vVSij{FLsl+HV?e_5V-Yhsrr=bs0R$f{HVY+&52EZG+7G z?DVXhBy_@q^PSN)`|+6jV0htw4ZQn%yMQqZ!!Du1nR*N(4;}ZYhI0+N=>`c2>Bma` z+=3t-6WzF!ymtg@Xt_+f){}1_$JSsR$qOLD#7#47^%`!w#v+PDL~k9Lm{{)#JO(Z&zQy%#lI&I9AJ4gY7nAQpa1)=m zrR7ngpgUeS_4T!VmmZ-Ib|uNgxie?}wHj&}o|muGTX=8aE<~S0;wvpRa6ZkmX<(L8omOQx^O#6c&C!NJ!o_x7_I^ zOELGcJ1GtT1a*FSBzbXY#B`Z4C=hLK*Km)9O1ap(`+^k}fJyB8Wy7G8NZlzQW|Cq_ z8sf8Qu*GM6%bsb&&LlsNPe{l)FZ=N8QP>D@b-BCa;=xs-bYQkM(*g?UCZfG%jubjG z9^s1CD@O!d5v9akGxMFypo_6=E&v&Ijq>W)(u6`V+YE-4 zK$18i;h&8Cdci#IK`BF%RXx9-=INuGot0n+IAH*h;ZPR(`>9*|TE>Z%ED~NTuJM++ zmFE}e$|_s37?Z=|GCmf;&t*Sz%RATi z2wJj=m7oyos>`7k`okm#T_i{x_K`z9b(bphRr;sc9?-N4_>>8bkB{nrvHB@)3lKB3 z)#7~?!Xk>jdoCwkTrMJQ_1*b?`g7s2Dlyrr8B76Q+EMh257$1f>4p4a8xP)N{tw;? zuwU>VZeK)H+nZ7yLc9Gyha~IbQjJWm0II`4MfD8Jf(uxHCs<{vn@MCPFo&hCw!(c; zz&sC*pcBTP`WOea^!gNgX_$;DV&XScN-Czl0!^zAOc@83QTZsZffhPX2iX>3s}ra~ zC~+a#T(v7J0^La6YRp)@a!5O?J!C$P;Pmq?k>sEnJbE!Ran{?k2m;moNxF-dV25 z%S-Mf#{zU=TWP{l#Cr&ngbB+Z*~jeCr*470ail_i=j)v#Q8K-}iDWSyr`+e*g(!aA z6~kOUwIHVX#gr#*l-Gp`jf==_6GwNS!?WX{3mSHA`~?W@g%urL5VeJLvCc9D%$<1m zzXq>e-=37ND2xs?i3=TXUci5t|ki$BzpcFRtPQ`cbeN));8*zWrrB$@#*b+ z@-6PC1dT}YJ~Wb&MQ(}EP)Vf&1Gzu)zZK2p<^p`BR=`_7n3eXA+Qadtp-K*2d!u+i@+Gwc5Xs){v9O}| zi%CUcZ-m&tivk>IKSzM@JSW1!Jz=KAq@>m9=^|t}rR05ROGKb)8C9pG{32pgGO){F z{m?#z9~&@~K0ZFGtE+Q|>FDYnAyDz-K{l#H+?1+^k^vcN&L#-tBM}HlrYT9`#NpUo zBr$k*}0HzN61fP%!2Lg@2+K>?AG|w=+tgoy@r%Nt9d3ys&=g4e08ck1a9!g1p zbt&4qsYqT7FnmMhM^M7;w&S(7d_~)^0rR|8!=w{f%2;A0ODAMzffV2=2FkK{qwEOS2 zZ@XBso$B1(?!F)cphV>FDl&=j&%!xvoI*_QNCxAIb`BhCc#3%=nOsIiF{!n?-Fp>j zbzcC=@*FXl4ecqT}iQfkp$%wkWpP<{TRR z`olmBdB*}GKdUTS*75y&X<=c*k3aesA7&qR0p8^ptx_@y3o}zJG&C7?Jq}Fy)jlxB z#~?&~hsk(}(V!zjSz8;7rEMcanuOf(FUl|8j$u?1@oo7Z7 zOy|&<;0LA%yzuC^tQ0{3c0#t$dn$)>RV8GFdPKPFX(ix?`U}1Up3q0aO^y+O2S`($0)T?#XTATw|}=@`*lw`v{c{N zC?R17#(|-$q@|Y>?vDA2^z+(bZF(1v+a;{kR>h*8nkW?E7;f6J=^=mEQo$df37^_5 zjQQE_LU<^yMI>|x21CNbC?bqxUdE1Q0DF&L&K0m#({H7A;Eaw|VL$EAJw7r>N=gNl zKp8_x%XRU&BP$Avd008Ch}gSZI4P62f~8i*k0PL?&@Ml}(6OzT%c4V(ado$LKXdX1 z0a(p{%&1oM2~}hc!XCX)-WpBtPmgd9PX)_Hr@U^an0e;MQN@8rA9JAI8>Rm0?VWz^ zkRV`VE0z{5Tq*CKxx4EQkYrStsP^`EJkR?Y?ro-JrRS<9q4U<0JtfjL4&Y-ff!~3@ z;q$`LhEGJA;9B1VXd-)|+zY}N$SB_te?XPJaT48h{3HD?+vIr<4%(y|`Vk-c1n4aK zf<;UCjPqU}XDpS(`FmOY#L$Vtyn`NnoOu(RO#S?f<4rAqqpQBaXgY}Ora)XKl<=4k zy$Kr^oB!(mo7d5_rw@_k#3XxLHm&X+6_q?nY=5uFNr7%ORCpa=Rs<9d$k0ix2_qpe zxB$iv1j%L$cmsAvi0i#l9KE+5iGU4f7%m7OQZa%0VX@h^++vb)c79gS`{~5(^(R1t z#;E*O+;I&dY31RmonUOymwMQ~*o1UE)N_slQ`Ej8(Mb9TK|}>5iYE_$MgoIy7;uP9 zq(wJ8%-d8flv%oQ^a5ykzGyECa>n(BR@2|Qxxqd@9;VLj)Bx6W>V!hkLa~~mWl=58 zH4oDSB`P?Ynuz#lODz@p2Ox#V+ry(5UK693i6eg#!ju`tbkvuJfvN1Cz(6y$!f%JLPjMtA zq%KV^hpJD}zs2EiDy!OeJS}BiWR;CEK0OF+ZMV8;G8%wMqW~qqgXzYCahg|^W5DS$ zo+6Lde-5$->_F%aUfse9Mdj2Vp@733STv&(%nTs_nFxYV?==$^aXO=c86DsQpp9P~ zi@i|VxV@q>x;Izi$>=_Tt}~Pj3B}?G0g>*vM_g|29n08go^Z|1(Z$c@8$T8(7>ih& z{!t%gNVm3S5$r=`2J-kGW3ve{1mTbm3p?TReJ8JPhv{SO;y{(A8z4Zi3g(cztDqZRCm~Tly))alFu30x#@g_?Mp=Mb`w6%nzK<455BNQ@Cb#vQoA_l68F^W= zGRsz?4%o@6s!AIdwr3MIjpPipYIVm=d}?&r&2~U=328@c@<7i3QZ;gmkzCo<;pxH3 zhFO`3-^&8p!{0b}>d=9flp`F6QPEH>qVixE2?htZF}omq6lW813k!Q5GPIaJepPhp ztKL@b%?vt#?R?vGXtb3znwtKTNz+))cjQ}Bbb{FV)#>%jp6(jDTOGzGQgd9AW9*Qo zp|iIsiV(VWF$em;4>f}C0skA}ck=VeRvn%Y5~w!$D-a?;&^mqz=D5jCT#1m)y4h|i z%e=H$&#p!p3uMcz&IaAPx}jX%E6y<@NqPc~>8n6M)R{H%)*>}iS0N^r$`In`aONeo zpRym&v;uj1c|xBTl+;VnaT=8X0}r`GA4ekKb$gro@Q41~f0BmIkSr zYF>hOpm_x%p<0QT8QwrI-cXHlVwAW$cL0t^#wPgz8+{?Y6X*W^GQ+3x>iCDyp4I!a zz%BPFLUW;pBvB;Rm*sUuV`v9A@%{waislNanfiz}9v=0{`4 zKD_xR>gpO2{^UMN@mx9FEk7>Yx2}UQ4_J|b*dVu^SYeTaMkq0T`dgh`eTnuq>f@LA zyu9>eePxa1)kVNMR`skkTULJWX5Z`!l6DnMxfOq&S3-L^6!9w5CKoMJrQJ!G8p<#; zV-^EG4+-OQf`n9%ys~EzI+#bgC%Hpf?fcf%};{q9MVl0 zLJA0@VkNFjiO}|WKd-Q&P1%Vpt}jmRcJ6tgs+#0oJeHaG0z!Q(Sd%cCP0ta1J*^To zn`qempf8+X5&U{jdY+cy(s(upcPx3bEZ+H!FsSmjJuPk9 z)|UcTX)BI^G(mwLf@uyLU<5;5;gODu3s5UftD1^ZB7o980e#yJ5L!_%iWxcx73x12 z>JU?i&X}v2*ym}{Myr`ftFCljD=#SBg?6W7)gxC7oz*-z%a{lw(89FP%6-eEcHx@Y zRMgd#woz1YWDQPsSneB-rIq%Q=4C&Uva^$NQOvToNQxv%&CgzVsmw-D22xL+Uw;e` zjAl@!B$=dz;FaK!fB2eRMgNCKa;K(xRFlB0U7oFJDF^`hunz6$P!wT9;nGMB4n+(F z20~K5-g+gkq;}=4A4ehP$e6v5{en{;NZ#8!(pEMo3_0y(YD$j*uL@(p(>+X4>b>11 zlKjQPBN!MJ;_1OatI6w*P>_iRP!*^Vs37$ z&H?{guD(_>+s=3gSK)bvRkB*bb5zKOo$=GHZOni*QJ-f3xv+&_ZuZl|WRIT6 znhPPtO`?qhm$;dH;eSU3ydMxa(%!a6jA$cj-z4yuImD%)T^1O$U|`|i9+6g%e*#uV7(K8DN%Zkf&AKM5IW@D+@}+fmc2>)TVg7xI~G6;gUOVN^59p?h|P> zku9tqHEo$(TO-CsKiuAxOMsZVvS*wS{_SVnBRmYcBtAWzEWrAPmGu1k7m(ViEnR4z z!^p^~V2wckP(@Fl@y&=_I0Lc=4%OXVv(7+V3a|^BJL^Jbk_D!OK>H$AArrukpV-N$ zuwp%E@o+D#sKSd|VqoK&F_43n(a|(D=a$e2N)2WJiFYK>Kpboo7mZlccS6ZSPR>PN z^{FxH8|P;QyyznCB)z8{Gzvtmp>CYDzP@6W(hcL?`lMb7x!#8d7+G;z4k^A*%7`6a zr433SoueWm@Coq23ZmLR#&f`zDKFjG9fm$u6jPj1=tJ%_Oxo~i+T^Tydy&uvSY^J} zf)k@eq>niI4Q(96w_J$cB`He#51V2Gah&uMij;f zsGc=b#Aa>m?8XKM7kYc4emrS18GipRR$5BE^G#J*gLiUc5RqUfVHrBPr=k|~M?612 zA6sWhc|l<}K2`zX`YH1e=04nhH#fQZ7Pfw~n5vNZW9nRH%SC>EOuKiU_Z*WWd zXaRGRGQy$#`j367-VbEoiRRSR#h9Hx>Zxl-X4B;5J;WwC=jiHC$*F0o+c&h{Qkz0Z zeGAh1j-K^{eOLN?4In*|I zru6jm%&E6;-xdV|das&y@5D}fEv=0qtsoX|6R$$Pvkqu#YNDZxz?0zz4#%wC^!L9v zG_-YT%1hVzk7m19BZ&-eQ8{C_-FO>DTYsY~Cd8-DcM zMjRMO&xc+N@P|HRf9t9iP>FLGyDmE;S7Fl#qBr4sAdtec30ip-C(|73}c?csR{&td^;owA(Kl(a0G>6*Cv`?ErB+&~&K!CcIh?EBcPCYOPOHbv!UxXpA3 ze7D;LfvH;^aZjGkFs0Bqz6bFVd9qJ%v_C@sR0;GAhpTcdRsWBUz55Y^d+v6j+Fej+ zU#0Qy1KdPmRQZi`tP+dqQ^PT=@Ba7e>nqG{EU6`I65O+&r=s;=F|UZF5G#5q?4Wp; zm*L^Vv^Fd$bhOQXV@M{w7ZUQJsHgts@+++~_Z`xier~QuB6^TQl=L(m)YfVC*E&hb zD*CrkS68ems#8#ZVoO4Q{amOO=1OvkWl)9U!cq3>hUV-s%S2;Ww7psM@{L#H1FOCynUKvp^Id0PCWgt>(RWjCeOnH6%YPDUX0^}PFpv9cH z<^xJ|^Fw6}(%7*VAH?)k@8rt^@IWM|dbhlZk%IJXUKuoeA zE)Y&Ms6TsmN+v2E2-49p(BWkOD_><%C|_RR#YM)Lord)%&*I{MQVXr^b{`0ch;A;g zB18nsVBulK!@|qJG&8n@wm-dWd2M16XnvQJHdJ)9aC5P- z0iMpwViJcGTuh=EaakWdA1^Nn4Gni7dcx>^flY^iafg8K4FZpJ#5`XZYH26HXSMRQ zhNL@sXh}(_iFp8NNp@=BqLS%tlP+yvflh!FZgK8b)u+lM{pcZLhfLX3(Ixz`Wr9Xr zzxPcD_=br%wjG^Pj@_#m9~--m(hTytfW780fQkup?RZ|dy+S8>&6`2MyB?*eP>g#i;Z&>|886C zGcu5W3~ZO2oSf_leSqRI0(DN-p|+MB>rd<&BxK-ZLFq0JO%6^*xu4Q~0fn`_)g)F@ z`E?P%uRnQtYHRBpQDdVKx8yPH*KCd+EssLh+oM0nTFbzLE_o)}#)~lFbvL5DlQ7M!nN2XgcfaRJ=RH{5(&>RrMXn+lv%by_ zOj8N^QVM@C$9ZS;{TH`AJj$$2JY8xT`DbN^m!P69zehwCKUQCduCVK6PRoS^!H}$v zi}^*4RKxsF!|kqExCh-jZGA8XgzQJ)AvvP4=~<* zeAQSH7lT^-0E%b+asEbo$e%qx;n!h}4Z9>GZz8@Y-~`KhxK^)}FCc z&VE&fMDK}vhOv#@E;14K?=fpJ@r@HlfIJQsJW4u*DlvdXEq= z$&4W6A?=a;3=C!gw}du^B=d^`98KCj&k>8lh*VFb;d|_VMw6 z8N8eL!kJ`Qm+CG=DD6@!H26e9_y87v}JOt05* z_8sIgCLIj|-dFt_3-NhHu)F8==hx$}`s2;sW?eq-qf=7?_8@9auBO;>gwV1An9v%``wP&U>N z$>3O@0ku~VQNcu>FepXTI>l43Aq5SQUorE1WTIQI*vjK#^NUXMqM03X zm2QkvgUg;pe*5xAn%Q;!%V`E(u7K3Xsj zStt@Ut}pGCqPO5f(a18(?aV}z(^>u}MEeS6%<*bVO`h}de-y!vEHDagFC105Okv-0 z#Qy@o!&uC78)(!UPC{P;VXB%kWT8aU@|^0V6y+&9!Bx}MNY~%8las%;^VvRCpEPy- zcq_C837C8%qhpZo?j=iuu7bop)AqFsggTaMqXTIwNvV)b5~?(73l=787hlg`QQsZn z(Unc&$aahRsHu54G8K@`A&e13_C1OE2l>p>9S_-Tc%yd_L@q7Fr>tFpp zowlEWB1I*3BUxbvh`pxjAKQYm&qnaS@6x`X!j=Z3GF{@UC9z=^3g>(WRmTwuMIry$ z5tqY(MR-na;o1A{^n?36y(Ho7lo;%xZ!ffKwiolE2r4%Du#++V=V(XRBt;vaIlT1c zm6cPwQ>9!oYw{y=V?V(_(%_eu04TgH)XuDnxQTj_u!orL1XGSS99=${VmY^lC>BIi zhBgmS&MMlVZ26C(oFX7mb-y7o@wcF0h-Hp(2ZmYEPr4vQSLlFwj4y%L@>-6}afB17 zcQE>!PQe@?N}_k5E-W!q8@%vB>3DirBH%+`Btn3y}ihm z+pU25;mD|3RBz;~R7NmUT$@RosF7Rmf_ByC5e+!FDeC^5!!}Wn;S{0sv5DJ;y!WbO zb@dQ$G=iAqMmI+!Av1bTA#T3!!07u5|z{ zVrRP2)xrwFUN!mySJSK`sCSQkGZ}VC2U*@+UBL)cb|36AhquBo*2DlVAg>T;n*wY> zKxiN-n*FY{V1YDV_c*mk{HHLueV0js2M;f1jDGSdj4iqB&6-G0`ul+0tZuR3kIc1H z{;De93a9r9Q!_%@%0w3NiNDG z#55DC2>p}B5PA?Di20I{j)`7%l?UahqE7^q9ZycKVM=aV)u>NqSS?!`?s%;AffQRU zYz$4VA~ChJ>kH~@BH$pwS5TB^YrRno0o!z-ThvNq))wx23@oo`u|;m3{|tV^awL;+ zWy0-ioOGzv<{{cLEGV*R2O}r?*4deULP8?$Z_gwd;8V!h+U={zst%Vm_^%PvlG3sA zXPx$`4`-fp%6|sT0?BSQf1yJTRRe-_h@NA7ODxWS9Ah(&5FAejCMG;fK>zy?fUd64 z-=3fT5s1J@Jm`NkC2H*G(9_gc1(Il%zwbVH^mb_LzFrQwxV5{oTtp@G_e|W)j}tQF zz1}Y5KgT1AI)#$Sy$r$2o&j1_@t~eIq0yf>S|Qc77^MLNJXx^YR3^p6eIg=&*;#pn zdwJQ!$LM7{G&B?z={AZIG`dkei$(a}3euA)RWI5SJ*i`9!&2Vg)y%A*uCAewoE;o8 zaAPPY)i^Uf8_^ixfkujk#wo;f72y>I2WRoAl)jQep8>J+eQ|)hnc$CnGO*_pJDWgf zbxBEULqk=usl9s|1pY0=jCZXD3mLeFeRrx4{`fNNay*ez-cyxrJx{>2!+1{=LfTdB zW_A`EmCvUYp`Sb_n4tn0;%#s&f&|!X2N{HD!p+j*36B9^$OO2RhH?{RJC^)q&0q&H zO?vQ*ExdGmxmB?3T=6?Er=}|VbZ=3^c}8-9FigaSWcfGZQYy+Cd5Kvv#3E48>TS%V zP?`}3TPFa!ota56N&*Lm!ROc2Re3fkHI0fS{m`ePp_c?iM&JQPHDk<>o><@#{C@oZ zc?lkTAJv(3+}OnreaE9%J~q=k_1Nl8J3TK4yo zd7nACT=HeR5bWn#tz)C(EP4Zn-(dQ3FD@lB1&yx*`o12FS5--PNqBE~LR&&LaEn_D zHxJO7<}}+6gxL;B8Ghs{%_RdDnlXL+h-Vq+;_hgaHhQ+ybg;U)(dCPj8CKk>?`ZVi zOiRng*;!MPrWd!~rJYwuC_gbTGOd4fCK_=wJSYvuzJyeHzc>TN2o7W(TNX|OQptd^ zvbI(}u|+xJZcYesZ_rk*p;1goV1^tJOAGGo#Hv})$as946xh+vy*PqsYFPPlGmNE) zm)@A90_M@`K}A8Ppb?gJz7$D1zhq@RN%c}uCyAOtJTJn0%RrlvlLKZ#At(a!b(j^9 zA*p^LKo0n}t&g;|mj*uog}k1CGZHow=$$E-0wht9iexgz&$qVE zOiEp}EXQ$ocX?T>8F}1F=!^L|DLIM4QX*b*atx#x#DVXS#y{3KQ-xBe5&d}~eShJ; zh7L!9K7&8h)NE~Sl~g}-gn(E0O3+Y{K-6v};n`K`?YaSViV68l68JpY+CZHkjOL+< zGInRTznGLrz#yPr$L|A-2gDyf_;z*zzzQicZqlFFkhprkM-hQ_pa~+L(5|EIjYI3> zhzC6ry@R#=+T!ASxZd>Wj%uJ8zKXso8Yx;#-t~){k&WoK5`~T9;n3*B$neA@z78>_y?>#N|B`NhaHDXA)J`S+Ussc^S=i) zvnZ5A2XD5qvIVzM$?$>9`;XTXANbY@z~f3eiqbvC=GM~gvCwmHy|E72U(>lvqQ1;? z`Y2#9VDIm-QHc~qk_ibpGcl)cpB+ctnmL}qf`zGe=*XA9Ke9Yg!mjWR z;ai(>68soMrOmUE7*eS@!Wq094qzI#;6g&8T8kn$-`q3;3VO`NVefBSm$WaP8eDPv z%R%-Tl54RBia|vgt(-`=ee)D??cl^jIVS;{fcB*UA3aDPg;lg-V_@V%z^~j)n zz?>Z`7w0Tj!Y;ZtOyF6nxw-h`BOWCVk z`326!dJnQNe|rmD#c+Uh_aQB!q?F#05|q~H)-Jfey^2BrNk>GEk4^~xZ20_HY*-Ac zf3P3!7koYI+155-1Y-De^FrW4BNKtKrM8ts1ede2LC|FQ0SOQq&rUkz z*;GyluX(=Sx<5#QRP7wj(c=RjVMPdItRor`uI`ag5MyGafLB;N>v97pNw3T9@!3<@ zz`$2t-a&KWqPttzZ}!_O4{GjmB1}3;SV((xv{#2Un`IvNdKU_ho`d_Bk3zmrV%V|n z#fm~RH90|2pjCf&_rtW))YR0#-(AO1S4q84A>b|J!v3G={5wZm$~t-?Lx^1@z;n6_ zK3{jKK68xQQ`-&xU{k(8OoCDA&plYn@NVZ@a%!Hv9yw?_1E_@MkGyhmrhW5+;HpS) z5>eXm_2~30GdFMR#7tCPT7i73N>8rT^8YFcEP zpzMQ{ov-SFX+{g_&8x?$%SY?IBaIs3$7S@e} zg9brbsjGyFCjJ}A#`3a7A1{`&w1}OYluVf z5EJOy4ewm4=zBXL3C6pa?1t!E)iTUaPwtDMXciCXi-B|@wx*+dU&X*QC)HKs+uu@&4`&W z)xdyIpTJy93ElWqOh&KG^=N&q-6OGILISh(SCSi3HHWPE*RTt)9`*uOG-GOR47B zT)A=;7U%`Md+(**fMXyfphPhBG&|PT=5}Jw2SDNZTa?qEF-KGkbyYP~ViH0EGHGye zfw(OSA1XdJTQ6rDPbX_jZ%YRU(gV~^M{F~?>}*27RNvMI{d|KqI0Iveo}&64FNvtw zje>n>v@aQ^L@lrBIvgsRG&dmx0<8ZL9otn)s`oxlcwo{b0ALu4h+RH^rL2?;0bAnh z(~z3{bCo7Tj+FiPMG1t7@o?kpD?$!oXa_+;gPsc#U`pZKF|BY_u&@%76BHq`7XTiY zcX35BB%IRNqv>`3x{Qf*-G6uejRWe5l)*PYpws4Qc6(U89|Mh4LR`#Rrto%GXkx`V6j6;x&Ft#-H1zgGW=}bFgLH>xm2%nrj z6DFa@zJ=+81_?<0>_Oq96KpZIG>GtohQWY%LqY&m9jITheu_Xo91OphNY>_g^}zC| zh^+z83lGOhRe?Nh3#N6$XChFD)Qwie{THE;kr5D3(j-q_UQBXQK_G_C05+s`cAE}x zv`5o7MNAxOg1_x_dqXP^NP!HbcgfYoZ635Uot4}Gi7*F;5H z0{4%1j$Mn(V6>fyY%T{u%=q7tXdDvwCu2*Vrl!8WHYU#7x7?4&qq3t0T|SXfAtx#G z^Yd=aZq<5CpM==COMo0g&4ksMU3@V&6)i2-MOIPbQpG13R$NT-_w$mt+wm?-WT(3T zeJiYhs*D%{U(bIULxXt4n44olQT$y(GO}T?Hz4Vo&D%Qd4Iz6|(i~I-&BL=3FeJ4I zCMLyn`M2NC*IU8x@GHG?%LWps@+mT5=t+1IqBepdbN#J$`-tDeQ;5xx`%| zTClL#HQ){7O-G1rNK|giRw(-kS^kDOUl984rTw0MlpY+_-vGOx@X^H`SSSFSu54U9 zJspD@zo2UaEgA_wSq0q@+b~8JK3;gQ6qYKB2fAtxM6ui$$DR8XuDG8_F;gh#C}JpWHX7U79&BzN9!AJ*ZH%vs@=*#j)ik5X z#^u$Xg)Q@bf`wiuQW# zcVpYqK6VV4nEP39ProviWFq3Wa5>nS(UH_f3R$%VozH@Tf`EXXxVX65+S0Of~TQTj@fc4)`y9U9TG;tLQO5im+eU+00>)`(G52i%W2su$NXrAsajs= zCOB?qqGn6Ls}8Mv7L3tLu6C6frh044~4+$D&&9@y#(C%SO%+%3R6UJl& zl%W6jsen=+DsnSPU0uL^MZWZ`xGe^UZ2JP-<^7+r+J0zzu(AoPtxqqn0@4_byu75R z=SP=bWc$??V+YHP)meTvjwbGJ+?>1`>KXoRc07@|HF*M*EIZd_iji*}?Cpq133W5Fb*VaDUxfE= z6)L@lQC*tYfQE2+lv{v({q5%m7AsNax6=2rdFvbrV3%gp*VoqpI@;Pt=jZVVD7UUI zO@5a_O76Yq96FeaiZhO2a+6&k-NJg9ZU8p)mZSM!7qMu};_uuKISjb_78VKX5b$e| zW8@B&ALNnYKvG8-P*U>?^XS;XX03pm#Eeas>4?l(LJ=Gs4D6~Y(ke1wabZYE7G-5R zY3Wk&fu^P=gv1*#VN_)VQ8ry<?;EfNU$;>fY>F7 zjfwEM*(CQ=iUg61e5(8U(bWuw3Spl(T(X7p#{uD$&u?#!mfu@9M*!vnO!Q%#mL~%U z(g^GXMEF41nHl#x28MmJ1N5YRL%5)z&zSX6UI~6D=ReC7ADiBb-re7W;vtzfCM&O; z)kFZmf|JQGDLKtygPs#3iKs4#udjOt{r?k{X2ZHVD3x6;-Xh2Z+`wK%K(m^zh5eqA ze>o`-f7;S)Z*S*_H}-OMa&t4;O*Vm7QbNnf(Ae;ObO%=&8mRBd&er{u$)Kavo6%TP zQCeHs*3nWz%Ou238=)&QVQy)got`fF1;!piIZI7l&B$*=4#@`F{%OdxyOWu)0*4`A zcUfy?acP+azSK(hbD@GSSDn46IKwIanJ3ajgOhS$ejQrP!^{1~`Np?=^n7N1_8>D; zH}emsrayPWsp>SFa3> ztEYM8QIRME6S?0+>>|^MtUgEF-QP{&mG=iz29Fs@^2@Wci>d^Il_P0>1U^@2jAQA{ z4Msu*te%Vo!m4<}{(DKVof!pkbHy{4v z8-qT3eq%9`h;3+I-iGA>UIe0T!=ZP=X0#I1v@S*GU1TTcll8N+vaerATkB#N!k%ks zDf2M1bzz*2ul<~!CLk+kW0qKeO)4@BPJkr~2jkj>B84hF_3SaEVs5SFR{*wla>9xc z`ors&et|a6OUyjL&mi1*Ug?qsFD9zT%KXH$+Iw{Gd{Ui9YsL>~Zj`y+NA|BuFc-5z zxIc`iDJdUV5yC>+K;Ef*s@KuuM=bU~3;P!KH0^F*-g8Iq-^)p%4=Kq^en+FCWTc zR15ob$1~#RXb~5c*WHrvrY7I9v6$-W>CsV@R8#tkUAP#bw0d&c7XjgGir@A zmiki@OkuAdVh)b#W8vD6lW^{yXM#PK_TshR5IL z5zKcDkB?6bM1lzxH8s^$1w|nw(tGkErp{6Z*oB#c>H2Wa6;wfGaL2%B3F-@agu#n- zKd+T$ZC7-Egjb+J)f*Z5Uq07>aNSaV(EaiV3;Hcu@4$WSTF=e9l!*{xUR~aMFwkdX z%V(Pp9n6!MQ1|#Nfx?Uko!4g5Y^}C|5XAt^iBDk)b>G+s3M#Vco~Kb!h<~qmi)b-VE}EOFYAx)1db<9o>Gy9D8fa#SDCqc3*EJ~A;6oGQDjJ^YoA%`M25Q)m-Y{3V zOSnNudT%^zbwLWM{N$zV7h*(f>q5ZXrKcx`?H>W%)ilN702t+fe|u^9YBj0J6cB=R zH7x?lE|4BlR`M{g^icC-^g|-H3ah?8A>XtJ~a&mIZ$_l?AIr{@{ zzQ?0UT+YHscPyT>Fdf((&lQ5|R+$Wr$qya;Lp&?~UOQhK0*g%%cK--g! zk^R$1DnbhWh-X1xBT=7R7tGr3EGqmLR`TA|)bH^}P5F3u!rHQIuRI-W#++P^csA$G zZej8|#=$U zyux?j3jyFb`OlxflH$T*Q+fwHtxAR$dl989?B{pp?7X|y6eUCj0s5uQ-7qy6hoq9s zl|%&lhr2>f0!Q~U-&tla(#NF}LbU7FaP#lkdpfa5ZM|<3>#t(E>D?3wK0?t!J9wXKakzvz$oIdnn!kW$uuUB8f&y0+sBBV+-cA!($h>hlaj~3=em{f4@-5 z`eFgb#YJUTL~<7lnaH4qZhd{-uZTh1UC;jVG01p9Efx(oxlB6=;6u=06JuhSSy*J` z%)SiHvnHRsATcBzF;JD4SJ#KEw>J8v8EBIxE;`~Y(kSE=I0d`~3dB*_AJX5)`$qd* zePG+)tZ=}ufqA|`$21=H_UBrAfLG<@9UiT7^sr{xS8#BC?R$vBV{^5_qc8+~SRnGH z@9w64;crN#ct@9#5|VP-sNn;5S4T1YLu^0;yoSt2^pRaBTddEbQU(-O=>D&3zrtE1 zpR~5M_YZ7a0@4OjIO%)vVwZB|(X)Pl=Dl>36{sES-))p&Z0>!G&g+E)=u^VlqGkRn2#tMN;k>91h!4DNXSjJIB1q7g{a_A92{$zi%S4oA&M>G@+!9X<1 z8~RdK9&(S)%uJ2FyIj=ug3W=s3`}I*X{J-$Aca9_4yDAbjYk5f#FoG_sT#?Mt z4Q3_!CntX_%(nU{*$AeSqpkLReiAL<-Xx#?DXsp;!&*EKJl_F*C zD%b<%@*C>2klRKS;gf$a1|>SnNAQJ3A$RyAP`7#VduzVsGciB$B^MJE{S@j)m58!M zPY)z+DViwsjlSgNSXfxRnu|{M+WJbr!IMf(mVXa^@6aIOqyGhPp}H4nIQT$(NHm|T zU`8S^@L}$zlpQiN_6I<*S2HR&d43s_ek3k8RSba!?F93>+yAnpWpxxl^s z-5N$&(LFg+C67{=mq1_*v*`yK-zUzLyDD;mK7JVxDgy&U9BdqWds`%v$30?psI)|Y zF??kB1q%zyix*Mo5&7BD+91HTv(;bdz>+g_Jo`~t?~;YilgS>2x$MNuzYTB z@3j6_R3s>9vy4KDoZibsLE1*_e$JQg=a=)CpOl@Qn>}_iVrputcYS>`HzyZ(_cl=p z3I9+LF2N*z4@(r~SIdR{PYcykoucET<;|XgI^Ns+VoVq*zP^(i@t^$tdEMQC*ps}I zHBPDs03WT&vU@>+VVSXs2@aq-mdidqfxu&FZz~w;@yRb1_T=Y}PyD}dg8_I8mIXlo zi@qRYa85{X4`46Wx?WcNjxZAdjndk?qkVM;F{H3xUiZb|JRK=F3T2ol>U&!NU8#4B ziyH_kIXwKHn=3{3gxmF}Pk>Kt5I9$WRlU%Anp8kQ;KJ3F%W``yJ1-|NB!EBLyL2^U zC@|eeaC%|=`Q=aMr;n@eM#HT>M2P|1#+WEcj$G2(lAzisEN)`LPZmJ>bG)e!eG#Q0 zu`w&1hXUbIBFW>9jzx+LwwRb`G|=%bV`tm76K;VjNv%(9AY*{G0A*XyJ4GK!mM4v) z=JKBwm%)9TE2*caprV3@NCM_W8TA`3}Z)ioZ&qw)bC?;hG0YcA^e(lqJ;EK zPrF_2cyc0b?@}#ZGO;p-aiUJP+5~~rH0|x3#Ki%QP8i}gJ$+7$kJX5*2WVCe zO-y8zf!y4uXkZwSxk~~xU%&Pz_kw}O(AA5JjV+ZKthiFDSrB&PcP0;=yX&xzG6@4F)bv$ebUwW(!fzBHMN9rFmQNkeK4d1jM9?k@&7}QMiv?}fiK!m98 zkM=$ zPI3-%7^>tz+z7PyUeR}*alZt@Q}ds|2rQ6(QhZ;7aR5!=PVdhxe=dGK1k4`eTEl?)-CwvI7ah9M#= zUgFj%BVgVPz4=sV#!}uEu)w9iOWs=g46S9iMTcm{-%Yc64g0TB02}IDaRx}x9!qqP zdkcJ-74h*oDXpmB;85dow%>0KemoAh-qeV(Q|flXu8GYGov*{sr+8-#^+)Zyd)r$Z z`enq=ycm*d+|E6?4dQqmki;pQTM+6?O1_hGpMwV1FGgyshcWfcwiG_@b>$8l1_ZoAL`|c1P{v)8%%SlynW=HV>TB?8)fuHF z;#MqvC6h=}x?^o;;F+i%ODEOE!BJs5IX>?6;sp*gqVy@KcI`npArLyY2XXg0@x#cC zR9sKRT^jcK+w0GvA22vOJEf(C`peG_Y|;hedtD%Zb7s_EkR^FaNUPD>^HSmEyOewK z@J}VlAZ1RAh&}HnsLWu55H_pc>{B9p!jMB}Z`cFLUJe3+ej(wvZ-GU{#l@oU?5S}* zi;}K0^6nENUe%RD!i}(`_3iBGmI;y3zVhU4>lheVJGE&>oobKPKafQxDo4pM&3~)o zM-@sWm+?M*VJk%X*SYR{vDy*dG(J8GK#ejFqRMscC@|^y_Yn-?4-SJ7@AtHIl2uXN zBja?8i2RU2WU=E30`j!Se98iwj{AC*A8>GoMuv^5Y1Pzr{CZYas2^b%#IGDJw*mF6 ztsf2zjLzqHT_}`%E-W7;a|xvvkob|v9s{upE-tP^lvj=Y9J4=!DAgrZ2|Mp}7^$RHA-0sqI8EBrlN3Z#_&XXJs;7BbWL6^rlYzdc@81Q@0 zKvN<{(`)y8e1>_gjZBMXDuF~_PzLFMJ04ufXX&zm{l_io)2L@s~;n?j9O#snNT9x zB>T?&2*tkfM+6Nr*|G%q2vUJ5dCB@lTRVdf?->B?L7Q0Hm73_@>a!w!NqkHAw<-Gj z+NlCujBbW`I0d|+1x0mdN28{KB(A&O^`(vJeL~~-GbhE1KwL5H#a>E4Q1!EomtOA@2{g( zQ(QO+FLfB`AMIJ%G;rKuyHk!N6v3-fswx^0xI#upM@~UOLF#$p0x)`=4;h2t5l~{H zqj_hn`1M{+ZEbFKi_4H(kV2!mYY}r&!l#eqRQ}9R744rKPpVT1LgrENUlIJ%KLs65(RJS=M*bF zR}Cu2OO2NbNb2`~!eL-yCUL&uS2|5vu7u&`o*J8`FcUxrM~4E<$P<=?ls;q>3C!#j z%Il@q&ig<_ncqKsxUsR5+_y7`C^m?Mz-eh`Z&(}lf{Eo>QDz~c-~B3olmuC56hetC zXOkg;PsWcrIz&W-5z1x3;88&7JxamXVUIw2mJUR8CU*$CQ1s*<@T|q|padWY<4$?H zib>la?esGKnmncMdnkefprQE-I}J_Qz7SC#>!QLZTcn?9%+)njAJNgj2rU7kR@ph} z$LB%(7@H2rCk$V{xKvi+X$W>>EiR^nlPWwO>Yd|~7p=Ek%*iGUA%8bLmz)_^cj<c{;aE2{RE!`cqC} zZ*6pi+Rn(_SWH}$7gn%f@Imy75f%-Cmj2Xn2z_zMcPsmRs_w?V>292wbPzG{1(S;@ zVH@imHb+!)5_pn-E!-PEhV8!h;-47+7kAGO%30*ea0;4;p2QGsNm7LFxPbvHl~?6u zIwb9`EJYOPDJf=kP*9+Y6jEFqdz_F!-cTPsOifSCTd?P37G#F-&5NUAJQkmpS!}E> zaid3$kboFdE&5~V>ODiq+Br5A(|M{dVr02#J-Mn82gEd2JAhoi;w`w+8AUIbGENbjF%pY$=ZH5Z(Ob$4~roN_Up z3Rk-rM0kF~=)`$SfQI?N*Qb$>gXp}HlU$%J5j{L6wtrx#X(PVeZciOP{;_8y1zzUv zY8mwVzpyEu15+h&Gt>VI#^P~$;m`Q3X*oax5vU&j&YiWnVUem1E=|s2WKi)-GE|%3 zwoteIsi+p`H##K^-Wc#{LaleVy%S6MEi4`qBE1HZ#RnA_#1_QGwH~!V6y#^QlO(ci zIOqdajm@+y@ha0cBY!!kXJ7!tl1)v`aBz2R{6A)u6g_)DkpLu2Fn`QH7VpS@{KzWd zQ*QQG+Q-WV#&S>4&*pUIfH3AK(Wm{-mY0`N8NzeqNQAZDlt-j}Z_yQTMP3$e6O`!|m`0OhiiZZAxkjwMXQw~!-o01Q2Rfd;qtVfW3s|Mt z*jOkigpCNZ59E}UiP6wn%hWZd9Oc8}MD*ea@XyMft<2ca-nyKW78HChE|=!-*d4)a z5^Achb{mYkdehBO*^}k$EGX`x!<>}%n}}n_&4rhYoDAk121!3-$v!@8A(ZEm#ECc@ zJ_1UR(DU-r(Tln&vw3A}3mx;J6p4tK4m$Iyk$H>vJ#^2XSg@qYBL1N=>8FG_s|Tg9 zP7h?Fj-rNRXo3~_s(5;g$uVG}lc8eb61KOATSYtk;X^&13qVKsnbvb?p1g&H?SEMC zq<~q8IY{_VXIsUd8!t*z(=X8Ae4lQ%f_Hhza9MU^eC<(&E2cQp=a#sNxC;D`X`3lW z)7NHeTO0Tf@W-ZxsJ(4nM)|hUx*WQ?1Rhv?p6D;9ALPnk^)%%VZj%wMkVg^C@pyiw+F^-a6;_;98l|fVf_oo@RAmB3jTH zQ^S15us6hGM)~B?fsXp@y!WZUHPyEEtH85Og}@dD+N8+$A zQm^RWMx}tXaqre zWvL?&gV*8xz!XVDK#<#&i*2y@hOMli?}`B`isp_L4<|6l$3 z_zoC}$$dg`%1? zyZe&p5ymE2b+$^>;Y-SC6}6<8Si`H`kvuUr)>OJE>o7b}3+qiY9dBvhdrF{*>O-iF zUf(_Fd1xSyTNvQVuV-98J-rohH0$eo3c9Bwd0LNOu_<17votq18_kc8uPrS#9~})( zlx(BnTLxeTr1ApK{yF+}nq1`k{J_9~jg5^Z`JQJqoT`-EV2oj(QFl`T=Sy|<^a9$J zv?oxkuLc+N&a=B(PUc{ekB*tk2_DJN{qpAxXO7xv@p)6H7QrMx=0$#0o9BbFbTgVo zV?@{i-MGi1xS_Bipre*huu+pR1w!kyv&lq~PGN5u=;-?mkYEI%#M1_|JgA&ffnG~& z&s@2*AJQHyKi254<2)oeUFBR-R0N|U4BhD|gW%`9!J< z8?b=+y?<8+?(nkRCN}%*Ysx+}v!08qxzw4)z^4FdR`mwKLnSU3)=zBlP{N*QY5L=> zuaT&#N6sI5MD(kaf9N(~IZ8ptrmte>*mNS+cc|)WfQz2^A-Y#$^$jATZm^iUjj$5@ z=HD}WjH~j-jve}y9=!;H=R7=~oM?S8QFRm$-5Oh66|=Gecn~AuL{$~edhz|ss)fYMk%+R13+$jwWqK4F=ylwC7?gXmgD8-#; ziwg^&o_MgQ^)_Hr_5Lf&WQcJdX7w{6s8Fq#gV!Je$Q z3zF4|luNNy$V1_DvE9F_aTn3{$Xvi2Z_SF=RDQFlUS33a44dF-ZDM}NtO_G-Wi2;@ z|CJ)yJfxqx`x9>(N)q?O!KhT~E43WChGbLLxjQYfM8QvFfL{{-L zoWzmYA}~HZUo5)%tn&GZe0?~8`+Q`maoqLljC^RmnJ3bcNlE!`otMNW8iJe!EndOx zCb*VrI>^V%F_a0F`~qJHK}1)1MEvaB1EDJ`V!ZDY0gp(KSilfB6O5!9#XZO#_1%Xa zZwQej?jFwRvYlJ5fBT+c%B%%v{w&

;VmZ-mk8`kMX1+!~8rS_01My;>daH37%3 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%0A9#{`N5Is55AwIXk24rg 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

eu$md{DJ>=PF`cuGVuXu)` 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