From 2cef977324c9b78508de72b0eb49c6eff88346c0 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Wed, 25 Oct 2023 13:35:29 -0700 Subject: [PATCH 01/12] Adjust padding to accommodate good enough headers and don't include partial data frame while computing crc32c value --- .../internal/stream/KafkaClientProduceFactory.java | 9 +++++++-- .../kafka/internal/stream/ClientMergedIT.java | 6 +++--- .../produce/message.value.100k/client.rpt | 2 +- .../produce/message.value.100k/server.rpt | 4 ++-- .../application/produce/message.value.10k/client.rpt | 2 +- .../application/produce/message.value.10k/server.rpt | 4 ++-- .../produce/message.values.sequential/client.rpt | 2 +- .../produce/message.values.sequential/server.rpt | 2 +- .../produce.v3/message.values.sequential/client.rpt | 12 ++++++------ .../produce.v3/message.values.sequential/server.rpt | 12 ++++++------ 10 files changed, 30 insertions(+), 25 deletions(-) diff --git a/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaClientProduceFactory.java b/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaClientProduceFactory.java index d6c2cb2b5b..9690473ba5 100644 --- a/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaClientProduceFactory.java +++ b/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaClientProduceFactory.java @@ -86,7 +86,7 @@ public final class KafkaClientProduceFactory extends KafkaClientSaslHandshaker i { private static final int PRODUCE_REQUEST_RECORDS_OFFSET_MAX = 512; - private static final int KAFKA_RECORD_FRAMING = 100; // TODO + private static final int KAFKA_RECORD_FRAMING = 512; // TODO private static final int FLAGS_CON = 0x00; private static final int FLAGS_FIN = 0x01; @@ -539,6 +539,7 @@ private int flushRecordInit( final int valueSize = payload != null ? payload.sizeof() : 0; client.valueCompleteSize = valueSize + client.encodeableRecordBytesDeferred; + final int maxEncodeableBytes = client.encodeSlotLimit + client.valueCompleteSize + KAFKA_RECORD_FRAMING; if (client.encodeSlot != NO_SLOT && maxEncodeableBytes > encodePool.slotCapacity()) @@ -1191,6 +1192,7 @@ private final class KafkaProduceClient extends KafkaSaslClient private int encodeableRecordCount; private int encodeableRecordBytes; private int encodeableRecordBytesDeferred; + private int encodeableRecordValueBytes; private int flushableRequestBytes; private int decodeSlot = NO_SLOT; @@ -1652,6 +1654,7 @@ private void doEncodeRecordInit( encodeSlotBuffer.putBytes(encodeSlotLimit, encodeBuffer, 0, encodeProgress); encodeSlotLimit += encodeProgress; + encodeableRecordValueBytes = 0; if (headersCount > 0) { @@ -1689,6 +1692,7 @@ private void doEncodeRecordCont( encodeSlotBuffer.putBytes(encodeSlotLimit, value.buffer(), value.offset(), length); encodeSlotLimit += length; + encodeableRecordValueBytes += length; if ((flags & FLAGS_FIN) == 0) { @@ -1893,7 +1897,8 @@ private void doEncodeProduceRequest( final ByteBuffer encodeSlotByteBuffer = encodePool.byteBuffer(encodeSlot); final int encodeSlotBytePosition = encodeSlotByteBuffer.position(); - encodeSlotByteBuffer.limit(encodeSlotBytePosition + encodeSlotLimit); + final int partialValueSize = flushFlags != FLAGS_FIN ? encodeableRecordValueBytes : 0; + encodeSlotByteBuffer.limit(encodeSlotBytePosition + encodeSlotLimit - partialValueSize); encodeSlotByteBuffer.position(encodeSlotBytePosition + encodeSlotOffset + crcLimit); final CRC32C crc = crc32c; diff --git a/runtime/binding-kafka/src/test/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/ClientMergedIT.java b/runtime/binding-kafka/src/test/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/ClientMergedIT.java index 8ae2d6fd51..7803a7ce1f 100644 --- a/runtime/binding-kafka/src/test/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/ClientMergedIT.java +++ b/runtime/binding-kafka/src/test/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/ClientMergedIT.java @@ -49,7 +49,7 @@ public class ClientMergedIT .countersBufferCapacity(8192) .configure(ENGINE_BUFFER_SLOT_CAPACITY, 8192) .configure(KAFKA_CLIENT_META_MAX_AGE_MILLIS, 1000) - .configure(KAFKA_CLIENT_PRODUCE_MAX_BYTES, 116) + .configure(KAFKA_CLIENT_PRODUCE_MAX_BYTES, 528) .configurationRoot("io/aklivity/zilla/specs/binding/kafka/config") .external("net0") .clean(); @@ -234,7 +234,7 @@ public void shouldProduceMergedMessageValues() throws Exception @Configure( name = "zilla.binding.kafka.client.produce.max.bytes", value = "200000") - @ScriptProperty("padding ${512 + 100}") + @ScriptProperty("padding ${512 + 512}") public void shouldProduceMergedMessageValue10k() throws Exception { k3po.finish(); @@ -248,7 +248,7 @@ public void shouldProduceMergedMessageValue10k() throws Exception @Configure( name = "zilla.binding.kafka.client.produce.max.bytes", value = "200000") - @ScriptProperty("padding ${512 + 100}") + @ScriptProperty("padding ${512 + 512}") public void shouldProduceMergedMessageValue100k() throws Exception { k3po.finish(); diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/client.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/client.rpt index b21502d3b5..cd5237ac4a 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/client.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/client.rpt @@ -73,7 +73,7 @@ read zilla:begin.ext ${kafka:beginEx() write zilla:data.ext ${kafka:dataEx() .typeId(zilla:id("kafka")) .produce() - .deferred(102400 - 8192 + 512 + 100) + .deferred(102400 - 8192 + 512 + 512) .timestamp(newTimestamp) .build() .build()} diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/server.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/server.rpt index cf93c76e87..6cd3a8d747 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/server.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.100k/server.rpt @@ -18,7 +18,7 @@ property serverAddress "zilla://streams/app0" accept ${serverAddress} option zilla:window 8192 - option zilla:padding 612 + option zilla:padding 1024 option zilla:transmission "half-duplex" accepted @@ -71,7 +71,7 @@ write zilla:begin.ext ${kafka:beginEx() read zilla:data.ext ${kafka:matchDataEx() .typeId(zilla:id("kafka")) .produce() - .deferred(102400 - 8192 + 512 + 100) + .deferred(102400 - 8192 + 512 + 512) .build() .build()} diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/client.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/client.rpt index dcd8f9d0de..b054e49965 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/client.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/client.rpt @@ -73,7 +73,7 @@ read zilla:begin.ext ${kafka:beginEx() write zilla:data.ext ${kafka:dataEx() .typeId(zilla:id("kafka")) .produce() - .deferred(10240 - 8192 + 512 + 100) + .deferred(10240 - 8192 + 512 + 512) .timestamp(newTimestamp) .build() .build()} diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/server.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/server.rpt index c248b9e910..6b3eaeb77b 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/server.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.value.10k/server.rpt @@ -18,7 +18,7 @@ property serverAddress "zilla://streams/app0" accept ${serverAddress} option zilla:window 8192 - option zilla:padding 612 + option zilla:padding 1024 option zilla:transmission "half-duplex" accepted @@ -71,7 +71,7 @@ write zilla:begin.ext ${kafka:beginEx() read zilla:data.ext ${kafka:matchDataEx() .typeId(zilla:id("kafka")) .produce() - .deferred(10240 - 8192 + 512 + 100) + .deferred(10240 - 8192 + 512 + 512) .build() .build()} read zilla:data.ext ${kafka:matchDataEx() diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/client.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/client.rpt index 8ddf6911ff..5b8050c2df 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/client.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/client.rpt @@ -81,7 +81,7 @@ write zilla:data.ext ${kafka:dataEx() .produce() .build() .build()} -write ${kafka:randomBytes(7580)} +write ${kafka:randomBytes(8192-(512+512))} write flush write zilla:data.ext ${kafka:dataEx() diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/server.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/server.rpt index b9d3f4903c..5a2d505c1c 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/server.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/application/produce/message.values.sequential/server.rpt @@ -79,7 +79,7 @@ read zilla:data.ext ${kafka:matchDataEx() .produce() .build() .build()} -read [0..7580] +read [0..7168] read zilla:data.ext ${kafka:matchDataEx() .typeId(zilla:id("kafka")) diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/client.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/client.rpt index 6e967c671d..9b48621d87 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/client.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/client.rpt @@ -78,7 +78,7 @@ write zilla:begin.ext ${proxy:beginEx() connected -write 7690 +write 7278 0s 3s ${newRequestId} @@ -90,9 +90,9 @@ write 7690 4s "test" 1 0 - 7650 # record set size + 7238 # record set size 0L # first offset - 7638 # length + 7226 # length -1 [0x02] 0x4e8723aa @@ -104,13 +104,13 @@ write 7690 -1s -1 1 # records - ${kafka:varint(7587)} + ${kafka:varint(7175)} [0x00] ${kafka:varint(0)} ${kafka:varint(0)} ${kafka:varint(-1)} # key - ${kafka:varint(7580)} # value - ${kafka:randomBytes(7580)} + ${kafka:varint(7168)} # value + ${kafka:randomBytes(7168)} ${kafka:varint(0)} # headers read 44 diff --git a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/server.rpt b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/server.rpt index 0c2dae01c2..a6aaebb5a4 100644 --- a/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/server.rpt +++ b/specs/binding-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/kafka/streams/network/produce.v3/message.values.sequential/server.rpt @@ -74,7 +74,7 @@ read zilla:begin.ext ${proxy:beginEx() connected -read 7690 +read 7278 0s 3s (int:requestId) @@ -86,9 +86,9 @@ read 7690 4s "test" 1 0 - 7650 # record set size + 7238 # record set size 0L # first offset - 7638 # length + 7226 # length -1 [0x02] [0..4] @@ -100,13 +100,13 @@ read 7690 -1s -1 1 # records - ${kafka:varint(7587)} + ${kafka:varint(7175)} [0x00] ${kafka:varint(0)} ${kafka:varint(0)} ${kafka:varint(-1)} # key - ${kafka:varint(7580)} # value - [0..7580] + ${kafka:varint(7168)} # value + [0..7168] ${kafka:varint(0)} # headers write 44 From 716d7294eaab3c24def4910c6692169284db1f1f Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Wed, 24 Apr 2024 15:19:27 -0700 Subject: [PATCH 02/12] First JMH test --- .../echo/internal/EchoHandshakeBM.java | 149 ++++++++ .../binding/echo/internal/EchoWorker.java | 344 ++++++++++++++++++ .../internal/concurrent/bench/BufferBM.java | 5 + 3 files changed, 498 insertions(+) create mode 100644 runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoHandshakeBM.java create mode 100644 runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java diff --git a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoHandshakeBM.java b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoHandshakeBM.java new file mode 100644 index 0000000000..b6b337a067 --- /dev/null +++ b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoHandshakeBM.java @@ -0,0 +1,149 @@ +/* + * Copyright 2021-2023 Aklivity Inc. + * + * Aklivity licenses this file to you 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 io.aklivity.zilla.runtime.binding.echo.internal; + +import static io.aklivity.zilla.runtime.engine.config.KindConfig.SERVER; +import static java.util.concurrent.TimeUnit.SECONDS; + +import java.io.IOException; + +import org.agrona.MutableDirectBuffer; +import org.agrona.concurrent.UnsafeBuffer; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Level; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.TearDown; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.RunnerException; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; + +import io.aklivity.zilla.runtime.binding.echo.internal.types.stream.BeginFW; +import io.aklivity.zilla.runtime.binding.echo.internal.types.stream.WindowFW; +import io.aklivity.zilla.runtime.engine.Configuration; +import io.aklivity.zilla.runtime.engine.EngineConfiguration; +import io.aklivity.zilla.runtime.engine.binding.BindingHandler; +import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; +import io.aklivity.zilla.runtime.engine.config.BindingConfig; +import io.aklivity.zilla.runtime.engine.config.NamespaceConfig; + +@State(Scope.Benchmark) +@BenchmarkMode(Mode.Throughput) +@Fork(3) +@Warmup(iterations = 10, time = 1, timeUnit = SECONDS) +@Measurement(iterations = 5, time = 1, timeUnit = SECONDS) +@OutputTimeUnit(SECONDS) +public class EchoHandshakeBM +{ + private static final int BUFFER_SIZE = 1024 * 8; + + private final BeginFW.Builder beginRW = new BeginFW.Builder(); + private final WindowFW.Builder windowRW = new WindowFW.Builder(); + private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); + + private BindingHandler handler; + private BindingConfig echo; + private EchoBindingContext context; + + @Setup(Level.Trial) + public void init() throws IOException + { + final EngineConfiguration config = new EngineConfiguration(new Configuration()); + final EchoBindingFactorySpi factorySpi = new EchoBindingFactorySpi(); + final EchoWorker worker = new EchoWorker(); + final EchoBinding binding = factorySpi.create(config); + context = binding.supply(worker); + + NamespaceConfig namespace = NamespaceConfig.builder() + .name("echo") + .binding() + .name("echo_server0") + .type("echo") + .kind(SERVER) + .build() + .build(); + echo = namespace.bindings.get(0); + + this.handler = context.attach(echo); + } + + @TearDown(Level.Trial) + public void destroy() + { + context.detach(echo); + } + + @Setup(Level.Iteration) + public void reset() + { + } + + @Benchmark + public void handshake( + final Control control) throws Exception + { + final BeginFW begin = beginRW.wrap(writeBuffer, 0, writeBuffer.capacity()) + .originId(0L) + .routedId(0L) + .streamId(0L) + .sequence(0L) + .acknowledge(0L) + .maximum(BUFFER_SIZE) + .traceId(0L) + .authorization(0L) + .affinity(0L) + .build(); + + MessageConsumer sender = MessageConsumer.NOOP; + MessageConsumer receiver = handler.newStream(begin.typeId(), begin.buffer(), begin.offset(), begin.sizeof(), sender); + + receiver.accept(begin.typeId(), begin.buffer(), begin.offset(), begin.sizeof()); + + final WindowFW window = windowRW.wrap(writeBuffer, 0, writeBuffer.capacity()) + .originId(0L) + .routedId(0L) + .streamId(0L) + .sequence(0L) + .acknowledge(0L) + .maximum(BUFFER_SIZE) + .traceId(0L) + .budgetId(0L) + .padding(0) + .build(); + + receiver.accept(window.typeId(), window.buffer(), window.offset(), window.sizeof()); + } + + public static void main( + String[] args) throws RunnerException + { + Options opt = new OptionsBuilder() + .include(EchoHandshakeBM.class.getSimpleName()) + .forks(0) + .build(); + + new Runner(opt).run(); + } +} diff --git a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java new file mode 100644 index 0000000000..ad64611153 --- /dev/null +++ b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java @@ -0,0 +1,344 @@ +package io.aklivity.zilla.runtime.binding.echo.internal; + +import java.net.InetAddress; +import java.net.URL; +import java.nio.channels.SelectableChannel; +import java.time.Clock; +import java.util.function.LongSupplier; + +import org.agrona.MutableDirectBuffer; +import org.agrona.concurrent.UnsafeBuffer; + +import io.aklivity.zilla.runtime.engine.EngineContext; +import io.aklivity.zilla.runtime.engine.binding.BindingHandler; +import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; +import io.aklivity.zilla.runtime.engine.binding.function.MessageReader; +import io.aklivity.zilla.runtime.engine.budget.BudgetCreditor; +import io.aklivity.zilla.runtime.engine.budget.BudgetDebitor; +import io.aklivity.zilla.runtime.engine.buffer.BufferPool; +import io.aklivity.zilla.runtime.engine.catalog.CatalogHandler; +import io.aklivity.zilla.runtime.engine.concurrent.Signaler; +import io.aklivity.zilla.runtime.engine.config.BindingConfig; +import io.aklivity.zilla.runtime.engine.config.ModelConfig; +import io.aklivity.zilla.runtime.engine.config.NamespaceConfig; +import io.aklivity.zilla.runtime.engine.event.EventFormatter; +import io.aklivity.zilla.runtime.engine.guard.GuardHandler; +import io.aklivity.zilla.runtime.engine.metrics.Metric; +import io.aklivity.zilla.runtime.engine.model.ConverterHandler; +import io.aklivity.zilla.runtime.engine.model.ValidatorHandler; +import io.aklivity.zilla.runtime.engine.poller.PollerKey; +import io.aklivity.zilla.runtime.engine.vault.VaultHandler; + +public class EchoWorker implements EngineContext +{ + private static final int BUFFER_SIZE = 1024 * 8; + private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); + + @Override + public int index() + { + return 0; + } + + @Override + public Signaler signaler() + { + return null; + } + + @Override + public int supplyTypeId( + String name) + { + return 0; + } + + @Override + public long supplyInitialId( + long bindingId) + { + return 0; + } + + @Override + public long supplyReplyId( + long initialId) + { + return 0; + } + + @Override + public long supplyPromiseId( + long initialId) + { + return 0; + } + + @Override + public long supplyAuthorizedId() + { + return 0; + } + + @Override + public long supplyBudgetId() + { + return 0; + } + + @Override + public long supplyTraceId() + { + return 0; + } + + @Override + public MessageConsumer supplySender( + long streamId) + { + return null; + } + + @Override + public MessageConsumer supplyReceiver( + long streamId) + { + return null; + } + + @Override + public EventFormatter supplyEventFormatter() + { + return null; + } + + @Override + public void attachComposite(NamespaceConfig composite) + { + + } + + @Override + public void detachComposite( + NamespaceConfig composite) + { + + } + + @Override + public void detachSender(long replyId) + { + + } + + @Override + public void detachStreams(long bindingId) + { + + } + + @Override + public BudgetCreditor creditor() + { + return null; + } + + @Override + public BudgetDebitor supplyDebitor(long budgetId) + { + return null; + } + + @Override + public MutableDirectBuffer writeBuffer() + { + return writeBuffer; + } + + @Override + public BufferPool bufferPool() + { + return null; + } + + @Override + public LongSupplier supplyCounter( + long bindingId, + long metricId) + { + return null; + } + + @Override + public LongSupplier supplyGauge( + long bindingId, + long metricId) + { + return null; + } + + @Override + public LongSupplier[] supplyHistogram( + long bindingId, + long metricId) + { + return new LongSupplier[0]; + } + + @Override + public MessageConsumer droppedFrameHandler() + { + return null; + } + + @Override + public int supplyClientIndex( + long streamId) + { + return 0; + } + + @Override + public InetAddress[] resolveHost( + String host) + { + return new InetAddress[0]; + } + + @Override + public PollerKey supplyPollerKey( + SelectableChannel channel) + { + return null; + } + + @Override + public long supplyBindingId( + NamespaceConfig namespace, + BindingConfig binding) + { + return 0; + } + + @Override + public String supplyNamespace( + long namespacedId) + { + return ""; + } + + @Override + public String supplyLocalName( + long namespacedId) + { + return ""; + } + + @Override + public String supplyQName( + long namespacedId) + { + return ""; + } + + @Override + public int supplyEventId( + String name) + { + return 0; + } + + @Override + public BindingHandler streamFactory() + { + return null; + } + + @Override + public GuardHandler supplyGuard( + long guardId) + { + return null; + } + + @Override + public VaultHandler supplyVault( + long vaultId) + { + return null; + } + + @Override + public CatalogHandler supplyCatalog( + long catalogId) + { + return null; + } + + @Override + public ValidatorHandler supplyValidator( + ModelConfig config) + { + return null; + } + + @Override + public ConverterHandler supplyReadConverter( + ModelConfig config) + { + return null; + } + + @Override + public ConverterHandler supplyWriteConverter( + ModelConfig config) + { + return null; + } + + @Override + public URL resolvePath( + String path) + { + return null; + } + + @Override + public Metric resolveMetric( + String name) + { + return null; + } + + @Override + public void onExporterAttached( + long exporterId) + { + + } + + @Override + public void onExporterDetached( + long exporterId) + { + + } + + @Override + public MessageConsumer supplyEventWriter() + { + return null; + } + + @Override + public MessageReader supplyEventReader() + { + return null; + } + + @Override + public Clock clock() + { + return null; + } +} diff --git a/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java b/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java index 2b84b74e72..a430c02909 100644 --- a/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java +++ b/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java @@ -22,6 +22,7 @@ import static org.agrona.IoUtil.mapExistingFile; import static org.agrona.IoUtil.unmap; import static org.agrona.concurrent.ringbuffer.RingBufferDescriptor.TRAILER_LENGTH; +import static org.junit.rules.RuleChain.outerRule; import java.io.File; import java.io.IOException; @@ -31,6 +32,10 @@ import org.agrona.concurrent.AtomicBuffer; import org.agrona.concurrent.UnsafeBuffer; import org.agrona.concurrent.ringbuffer.ManyToOneRingBuffer; +import org.junit.Rule; +import org.junit.rules.DisableOnDebug; +import org.junit.rules.TestRule; +import org.junit.rules.Timeout; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; import org.openjdk.jmh.annotations.Fork; From 7dd3d2819e1f881d826071146aedb15e0e6f7726 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Wed, 24 Apr 2024 15:21:53 -0700 Subject: [PATCH 03/12] Fix checkstyle --- .../runtime/engine/internal/concurrent/bench/BufferBM.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java b/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java index a430c02909..2b84b74e72 100644 --- a/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java +++ b/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/internal/concurrent/bench/BufferBM.java @@ -22,7 +22,6 @@ import static org.agrona.IoUtil.mapExistingFile; import static org.agrona.IoUtil.unmap; import static org.agrona.concurrent.ringbuffer.RingBufferDescriptor.TRAILER_LENGTH; -import static org.junit.rules.RuleChain.outerRule; import java.io.File; import java.io.IOException; @@ -32,10 +31,6 @@ import org.agrona.concurrent.AtomicBuffer; import org.agrona.concurrent.UnsafeBuffer; import org.agrona.concurrent.ringbuffer.ManyToOneRingBuffer; -import org.junit.Rule; -import org.junit.rules.DisableOnDebug; -import org.junit.rules.TestRule; -import org.junit.rules.Timeout; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; import org.openjdk.jmh.annotations.Fork; From 66138056ec39ac1ce9d193f1dfed3c0f48f71d26 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Wed, 24 Apr 2024 16:20:51 -0700 Subject: [PATCH 04/12] Add licence header --- .../runtime/binding/echo/internal/EchoWorker.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java index ad64611153..41d30fc814 100644 --- a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java +++ b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java @@ -1,3 +1,18 @@ +/* + * Copyright 2021-2023 Aklivity Inc. + * + * Aklivity licenses this file to you 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 io.aklivity.zilla.runtime.binding.echo.internal; import java.net.InetAddress; From e19128546d993b233885bacca002453b90acd9ba Mon Sep 17 00:00:00 2001 From: John Fallows Date: Wed, 24 Apr 2024 17:16:28 -0700 Subject: [PATCH 05/12] Update NOTICE and dependencies to execute benchmarks via shaded tests jar --- runtime/binding-echo/NOTICE | 12 ++++++++++++ runtime/binding-echo/pom.xml | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/runtime/binding-echo/NOTICE b/runtime/binding-echo/NOTICE index 08323b88fb..b894dd7e66 100644 --- a/runtime/binding-echo/NOTICE +++ b/runtime/binding-echo/NOTICE @@ -12,6 +12,18 @@ specific language governing permissions and limitations under the License. This project includes: + agrona under The Apache License, Version 2.0 + ICU4J under Unicode/ICU License + Jackson-annotations under The Apache Software License, Version 2.0 + Jackson-core under The Apache Software License, Version 2.0 + jackson-databind under The Apache Software License, Version 2.0 + Jackson-dataformat-YAML under The Apache Software License, Version 2.0 + Jakarta JSON Processing API under Eclipse Public License 2.0 or GNU General Public License, version 2 with the GNU Classpath Exception + JSON-B API under Eclipse Public License 2.0 or GNU General Public License, version 2 with the GNU Classpath Exception + org.leadpony.justify under The Apache Software License, Version 2.0 + SnakeYAML under Apache License, Version 2.0 + zilla::runtime::common under The Apache Software License, Version 2.0 + zilla::runtime::engine under The Apache Software License, Version 2.0 This project also includes code under copyright of the following entities: diff --git a/runtime/binding-echo/pom.xml b/runtime/binding-echo/pom.xml index 37bc15776e..c74bf3c8de 100644 --- a/runtime/binding-echo/pom.xml +++ b/runtime/binding-echo/pom.xml @@ -41,7 +41,6 @@ ${project.groupId} engine ${project.version} - provided ${project.groupId} @@ -158,6 +157,11 @@ test-jar + + + **/*IT.class + + @@ -216,6 +220,7 @@ org.agrona:agrona io.aklivity.zilla:engine + io.aklivity.zilla:common org.openjdk.jmh:jmh-core net.sf.jopt-simple:jopt-simple org.apache.commons:commons-math3 From 3c629689a6546e169d3abd5c60f068471c311dbe Mon Sep 17 00:00:00 2001 From: John Fallows Date: Wed, 24 Apr 2024 17:37:38 -0700 Subject: [PATCH 06/12] Refactor benchmark tests to different package --- .../internal/{ => bench}/EchoHandshakeBM.java | 27 ++++++++++--------- .../echo/internal/{ => bench}/EchoWorker.java | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) rename runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/{ => bench}/EchoHandshakeBM.java (86%) rename runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/{ => bench}/EchoWorker.java (99%) diff --git a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoHandshakeBM.java b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/bench/EchoHandshakeBM.java similarity index 86% rename from runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoHandshakeBM.java rename to runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/bench/EchoHandshakeBM.java index b6b337a067..522a9210f2 100644 --- a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoHandshakeBM.java +++ b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/bench/EchoHandshakeBM.java @@ -13,7 +13,7 @@ * License for the specific language governing permissions and limitations * under the License. */ -package io.aklivity.zilla.runtime.binding.echo.internal; +package io.aklivity.zilla.runtime.binding.echo.internal.bench; import static io.aklivity.zilla.runtime.engine.config.KindConfig.SERVER; import static java.util.concurrent.TimeUnit.SECONDS; @@ -43,7 +43,8 @@ import io.aklivity.zilla.runtime.binding.echo.internal.types.stream.BeginFW; import io.aklivity.zilla.runtime.binding.echo.internal.types.stream.WindowFW; import io.aklivity.zilla.runtime.engine.Configuration; -import io.aklivity.zilla.runtime.engine.EngineConfiguration; +import io.aklivity.zilla.runtime.engine.binding.BindingContext; +import io.aklivity.zilla.runtime.engine.binding.BindingFactory; import io.aklivity.zilla.runtime.engine.binding.BindingHandler; import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; import io.aklivity.zilla.runtime.engine.config.BindingConfig; @@ -64,17 +65,14 @@ public class EchoHandshakeBM private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); private BindingHandler handler; - private BindingConfig echo; - private EchoBindingContext context; + private Runnable detacher; @Setup(Level.Trial) public void init() throws IOException { - final EngineConfiguration config = new EngineConfiguration(new Configuration()); - final EchoBindingFactorySpi factorySpi = new EchoBindingFactorySpi(); - final EchoWorker worker = new EchoWorker(); - final EchoBinding binding = factorySpi.create(config); - context = binding.supply(worker); + BindingFactory bindings = BindingFactory.instantiate(); + BindingContext context = bindings.create("echo", new Configuration()) + .supply(new EchoWorker()); NamespaceConfig namespace = NamespaceConfig.builder() .name("echo") @@ -84,15 +82,20 @@ public void init() throws IOException .kind(SERVER) .build() .build(); - echo = namespace.bindings.get(0); - this.handler = context.attach(echo); + BindingConfig binding = namespace.bindings.stream() + .filter(b -> "echo_server0".equals(b.name)) + .findFirst() + .get(); + + this.handler = context.attach(binding); + this.detacher = () -> context.detach(binding); } @TearDown(Level.Trial) public void destroy() { - context.detach(echo); + detacher.run(); } @Setup(Level.Iteration) diff --git a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/bench/EchoWorker.java similarity index 99% rename from runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java rename to runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/bench/EchoWorker.java index 41d30fc814..175b20f3cf 100644 --- a/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/EchoWorker.java +++ b/runtime/binding-echo/src/test/java/io/aklivity/zilla/runtime/binding/echo/internal/bench/EchoWorker.java @@ -13,7 +13,7 @@ * License for the specific language governing permissions and limitations * under the License. */ -package io.aklivity.zilla.runtime.binding.echo.internal; +package io.aklivity.zilla.runtime.binding.echo.internal.bench; import java.net.InetAddress; import java.net.URL; From caa3918cad5661df2164ecc3a9e4cdf6af8e0680 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Thu, 25 Apr 2024 13:35:28 -0700 Subject: [PATCH 07/12] WIP --- .../tls/internal/bench/TlsHandshakeBM.java | 165 ++++++++ .../binding/tls/internal/bench/TlsWorker.java | 372 ++++++++++++++++++ 2 files changed, 537 insertions(+) create mode 100644 runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java create mode 100644 runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java new file mode 100644 index 0000000000..7469aa7130 --- /dev/null +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java @@ -0,0 +1,165 @@ +/* + * Copyright 2021-2023 Aklivity Inc. + * + * Aklivity licenses this file to you 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 io.aklivity.zilla.runtime.binding.tls.internal.bench; + +import static io.aklivity.zilla.runtime.engine.config.KindConfig.CLIENT; +import static io.aklivity.zilla.runtime.engine.config.KindConfig.SERVER; +import static java.util.concurrent.TimeUnit.SECONDS; + +import java.io.IOException; + +import org.agrona.MutableDirectBuffer; +import org.agrona.concurrent.UnsafeBuffer; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Level; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.TearDown; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.RunnerException; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; + +import io.aklivity.zilla.runtime.binding.tls.internal.types.stream.BeginFW; +import io.aklivity.zilla.runtime.binding.tls.internal.types.stream.WindowFW; +import io.aklivity.zilla.runtime.engine.Configuration; +import io.aklivity.zilla.runtime.engine.binding.BindingContext; +import io.aklivity.zilla.runtime.engine.binding.BindingFactory; +import io.aklivity.zilla.runtime.engine.binding.BindingHandler; +import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; +import io.aklivity.zilla.runtime.engine.config.BindingConfig; +import io.aklivity.zilla.runtime.engine.config.NamespaceConfig; + +@State(Scope.Benchmark) +@BenchmarkMode(Mode.Throughput) +@Fork(3) +@Warmup(iterations = 10, time = 1, timeUnit = SECONDS) +@Measurement(iterations = 5, time = 1, timeUnit = SECONDS) +@OutputTimeUnit(SECONDS) +public class TlsHandshakeBM +{ + private static final int BUFFER_SIZE = 1024 * 8; + + private final BeginFW.Builder beginRW = new BeginFW.Builder(); + private final WindowFW.Builder windowRW = new WindowFW.Builder(); + private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); + + private BindingHandler handler; + private Runnable detacher; + + @Setup(Level.Trial) + public void init() throws IOException + { + BindingFactory bindings = BindingFactory.instantiate(); + BindingContext context = bindings.create("tls", new Configuration()) + .supply(new TlsWorker()); + + NamespaceConfig namespace = NamespaceConfig.builder() + .name("echo") + .binding() + .name("tls_client0") + .type("tls") + .kind(CLIENT) + .exit("tls_server0") + .build() + .binding() + .name("tls_server0") + .type("tls") + .kind(SERVER) + .exit("echo_server0") + .build() + .binding() + .name("echo_server0") + .type("echo") + .kind(SERVER) + .build() + .build(); + + BindingConfig binding = namespace.bindings.stream() + .filter(b -> "tls_client0".equals(b.name)) + .findFirst() + .get(); + + this.handler = context.attach(binding); + this.detacher = () -> context.detach(binding); + } + + @TearDown(Level.Trial) + public void destroy() + { + detacher.run(); + } + + @Setup(Level.Iteration) + public void reset() + { + } + + @Benchmark + public void handshake( + final Control control) throws Exception + { + final BeginFW begin = beginRW.wrap(writeBuffer, 0, writeBuffer.capacity()) + .originId(0L) + .routedId(0L) + .streamId(0L) + .sequence(0L) + .acknowledge(0L) + .maximum(BUFFER_SIZE) + .traceId(0L) + .authorization(0L) + .affinity(0L) + .build(); + + MessageConsumer sender = MessageConsumer.NOOP; + MessageConsumer receiver = handler.newStream(begin.typeId(), begin.buffer(), begin.offset(), begin.sizeof(), sender); + + receiver.accept(begin.typeId(), begin.buffer(), begin.offset(), begin.sizeof()); + + final WindowFW window = windowRW.wrap(writeBuffer, 0, writeBuffer.capacity()) + .originId(0L) + .routedId(0L) + .streamId(0L) + .sequence(0L) + .acknowledge(0L) + .maximum(BUFFER_SIZE) + .traceId(0L) + .budgetId(0L) + .padding(0) + .build(); + + receiver.accept(window.typeId(), window.buffer(), window.offset(), window.sizeof()); + } + + public static void main( + String[] args) throws RunnerException + { + Options opt = new OptionsBuilder() + .include(TlsHandshakeBM.class.getSimpleName()) + .forks(0) + .build(); + + new Runner(opt).run(); + } +} diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java new file mode 100644 index 0000000000..f9109cfd85 --- /dev/null +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java @@ -0,0 +1,372 @@ +/* + * Copyright 2021-2023 Aklivity Inc. + * + * Aklivity licenses this file to you 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 io.aklivity.zilla.runtime.binding.tls.internal.bench; + +import java.net.InetAddress; +import java.net.URL; +import java.nio.channels.SelectableChannel; +import java.time.Clock; +import java.util.function.LongSupplier; + +import org.agrona.MutableDirectBuffer; +import org.agrona.concurrent.UnsafeBuffer; + +import io.aklivity.zilla.runtime.engine.EngineConfiguration; +import io.aklivity.zilla.runtime.engine.EngineContext; +import io.aklivity.zilla.runtime.engine.binding.BindingHandler; +import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; +import io.aklivity.zilla.runtime.engine.binding.function.MessageReader; +import io.aklivity.zilla.runtime.engine.budget.BudgetCreditor; +import io.aklivity.zilla.runtime.engine.budget.BudgetDebitor; +import io.aklivity.zilla.runtime.engine.buffer.BufferPool; +import io.aklivity.zilla.runtime.engine.catalog.CatalogHandler; +import io.aklivity.zilla.runtime.engine.concurrent.Signaler; +import io.aklivity.zilla.runtime.engine.config.BindingConfig; +import io.aklivity.zilla.runtime.engine.config.ModelConfig; +import io.aklivity.zilla.runtime.engine.config.NamespaceConfig; +import io.aklivity.zilla.runtime.engine.event.EventFormatter; +import io.aklivity.zilla.runtime.engine.guard.GuardHandler; +import io.aklivity.zilla.runtime.engine.internal.layouts.BufferPoolLayout; +import io.aklivity.zilla.runtime.engine.metrics.Metric; +import io.aklivity.zilla.runtime.engine.model.ConverterHandler; +import io.aklivity.zilla.runtime.engine.model.ValidatorHandler; +import io.aklivity.zilla.runtime.engine.poller.PollerKey; +import io.aklivity.zilla.runtime.engine.vault.VaultHandler; + +public class TlsWorker implements EngineContext +{ + private static final int BUFFER_SIZE = 1024 * 8; + private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); + + public TlsWorker( + EngineConfiguration config) + { + final BufferPoolLayout bufferPoolLayout = new BufferPoolLayout.Builder() + .path(config.directory().resolve(String.format("buffers%d", index))) + .slotCapacity(config.bufferSlotCapacity()) + .slotCount(config.bufferPoolCapacity() / config.bufferSlotCapacity()) + .readonly(readonly) + .build(); + } + + @Override + public int index() + { + return 0; + } + + @Override + public Signaler signaler() + { + return null; + } + + @Override + public int supplyTypeId( + String name) + { + return 0; + } + + @Override + public long supplyInitialId( + long bindingId) + { + return 0; + } + + @Override + public long supplyReplyId( + long initialId) + { + return 0; + } + + @Override + public long supplyPromiseId( + long initialId) + { + return 0; + } + + @Override + public long supplyAuthorizedId() + { + return 0; + } + + @Override + public long supplyBudgetId() + { + return 0; + } + + @Override + public long supplyTraceId() + { + return 0; + } + + @Override + public MessageConsumer supplySender( + long streamId) + { + return null; + } + + @Override + public MessageConsumer supplyReceiver( + long streamId) + { + return null; + } + + @Override + public EventFormatter supplyEventFormatter() + { + return null; + } + + @Override + public void attachComposite(NamespaceConfig composite) + { + + } + + @Override + public void detachComposite( + NamespaceConfig composite) + { + + } + + @Override + public void detachSender(long replyId) + { + + } + + @Override + public void detachStreams(long bindingId) + { + + } + + @Override + public BudgetCreditor creditor() + { + return null; + } + + @Override + public BudgetDebitor supplyDebitor(long budgetId) + { + return null; + } + + @Override + public MutableDirectBuffer writeBuffer() + { + return writeBuffer; + } + + @Override + public BufferPool bufferPool() + { + return null; + } + + @Override + public LongSupplier supplyCounter( + long bindingId, + long metricId) + { + return null; + } + + @Override + public LongSupplier supplyGauge( + long bindingId, + long metricId) + { + return null; + } + + @Override + public LongSupplier[] supplyHistogram( + long bindingId, + long metricId) + { + return new LongSupplier[0]; + } + + @Override + public MessageConsumer droppedFrameHandler() + { + return null; + } + + @Override + public int supplyClientIndex( + long streamId) + { + return 0; + } + + @Override + public InetAddress[] resolveHost( + String host) + { + return new InetAddress[0]; + } + + @Override + public PollerKey supplyPollerKey( + SelectableChannel channel) + { + return null; + } + + @Override + public long supplyBindingId( + NamespaceConfig namespace, + BindingConfig binding) + { + return 0; + } + + @Override + public String supplyNamespace( + long namespacedId) + { + return ""; + } + + @Override + public String supplyLocalName( + long namespacedId) + { + return ""; + } + + @Override + public String supplyQName( + long namespacedId) + { + return ""; + } + + @Override + public int supplyEventId( + String name) + { + return 0; + } + + @Override + public BindingHandler streamFactory() + { + return null; + } + + @Override + public GuardHandler supplyGuard( + long guardId) + { + return null; + } + + @Override + public VaultHandler supplyVault( + long vaultId) + { + return null; + } + + @Override + public CatalogHandler supplyCatalog( + long catalogId) + { + return null; + } + + @Override + public ValidatorHandler supplyValidator( + ModelConfig config) + { + return null; + } + + @Override + public ConverterHandler supplyReadConverter( + ModelConfig config) + { + return null; + } + + @Override + public ConverterHandler supplyWriteConverter( + ModelConfig config) + { + return null; + } + + @Override + public URL resolvePath( + String path) + { + return null; + } + + @Override + public Metric resolveMetric( + String name) + { + return null; + } + + @Override + public void onExporterAttached( + long exporterId) + { + + } + + @Override + public void onExporterDetached( + long exporterId) + { + + } + + @Override + public MessageConsumer supplyEventWriter() + { + return null; + } + + @Override + public MessageReader supplyEventReader() + { + return null; + } + + @Override + public Clock clock() + { + return null; + } +} From ebd0de4cdfb4b96f586dfff2b17c790103912e6e Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Fri, 26 Apr 2024 10:15:08 -0700 Subject: [PATCH 08/12] WIP --- runtime/binding-tls/NOTICE | 12 +++ runtime/binding-tls/pom.xml | 9 +- .../tls/internal/bench/TlsHandshakeBM.java | 38 +++---- .../binding/tls/internal/bench/TlsWorker.java | 100 ++++++++++++++++-- 4 files changed, 125 insertions(+), 34 deletions(-) diff --git a/runtime/binding-tls/NOTICE b/runtime/binding-tls/NOTICE index 08323b88fb..b894dd7e66 100644 --- a/runtime/binding-tls/NOTICE +++ b/runtime/binding-tls/NOTICE @@ -12,6 +12,18 @@ specific language governing permissions and limitations under the License. This project includes: + agrona under The Apache License, Version 2.0 + ICU4J under Unicode/ICU License + Jackson-annotations under The Apache Software License, Version 2.0 + Jackson-core under The Apache Software License, Version 2.0 + jackson-databind under The Apache Software License, Version 2.0 + Jackson-dataformat-YAML under The Apache Software License, Version 2.0 + Jakarta JSON Processing API under Eclipse Public License 2.0 or GNU General Public License, version 2 with the GNU Classpath Exception + JSON-B API under Eclipse Public License 2.0 or GNU General Public License, version 2 with the GNU Classpath Exception + org.leadpony.justify under The Apache Software License, Version 2.0 + SnakeYAML under Apache License, Version 2.0 + zilla::runtime::common under The Apache Software License, Version 2.0 + zilla::runtime::engine under The Apache Software License, Version 2.0 This project also includes code under copyright of the following entities: diff --git a/runtime/binding-tls/pom.xml b/runtime/binding-tls/pom.xml index 1fd6bcd4d1..71b1cd04a9 100644 --- a/runtime/binding-tls/pom.xml +++ b/runtime/binding-tls/pom.xml @@ -41,7 +41,6 @@ ${project.groupId} engine ${project.version} - provided ${project.groupId} @@ -56,6 +55,12 @@ ${project.version} test + + ${project.groupId} + binding-echo + ${project.version} + test + junit junit @@ -241,6 +246,8 @@ org.agrona:agrona io.aklivity.zilla:engine + io.aklivity.zilla:common + io.aklivity.zilla:binding-echo org.openjdk.jmh:jmh-core net.sf.jopt-simple:jopt-simple org.apache.commons:commons-math3 diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java index 7469aa7130..6506385787 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java @@ -15,11 +15,12 @@ */ package io.aklivity.zilla.runtime.binding.tls.internal.bench; +import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_DIRECTORY; import static io.aklivity.zilla.runtime.engine.config.KindConfig.CLIENT; import static io.aklivity.zilla.runtime.engine.config.KindConfig.SERVER; import static java.util.concurrent.TimeUnit.SECONDS; -import java.io.IOException; +import java.util.Properties; import org.agrona.MutableDirectBuffer; import org.agrona.concurrent.UnsafeBuffer; @@ -43,12 +44,9 @@ import io.aklivity.zilla.runtime.binding.tls.internal.types.stream.BeginFW; import io.aklivity.zilla.runtime.binding.tls.internal.types.stream.WindowFW; -import io.aklivity.zilla.runtime.engine.Configuration; -import io.aklivity.zilla.runtime.engine.binding.BindingContext; -import io.aklivity.zilla.runtime.engine.binding.BindingFactory; +import io.aklivity.zilla.runtime.engine.EngineConfiguration; import io.aklivity.zilla.runtime.engine.binding.BindingHandler; import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; -import io.aklivity.zilla.runtime.engine.config.BindingConfig; import io.aklivity.zilla.runtime.engine.config.NamespaceConfig; @State(Scope.Benchmark) @@ -65,18 +63,18 @@ public class TlsHandshakeBM private final WindowFW.Builder windowRW = new WindowFW.Builder(); private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); - private BindingHandler handler; - private Runnable detacher; + private BindingHandler streamFactory; @Setup(Level.Trial) - public void init() throws IOException + public void init() { - BindingFactory bindings = BindingFactory.instantiate(); - BindingContext context = bindings.create("tls", new Configuration()) - .supply(new TlsWorker()); + final Properties properties = new Properties(); + properties.setProperty(ENGINE_DIRECTORY.name(), "target/zilla-bm"); + final EngineConfiguration config = new EngineConfiguration(properties); + TlsWorker worker = new TlsWorker(config); NamespaceConfig namespace = NamespaceConfig.builder() - .name("echo") + .name("tls") .binding() .name("tls_client0") .type("tls") @@ -96,19 +94,14 @@ public void init() throws IOException .build() .build(); - BindingConfig binding = namespace.bindings.stream() - .filter(b -> "tls_client0".equals(b.name)) - .findFirst() - .get(); + worker.attach(namespace); - this.handler = context.attach(binding); - this.detacher = () -> context.detach(binding); + streamFactory = worker.streamFactory(); } @TearDown(Level.Trial) public void destroy() { - detacher.run(); } @Setup(Level.Iteration) @@ -122,7 +115,7 @@ public void handshake( { final BeginFW begin = beginRW.wrap(writeBuffer, 0, writeBuffer.capacity()) .originId(0L) - .routedId(0L) + .routedId(4261135416L) .streamId(0L) .sequence(0L) .acknowledge(0L) @@ -133,13 +126,14 @@ public void handshake( .build(); MessageConsumer sender = MessageConsumer.NOOP; - MessageConsumer receiver = handler.newStream(begin.typeId(), begin.buffer(), begin.offset(), begin.sizeof(), sender); + MessageConsumer receiver = streamFactory.newStream( + begin.typeId(), begin.buffer(), begin.offset(), begin.sizeof(), sender); receiver.accept(begin.typeId(), begin.buffer(), begin.offset(), begin.sizeof()); final WindowFW window = windowRW.wrap(writeBuffer, 0, writeBuffer.capacity()) .originId(0L) - .routedId(0L) + .routedId(4261135416L) .streamId(0L) .sequence(0L) .acknowledge(0L) diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java index f9109cfd85..2c75c4936a 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java @@ -15,17 +15,27 @@ */ package io.aklivity.zilla.runtime.binding.tls.internal.bench; +import static java.nio.charset.StandardCharsets.UTF_8; + import java.net.InetAddress; import java.net.URL; import java.nio.channels.SelectableChannel; import java.time.Clock; import java.util.function.LongSupplier; +import java.util.zip.CRC32C; +import org.agrona.DirectBuffer; import org.agrona.MutableDirectBuffer; +import org.agrona.collections.Long2ObjectHashMap; +import org.agrona.collections.Object2ObjectHashMap; import org.agrona.concurrent.UnsafeBuffer; +import io.aklivity.zilla.runtime.engine.Configuration; import io.aklivity.zilla.runtime.engine.EngineConfiguration; import io.aklivity.zilla.runtime.engine.EngineContext; +import io.aklivity.zilla.runtime.engine.binding.Binding; +import io.aklivity.zilla.runtime.engine.binding.BindingContext; +import io.aklivity.zilla.runtime.engine.binding.BindingFactory; import io.aklivity.zilla.runtime.engine.binding.BindingHandler; import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; import io.aklivity.zilla.runtime.engine.binding.function.MessageReader; @@ -40,6 +50,7 @@ import io.aklivity.zilla.runtime.engine.event.EventFormatter; import io.aklivity.zilla.runtime.engine.guard.GuardHandler; import io.aklivity.zilla.runtime.engine.internal.layouts.BufferPoolLayout; +import io.aklivity.zilla.runtime.engine.internal.types.stream.FrameFW; import io.aklivity.zilla.runtime.engine.metrics.Metric; import io.aklivity.zilla.runtime.engine.model.ConverterHandler; import io.aklivity.zilla.runtime.engine.model.ValidatorHandler; @@ -50,16 +61,30 @@ public class TlsWorker implements EngineContext { private static final int BUFFER_SIZE = 1024 * 8; private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); + private final BufferPool bufferPool; + private final Long2ObjectHashMap handlers; + private final Object2ObjectHashMap bindings; + private final BindingFactory factory; + private final Configuration config; + + private final FrameFW frameRO = new FrameFW(); + private final CRC32C crc32C = new CRC32C(); public TlsWorker( EngineConfiguration config) { - final BufferPoolLayout bufferPoolLayout = new BufferPoolLayout.Builder() - .path(config.directory().resolve(String.format("buffers%d", index))) + this.config = config; + this.bufferPool = new BufferPoolLayout.Builder() + .path(config.directory().resolve(String.format("buffers%d", 0))) .slotCapacity(config.bufferSlotCapacity()) .slotCount(config.bufferPoolCapacity() / config.bufferSlotCapacity()) - .readonly(readonly) - .build(); + .readonly(false) + .build() + .bufferPool(); + + this.factory = BindingFactory.instantiate(); + this.bindings = new Object2ObjectHashMap<>(); + this.handlers = new Long2ObjectHashMap<>(); } @Override @@ -141,28 +166,25 @@ public EventFormatter supplyEventFormatter() } @Override - public void attachComposite(NamespaceConfig composite) + public void attachComposite( + NamespaceConfig composite) { - } @Override public void detachComposite( NamespaceConfig composite) { - } @Override public void detachSender(long replyId) { - } @Override public void detachStreams(long bindingId) { - } @Override @@ -186,7 +208,7 @@ public MutableDirectBuffer writeBuffer() @Override public BufferPool bufferPool() { - return null; + return bufferPool; } @Override @@ -279,7 +301,7 @@ public int supplyEventId( @Override public BindingHandler streamFactory() { - return null; + return this::newStream; } @Override @@ -369,4 +391,60 @@ public Clock clock() { return null; } + + public void attach( + NamespaceConfig namespace) + { + namespace.bindings.stream() + .peek(b -> b.id = crc32c(b.name)) + .map(b -> b.routes) + .forEach(rs -> rs.stream() + .peek(r -> r.id = crc32c(r.exit)) + .forEach(r -> r.authorized = session -> true)); + + namespace.bindings.forEach(b -> + { + Binding binding = supplyBinding(b.type); + BindingContext context = binding.supply(this); + BindingHandler handler = context.attach(b); + + handlers.put(b.id, handler); + }); + } + + private MessageConsumer newStream( + int msgTypeId, + DirectBuffer buffer, + int index, + int length, + MessageConsumer sender) + { + final FrameFW frame = frameRO.wrap(buffer, index, length); + final long bindingId = frame.routedId(); + + final BindingHandler handler = handlers.get(bindingId); + + return handler.newStream(msgTypeId, buffer, index, length, sender); + } + + private Binding supplyBinding( + String type) + { + return bindings.computeIfAbsent(type, this::createBinding); + } + + private Binding createBinding( + String type) + { + return factory.create(type, config); + } + + private long crc32c( + String value) + { + crc32C.reset(); + crc32C.update(value.getBytes(UTF_8)); + + return crc32C.getValue(); + } } From 0305d699d9e9a625529878aaee8d1c46375d1be2 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Mon, 29 Apr 2024 20:36:27 -0700 Subject: [PATCH 09/12] WIP --- .../tls/internal/bench/TlsHandshakeBM.java | 12 +- .../binding/tls/internal/bench/TlsWorker.java | 263 +++++++++++++++++- .../engine/internal/stream/StreamId.java | 6 + 3 files changed, 268 insertions(+), 13 deletions(-) diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java index 6506385787..63d2c22b1d 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java @@ -64,6 +64,7 @@ public class TlsHandshakeBM private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); private BindingHandler streamFactory; + private TlsWorker worker; @Setup(Level.Trial) public void init() @@ -71,7 +72,7 @@ public void init() final Properties properties = new Properties(); properties.setProperty(ENGINE_DIRECTORY.name(), "target/zilla-bm"); final EngineConfiguration config = new EngineConfiguration(properties); - TlsWorker worker = new TlsWorker(config); + this.worker = new TlsWorker(config); NamespaceConfig namespace = NamespaceConfig.builder() .name("tls") @@ -113,10 +114,13 @@ public void reset() public void handshake( final Control control) throws Exception { + final long initialId = worker.supplyInitialId(0L); + final long replyId = worker.supplyReplyId(initialId); + final BeginFW begin = beginRW.wrap(writeBuffer, 0, writeBuffer.capacity()) .originId(0L) .routedId(4261135416L) - .streamId(0L) + .streamId(initialId) .sequence(0L) .acknowledge(0L) .maximum(BUFFER_SIZE) @@ -134,7 +138,7 @@ public void handshake( final WindowFW window = windowRW.wrap(writeBuffer, 0, writeBuffer.capacity()) .originId(0L) .routedId(4261135416L) - .streamId(0L) + .streamId(replyId) .sequence(0L) .acknowledge(0L) .maximum(BUFFER_SIZE) @@ -144,6 +148,8 @@ public void handshake( .build(); receiver.accept(window.typeId(), window.buffer(), window.offset(), window.sizeof()); + + worker.doWork(); } public static void main( diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java index 2c75c4936a..10207b76a8 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java @@ -15,12 +15,15 @@ */ package io.aklivity.zilla.runtime.binding.tls.internal.bench; +import static io.aklivity.zilla.runtime.engine.internal.stream.StreamId.isInitial; +import static java.lang.ThreadLocal.withInitial; import static java.nio.charset.StandardCharsets.UTF_8; import java.net.InetAddress; import java.net.URL; import java.nio.channels.SelectableChannel; import java.time.Clock; +import java.util.function.IntConsumer; import java.util.function.LongSupplier; import java.util.zip.CRC32C; @@ -29,6 +32,8 @@ import org.agrona.collections.Long2ObjectHashMap; import org.agrona.collections.Object2ObjectHashMap; import org.agrona.concurrent.UnsafeBuffer; +import org.agrona.concurrent.ringbuffer.OneToOneRingBuffer; +import org.agrona.concurrent.ringbuffer.RingBuffer; import io.aklivity.zilla.runtime.engine.Configuration; import io.aklivity.zilla.runtime.engine.EngineConfiguration; @@ -50,7 +55,10 @@ import io.aklivity.zilla.runtime.engine.event.EventFormatter; import io.aklivity.zilla.runtime.engine.guard.GuardHandler; import io.aklivity.zilla.runtime.engine.internal.layouts.BufferPoolLayout; +import io.aklivity.zilla.runtime.engine.internal.stream.StreamId; +import io.aklivity.zilla.runtime.engine.internal.types.stream.BeginFW; import io.aklivity.zilla.runtime.engine.internal.types.stream.FrameFW; +import io.aklivity.zilla.runtime.engine.internal.types.stream.SignalFW; import io.aklivity.zilla.runtime.engine.metrics.Metric; import io.aklivity.zilla.runtime.engine.model.ConverterHandler; import io.aklivity.zilla.runtime.engine.model.ValidatorHandler; @@ -59,17 +67,24 @@ public class TlsWorker implements EngineContext { - private static final int BUFFER_SIZE = 1024 * 8; + private static final int BUFFER_SIZE = 1024 * 64; private final MutableDirectBuffer writeBuffer = new UnsafeBuffer(new byte[BUFFER_SIZE]); + private final RingBuffer streamsBuffer = new OneToOneRingBuffer(new UnsafeBuffer(new byte[1024 * 1024 + 768])); private final BufferPool bufferPool; private final Long2ObjectHashMap handlers; private final Object2ObjectHashMap bindings; + private final Long2ObjectHashMap streamsById; + private final Long2ObjectHashMap throtllesById; private final BindingFactory factory; private final Configuration config; + private final TlsSignaler signaler; + private final FrameFW frameRO = new FrameFW(); private final CRC32C crc32C = new CRC32C(); + private int nextInitialId = 3; + public TlsWorker( EngineConfiguration config) { @@ -82,9 +97,13 @@ public TlsWorker( .build() .bufferPool(); + this.signaler = new TlsSignaler(); + this.factory = BindingFactory.instantiate(); this.bindings = new Object2ObjectHashMap<>(); this.handlers = new Long2ObjectHashMap<>(); + this.streamsById = new Long2ObjectHashMap<>(); + this.throtllesById = new Long2ObjectHashMap<>(); } @Override @@ -96,7 +115,7 @@ public int index() @Override public Signaler signaler() { - return null; + return signaler; } @Override @@ -110,14 +129,15 @@ public int supplyTypeId( public long supplyInitialId( long bindingId) { - return 0; + return nextInitialId += 2; } @Override public long supplyReplyId( long initialId) { - return 0; + assert isInitial(initialId); + return initialId & 0xffff_ffff_ffff_fffeL; } @Override @@ -377,7 +397,7 @@ public void onExporterDetached( @Override public MessageConsumer supplyEventWriter() { - return null; + return MessageConsumer.NOOP; } @Override @@ -389,7 +409,12 @@ public MessageReader supplyEventReader() @Override public Clock clock() { - return null; + return Clock.systemUTC(); + } + + public void doWork() + { + streamsBuffer.read(this::handleRead, Integer.MAX_VALUE); } public void attach( @@ -412,6 +437,22 @@ public void attach( }); } + private void handleRead( + int msgTypeId, + MutableDirectBuffer buffer, + int index, + int length) + { + final FrameFW frame = frameRO.wrap(buffer, index, index + length); + final long streamId = frame.streamId(); + + final MessageConsumer stream = StreamId.isThrottle(msgTypeId) + ? throtllesById.get(streamId) + : streamsById.get(streamId); + + stream.accept(msgTypeId, buffer, index, length); + } + private MessageConsumer newStream( int msgTypeId, DirectBuffer buffer, @@ -419,12 +460,46 @@ private MessageConsumer newStream( int length, MessageConsumer sender) { - final FrameFW frame = frameRO.wrap(buffer, index, length); - final long bindingId = frame.routedId(); + switch (msgTypeId) + { + case BeginFW.TYPE_ID: + final FrameFW frame = frameRO.wrap(buffer, index, index + length); + final long routedId = frame.routedId(); + final long streamId = frame.streamId(); - final BindingHandler handler = handlers.get(bindingId); + if (StreamId.isInitial(streamId)) + { + final BindingHandler handler = handlers.get(routedId); + MessageConsumer stream = handler.newStream(msgTypeId, buffer, index, length, this::handleWrite); + streamsById.put(streamId, stream); + throtllesById.put(streamId, sender); + + long replyId = supplyReplyId(streamId); + throtllesById.put(replyId, stream); + streamsById.put(replyId, sender); + } + break; + } + + return this::handleWrite; + } + + private void handleWrite( + int msgTypeId, + DirectBuffer buffer, + int index, + int length) + { + streamsBuffer.write(msgTypeId, buffer, index, length); + } - return handler.newStream(msgTypeId, buffer, index, length, sender); + private void handleEventWrite( + int msgTypeId, + DirectBuffer buffer, + int index, + int length) + { + streamsBuffer.write(msgTypeId, buffer, index, length); } private Binding supplyBinding( @@ -447,4 +522,172 @@ private long crc32c( return crc32C.getValue(); } + + private static SignalFW.Builder newSignalRW( + int capacity) + { + MutableDirectBuffer buffer = new UnsafeBuffer(new byte[capacity]); + return new SignalFW.Builder().wrap(buffer, 0, buffer.capacity()); + } + + private final class TlsSignaler implements Signaler + { + private final ThreadLocal signalRW; + + private TlsSignaler() + { + signalRW = withInitial(() -> newSignalRW(512)); + } + + @Override + public long signalAt( + long timeMillis, + int signalId, + IntConsumer handler) + { + handler.accept(signalId); + + return System.currentTimeMillis(); + } + + @Override + public long signalAt( + long timeMillis, + long originId, + long routedId, + long streamId, + long traceId, + int signalId, + int contextId) + { + signal(originId, routedId, streamId, 0L, 0L, + traceId, NO_CANCEL_ID, signalId, contextId); + return System.currentTimeMillis(); + } + + @Override + public long signalTask( + Runnable task, + long originId, + long routedId, + long streamId, + long traceId, + int signalId, + int contextId) + { + try + { + task.run(); + } + finally + { + final SignalFW signal = signalRW.get() + .rewrap() + .originId(originId) + .routedId(routedId) + .streamId(streamId) + .sequence(0L) + .acknowledge(0L) + .maximum(0) + .timestamp(0L) + .traceId(traceId) + .cancelId(NO_CANCEL_ID) + .signalId(signalId) + .contextId(contextId) + .build(); + + streamsBuffer.write(signal.typeId(), signal.buffer(), signal.offset(), signal.sizeof()); + } + + return NO_CANCEL_ID; + } + + @Override + public void signalNow( + long originId, + long routedId, + long streamId, + long traceId, + int signalId, + int contextId) + { + signal(originId, routedId, streamId, 0L, 0L, traceId, NO_CANCEL_ID, signalId, contextId); + } + + @Override + public void signalNow( + long originId, + long routedId, + long streamId, + long traceId, + int signalId, + int contextId, + DirectBuffer buffer, + int offset, + int length) + { + signal(originId, routedId, streamId, 0L, 0L, traceId, NO_CANCEL_ID, signalId, contextId, + buffer, offset, length); + } + + @Override + public boolean cancel( + long cancelId) + { + return true; + } + + private void signal( + long originId, + long routedId, + long streamId, + long sequence, + long acknowledge, + long traceId, + long cancelId, + int signalId, + int contextId) + { + //NOOP + } + + private void signal( + long originId, + long routedId, + long streamId, + long sequence, + long acknowledge, + long traceId, + long cancelId, + int signalId, + int contextId, + DirectBuffer buffer, + int offset, + int length) + { + //NOOP + } + + private void invokeAndSignal( + Runnable task, + long originId, + long routedId, + long streamId, + long sequence, + long acknowledge, + long traceId, + long cancelId, + int signalId, + int contextId) + { + try + { + task.run(); + } + finally + { + signal(originId, routedId, streamId, sequence, acknowledge, traceId, cancelId, signalId, contextId); + } + } + } } diff --git a/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/stream/StreamId.java b/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/stream/StreamId.java index 378332b9c4..e52d4eb35b 100644 --- a/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/stream/StreamId.java +++ b/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/stream/StreamId.java @@ -71,6 +71,12 @@ public static boolean isInitial( return (streamId & 0x0000_0000_0000_0001L) != 0L; } + public static boolean isThrottle( + int typeId) + { + return (typeId & 0x4000_0000) != 0; + } + private static boolean isInitial( int instanceId) { From b40e377b4b2a9f962d254abd2c896a5bb9cecb57 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Tue, 30 Apr 2024 18:01:41 -0700 Subject: [PATCH 10/12] Add support for vault --- buffers0 | Bin 0 -> 4194820 bytes .../tls/internal/bench/TlsHandshakeBM.java | 35 ++++++++++- .../binding/tls/internal/bench/TlsWorker.java | 55 ++++++++++++++---- 3 files changed, 78 insertions(+), 12 deletions(-) create mode 100644 buffers0 diff --git a/buffers0 b/buffers0 new file mode 100644 index 0000000000000000000000000000000000000000..e5f7ccd4c0e22ab5f13db5ae4eb6650b5776cf8e GIT binary patch literal 4194820 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

&)WO137}p z=Rd2vd7cbTTeN?9Q6{Z4VzmF1t+&gootZx?G5>bvlmwRmCm_N;C|uYRWo)NJ>)-{J zUgU(!@RO&PkB(Q6m$$dk7Bq=nVe>S%IXgHDi8ato8mYBPJV{xk7G7M_UqnxdW+0gFD3(oX6Tec2NxuAzuBt(hegaSnLvU$ba6 z-FK0|MeZ7Z5P#O+GW>6I3%z&GhcrH(&+|FjMoL3NwSP!m=8MPl6leaRdgz^1Y;k@g zl$OCCQXLAfF1BeVO8IjyLucLgAb-{wEp_oPd#Y-Q|s~?Wj=mHz3^M4@;It%{uWAV+P<}$od*m=`c%KI`ra|?rS8cPWD-OP9cew3ZT-uh zfclN@I`;R_-;1=yFc;tDQ^_!r-x^bFhx=Ae{0$#mDEy;h=pP_Cvec7Su_-9cizMA6 z3ah>8a(P{Ry4q1pVZ@DvWs-YZ-_59In#t|Gq+@)rd@wO1(kStDKtr_XE^W(O?oBg} z%dEop8il+ssyfQIvS@^K&n;%|06ogd5*|O0$aRTqD%|7^AA8TXhozqe^A}W~^wg;>i+tKXsEl zk1iq%w)JHaOcl~cjkYZAXS?(tRtVF4`Pw3y;~VS0M(glN$H2{=K^I{?^X3wbbr!!7 zel2yK0!xHN9=Eg;g@aL%!fJ(s_B%5gf!TXAe`msFtyk*DJgOe{Y4%#aaeqi;tk=c) z>FK+N;uz-WIJK`-f>nv5ng-Q)176QQ<%#m2^he~^8V~T07-=Pc@hp&q{6g1mH0>#? z{Ew2ZA31uH><(yNwwCP-5ksL@N%PSj2c^dlh7qUxc^B0Yo?!nU%kj?Ql>J7_#S_`jVW)N^lT;l z;nZ?%6st_`pEf6?r~YE-vccwlH-7|G3v(_f=4b-I`9XhAo%zrT9zm-sQ zC|0f6d+9FR6IG;(Y+9l?b%xh3rZ1VkpqxK9H!M&cjn)xYf`*A4M)}?bH=E_nz4fd( zqci=cY};~NnX9eLkcPhWT?hEC;?KrzmMk?Km&KB$1ncPEjGH2+hmc zg!!1PL5;G?96bykJ=ymLySMor6#N*ns;bTyhkVG@!q?<3!+2ls)Es8g?*5x3SZ1fq z{5x%*Wm{L)u|d=pE+Dx3t;Tdv=gH)WB9g_++M^caVh5Z?wFd^_FUMX4Ty3VEvsonC zG@9P9zZph9Nj~bbOGc(;l2UFBk!<|DNm%#XzGJ0cP&a+@{-Lw)gR>{r;o4b!yBO?2 zOjLbkAwf)(j-qmHrw5)~Ib;|LJRRFu?UuZu`Pn8+^X z-DV!5^Xsv{e=m>X=C~>uY6&RLMtwX)@3}oukxebxr_pm<&>`(o`iMuP z-{9x&SQm#dbM`^Lg3aX|-@;>FaXz6r(CuU66Mrl#;=}`20F;#WOir!}4l2 zEHEhv%ef;tEAI+bQAdIwQF`~ueJU5KWS?yz8sZ;`idJTR{Yxp@BU*O-zf#sTmD~6| z>dKact3^sse66~k7mXY zv_FFNqH9rx_RMFEw_v%meRPd@+JBZ_&gv!2@qO}wLmz!o1@z2+9+zKczLtDR?RFBK zivDU8JTu1DBQh$6t*))5q0hQX%a8gE(}{bVIjy<0XV;1sgGy+DQ99l8&jQ}>hpS%7 zyu-Pw(l&&pL>3(1oCMl_C%lct(YUtv`WF{ZP4v#*$9^f#T~y~j`)>lO&dZM;$Jwmv z4}Wg?K5Gn5#Npt_QhB*k^wmzNR{OF{eLC6h0YBcc`Rp@g(_0hmP;K|*rTM*R7UPg! z9hthUT_l}(vt{MSSbi=S=?02(lhLIRj3594AOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAn<=9K#Givu9M{MHIkZO7se<4*CAhRWU;Z7 zggN|u)|S-*k%r;eWXenCF$x7-RjcB2^s#HK zm$}8qJeqbE>0m?JeX^Xs=avcnvvWaaf^{-U*6$BdgQ$iFj$M88OOE#9xtSc;_LP6+ zOL?VCO)Y94@E?bNFtlXX#g4vQD#A@KsrS&_rt2L-GSQ;V7Hu@fwRr1MA(&-Ov#UC2 z$&9Thf36^|xvlV-EseNz%l(B=m}PO8NPlQST{kO*>1NJTTOB5y^EmRx);I~5&VgjH z`ttp6ey7LaI;VvFOsrn1uldJQbum(IsWc%@Ru^KTnSKL{t#q}BaKm~5uG`*}lq-~x+M9Il0LOoM{1oS#`#qI%F>HUw_eHY%xI$OY5>6Uk zu#hzB4eu?erk%f+TuEouh;QT6cbxNhC;pO5h(C*K@pe#}d~M8D|q)kM+*_t!H5+4Yz=B&hr^5&BnGTPpPe z{sczhhYZpiH(MU9Iy6bF*|x{#zul?+`19*X`F=|4{ zU!l3#9v0IbdrLJ@>o9FeTfCR9qBLk-*y4>v%}VVhmlLRIUG1;3$#arbAl1${5*NU~ zYM79_JUBsCyct_=$lbjriCo@4C}wTZ=b=u6d4H^1q2qPHpxlq7v%4RUzzbUg23Sl)BgaLF6Jq(q1Ye zc*Qe##k{vI$YFv*>@#tM$@E%KHA`(wu&if?iVSjk`1bvbFoWLW_1IN4#N9f)S2k}q zD*oWIbxjgE3SJB#7A_5&M*GLE&z|Pp z88!bJ9!{#Vo8vIu*YAxUnfU0hzLlObNJ`2d_m#nW=ie~OGq*jBg7i0`gcd{J{-zLQ zg+HIRrf_@orpC=H*@L9Dz>Xd>PG&bUK@f5MvDdn=5b3?m^~$XYyj$`(gmN*yy@7Ao zgG--`gfpHqdsON4ESbH|Q~QH9oif)h|4aSXr~SQURZLOw+SgMr)$VhRvHe0dFs{d_ zlREW@M-a4+8t<(;o$k2q_95h;BmH7u=Vo(NiU!U#17;Ye$GanoBcm)H!|+GWm$cu6pq()=rFn)u2kv5G*Ho{ZV4hbDTq(*Gv9k5OZe;&M17{yTWa0RHu^WR_+@erNnP*dvgqGpPt!P^??%2j&NO=Qwz~KeIoSaQ zMu;^#NAH8)mw$vx_C)w!D>Q%Xv>xnYBY60E$phK@i!e^8eH+r6 zDh9?^#j$9`{1J{#;{^6YP6j1nMyjHul^2dvwn3Y=EZ=9|Er-vM=)_v~iJE+TqdAUh z?vk$0XtbNDi&;3)+ww_XlKRP}Y1pRi-}1C)UEE0(t;dwMmwc{o7Y*ctF}Z(ad$8b2 zS_QnaIyApSo}4!%ZE~k1dQqX%6iL=3e9Pol>DT^YnC+Y@U zc*|~;YS~Pcr%QXKTpH)hg6?M?cNy8uIF$wY$0(Vo;x|9=m|j1s*Qiop$}+Q}_&THY zTA9&m_oq+l)WEJBPC)=tc)`N@Kd}zOS>spN`m0!*`3)*8Z&SRv<1yV6KdJ}djEJy( z*>@~@w&&?%K(jmN5=AGZ_EkO>P2ppttu#(+)+@u37wyEGNU!1$q}5=SmveU>hfnlje-_@v9ktwrjbO3llA7n{o} zPd&b3UaFR$I*q>CWLiP$hx-3b7s8_;00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JODf{ct1fP{eHi;Vm$ysxCh`XqeTyiLm!H*Ebi zbFOjXXa4VHnBmtsS6P^}>s5qvk}je3T;lU4EAprD2^j@J0D%$V0RpX^mDFNR!1C+Fo;$SnGLD-Y(nQM2t2U<2??nY>zX)Cni6_ZDD zQEE^>ZV=%D+r9zO(=jo3eElrjRnuhCUfy(pR}M2Qgl!*DY7?yuYw8@PocworNvw$r z+h!x&rzs2EQMFLx9}ox0aiK--y74X)dthl_eu%YQ!r%Np=}0}Dz=bxvWsekftC36W zq}hx+cTlvbpru*i>h?K$snS_T)k4m{s_>wlQr2o8f!3T{Q~@pSz@q+okD^h6tsO0T zO$FsTh=nDfO8(oX|JalHyX0mw}@?P|T9vpB7se9lNWmlTV^ z3KOS2ROiyl(#**TIb->XDul!@I5CdQ2$_qRK1`A}ZhTfHOwJN^_cDGTon2b6=1h!V z9IMF3xYrzdsbQR#T+BN<98tCAc{!b3GbT`cU;BPFp=)y2R!5{(!Y7Jpi82)<&h$g0 zaSeBTW3tedgYK6DKTULm9ThsBB{^>mw~=@tt)1haHTb6a_EWvm)Nn)S;u5<%yOo$& zKh-|4G$<|1dr=fM@L=KzLsYkxS7sQQ{322DqDi!PyrQy`ioa>5_D75dPbJ1yzRo9% zAD#YtBZbdz`kfr(+Le9a{PLVWI+Q`dsdqwwP>b3K#S*de$6lA?S%Jv5r9xYQi0Jd( zBbEGZ{9p=f!A6{Oy<`1Z$r4Rc^s~*%qXqObgh6X$i3_Pq&1KP~Xu?f_RzZLID6y#g z+e#tSNwapeOOrOldv6KDc7Lm)R7k50FS>_DVW4)T#$ESfuSo8V$l~5nKSR@Wr_s{4 zHM_2-;j4Mu*7D&wwaThNxv_H(qEM=`q5yJx#oM#ntv76j4>4C;f2hqwzg>$7&pYbZ zN?)J7&WJnoKXCfi-ua&HpzmXmJ(t~}5Le`Fl&M|Lc9tfA8NT5h5y%27kqCYnkW0 zM9FlbJ`Tmj33U=BrO>UyPA%#8a(_8#{@XX*eA&{9TM- z_{?mYi!_#`QZ3&|%aB@RhGUu*)j$j8A;Q{BIHGd z=GYgcA-8AQglxiYq@Nu7{U52ed`Ijy6e5&mF=;$6q_S0a=38EBX>OxReH2`3ad9-rG}1>HJT--xZ$f3JZnr;gXuWe(q1%(Z((mW6&bsav3x6I!#Si zZM(aO^-4$WUJKG{;$lnktE2fbAc@n zCF&L1Kw2x`{Xyer&c=zxXQqm0m-l;PmWs-YO2}k0#C*!18v}i|UW=H7&3KBh2llnnT# z>V=y7u)k2qxYq0j-AVN^@;Xxn**t@jlR#fz)CXqu@Vj^T;va>!I*|Rk`rfWZ7P4k* zuJF%19Mbs_uz=I4Sv}k-mnsu;(Zt2~u3lEa;8Wy>mRzG5T=R#*3PN=1R(%M#|H|H- zr1#R>)+(!RTk@W??X7g#JuyfdM*pp7m?^{W!=-qcWS(uyt-1X^sfsj9 zsGb!;FC(67`gIX~iO4O3cW;sa|KX6?6R%)x`kv9U6|}-&>4u>3)@#HiE4tUy(KO48 z=L1qrUH`_fSyA;3xpDqt*GH2+;v&^0S&x1YPd^_x>@fRPVU33(kH|_}ey>93BgxMS zh5YR2>Vk9@RATEE5)n^Ii&FD@avhRASS%3Adc}UUPRoT+2W|HoQ20c;`rI?1N?N}* zC2PTPJ!YuuaY2@F6REO!VKsX@ayX%U;98Mg%^pUS!DPH)g3zbsrL3W_ib+0Elu)%H z6qU+bT4J4B;9By#I+BjlWle`^o=hrv3QvC+p8G$RG1QLWj^eF zQ&K@SvmshQE?^Rfs6g7YO7^~{&2DcaRW zYFao?PD6b^^>lHNGE_dCQZ)&)$AcmUi`$%WhVnNhizk;R`bKf`!tB6b%cWWhuD~(g zmu;7n$c}mtj3594AOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAn<=9K#Givt`oNYWALGZEk={CyUuvaJ2lRZM~yr&eqn0sriSyh9ue=u zIrdq-6(k;Bh_QSxlbAosINUBkbW(gU?~Z1#t^aK(;p<$VCF8?K13kt9d8C89D{^cH zty|^}G_83O7G~M{@66xNs_WynBrmb0?WBL2E12%kV%2L%%&mj~?YI_l}5Pu-=DL{w0$i9@Uez zk(KY;tNny?n%6C{>za3Y?f4pl;x*inu|)UY9-lL+OITBWV8ZUi3HF|qyT*Kn5+%13 zusOY&bAvNvH*Q;+>7_*PhqLlAMQg|-9lw+Qwu34yjZ!skzNVj^CB#tTeB<-&?TDvF z*Qkfhp=BgWR5gE4=SqV>6K(4B%HN!yWU5)3nSsu%%65W2N%`NNj(!*{rt@cCa=J@UF0Uq! zJ;tlk8F2hyjz%aaa{eMlo_cxZ5ck1EVWFo+QkRd`c%IGW-@q!T1I-jebhNE(;`%kU z%-rL;3)6N#b>}{!$-mAWf|q;qjU6tmJ4dsj$F5(SG!}IZsVnH^l5o=hN$yrC(0p7H zr3iRN?X@Y$e=D=EzO$5!Ls-mJhMdk(^b+$pAdd=1f^AJz@UQ>hJ01Fd@*h=NzjKJu z$mMFUKec|Rz4sw=w>_lX_~F$-6F&*24O2?uo5iV9!ZanZ?E8)11Zag@&*w6VQ%Ju> zawNOa&;6RxJw&PfzB4#NK~z40gZOFXF-87S=*BqZ-d4_i(MrSOm(w$HMd-B{L1(3r z`mt(UPSfU!sMU*@B`4;Vx)yhsi_Sq=@8;M9pA(*U>)2C}o{HO@1z%sOn$riCKMU$e zMdB!5EQ!*nKe+KF4*a=B9^O(AWlryq{`=#@$Ko4QMT%mAB5&CC&A#yVlwMEJmv9UB z9_02GCayXd4hBW%bcHhVxyy~nCu42DqO$sv8rOIJ>O?nCfw8Yv7d^OWBB2}2)oC{D zEWJk;Q%C(EZlljjDfhh%NxW+SW=mg1nDvW)2nD3;Bsn)Rc1eo!1%$Dq=s#26-~R1E zjpv_}S$t?{=|h)$EABWML!E{A%C3xtPSz}Wc+V|EYL+VC!;gwj4967*w%Xf@E;uu2 z3J&I+?8cMtB2ET1NCy6o)ztky7i%D8^M!MZ!k z!}1)5SBvC*VGY+hY3Q=WF=}A(BkWnBia?3o$L2ng-|#R+!+v$pYaHojX1$FF*6esr z71=cKg@I6kuDGeay`1CXmuJF`BOY@EOVNWk6ahl%$bBh`Z`~PlS@J*EsM_KUtahtw z2INjMj9r{9T{Gn$m3)t?y->O^En4ATZ7Qem&PhBV>2-_5vXLRC(cK(~SD6>1*!FFD zj61I%y)@{uFV;Hr{!rIHYvd+HW`1^zPD}o@4JyD_Nt7u6$DOJ;i%k{ zMw{&352Omll}4lfOlDt#-_wUE8E%!5vrBh8HZnlRN0GC2-E63hTES@QWE(N=OI;~; z(B%{&8`Q%^c}ztn_ELHDB?nQ(?QQKcZ=O>77B6mTmv&&PpJzzW+%GW(Br9DLP=k-=vWk(z%i>;emYBF-^y&jk5;!863f|6Q;^};ys zKQXiPAdT=o4uKnRV~3 zXu{0ju0{)n`|*u`>d#(&ceQ!nsQTikHzir7MAStE8IBxH=rW4@uKIOnVWZrAW!Zth z?`|=1I~|JY8=m!(@)ULy7nQoaHO+wRuq_q(E>JClStaK@5lQ!bX^XmEx^*=$CHX3FB_^3|;G z|C8+q-@kK1$Gho7PIwR#%$t0Gu)<}_$~kZ zTqkStbkOMkwI2TWewykwr>pnG(+MZ!tgchnAjko9?41p4H9+j2u3 zq*qxdUl|_=$_l+cUbmVo}l23mNz*57uW-whzvq&Xd@n@WkQoc>KJX5t_Ci#SZ4bMP2*0mC9e!V%^mH z^({|kbfP^X{yD3Uvw#LamymgDuwpuvVH`6}c`DPnbCY-C;ty7X&}TfDZkqLWJ({Rw zrOEkTnY}|}YD1n4QJs0yT^sXPVL@*M&EqpM=6X}k>M^XI`aY_us+tW@$EdvHSigMC zCoZgDemzg;W%5$~AA${~$>SCb@1c)GNiVk;Hp7jaGkQLU_uyrvX7LeX+&2ttd3Bk$ zFFe?!@=#GA!@unCv!_NL7rmrReoK0KroA2pzIw{3Q?a8$o(r{-K*7f#i$z@GkKw5# zH6kb_E}3S>HWGW`Z>E)=ugBE1x6H*H+*UcfXm2W)_OHM>!`**PT7i=rFDBaGCfWFS zs^FW1zlx-Y4v{)r`uD?Gp7}uq?3lkwtsrN_pTRd|Gk?1rbK1;S`nP&`5HyC+y#m-?l+G@Q<5RZTF36dh=e|NYMI1rGKQ4jPbx4 zWQb;pxU3{1rm%ySpZMXV`n62~db&>}AH!GTMojjZ z!_OAvkG2AE;?3|8JUoPAm^`dFI#j0>L+VT4*Y|a=N?p6DycWZCwZvZj#gM(DQ1sT) znjoNK$3#GD$Z(Ksgbc}lEM2+qRnO>+59OT#$r2l1N+L443;Ne%3}HOfR}buM^Y5)& zDW~@`@}Fmq+$xzQI9pD~kd}`}P%i|N*=A>S{=_9?-h2MjOfX-$GVuP-DI*S{i%gat z95en_R;f>R{Sykgd?`cXCkzRtt_xGx=@uH8F=8R@%563CsL#(EPWs253|1D z`SR~ZkH#?tJ~UBM$(L==$$9IiIS|53`us|9p7q3o^d%R@SeJmf=+2gMp~JfeLt7*2 z>P9IaWRP%kTde7e3>(p(AZeTuT%{5OeYJnZ zvqG5HMx^HH1s|w_T@YG`>gw)^C7~?Q;l&I8#zJ{}^4;F)RI`>*bl`W)#zCAhF_t~X z*NmAbm(??pBwus1sP3dMTq+TzgsYY~<72tBPR<61B#$SemmZDK6owg)Kjyk>?N^EC z3B`|7JBiVi)hC)8xRlVv|L)!Kiu$~PcNbCo&+zmVKB8NRzSvgoNM$O%s)WL1dzu21 zP{eC4T_(K;0R?YJ_>aC+Op!VB6Y67{X*a~||DL}VAyo3Th~16MJk(B+x1{=Zq=#+=oY^ZKel_vB$_jU1vhOro?^)4&D&gE(X`iGk7`!Uvz6}Z~I@@8Ub$1{5Iq>lq zyC*7YWGs;K@z^9rtDoRod1@0W))2IZ?LFAe+L;WO&r@S6I#E654Sq11OB5F={d2$g z(rLdvTTi99%khNS@LYl^x?-43^IykJrb|Z=5?hwuYy#D6^U5JE;yOjp=Kj znvC}GRDU^g)}QQ7_wd8*ei=S*YPr#rKw~YBv3wN4mE0h0B-`IXKG{L>V1}pQPr-ok zYnL~@xO&4V+zR@x4~CKgDs8JuznJ%7^6W?4XWM?qNA5H6FTlquJPUMl9q0Y1fFdOsw(GxVKNxZcq4X?nC8!+8)^JeB$`MT zwa`c;g347I_I?}NycvAM8BT2|aY_yGN<;d+G(S=03d~l|>6{XlTk5k-Fs1Z#^zPiU=e&i19jtUj3Q*!*aHb@eoje$*+(d>6V3Hv4;HX&aoAw`OceZc7rVP)8oH#VD zc8p~dY5!s$V1KqluIktyUEUr=sR>hsFo!DY_=DBP?T2dXO4=jy7HL|=?&czW?# z3=_$^P{}xRw@XfpIW|{O;%*<(TR$50pV-c;Mx!~YZ%X(luWaP-4n>xtL=}$)`yI>H z_n|d5;lq+oERVkYlZwwqy6!reRz=^I6iy*$ZTFGpdU(kjgq{&3mGbq~$FBTQ36@~; znRmY)O#hnqG^;g>_5Emc;6-?m7Sf^HfAtu*E}o%Y!VDFMZLnOszY;mU+B)aiH~rhc ze_kIPkjBI z=kIroe(x=c!k32Pb0!%pq?4XFQ?Z2UNYT`CJ|}8n(NsD7mLPd1gkdDR1f$qLiIJ0^ zhb0R0sg^F0_FviaaeiFHA()e|D(@e(UlS$ws}j%WL_~XK#vCk(O|@}F9r4kdx@y^fks$ixM&P(Mv;1|K#GY_g%Tx=;#&QKA4$H`1LVB}gdJ-5}j5B8_x6O1DaxSl2Xzks5D56bT{1p zJ?_51IkVr)&KwW`0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI z5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X z009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH z0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI z5CDPy8v!z8WDE`5Vz#Z8b!_`-t|u(-kqy`lU7V~RlQy(JL8NtCVdFbx8;R9k!|_w~ z>)F(wCRb5vf607|(dT%QIJfkTV9%6d>|)GPx0Ba3nS^W)%cs&Jk!ksn=l#zw@cjtF z%!vBKqA3lz`iKo>{I`3@^shfQ* zAoO)HOZkhYiVdblhg*5(Nz1Uklq&*t9>3aEzNL!~jv_6G0{x*f%^NYMyFxuVRE&@! zMXmg#AC^WNf1Z5m_3yUtya)?B|0(F2uyUJ!#xZwhn_>Lv_04|IR>57>I{xmwL}=im zhNyV8j{Mo(OGY^D6`*U zmDzk9r~F-UcoK!buWIm$iqh`OGfevqEQ!j@DxPO=^C;zQbCDl;FPPG*KV-cgCNOn* zkh=8{>(PT*-@mV&(Qx9-I!}Xy-R{%<#S5X{u`cO0ybwIZ7{R1+m~HVl^g=`kRiX_$ zW>O_R8?0RI%vh7B@yg%vEhlfnbu+OS@lZ+9vtr&)%yOoYdthjDHC*}@XNrmo<42LO z#Th^UEL7@iE# z*8A`rY}|w#;D0Rn)RTHUojHVnbjoYcq_t#&S+TI76lo?z_C?@3Ri0+~iY%qq{RN4# zZ-#vNtof^7yxx~iFrD<0ceSTzef#?Ebtmmm>Z|@*tWU=>&!qL_pJ3)1v}#gveQPoB zufDRtpmHVWX%oNrDEOl-z52!au0HiEMwQs4Ea4mvr@?sXH)*6F5#zFN_f%U6=j;ws z2aV?+4jQ&ZNEE*KoMucNtXi8S_D^%ow2!Yw=55YrrGwiIYn}>~f4aNbZ?`gdGTr3m zUu#IA%=cpqt>(@9Q#ffp3^abt>B^}yjP*`c`)dP{i|B=7;CYe0f!J>xvQYo)K5ZmHKU8)vAq8CK!WbQzd3lj`(+-;wp95?n$qZLxcaYq-+5S`VY0Zg1x&j z`>5d3jL`+J5C{LylUFm|+!l=_!eVRJy($jg~># zF1PhAoK5X}5l`6+=_G%+IXTJNWzE)zn2KRpN`_w{=~jm8Kf`+UQ%Nm;{<^!KN{1Bt z8%7`*%4dxHI@a`U+zE8ybvM~nWQGxhXe*9Ac9|l9zGYAKew9z#(oMoswDTU8$v2)@ z(Qmnza!9|Wo=D51ay+?ktK#1eUP50+On!+mx{G5@^6HAQi%f>|uunTv4!7~84Au`b z6E3GriSndxdf_)(Xw_jR+qEW^~SL(e+6-Ut^ema?%0p|VIa&3SH&9&=&@ z-uo0nt-6)>_XS3MVyF7`Gs!z=Hnja5AFk1tDbX#tZFOiVuO>qrj^pJI-;VY0K9)G- zOJXJG+~l_@Y2IWnto(QN>x**&nk4x@epBlA^4iS7epmJ_34dlSZ=bI+dE}@Xl=UPn z*Lprk^A*_ogk(H;6ZUH|m+>Tb(r{_K#~?ZNG)eX*^|d$zGPx)xUhQveB)u zyn!DOrpURibWkFGjpP|~PTzTX*@u^Bvn6;Vi6{Q_`jJ{1LN_tRN3M@k)QcvbBS@y) zXrB;Q2T4elZK+RM9{M6lNZLpHg>G05l6%}AaxBF(ef;vNrfqZa_=*V1Ezkn31EUW!%ek^W7L9el6)L zep)(Ds6?tBS-YP#@ksX3{V2xp9p^7s>G&<$`ujYTh zvN=n*Ue=a4l94CCE1Rriqj`!eKRj|@Aam*!_R9#}-D^#blTW+`(t{s>Ew5dEqx5|^Eq5o#iN~iAW zIMw~cL-L5iF;RRia)qK0gY_0ZlMQTc9<@uk^%NmW#>~#sOF1mp^ou{^QK-1}H0g4g zTTzcDYXrUu{^=I9srlotobKP)rx7+wr%w2DWYt7toxWu_`sX?kD)CCIpt(p~7)=B# z);p&+v({muO!1f>f}apP89j*+`^X-)@!va7Ma-t+`AH2@M8BxoL_Bw)x|;dGzH~h6 z)ACmNR&Y2$z(M%)v*?6}O=(WDAv(C>g)MG+NZ$r+D(ZWL9dDRlpQMT->EdO4^MCAE zeEJaA_bQkF6MVVD)F?`cTepBe_m=Ssi8KJ$}^DZ1jZ zP~M>AXxz0^Yd-zas>tFT#xx&Wt`b_H85X)D5=n>|ZJU)iiHBv={znk6?ZjkAZi`pZ zypN%w=ZNO)=jHQui}{+|SHhwQg(>^(Vw1Oe4K0r3x1oV|iP=}X<}BU^4!irB|2Ml3 z4g~=a009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X z009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH z0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI z5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X z009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH z0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI z5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X z00B~DWCUL%1O!iH$M+U`IegMnT{~U__unpnumWW+%gj zsM1ebI7uHhKa!~`#*8YIcg_@S=jQY}oRj#!dPGDrWMqs&(RYdM-+fG5%i|J61&d9Z z5VqbWpzD9|GRhQrnQ6=_p%_AVx2=&%J8JjpWzb{126Z>p*w?xP`FvO|MFPPZ9>0sP z-rtl=a;aiRMtMXNztd)9Jt)at$M!J0`d%q@|B8=|?8Q!!7n(%1fkD%s$U zr+kPqEPy%@e7QsEg~)9MET z?^IRgKYqvRBrfnw;Zl`-@zmB(zs8*42U2ZDa^LEfy6?nV)aRZj99OKt*1;4a+oB^4 z*>o3KN%}wMenp}hnkX^Key?wM74YUwrrqOD{u}R~?I{f3@vy}>eT*QTph_ud-C4B% z@^m#`Cr@Q_&^$8lf$BTCQP)}TCX6`A=Qou-IM$u5Y~3$be?=%3S>U(JVNTY``(z}F z{q+ls-S_hqOzXx$>?x2v$68-%>P)Z3MSCV{Ucj*+J2BmFt$@(4s~yK%lxeqDif1N8 zLB01WzzC0neY%#a-cfTtMTrHM9@j;|*C6TMG=XAPlr&+d6ZXXTh^EJnd%1;Fg8ZaT zy@`|Rv0k~VsQ+naK5!GIL6lQu&WKQ`N#u2|jqLCi&6K;DiWO%MO412OmpdR% zi6otxV+^W`IZCUJekntt$<~vf9%k2mdB4C3APjUGFpqADsPgT>UL>lNv5UEkr8!P_^4dOXTUm#pVN% z#P9hDr%z6|<`;(%s|8StS3UAO6%aPNxmjIijg?-w>ScGTowP z>{Gh39666?8O79c8Pb*Ccz384FyZgNl`(A9nO=6@!mOs`N0#8gL|r2B+k{og+$KZ2 z&Z+O=XSe-e`qkXC>w)fRb0h{$0&!s>i6G-LFJxbLq`dGV(V_79QYhJYD0O!dgW!lsk{{Wq#3fOdJ>YUZu@bUa+1n_8^4>MZ8yh+$iBz zzfIJ8W9l85^-%uBHAla}399Kx!DM=t_oR!*>3~N9o!^HBbib6KVNL+r)3t0$(<;=MNKA7m~F3zRA!8?wRxY882B)p)Ow3%e|t>w0z>?9Q?Zx z1FifIp?bbX*vkw@QrG)TKj{W?FLbXSU`yDF+TjQkD{G>&u~xr^0Rm!h$Sw5u<$tk!6YN zQ4*B{)BGyt)K;3+_jb|a5wP*2eb0Wk$>{5NTxOM7$3j6P(oBr zr%q2jo;}J$e72=m1w|w@!1}v!p`si&7Ip@QKc}MYp@b(AQcdx(TU`aaJjBY&cdj-!^*n1 zu<0vbc0kj<8^o4e?}uX=$89c_-2w@Df2P>+ z^HhU!qPJyL2uc_GCnECv$D5lhdvf8dt|dBbG?-{wZ=~(85^#;GPE3V`hxhaaw?po; zSrAhgT|Oizdh;4(^c8m7J0awC$wkk?8EPKXF16n(cy-H%H6QVuMnw=0M_RQ|G9z!r zi&fBz>dqze5klE8%AcIQ&r`2cb%}iL9WDK;rN1lS!iT{I5`D$>#tjS0T%zR=Kj{jmH(lta!netBbY*&3eDB|*e-xn{rah#xOS$m zVz^5j!B!?;tR9K!L>JZ(%{k3lNeX3SfMmLXW#aL4kN3cbpS^#_8!vrE`V!7%+AYv= zBvr)YN%FdG_ttP(IDChr%4${FG3*_PSE)`%NL3bha^ghi`Z?I92~kibX5`rSe6oz4 z-EdxxM5^dT&EE6$_??!OB`wYV8{y{dv&%Xu@&obqqI%RYgp^Gfj3594AOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAn<=9K!%Krp|OJ` zi1PJ(QcC29dX{licja&E2lpsQc!j2@*~$FLS2zc@pXMRFBHV0dtGkEhNVAM3#DIF; zRlG2>N^>a|nIkAw>R9LO>&vJgn{zK>?}6}9+nPVMk(!3#b^r4kjNvFFB;<5|29i3K z-!>1@u|2D)KDg$d;L8ewI1<^l;qy2m$3*@|TjG>uSn*0HoSVmJlMa<>nTiSocv^%`CH0Td?o4yhp zuGwh2S^PoO{gI*fdu29-GEsDa|DwQG>K`4wWujk_z?qtWuV>__2W$VCCfilSkb}vG zziG0&c;>-Nv}1Q4Y3lQ=#V}0jo%9Pck{U2+`wjlYEBi2OqccYeOXMdBD40>BeCupo z-&Wdc_Oa;<;tE2>U$40!@tDW9)6MQt%|=+LXjhFB!o!pdcwBNzlHFPsePnm{+7A6o&)xee(;72VDWDm#ub_Qefv>{GNO?c=IB4-(wvmPeWEdE z^VgN^z9SW4!O%xmL_e!omy#cLe0(WS`JOcEuo{k{)w!xE&HiYT%caLS>q}j=zca0< zb*bht8y<`1l9LHphoQI6XCZd54 za{=C6tli#P>I!P%We@j^&D zUC>C{<>LHfj^6vjRD}nb-wd8UMe$EXZMfo)HR3)cU8b^4dC;JHf~;KCTEODtDt&6s zBU^EwZL3URPGax_Npx!lcb{cR;#&o$`w?-dD}si%$fPP??2>QNgM4bu*Dq5AtGqR5 ziY%^%OFx%jrq_I!DHn_%`(i^`ko)x-S@4YlUa#;9!Ij%@k=)hs6cTT##*iaY+1uP! z2`&8(X>KIrEplp`>^q(vjjM!h*;q1F%5P?d`@sNmZm0_hkPzkRh@Vupi-cXx^a+4z`c(tKcl%n+wmQ z_K3H45-}BQ&TP~ccJDk!8DTdwq@Q_Z&Ri{p%s82Dx51FSfN-1i?k-vF=|x^Q@2!cL zY$>15Fw479Z`aqtnr_7i>c#b4q^-ZBZY-~T$LktvOS|A!hFv^QO<>ml-2qpH2^quV>q)YG4Bn~D z<&x?XwjZpt7VMFyjgxiu@k;~*Q}s6w$W5M4^gqISQcA{mB}&)o*j6a6+t{IP*{Q8z zYseP!&!Corj9)*cgB+mM;LnfvcKRtc@p{pfR`mx2ygRd0` zM`PoTN0n6~y{YX5!DrOjtnv)9^=dDUak%4xwMa4y@$~bbbEMhX3{P+;WYM}kC%q=> zV+$gfMUv;KV10M- z%Y@N-%Sfqfg`WhD>T$-bw-6DKus?Eb+i(`E(0z6)LY6A9q!TI~H^J*{{;JLR4B^?E zsQbNhEDnga1NPi?HMGiqG2@#ai>lZ^XLyFz%oXYNUFL?_hR)!qqHboLBc!Oh_YW(H;GJEbSyF ztd1ho=ieX=G_rnQFZ-3s#kan0MfIIt!M*HQN-m{myMH<{AZO)Q0|HOrdkh)Z?G%a& zUEJtjj<%*rlR7JGUbV%^L)BRf9v~EpRyh`v7o-9zxXS=#->dYg>(dbrsuBnU59VwUUQj8{43ma!&X*zA(Cl-s8;_j#n+dG&ujIvSQe@^7blSvG@Irqui#?a$M+U`IegMnT{~U__unp#Ov;q}TSJbsikdZM8UC46$HD~1eSjzwWJCG`5qZVN43$+cj^NzLjdP1_F zjYqaXBsab;`Gg~KUj7NQosYGnVwOna1B2m*M}_;CdND$A$&xoNEh8l{7BU&GgXD_i zlHc@S)^)Gn3M*ljNI8fnWl_*7lqkKDzZdOS`ZJu@`+M;F2Lb~Bv^TOfGjFw(ba+BV z-pSH7NON}Fa+E8X8WfvGK_wikNH%%HTX28_P zecE51d8I!W%*7*m7S`3y{1%%xnKT5H@vr5bXn7-Sq=(K2C9{UyMjC$W` zoi=IlkLe#z@z8(%On-6Z{g}&|;)Rt(vUBy0Tk{XKfyh7LZj+p)KhSLXD&~;Q5CF%PU|JAzSToY}KO#0cGq|ZN`H6(fD zgWi$c-?bg9NzbtmZ3PU|MrF$CA2`kkbS37=$7KzWISP8*n^GFk#S>iblC}7o7Zd$^ zPcRUbu{Avhl_&ZW^`giJJLLe9o|^SeviDC#1ER28kq;E!_3Y7KT-krmBOT+2N&npH z+^fG`U{~Pk%g=TFF2SRmIO)&s6A^0%4ILAqUU`ex<$(k=wq3);A8-s>%(yv<-Ut7| z82;Sx*hPi*JFESfR4SdYT%w`r56ut4*AWiXTKL8sJunEd`sp=c&$nHNc#Ap8ZtC-nSNQrh>q3}LBVuqZ6 z`3B?Aor*}nu94eU>AxNf_sKfDjee^PNigM5V4NwYp> zAH7s1w3>QkrXn}(&C;19dw`kvO=J15$V86vX;>;eY6XaMt8O!xj|JUx88ZB&(qGQxf}KVXdYFsGe$9 zKGRNAFOc+p-G*IN^CQNNLwta8CXbcT^XabIfNz}-*>@v!on(Zb3DFJjNfT3MM0_VZ ztqIu`c#JUDIl@U~>96gyp7h7Adfb z%=7QH-IZuEro&%$9iP(VoSx-)QVpfKo*sjF`zIm@QH!PNEaOd;dq?uFLnCCT=gEnY z%;SoVU&%$eF+D7+oV=nw%nRO-RmpO>G!IJ2_;aE$p`bl|->pic>8``*JBnRuy(AU4 zkmxig&PK&N;P=pqlC`=@BwGJ0-D!;77&H9YJIkQDtFEO`$C%F7-kTWTXedx`gM^3Z z4HKvk?Sun*CJdx{Ne5!rN!72#DSuL;4p3(4E8DiF|9FlZV(G_TsDhv#cyg4aPE)nC ziR!dH^IOq~cQ-qaZs8N2%r?7$*bCGuLp0h>?h|%xCg+h`ex8-xQ<_%R=DDQ+qU5Hh zN$$R+hXw_liqrW|4M&YI##X@Fkh&0*4Y z`E&{*=Lza}Ll(tSvq?Ye1|>~7QKxwsFKQiiZ5@Pb}-wp5d=U01V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1paRX$dHjSG{%n&O@fs}10{a-m)1Wy z*|ITB-a)=8Jm}z9|E`ax!t9I4WDrVe^k-+px@21GOl}pwgW)QRC+Oc=G@ta#mp54P zHN6a`LVTNvV%2jA*(0Mp^FNr}<5k;&WD~J#`p4VXQ7fmlf3BvIr_iG*jYO|y25A>f zobH|IkYBL>_OsU`i1lG+*Jk)8i~R?eeLP!&YA9j3ZSS^aDO=XR|D!GH@hdY;lgEJ# ze@dTGH}Z&oV;hoxgh5TyaZI4nS!hC?K{%4ty{Ud3ICwg7aphXcb)hqa_9dQ@iF+j=)M|kop>5n zN*dbKt*0!T`9YV8z~d*om7ECWc5E23H^zpxr4d)4HPZs^FnlEjp zzPON`3D=z)mHtF8W;1wR*McN3hszz`dw8-nwR*j&sNZH1K-lr7)x&9s}nuKYq z@3WYlf|#$X&tK~e#4a>;v*LJ)q81{c<;OILGM5>mw?ui9TP02zK5`bYylWq=UnUW5 z!;1H5doIcHSbW7BGtAS~gk`kxWztSHw`b!f4R@o(5)T%>W??La-5jESvfwb9>r^_8 z+tebHo#et)9=-OC=!XjKh6uaRI`o$K^v>%`bY<#Yt&qYTF{kM|0|lF($l;c~hZ-Nn z^FJA8uapeaVLf50D2}JeM_+1Er&W*T`~47Wv%<~wR)SaBSK^htIIA-jXLUbDCw+&3 z`#f&r!S%z8mE`Biaq=64_%Xtf)Yq>r2OIl7`#-s{*jLo{c&sJ<@U`Hv+1885-?DaE zF6G_~G#_`eet!xk4aGFleEL&_#Yj4SxL(vM3nww1M`wKr_tIFNv`2BD^NMP1VUS3+ zsFe0*53l*LZ(gYH$lLeVCQoCxnxqNcbLltq5E)kuR#S*alUx{bB!P}RQA-oq=vf5{qAy1X@b?{g^jRINGrDdc$TjOSvIjx`eD@M z*p7PC?zn|VV7Z1TdL0kfWwSwjoUdTVb`gVcqNy6fPp#iJlcUJDc&KlS+HpOC#YQZ+ zIUaT3eg7Ph&B^;B5NA1+Q4KN6w>j^_GXsY}Q3Zlj+UKOky=P*r?l})K2vrNncpQCz_nD0D9J#NCD&H{BIk_hBFVBqF~6AQBA%%TxCAL@_&GNC)s<>?g;8}Bp{wmGm&R9)>EzXUf$2<$qo@m=*C6%py1m(b)ebDT=Idu70Hbh_9^qOt$;Y9Cn~O`(U1?W|LCwnpUof z@lNU8D{mCB-8zp@)C|A58V0Kx4uj>ZCxhSlTkG9JaX9h}&YkNnx|!IRbGb3=R21E0 z-wGO^)>qRt?QRcb=Q1YO#1rst*St0wm@&6_&ZI3R@!5JhV%O3k_RF&HVq4l0db#1$ zoo)GA>GF^?Y35?h&pw^D4Dq^yM>d6OjysNZ>TH6d)X|O=_ZFl@2IaKYw1YC3bK84x z>!d|YXvr4&UeybmOQ8QrsO!Nk$8S=}HZ2ms?$qR>>u&STb$=OTweQKjZQ)EIJ5eLR zLKk#68{>UBT9UA>E{IHRvLG@2*hh+?aHNtm+=E|e7mwl~;bYAWQ89P%xBXVy@)7%O zCB!NFcC7Xp+-VWw94B4s2;DeZM-mqSiw_>@?lZZy9Vx219bRUS1Y(nz-(EQ%ueX)B zrF&VW9(EFTpoVVJ6GXrCW!UlwO+z|*{g+?IXkv7cNay}|e&Z5LYg7GbPeY-}w8S#H zTkvj+24jvrvMxp?b7A*O@5Z*h=&<}Cgx43#9e?{#2J7Xp4yH%^=2rfVMDfWW3H+6Ls{x%m%795!uVf0DLn zn(!v58`&Lv6*o1_=bl?B5F=E@NSm-P|4oX;o)C-mhZe7@fzfz<**(7ZGF}VsMT#=V z9=|TXNh+5ojgAwo$uQa9#+Aq6NtnD}iQ2x#^ga5{bC5*8x2dadi*vSJAYHW}kB?Z-%Hn zYP)}0L%Y%TE^1q2bfvaOdMxgXI#qho!`5P*M+bJBE`bpnOby*S7JdWwT=(Pd=BxUY zzPk#%KF7tz6j!HB5o-PMFwxi2JK}V?dnBeA*}f46CU zF;J{OSrJjn)p^lYj4t19^O4?bGShJR3Spfn1?{y%-FDB{{ilDlSw5LPGxp-4C{!~g z`Y(qQfgJ$}83lm{ff0cQfu624#M8zVk!YmI(!x%rsJ`dx_c~c^eN%;nv1IFkFhb)0 z>JbsikdZM8*^F0zp+C^pou$wFhtCVK`F0R$)yseC1o!te;DzVIi zklz2@Tdm6D-~8)JG<8_ddhgC0a#A0DY+NH7>%B>g{-Z{3EZZr@&?EP8fsL!8SnAV2 zxkyA(B%7Li3< zhyw4eM24QC2?pVlO=8?p43yL}`tH-n6I~bdquUQ#}7=ik#-gj4zzhk zI9{O-CfZPA{GKb%jnz2x6TV?pK4X@!U!s3i+7&SN(p~&xI+ikC9C7pDV8Aw*UQdm2WPMDdg(K{*b2c5Yj-tie89H$*IsTNxz+|!IW)y;H$}OtV%qUb}q>6?H^p4pg2EV|Ol6xbZwh0MpNE5Qf{r-~?+Ded_Yi2_g5 z5Li#u3vFI6o`!2`%;O__BHRm4(>>}>G~?;&YTn48>}f~~uY4K8Bq3?stQAvFWSr#4 zMK$2L%N>BfPNB}coQ+#`;}j|rSIfVjYZ*n+z9*+1V4|IrH;6{XS1%FnTBOPzr$#8e zZ~ayq@6Cu%Pi4*@Sz(_X^A)azi7}qhCh;%4wD`_?h;Fy#g#vt`799EyV-`kqn<~!8 z&p!)#g?~GJ%QnM7p?k@uZvLLB!T3JeYt&Gdqj+4p!MUK9OrLDToaI_vFfRl9M5i!~ z5BkbQF2onog45E^PW>zmTVw+E1UM|K6TFWEZd8;=vIsepFWi4T_~0{jEN+Z+uToD+ zkhpQstIK>i>FteU0+)(M+37t8rPjZ1O@b!J(Yv$`4y2~_zUdy-WQ8v0jPreE2%1UQ zuF3sw9)4|`P<mv8)#19AdMYHNZ^u^JtFTaz`>bbjc0n$e-(^&8jZ zO*8e&cOBjVti^RZZiA?DMoARGCoGYbMQ;S$Tqx+!YixHX{-zwd8CdmUM_O*gG}%qD zAY|&3)kX&!-YjZ3>#(b-#R z^odXB7rXk=R^9j|(BO`f@I}AjonsHUiY3e%d z`#r~I+qtcKto~80obX?(EA!)BzIF`NACeKA0qRG$+(*&GD2a<>J`N-aJNUCqlr9@- z`;9pqcig9V#LQ1=-aMi;S+c4$d{|yGrTp+nP)ucrs$C{Ij4?#H**rAAZEgPaSGh1N z4g15ymD@`7@Cn+WgSuokgjRRk9f{olF+Q@Qr=R1GzxbT$B&uRfRIZsyi=A&Ne=Ys} zX+G|wxu1TP-?QV}Ocm<)W;dinP2W$8Ux~00qcQCF{wg4w99oE=FAg#8Zsf1;E010Pj) z&tvyd(fE(wTU+JZ`m-6xB{HFAPm>Aq%j0uSq`hVQ^0W5u*jZ-GtFfIi!OAc!{P!e> zEN}l!kqYaWblS~j^}C>Qb}!2~+uoWL1#mnz#BNP~j2KXMhDR`km{?5mQ`{WY-5I&_ z=c48Gwv$4*ml<6X{anQU=u@-C$A8qvrz+%K44H->Y?j^kQq~B)vN)l zn(k-hx8ui7CzB#EmCbRP8(=7|(NUaI`_mZ_irkSV!&GsC-~s z0p0rjElu>j*Ejqkv-5cEf(#Xh-h$1P6I7>!S)76120aGRmHuh6&nB)$rB`)-$r`+& zRlJvuZrByCZHL0~g2l^zW`K`D_idC>Z+-!KtlV~?MmZL_1oPAmmjjU#TGa;j`!!~l|I^mO4AnLwiDpU4VhJTsxZhtUG)HREM<*ELrZ1%7<9`70H zQya3pg2Kc(uKDNo4Jm!&k zmF+AQgR(fFh+TKSP4hl`npEG(N;lPq>zys-Gm{w)#eml>yFUsnkBTmFe?1Z zWhxzMT;FPRf$#JBn%^!SH_S@tM20zjRg0RW{N<0I8T3Y->BXe@@k{+mDYwH1QI6GN zgR#oiF5YTc35ytFDq_WHyr$Bs#;9EFYEM@66#vZ^xhnYu_4OW4=}BEYLv%%t#_tmN z^v9IEmvQEXFWhG?jgR(06B{}C@Qa*(5<;n!_~IeS1$S$?;-SSK%wm4XymHMfVN9LT zxZ2>UG>wfL$)Vh_6Sd*zH#2!$WA>Dy*>$M5pc21yGPRe^Wrf=?Gt<2v@jH&InjGew zZ-Uc(VYUy43vyplN^fRuo)mp*@C(a7ncw~U1IZKT!&Z|x!|&YR?zM|`Z|Ko{!}Fd{ z$w_In&i|~+)}q`d=CF9~9UM3;m9rwd+uaw)_TdEIIfKaM1?p>^FFQ=co@{(p$M2ng zaefla)OhoSd_69PcxA~bYHE)8j|Q6dqr>|)T7%6~thyX##$Jn2LE0j(Z;qc+i^OhI ztA^|a$^KW#^R?6r*GhQ`ouh&<9h&-Ood>uN0shFtN;!g&l<;XPk%Ts2D+bbvmkM4nPj40Ij@qF04D)f^pB#&&z@v?&AZ#I`t?vPHl7Dx zj=XuOs!6vHOzSy>zeTH~@^hhdrro6cwAsnDgm>fxe?q;KiCu-(hyNJP?%uRJ8qx#{ z`Rjex*{X7+d)RN6q;Y5xvPir&Qo{M`Fifo8`kTi)J7GL|Tlx=?ewD6h2)O7b6g0lL zB)E%ohpgCz`_u=YylEMFE~BwA4HxJa=?_q`kPfQ3S+q5l6uu3nV#$+tJdxuZ2x!Qk zy=b0lMQ5xyn&H;g&FyV3j3<+)=EQL`pVcAkmf!zAikfa`q-=LZ>3eppi9Sm-zUYU$ z^79i;Z0j<=d*;EhPP*!+#bVWt#`2iFvftPP3=K&1`L$~{rrX5i0l%Dh8nhZP%R)o` zv!#^(osRHCHhwk(PxdS3%Ef!5m@PY0Yisq^dna1bjro(baGr0jg(i>QZnjv_`?~&T zV3Dly)X=!d$xS#pPfba~#`c%?A1Az&Z%XF{MFphQ6}HW79x#q>g}o|Y-J48D zCn9+78(oCTRoGA zJe+9_rJQHsGzMs?U$UO*IYAJlBJp_uI*Y{$03HPt9b@VC9th6Q*8$*LQ z6rT1u)Y^4#wn*kWC~X3xc5SpOj3;Ys8rPx+6G*Rng^i&XmLTk)GcVAIZe2Rm{%Q}9T^v>$VkZyUBgJT|vQC`H=H%T>W`$Cp2UGeH~NoD>~k^#hY(XI36jjp;;Uo0G@dZgCU;XQrH{ zpYLt`mJ~5>bdI2sQW9%J-lFGd7Kx4%f*{95RPZlLt>;<@zjBSsGk$3ob zIAhf3_)*w9;zss7t%rO)rk0CEA|7^%M(-XE>icgLq^Y&Jh6v`QSgEl~{H!9ct`;datJV=j7)KnIrt$#NOcE9)DIKBK}_v4+19w z5;6*cAOaHtH3HrFcS7FekRdD6)NeTMyFN!cA}AVM{sx2%RT1&6WeUy@{#TEPNQR7z zQ5du=K7!};Jti*bWkLz=q(&Oa2hH0fyNRQhYYxt)i@4JboNwQnWIV^wemSPNBQ`}U z;Ks_C{0DDuh6M$8CnNh?%i-E-#Ij`GC$sdYXkUz99vHLY)^&Iou{3V`9T;E@zxw5} znpA(ePL?whz4uDZn{A5jZ+=Hk1it#cCc?9q-)>t%hy=QMrtlE7Qt2_Db4(ev)wJjF zJmX;d`fgf_7mfYfA*u`ab1GE#?zkQ$H46>Ht~}n+w5M8@-fxG`(M7oWsGL)zSi9UP zc{~wb$)wT7AVhWfa>>ZZlL*Ch=QnJ}eEV@<)N6{Zk&S}U~ct1`DhlPRM2BJvM;yOju#ySNPT2xW-?%B zjbGp8p473={TG*I$bV3KoQjISFu+E$EA?avte& z@O$~&)2F4NCPzErytTu;NLHKJ=^bx75bhVr{;;0ZSE2EMwf|^%B~@+gM-^==Mqb?U zf8_j`#!Tlop`KB$h%?k2-1s>!O_Gc4nwJfn8WAOWO({cqNfJc-_+N1OE_ivm48%Hq zVUT@AbK)s@C+DJR-C_7B=!UJ^GtT+E5xRJ&(udUMG`!{HcpOC868B;5x{ z>}t%zm*?WwrEIJyd)u|!UrQ>9D_-9;{^O0WOdB@Q{Qg}o=1nPSr{PMu(M>C{txIA(kKvE*L?@BO4-95Q~uOigO`+7dVNy<|>%YyQef zshUQQ!?XSnH6&*e~`T17}-?$!^4SRkP}KUTB>5>;C$+#D-&G$AgF%E=$B3h zWxWJ@p|6d6m|67^;|rDPl9dY6y>Vt2D^SZ0pK@qm(ykw0-P&grh<0ki@%jB{%nzU5YeXRIGusinq;}f&2H$_Wd z2oy8BQcJ3lavj-z>%jFeMv2W0nLb4{Cp+t(Al9vJ8!t<-fGaNB*Y@RyXT=u!?&t5Y z&v1V6F-9_vRQzSnE2dzh^p(4-dCmJs05!afVsm29RPgR7>9YIYxLapPzSnH{17Dc*wc3pM% z)y9`{x;z!N?OLar~jhFrUlYS4NDY- zDcFvlMC5;Ri?<4+mqZE9+bKLflON1~_D05_!65hbOY=Wz$xF_iK}4hB z`OVfImqb;^8R+Enf<6ZJuQ2CIV}$=3%+q4QD^_`Fe zx)tf~JZwX~8%?}B>L2Z?&*1X8^3RpNi{|D5KYQ>DPX}GSE6g(Af|K$4oZ_lvK2SpFNHj1*xG5);Weycwe%mzj6=`SSQ zhHTFY-)B?MU#izMeYO0XA&&4yYc|8%A~Io*R5^QJvRNr6`}D(4{2B!T%7BA~l-KUj zHNJx{JiY#NvHh>RSZLoTEY1A7+#cWd#oe#IW8z0vs1r7qx9<`~^b!!|OFiGVc*!Hl z(;2F3L^SL;TYVwAGdHd~5mn$%<1j(W6vV)qjhKpZ9p*Pg`)P~+E0#`eH}6I5 zEq(XC>yyU$uzr#W9*<8!MTp5!o}}A0X~OX)Gbg6Xf{hC6m51)*wUV^JDZ6euHG_4Z zS2U+M{3bR0b(rPWU++Ye401pA%_z|sHhjz3*GNhDn|Gn3B00V}s{6|OA%k?*SAOS7 z^`T0#|DGrj6|p)-zL((rE}V_#Hs7tQ(bj4$*sfP0bEEv^KuXx}a7cV1n-Obb;kA$Z zGvkrkfVYO3J~IYd7T@9reuZt7AnFL>txd6YDwR>qu$J{McYgoc3W|z@cu7GZ;R9}|R zIrl7~#@cAQA?Npr1G#22vA%uatc2OERvalqf_J}UvVTmO)~eQwoj9-hKf4a}=CWKa z#SAeI(*&kqi;ML1t10}mv)D1|VTR54^1kSq@h2~7A8o`eJ`9W@AmhvR{A9_uq@DSB z{z&WP^YptERgn*iWAlx*G3DX)MP({vk@v*y5=C+N9q_mvb4)*|DBMi@IA6fOH#1q#h=qSPFI%E`FF?;YnFJ~$!4p~ zLQ)^K>JEaxnVhxhzDvJzV~%%={dMa29T$N?N71n%_0Tk|;7MoBD1mESOJmR$k2xAU z$llfxAGRPHx{9?r)lwzRZJO=H z)O||(Gpp9TePrb4ZkofUh;(p)5>bNGLdRMChb+N`q8rir>8Pjzv(lMpQ@I>dxi->W z77wD)Kf~`IymRebvuWwXh7yHinYW{5pskw{qF}L}THX8P6_J67aPbUsauo@@mF2u#Zet2`OpL?OIk!8~O zci`r%Wcs{%&aFcV*^`&gB_l&FSBpbYx6P!H?rZqRthc`84f|y4UB;P&(!NYm_Rrf+ za2}uhzDLf#V|b#XT(L#NrIU|4&4%*xpCh|OryrwPay~6uAt$w+-biRDI;waHCJ#3g zxud6X6+u8|#%f6B18&3;7It&Yke@9mm~o9EN|FcGX};HZUXd~b_=DxBn?8Fd#+fWSKPA_~B_Ek}LUmk4xAkdD|W5({S@j7!88n$Gd{24DHeN z8ot-|HX9Fkwa;Q1(lkii_w8q&On!O$l(!0xKH{iqH!e8zLO%eR@6?yplN2fZ#5hVr z#LehO`45X_?7i0=z85?OD2mVY>!L|Wr8hn-liBL3&?2I$J}c|k*f?D(=$a9dnIm$; z(?>L^dN}S)i%W#sVsFrM`Z@uQF5#_XRO{rBu@__OQHSK z?#0=zVX0R9(MuiL(t&m{Bg{GN`=`CHUe8Nutcm=#DG@%mW;ZyB`&&V%6O>T3;yV;N zaBUz_g6Nw1uE6w>|5GHbI-)78a>_PK>z$;9iw;k%;|I$x4Xhm_$cYsHAZMbo$+KgX zb|_FvMoTJ$|B2(HFHH=u;pON>)q1$O!yiqUA%7cwKsoC5TVzN`IRyD#zRxDc6g8IQ z&T9OF_)PI~dNI~lv>W412Xc#qt0o1N)4A$BWJ^@Zv)P5_oPVxTbvCOnjmQf_e{Es0 zKU^lgm`*ZtWfC7%np{(0ZLjIJI^@aAI@2Z)U!q}VsAd<>U0SNM&S?#F(H&P?yJ2Q% z`5U#bkl2jcMDlA41$*&JSAr+PuN_Zi_lu>a?NHjzyzE-U3%;vINx}hT1Z}7vEmmew ze;*@Y#kWVWrw`L3pK*;du8RbwJQIIYa%;}lvSEf}C^Pd{S!?+CDNWcn^nLXD@t+m` ztXto%r}?W&@)N8BOcy3gF6H$8%@xR1iajBDxvfOdo}^uM7Rsw(olx{|?4~)O?DuO8 zs#DQ*D%zpy@LY&k7xTns;h<3;fBU2x*X}+j{^izRc9X~Em1U?WBb5WL|wzmNuKe-bOsUsd>Rd$QaqZ^i!g)d@g0tOYjl-3JkJwMh{jK%5wf_LwoAm&^(&EMj+Z5}e{k?-@-(Y;Xc2cGGLEi(0%W7^g6@?eB% z*0d`hbW6>dK;qWl~KttI-UF`8VL($=> zks9xH(p=eIZcl~}M`zxvs9)EU1$8~|6W4s_ZgUJK-_=$|AL{!*dUn+O>Dr`QIgEOR zt7ky{s1a4ha->So?0bIrs0Fp8_l9awLElhQnnc07q498sb`5}wwaFQ%idmMJSk-mUeRHvqjLZdzm< z!%>Rl%=IHn-Ha%$%SvR;7Yx+pta`-7;qXLnGXJX`qKHZv%ck_id5))CEvI>2HS#P6 zd3LOXWmavbIuaE@l4Jes9{L(r5{=|n^eh)-L_B>1W#mS`OKj78I63bg{DUWE2=|d3pRTs+uclZnmCmzj_27I zbdAc$v1r>-5`-cO(?kJH&FUP_l<6cY zUbtqj@ zjYatfJC7U5_7YJ&r)FVwY(6{>Q%s^6ABwM9%<^gVI;g`Bi+ptR`fb`P}}LXRdM*R`?qXPk}i<@4O{a2 z%~p%nB01GXrfBSvy#|FzM5TNs0{rZxKJ~?+>7kLx{MVzGi7x#*sHrM457JAGR*7Hy zQLP+#Vo4qu^+Nr<1Nmjy2v4wt`V@nf!7@Ty;B)(l$3?NMrL1l-uf3+k_-h5(t%wSkD%^Xd+p7%FAwAHDL z?+~_Lk=^+eH&?*}4)kmVgX!<}U$?VfC@dMi zi|RW$mLzmynh!qU`4xwQq}0raiW0b|jmhNfw$6>(@O2^S6m`aJ$rYPNcZ^w`*RbMM ziGB{(6hZsTsvXAKc+)m_PD88QryJdlWz4gV2P37}?j|D54iAyEo|bqJGqn~xBPtW5 z;@tkD@T1ye;X`uriHw2yNcrp2ACKNDMX=W!#q@*;Sh9=u`|Wef1&v^EjX3`#Jb3#P zVejfB%3dH>fs~mGlMPTt87EOIkm1bI%a29v$g=8#!s)-Csr|s@U zYBaf9^>xl^Mb#k*qHP}cOJUjIk?WL79;%YT2rurt!6v=5(Em)3mef%HSgOgjwD2Vb z7lsY%NJ%!(i-u}xhb1WeDwEF@KKDla64`a4OL|gUnPSJCzC(M;_Il*~1X4C~-ygYr zEh_`c`b?XJRLj#JKCg3CyX|om0w-))&lc_Zo;y-ZZ6M$aO=cZCDx%Jec09SE(in|C zvpif?##R=UzWw(gCOM$K&ZS;Qhd)n|5uI<*&x}BApWl9(hni7I@Lvy`+Fs_3U(8pZ zqUV8WTUfbE^b)B9x);&$m>-Bd(UlCd(6D*Zdo}_yZa4%rE#70U9d7V1eAA{R)s=5a zHI=I=i2vXafsm$rCcq{Y(0OBqv7B0G{*z@$WanV+%0A%kANs9E;cJYUsmagS7|i}S9E40ucElmxXZF)irsxY78za#&{fl?cj6aLGo)oF!%wf12WDi#jjy9F~ zSbIkDy?x!h>cjL~?%QUv!B2UN){N1nLGe!A3-+zn)&sw4%_marPfDvJ4jP5R()5=%`nu*)&Unm+P%|3p%vT<2 zJ`T=|TgB)3{AHrSSD$`F=8;&+b->`c`1~P-Wj01EHV0mc@k-mv;lOyI{fXrv1mjnO z3f~k(S`f+yv>5Zp#$tUp82xn$HZW?tV* z0UK7iUrmz_Oq0bV(9x+C#U79Sj@0LYC5Rd?-+@x z%Pr1d!gJN? z=}#ose~69b`g7&WU0vQhAEk~edy5!6G^%845uC_3>W)^zg!e!nDq$RE^WuEyv=efc4 zOK)x}E@Xc$SIm*Wp0}4oj9RkWsoX?30m$27!UBeZnN z=lXZ@95uy=kDs?wWzK$mRi3V}{IuMib$v0pHX2p*t!fclAeF;J*C}Gk13v7`WFJ~g)&$f;-mc?E6=@VZq`BNrrB2omJPyI=9MGXg80;US=_P0q zb*TIK_Md;QwuCUTro5o3i@R!`G1}d3Vxc}YQS#?Y=@d8lzN9!wBMD}|9JEcT4=X$q z{1z4WRE7?mYcc^duk+J%-#SVyYjXGUXJKVKI@M-+OEDy4-!#k|C>K|fZG4ij7?t0K{_US-*3y@9{69ky*FOD=I!RcaVlNEEazmxQ!g2TJj#DExK?*aE zFqyos3l!xNFAe`~C;U&MqWE)FjAa@Fisa))?CJW?nP?Nlu`6TuT&mA+Y*FQ1@$t+M zH^2R7bW7ruHlW1Dku6W4=Nxih{Gi>2@N#^0$6BxpJ-If;@7{@K$xp1TU6afFafpV^ zEy^O%Uir~2}Rkam1SCzOrK1;%yye>92i;3 zsv)y^xQ?#3Np|=J%x}Fj%tjbU^T|mb+nXz=610z}Uv?lMD4)elCgk+mj(6q3?scfR zH&cI3F8!XViL&L&8exxLaH#8}L*PY7%-!3m z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l;Qx&P z88R}4=0EM#k5S`|Sns4~mo<|fm}NwCl6H1}V)Tw3$p|3yKPBM4==yD@MiCLrgpPPN zws^R5Zi`s(#@%EulkNS{Lbcy@!~te#ME-JqbzV>0H??INPQE(Jezs1*p@}dBh8n4{ zn&`3m=c*^-znVGX=n&Ac;FIyshgO8gp7k&`bop7p7R3>qb$;=x1_k3kkXPogGUOmu=+lU!`WS7^fB8*}v@9=~ z;`Sq66onVdu$Ezo`*?T0fN{rTf4v2~0H=5aGhr?q6#6O}`E4wfeZnl2KgTuGn}s7Y z(*<(H*^ixWj)|;VSJ0!BQ{BRel}zP@%SCmA2E9n#veM7B|~5`g-CR%Z>koQ+8V&StUZb^#Pl4okw_2*%Sp;dv>c7hGKcU zDIQLT-letkFLU>`+tinNMQRcyzAIOI5_d$!Q>UU}`(5l?iyk$mT^)x%-I%mkwXGmw z<*7@4`4;iO*JtrNcK<$?1uPW1FFgM@_>YwB%{_nXU0>xZJtQH`zDm+wgBx>es=Y3R zxL-*~Qdy=_s*E=2n28m+k)Kv@PG|7Mm5jDpHw6$v99ElYUAn9?XMQ`{4r)rT@-njL zb|579|7(98rDIzfgF6;5Km2_?(OWAolt+a-COJ2Z8&lbJ^~IkXc6=ud7o}HOd3THY zyIB(-G8wm;@rwulqs<#nq`Bg5H`C%i+&@tm^R;}{bs=E(h^is3gG98S11;X#F-2t} zGu^!^%Wzk7PoAXdcR=gcX?ml?@HYkfVmpH7awBi_hp1~}>bx9dZhaB$n&@9}TKvKN z5|ywZg~=MEC9KS3AQGf>ZkcCAr2M4(jLal`^P!XYU@rRE#$8ErZ`5Dp=2-t$p0O4) z{EINMdo_K-uw@3E>xLwzbg6fV$xBUdaCZ$35B%TK5|3*1Y^APHJn&N1a~7esxSvM% zwCxvM;o>HEV}2^3uuU?Tcg<#)_t=PCe~C0gq|ucEfuHb8N0^e#>Nlpi7UCwMFRpBR zA0%1v(Nb(~3<`Qw_3lz4E~xq=GN?vY3<7v}Hi!ruqJH@83%ntnUv3Yt;AO5-wA`sg zq0=vTJg|paL07k9LN}q!x7N@48Sf$9WSr1kpYobzItq)sG2SdAQ6}Pr5_UB!Cz5ca z9t~@^rh3|Ox{7Hy8~sw5LWzCVyXY8kBGs{;vKe4tvNxgI1g@_MWjQ@Ufgdly@>xC znYH@@sdb3cs^|KAeX$TQTFiFu3N8eV11ht<@9my-Gs zLyY{Uyd4SGNUfS*gc-=I2lhxfRgENAA}~jUIvR?QZn@)TPl=FYYW&{wX%W~(WV?0A zg{O^FdB(8(%;AzW?r$)#DTxUEs!OLwL9ylOF7D*;)TZ10(PQZ|%ISR7NKSTgwYF}P zcO^dV997IqB!2?8q6l~v`*ioaoy`q-l>QFC{y{ydN0l6hyk5bblq@J$&VUqEIgfQ|go5AudfKJ6mKo zzMoyr>GV!9H{UrrJ{jY0DJSe6=)MlzNc_frJS}_CqHqyDGkq4BNqQ8^8>6x_#49Ht zCL6?jMcFOY8{ZPXjajcvX{uO}_tE})3(xa+cZh!7R<^j!*32lSUB}kcGmDI6*yx#& zw#A;!?-a5>hO+wL6A*J{6K>@G#^X(D(ZRVlpGVUy@ZLq#b(ow-;|w&`&aXr3=S(@KPKkTzQw6-+X{Tn(-#R;aLa34$JR(y z#TcI)e)8VG>3L+!>HpkkXEU}(Km&gyW*;nb~4ymZ# zc;HZR@!t%E5xSuZ=Ha_Wu{64GelZt*{maImyt3kC zSv4yBM3S`+&MO1n(g;>YkHlHZ%WqoHc}O%1uuwcW&un*1VX4NzF`8KHw4OfPqV%#g zQ=W8njGPB| zRl`cwTzM+p!tnh|f{8Po7pj~xLAcil*DDNLbLVY%tHbSA6E@WpEDt3ds54JU=zn|& z^}u@`HQK)Vn(q&_J2`XQTE=oa<`72P2u5LMX*KhgaZ?=G+n>%y0(%2-R&UD-s>Z2_ zp7yPb&d%F^err2{(bisi7^nWJ{B4Spt-$G`+j;WOIM&Zu)vZFp{wpMD>t zAB-V~&pVd3OBT@yZP@X=Ivpp*`_&~|Q*OFWOMvM?#4h?usK;B3v69b|Z@hAmB3UpJ zsVMog6B|pgXqM{k@}gpR!^|jS)6l?h%2db?y}hY8a{ZQ&sBC4*Vm_>dR|lt|hKhw0 zRRtfrTu6tOaCkYKQ>z5*L&wFXNrv#VuyvIdrHsh)eFzQwxcC3x{6ZKC0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaq{zq!K1c`% zp2*1j9)@Z^`4WjTf0GoR@K8Q9J&bGFYk$#S;r2R*nC{-2&LwK-bq|j(mTt^NWo6o% zk}45t56xFX!cRSZjmqPe;}icchX;WZ0SOreK@fonff|91&)m_cFHlxk7ljL>bb>?1 zg??fnrO^j>&I`-_gUIVA5B^t=h)9Nvj8S;S^THrPCk%n}!$xTvzTkEr0-cDyK$!+= zbIP$*!;`TGt(Ju9@^Qk_vHt!7%=38C0U84awdV%1zjfu$-XLEEA zT6wFKk<#aPNyZzgWZ>}GC4Tzqm$UMypMp@{C9UcR=`@MGWJWkp@bT58mC*k?rI zP;o=uO~LS8<7Fu)iP@j4O)pZhvy-QSle@)_9(~)(^X=OGu0>6J@?}Cw-ZraP@2-n2 z;@=CtQf7qi;Iv|%z0TuTZBOE|Dc4d-dMm;ZqES?X3GH#RS$KG#Q-tYkeO|xn{qxr1 z3gu_fm>5s1&rZv7r%1%7LXprg(=;YI(Z6Bpd%uJzv11tMOjMqWw_p-prYe*K7vKOK*;}I~)7|Iu9?LFlr+4UGA5S zMpc~I!Z4MboQo8)b5wCn>YrkS1gtc-Opg#4@%`6gFIRIZ94nb{u+4B(-8Z4;YqoBd z{wRp?OGR<@8CQ8Qw^0+#`}PNk0_l>G)N@5Y!TkczB6HL`J&A#N-S|FLlF`1co6JZ3&1SB&#f zs)vD{;Wh3c z^l_w*d=tNBFvm+HOd-#WWZrI$NMn=dM3XFRc_>EWp?LGoSN26c#da3u7G8f*Ilvml z5`Q9fz)2at7qf4}f})NPA+E({Ajg$LksK+m!MI%rluQ`$ZcA@)?&z7Nd)IrM;jSK=Q*Pe#|)XtZ~S)bCAx z!XtCKNfyEpg6ZvD$928pb%SBotvSMHI^WRL*w&NjN8BY zh|QN?z@J#kNt7_Kw9GFYna~q4pEoCd{pcSz1^w6e3+_$*n11Q#KS!3&e+SdNh;*Sh zE9%+1H;tz4Uudbrxj#as=f-m+oIRaX*J9Q${m*cO~uO55MMM%HCS3%U$zb> zo|v-uyp)8AXU*Yf9`j}Q7B3sI@p7xFC4sg#x#(|y!Y904pOnW*IRqpAZ}8cEPT$7Q z^2?c4b8e$pkCR|;`9#q4uHb(!^LgBQ`@yqxFl_YcPkYUY)V|4DZ-telE79KJF_j7}2F#BK)S5qVaB;E+Qf@ zdQbw1T;rQY&k3R4@Ik%(f+-Y#IiwOIL65mv#WI?R>~`&%#!Wh zai*zD@C_WS^xmI+rL|^Xko-X8>6@gB$JO1|nngY=uioqaJe3}8%GB9l(AvN?&k$9? zf2Ty&f0dyq)$Y+2;UdE5D%KyhR9!*xQj|>Ch5<7LE#>!*XKufQ+)XNmo8`C8%H>IhcZpU0yycT5>szYhG?}y8NZ0(LZZI3kPQ~F?@8~dekIXB<+xu6rHRX89 zk7q%yjNSf*$>XEgm9)eQWGo-OK-SdoafBuW9HI=Rtm%^in|b|hs=&)j`*J3;AVYVW z(eI{tJ>piQ2tkM6Qv#M-ec_eh7;ys zymlfPrNB`1n)Wj55j%%*Qu5fe*iZrAV@W1rHNw&;F<}a2j5l8L6bfcxee#=Gi`;Y- zOW`Z+$c-Ey44?e4luPLdKvf@A04sK{ebhS7J-UAzqUCLp!N?Q&i=f_>X?FL_JqJj|PdU`bSShldc&CpCM5niLx z$B_TA?0AMg&QwNlEvD5RJhElJp?3b~v@85`O09f<$;ofYS`MN2VR%Fg9vHpu@sNRQ?{GPVy$iB}Pl`k*IXE18MrO-ks5q)SUeS!5e z*F$Nhbhpu-kS-dHiahetJaJa096_QHdLaRnWF)fz#dP&ZG1?d9{1Ag>R^$680U zWSWA5;IN=D_MWg*T{=kkBHI5TTwPf(p$fL=sLEromJSC=Ox%LG0xho zfc}E*Q&;YJZ~73e^yPRZgM8nAGRriH2QS}b&h3fe`ekDCY_U!r4Xp&VR}~4(b@H@r z+8|tsG7`F@{eCkatvSYpVcPUcUB-k!skFrZFcIg zaQK?|Va$3X?h}dG_$KVZ&;D%H`QL}qdxK4d#@$ukN>cHT;>9gLl%5kN=N|fju@7l9g1iNr zx5>+4Ium2yY?D9DPVDdXc_szwRVU4~K>VkkY9`ck6VJF+%!8!M8>!K7XEc7h5eiP* zMuh|Sk{`9j=1_D2mppgiTY>7+jFN25vDK#cKuPh4Xr7SDNai5Wxw~AP~DR!|is7`n~ z#QF;&^W*)cQeV{m^He(?egCCeX1%ScSmCAB4%4i`Zu_B_LdGl6WR97ZJ4?)ny^duz zflc4<0|HN62A7D}`Bc;%1le_^2_NaUv#g|lVm275dikla?{46IbtPJ7^OJq=UIVhQ zSY(eRTK>U|v3$($x=Yu;q`t%!CZ+w({1EiKIJEZoVSTDZ`UDz5qgqOu5vo84j&|Gw zJLBhlN{)gIT77f63rmSy%2mquXz$XS6_KvbQBenmbbhE=o4GOmy^%@?uw@Q?NzV5Z zxkG_wJ8tu$+;%Zocw+HI$3T{PoC49t{2(zJ!zYDwUZgECiCCdCnLK9mI!$#66_!z~ z`=4DR#vzJEw{@l2griPBEZUCGum4U9v7PXLH*ZaEd=hJKr_x3ice$Qe)}I^b%J=PN zIi&l7r+5EfSUzR1KQ2m{8Ba%)Gsd=23kA+I1kO4f>#E!L#G&2dTuG^-N@AP(>Wf5y zLoVia6mj2Z=EIl+zr2dr3OcP!@Q}Jc3ilFAJef6E&#?~X!u*cckrLNLhwoR{%~r17 zwPSWHrhb>`ZMEj=`=|cl25U=8Kj$!dsLk5vXnJNeW@}Ut$+Zs@|EM}=F7NYWsRj^Q@z_to-XZr-pKsZ5hQhW0TX%0}3EK==Ffmz7b~IBaIb1{h?| z$C>}UGxL3Ul=kBMV8&}vYF450DV8jk`Nz}gf=)v&-mtx;SdW5ndg;(?=RP-VYF3*S z>>XA4px!TYO3JcndlPt~)eNfM2{++#LysRQ*X=TneB~t96S|o-i4Ues#fx3Ga!x$W z!udaT>uN0shFtH?51|UaQVD;IwNCZo zL?A&D->PuYu}*!!;HMgua6F~&WjFOB2ilKQ67v}g z4AHIJi*j%xGg_#Sp52QcsU+7KC)BOgsM#{NFft!l2?~795O$4hBBB?{ED4aC&<`AO zL=k7NN&c1b$7xh#pCQjEfzUH|IvJ7tOdt<6U18rYOkr_!^-}RF8u7)N%h0t8Ek?Wg zot#rLAt$dsFMk|yKApH|*gLL;qIgrQ&}Hg@tg$|mlrz4jThbK)D;yogrwD(QdMvyH zRozTlZfzvfSU(h#%iciZ~ zhE`2Uf!B*`AZ3e$%t!V2M<%u9MZ_t)$7@EcS$iya0cTyeRjE9W{L07&X4yB*DCols z^3RE+Ig!i|-y)CGylUfJrb@-jK%pc@P9ta3%~fQiC!1`DoGDFLNl~z|P$(vjQLsNL zts0_T<>DhbO8Gm3tU0>tmpxvuJk%4u=6?`%8Qkun)nZ{Qnx1S_-AwQPMSRlbhtI;P za{UVhb2b`lNfB#ZVip|!_*FtFg+rY=s`8}$hp|>TzLAIm)});!c@=20COONSt=RU{ zQn%@m&&2e%1uttPTW_{s7=>tFrn%=K_pj7m#NU06GZx-)JQaQONaJr`0sG`2P$}#Zquewg6`hhZ$IQ%VYgQt-}m;6;uKCSs;qMtzu$kntm-V1v8D8h9A%k)AjWRp z)`vu#gveDK?S$Kz{Y!{1M-7>cN`D$PUduQ%YL2p{OV__7vc{U(c_}gZj*a>-_jRLL zVuiPC75WK5I)gh2^%AT7^5sV~&FA7b?*IJdqF(T#=EHxU0Swa77S5 z`>e7`nJq7#Ll#wsC-LE7~lcB|*)aa_fX1%tgc%!<2@k*%8Rb2cv%5(g> ztx$&p8G`@ia3HWEAR#|M;6`9TphTc?+1zAkq7l`URJceMx$eWYtK}C;Ia}$LR#O zr1H<>o)bmxgyAQBXP_tWmsagKxy~H$4}YA#Hr`D-nW1Cv5`W1w@nC+U>bHDXt4+!$ zDi?B@yXrpW^>}|Tn#u6ke zXX)wmvtB~f_@CYNbB><9%z|3;Z;pyLNe=ayKiD`0-p9NoR^0V?;$Il@QheCXN$54} zmFBg0UU|%Y{s%|4sL;{K4!ri!v~#^W`Vg~2QJmB?O)DE-^(0}G){`~zvvgo6=aje#1~7k9RDr; zbBiFGJGMvX7DEbsQ*ih-Z422Y+3E-KgPDJKHeIPN?%%Qxh#cnDktXn}irr=Y_$etK zf8S7-@q~|lfnh_c*%K=JwTGz>zUSg6#gE^ zXDGngCn^2odeT}n!n-|3UEwKY8G zC!8*x(H%KF$S2_l$!dD$JF$|cnH}2_*Sfc}`WwHwd5F?QK6Ir0r9&6$e-x;7lX*HC ztu2m-5nnKG+8R-FtuG65`eH@ATL+r#sAmspptkSrzN!z`|)mR z>pK&iV4N&5%tEPFs_K^IMsrpRNe%rdg@Ude9POw1)XB^_V=4l+N1m^8HQ$Ps8ts|W zn|XX2-!|TqaL+xS-lqTlc8ga>sVv}jF z$Em9F2S@%wWr&gd(4!$&87oSH+@O#z)Te4@iDdm^;PQ<_0|iCc{arGS9<4ueCql?% zc}f+}$t-H)lNd~&;_dAK$0(JN=cf(H)aFD>yk-{1=7Q?`X#}KeoWySCh>NbxwXtSc zO5C`U{-=56^m+DU&+;F)NoIDT3_3sde04ayd@af7&HrXqM{rA}{NsmsJf9n}kn^~g zZzuJ3cu~||Tbd{h&Qo^|EW$(Old_(Gy&Ny zV^@kJ^i7Q@`waE(t;QE?Vyldi7&W1SYrzJ@dbpD6Y{+yW5<26Ex@9?Zb7zkg>MUMA zurxF+&hbsVkgO%C z$#_Kyv1zh^F6f#B|98E~-*^>gg>J9Yw`7TVQEqO$dd$xf=>hr{p-?`sm!!TyO|yygt5Ft(-JjzDdOYnP^v&ThyDf@>?i!QiQb~+f8lsDY zue;PMfo=CnXgo*!C_k9X_LwR|ElyNQI}?0eYVh;CH`ceLf~hQDlze{Q;E#`A>^$6y zZuEMwr%7$`%iLnU%xP!99QTY(fbxS^Mqzs^vd#A0mAINFsL!R(o`(!*Bud**Y_4BF z&8xr={JFsSm*7Yv|EKjg+%pC2>>I?|nM=`mqXa#}ZPmxkOB4Eh8;=*i-5*Fzo9iy# z>TfF1*iiKHHEirVV0HQ!^x=u9R%3nAL5-5t{PahQiatp2^P}L$^IY%#AT6J{=Snmg zllMu)t?~U#Unz)xp#F!HV(H4>Xji7|3?;oIq($E^VXYb)&Ro&tk$>`n%=@RofG$@RF|qFE#@b;_ePiuT+uII>b{|PP zhd*2VGB@wED0D**BOQ@GUyZKcSvxd2&h{CkNo|e%VGw$J_Ool!wk8^hFE0X1@U!~U z?b+s<@Nk5E#I8ecKgEiR8+Wqbmfdg|K>!3m00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l;Qx&P2{JOOh5=u|gaq2_z(LZk80PXxLDSUn zL6*Zx;-|RA1f0?M+Dm~Y0VdQPx3a0V5t}xTC(03p2bOW%-xrrU#4k5{iT$1bc*y-$ zNxdorho?906P=lhazy8i)1H3FV0;s$I-0HkmV4K7*OOBJp``Y+1=aY*ew!}0z{(t& zo&3kY%O87t&U|@kLFsOhT=yOC8^1vofm=t$LN0?*hD81_fdedx3IW~+m+vjO#UGqm1=<*nKf zt73-K_%o*zf6i#N?4QFwJi=bE(pepR;i2b`I+a?g!&+TCJ#B1di!ZO-Hy*;Oi^=FH zE#(e+|Ad4ho4BbgMV-yGjykGuZZFW|Z9kK4X;0MDllEWQ1@S_eqJ=xnQ+(dPp605q z6xCimUV6yR%&#hppE>X~%cUK`^KoURD0g+pl4kd40yR~Bg|dh1cFRsi^-W)HQ0Mck z^G{mWsh5TtzJ+y6zj*A`?CQR|%z5cg`yQ8bYx7T5CXmx%6&A6%7QS8-`Xyl8Nk1!$ zWzT@E_m@PC-z3lPZxB|El*z)HH#Zga>~zmc`d;)EuEM62Rsw|rfn^1|q=WVGhp__2*>Ixl}t3anL+De^9 zkP;icHYJJKG11r)REiS97)lc&rYt~vx4Ri0bbIqHP;&6T%5aHwO{>q8bpDmk&^J~2 zz;nsIaU%yQtE9qggckCw|jGkL6 z-mBuz2>ecC_VAC!P%WNurGI}cEl8Sy6l+Q9W03L5U4jl_C8C;k;F~cA6LsGcv>^Te z0#585(QJJCTibZ>Q3I-2oE>@0PA_=~Xjm;jGjvq6o&-|#7M9ojsmUQ0U{N`GV9NEH zedMk~r`M#OjM-1~#pE^>lkn!LsPw1zvGxwmOnWZ+qLkz{rZ?$$-cB8&f*PI8yj@3? z@*_qhj~1QHZQ0`(C5kzI-$XrTV58YB=O$mn5)a4Z2-{xCa+J~CZ%mGM=4BKkG2zpp zXq&(%Mv&RX!h2i#EV>edNQ(L>@|D_u&Z(3A2p;DwdrDhx+%)g?uoS3jBV^0n?bplIYeOF7h1s)&$ojQ)IhsBX}N@gu0u}Px(FLm+wsR#?4*$g3DgC zxmmh4_GIgsCE?6`d-LfHsx@UU-o@yCR9mGVix#QfNTc>Y&$0Bi@ptZ`5v`UR`tFzP zBHu&^?NIhs8baRGZ5h3>)B1v~Cqt)MbxmhDTt%9X*=q7`hC$ZiAvWs*cE{Lo$gtuz zi_DNeDcjdYZRH)l<*-?^aM&JZw;?)x`F*zQ#FwAA~ z7ovtl5c*(ceN z?Q-)YZr**l^c5wwv5Gn@Zr@$-pplt#ehc%cbU~`#M0w# z8J~_GvGmcUZX{fX+S#h)dahppwM?C}$`(%))8@ag%eg*|;u?Z-WBGno@2L$FRo^HW zSfla0mE3JnH@z8qF>|s|v3XIiKibRqddi!%5pA}fmBPj-Y{}}J>rFz|ZLOPL@naJM zYw4N(&xXr3c&_z{4SmH2sVE%wSvlg?nDG=U?_4M!NE~vUiBEqsk7PTh!|Kztax8sT ziE;Gz<+~uk!TyvsDgJL#=<0(nE}KG-(uiwLk315eVx*+Z?QJtTQNJ;$Q`E`rlKyK> z?ui=49drN4o%2FDxWxAD!9mGQNsAa$#CVFsDy{)fLVwrZ6|UN-sL#M!gRuSMT=NM^ z9%77@QlAra(euVXo$cp$L(%5`r9WXQN+Tu~bkaZb-XK(7^%efI26 z@qd3sOT!G$x-A?+9@WM-%QX>L{_xR#t8BzW$!td)A0kI1)9j6mLTLnGMH_n^SkxmHSq~u;~6D z5sYNHqI=h?~SftH~qe7uyYSkr8E3(P|Wmdm@7G?8MTqQk3Z zG8}pP3RZF6(59w2)bDAj{c!v^jPU76n^02b3;FDi{V(PJ{#`4_)tAGw=&)orObiIt zyx|euW&BTf%n@THgMaip?vKPnG{>)w8n-MPD{{mi6HpF(8Wc1sj!+^AaL_uqN76da zK3MbefvqCqe1^ z20Dr3P{EJlrd02ZX{n}{$0^=~F4r?17q}(f6|DA{)2Qe>_I;zZ?z( zRsMuXEH!^D<&1;A z5+&{26U7oKZ&r3HMHI50_mFLW^Go$QGsZVzmF;FxeBJvQLyeid{|Xl(9n>T$wBE0s z;Sh#@2-SW6qU>v5$?le=lp5%(BQ!4aNQ47M@DQiX%2F9TuP>rYVyYo}c0n z<*ijf)-Ij(crng9+NB98RxjzlI{A+2Iy7pI?cAH^jh~DjO%ptQRlI?mNI&ok-J6*M zUr^XTBvMK4w2F6ThAFn_;Sv*l`_Jv+JQGV!>z<@jwbqDh92&jC2OS&{9ZK2lqy|WN zgU13p%q^=vW#e^|IN|mGkhUIqFSMtZJ~m@W?CdnY%O8ndy4i}T%uSA!lN2G9h#Yn& zVlw(ufUb9xbrH#lK|qh+Zt;s3GjG)Bvd?tIJZyPn%C5FCQ%(;toh(d;X%MCQScA9L z-K(*;pepa&gpMg+o{GEzL@cb_x+yWQJr}W?T7zs;niK-DY*bAkuAFyEaebGeSLkuI- zrW#Z3%eL@puUyq2(fcKxajSbR8jnii`t@59)+t5p(>S7E%}WoPRdISOYtIS!%Ty}_URvzXBPPX3+JB6X{H&wKI__K)cQa-5 zb&>75N?XNoF7HRkLs#ceWm^BM=3-}H z!L2y#eD$jW=M2l{S$MkA~xykGFQ(R)4LFQ#?cS)b>2ZTtE5DDu_UOoo>i7TCUNq*~v-2^+%)xtis-Qr-Vp z$tW`PbM~1`6112uz9M*rTB&rP*Tpw5iII^~prLJbca_CV{_aJ1eb(#Mgh$ji^euj0 zFQzuu7zci?v650R>WZj&2~WhPYzg)R6IHOz^OScb%q0F{&9g*J60$vUL1`7`{<+RN z#6A2hWUX_=gE{7qu_K72{(<|I>H{S5Qs;LJFL)FA+i4_nSr1jqu6~3Ekv2zOf33B3 zc4XNUdSCMMvJLyyQ~>_J)xT9oOjX0j z*8~j0tQoSG(e?tP+rgOVe%n5tJ5CnnZn`o-r zI{3Y-vb!tcSBivJ{7Cy6V-f#Ed*yTgD-H{pcWO}=LHYPw@uqW2*beg}xBbbT3u0Ud z)bJ}EPkuNgZngV2 zFx(Ub-9#2WQKKPAw3O`^<4dH=xvKAG-J_>=dLUn1=wyqVrp1E0%*C1W`Wy0rEkb#_ zHAX4Nhw>R#zT>A7%>A`p?s(2*yji1m{>LpOsZ2XB(DA>>R}WnLnildwYj|PY8$}Q` zds(-FuScWUu$&SRXt&V6p~jY}L`uXoVe&f;m4S-egi`JS2DSqH6m-|?lEq= z{vQ-4^$RKLDTyq)Iz>VV{!ItR^>|c-cDc>3FBP#|+dF)rmlW}0R!-BFwzT(Io<#X~ zz9$ucS9MK}nEHOl+)9aZEO?+PYmew(*uAXa_MqQ^AAV>O_L$ut>C6txtB}Ca9$R9o zExg(Eny@yy15&H5Y=!xW`+p8$&+@w4D7ZJyz7n-BpCxqUKA0z^NLp&ll@RLL*SF0?sj~{ z=Jo#A#UnUk;mB9xtiz%oSvcXgb2V@95B^h@GBFA>eg0h;qJU_wkx6`B(@3<%`osISnK8jzc6&5V{%ySrXOBujl z^?m;k3;h}u7lE@||EcrUgHau)sD`5+oxn4MJgN1GMGgrqq$s}r9z$~xtf91EWifVY zVP~5mg%zwn`AMzMqn=Ej&c#>Ql%Tf1d2)e=oG#qla7h%(pVX? z!l!cW?-UL;htV;#Or4p_!n+^Kn7$SKmWFzpU!q6hgModehu1kw+44#+#*hi21Cb{y zfYw+&k*Z$o_(z1^lqENwekR90Lhm>ql7HQ9$;uznE^DfNkkPwlkjYJ2gSzUw z(AosAP8v6VV@9G{Wmr~T?zpjDPglCo=P!DyS279*Hb2ZAt>*L&SgU<-z*j=}pW2oy z>FZKUvyttO$c#z1hwFw21dp{sJ+6ub9GNd&ee%S+nuBH@e{Ilxa$kWf%%a6C!#4PX zllecpC_dkIWc6?@u1`*(Hk);^Sk(kkKNv`-%4eBuL;l%m$NtRh6Z6S0<6S6zIP$TN zEZ&}K!+4>I0_WOZsH?t)wnl`qs4!A0GPT^j>5LK8hh9`5>n(wUSWGQmc5{ZHAnCtD zm(m&*=bDkWfs)N&w?V`fB!3Fg7K~}30gh5DT&oaAeXO&acZ&RqJ@mVb>If<^>9}P* zy0WTwV_4#6>%Jlm@t>5CYdl?Bg1(j1_gMpXC5n{@rY4Q&F!qJ`tR%&u<8Qqf;F zGO#UfpEj#t^N1>v7hxXeIyaF%+Jn^X)*iHZ`x6Y+k@B8bM8k#!U`c$Qeps$X}#GcF3>AFo)oZilE*1tk8o4VvybEbxDC#K%? zRQ5rVm|Ob;#Rr<9T|WdxPqaTt41d>tU`oK*g~73ZKD~ELaodsA#&<8Su1|dopN+i} zs&g2=LCv~TlnRw=8qrR`EB>m>u6=ILEcTX9x~AY;Nt*nr;B`&ERocO;qb&S*$&`;W zw6g6{Io4TKO8*Gg$LWWguNr$;{u{&XPOhFK_vJ)Nb~C9W-S&N~Id~p{jh@odh+gUQ z47qlKvm|l!nscPz^H<4JVr6OW6l?z%f5;24Kh$}D);7%J*8hc5{;0NgSf5yyGN2RB zsFUO1r*U9;FoLA8pW|$2yDCEW=^Z(uaV5T#TRUz{B64t?wa4nMD&ah@Ms1s!w~>lD zRgBN3GY(x#X}HuFZcx370xEaDYGF=)deXOw2RleSgLw$&7+4qUx(5&=$r#T|@>g;bgW{Ye*c`?br z()V=A9_i6i+IM{7c1)+pJSHQ%iYMKZ@1s=<*eqJ=Spr>V@^r+6i9Xg0;{2%JVZ5bg zXL;JQ@XoXEo9g1w+LyH$wG7;ZlY_>jLRyM5+dy2Or@3R6eAh$O`rqzQMPKs`4F->o zhg4iy1q&+eTChsWb~*OVJVd}j`#6SY%k@WqfHsfEA-MNT+4q27pPC+ig#A(D(?FcSS#xfUV?MiZBS)Ff_gJ5!{Tu-YI`*J%(jtD#YmStt7$2|E ze-`gVTiErYlH3`KmA!P|PbGLGWx0l<+UM{0`R6C4R2us%iJ55xjyKw86kiF@x{Y7& z-S>2IU%mW2kXxDC)TBlxF@?RnompV#HOu_DMd)1lvhvQn+ycqv^qn7F`?b||0n2_q z=U>m0jzm#`pOPcrwq=%lK*F@wLdH@0iB`}t zbBDn%L8vdSQJ(rVh*@-!-h%~4d%8nm8$ExIh!$bzF7 zvo`yg?g2#&C$9sTbKE>ncZodqA{r3>?e>@Jv1{LkMx`t(Jv8!AVNj~tE=LqroF_Nq zVpw@#Boxl4F8M3)NsFyIjSNO#6q>uFW}&C(x1cZ)x#Sb`iGDVw%SgokdiYaIEuTzP z*b*O$1o%Ei;~XZai+yCp;JQFUPSBI!gK{)g?j9+`_J)}EECjD^FWZ*sZ#24K?RGeB zgBk~Gty~ke-qqqVo}k0~TtWvT9o7T%BwF(M=f5{g^Za0 z|IIIip&$SPAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAV7?ajNplcfZ&RZEFnjF>;BWMTyOB{9nJor{v(-JcZyF&NdE~YY3(4P{-IGv z%u#IQWQi|gX~GNE_h9~QJV$h%o^0c`9MGe76B0@AzZ?z(RsHS@(q^$=WIhOEI00JTdn`>xA8sM#+)Y zt`@MTOxBS z#t&JJnb)TmAnF+Q5jowPmkbjse6}{<`G@5yQEd`sy~DNJ_VF?6;a#C=7jn=G=7WFd zY;s%Z!kAeiYJYzt#VM}Pj1Ndgop)gEs&PIZ(Ti9r=8X+V@)F*Ey89aQ9>t_7#F;pf z$^XkorT2jjsoqcQa=%_)Sc^A<y%{RJ_>!4x`~b4pX9?>NDid3L$-VpN^~ zkm&G;kcpVh#d;C7s%{zdv7LZ{tSCQp--oC|zkB0o`)1Ps^&xEUrXNLs^oDIffuV3zHff| zr+DN(uB1#CFKhU5!`pv1FG|q0P(mHFdb$hg6nh7mm_Mwxi9a9gktQJdD>0e4>xGTf2CPDRhZ=YQB@@r<0t=DtUlle;Qi96fn!cRAIz8C^* zP8#V$o>9(k_nvg-=B(1a5HNbatR``G^y^$U8&f4pLmS|BTJ& zZE=%4vLhQ1(Q2z)LaZaTnQ8vA=yt60E9Ekob)hw3YVL=v&U2dF^IEHkgMXWiD=%W* zf3m8Y4&HvZ)f#usUY9DT_=HAV&302yUd2+$Tvp~XJKypo+VcHdV}^#7*jsMB!;U9I znRQzW5uR~Wx~ieaLaFKF+BC)Vd_UQ#w$}{zSf@07+?J7*tz?eA`t|Yrc^ZPAUMpMJ zTNC^G=58Ss`1m$7_|eAl8J-2TVvf0MRu(Bc z{jJFqmGx56L^snF$9tG{KX`P-P2b;QY@h0lOXyb8{h40TlQRVSkl&+akGrN_W}D^E zXrk8VEOURUiWsP4k6(=q;HOZ)C5+xK4iarGHbKef+ztkEI6eh$v;&35ElY~*zg z<<}gB(_eX~be0316lMb0!nlfhyFDf+|2oC78r>jKnc<3(dpt@MwpDzi_U-E#D(5Sg zt`0oqG{t+m-fQZc`lj2{Qhvl^_SL)u7d=>2KffFBL;S`HVQsX=EXI9@JK1X7;@X;YCW8bT|9Ey{4<^( zwQ(@_<$4X5QVX2)f7bseacZ1uwCy{#|8uFSqMmN?N4E$3m+JcO+!M)!^9KWtX$q4I9GPqq7@v3>g6mA1P7P0UDH3_3u!6l4#NKqa zF`jEgZ_6m-Ae=Pn(|1ysPkrk_yKK;#-n%RxXM34LDkF=Ny^bkde3H|kBxEFE;q_|w zqWzqzi;HljmxcANZQ)6G1M^dsFEiefKTA^@%S$h9)Xz-~sHOM0LXk7{e^7I4U*(Ki zyMO4CH@k9YpPUll+k0Hb_aJpmnVU#{U+nG0FQj={*Zt|=d{M{$CB@18WMkDKc)3e@ zGX3=TN6FOpdl#2?=0cd>+SCGG&T{L=8g@okQh%F2Vg$HUXH^XNRTkojlb*1aq}x60 zDba0X%wY6jihJ`Mbc;7Qbhq4gR?gt{uMe}Ve)Dm(|hI5a}>&EzkaEo4lM;V^;# z2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?x zfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=9 z00@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p z2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?x zfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=9 z00@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p z2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!O!< z8vznzWK@kaDLs>|-?EeCJ_?tL+ep?U#v1zlzv2^}5UNjP5?FeRyGea z49kyCl;3;SoS61>N%@I`IER3=mGz>R+~akkxbJ4;n({P191{e}KE3;j*k7RK{F~1$ z4rhD5UV-mA_vFR6OMJJzV5lZNp|N?&7eiczI#mbt@0y+G&tD=aR7UtOk*U0)Dl12S z7-We;)RT1e;co=a&c>)D@j?Z0?(QA{!Ws z^%BhKRn0R>`c0L8?l5}#HJLtzc16s;xil^pk49yY+GR;E`1u`Oa$$70J2O=wsb9DH z^ZbRm2SMY9IkFLb@N;go(`gwx%#IwrRC1UF*L^?ziui2v-_e zEf{Sj{&mK9uEjkX@ryAJLP(hZLLiVs9cePmu284+-nkUn1ygW3m$pQ`2hi9geITW0znlZx3Uk};JexqR`26ukPB*9-m z4W-xet+d0Mc2vYu#rtB`tyJglkx}*tuVL~aK(C$+ky$I!sD(d2o1iFZ?$`d3d^-hI zRH&)I)|vCBag(xXuY=gGV>POUV0&Rw0K>*z9g-o1R<^@!5$74j@X_xa*ZVe0LYjV! z;b*qU6VJKtG?FP;=OkbAgz0<`e?s*x(!OK3y2JKGkET)2Z_MWWB*vzpza&i#=ZQXo zl!LJa+J6NCN~Q7i=&{~XYd* zmf@>i7}H6AF0?=1!z(nH%iBTk&_$N;PZ;;lL1D_vZJAdCLu}|R{?y54U3GG;%gKpU zcyiQqzEQb|QZ8toVM^UZ{3a2MrD_-W|M62fswXLGz5Q-r#bnHV@+c5foeDj@d8kvM z9LCW?v!~*7s;cWUE-b_HAuPeY;iQLrBf!$+zfX#HYVs?);$x&v?CZ;+#dcT28B80f z=we3BM;9coZ;pSkBvKzrA2x5gE2XaTP(4PL5jnhl-o%xEajx0>@t*>(`ygw>LIoG| zg6y$xM??&HjAWVMcK)M--T1pB?!r0BR>u?j{wdae()=Saf0C5bsakIv_Gb*fG5szj zBY|opGugLZ3C7e>m(i!xG*sznRPm92O{L3Z$se5M5_SIxi@e5}4RN4j{WhiU!R`_F z**5%O)+zgkN9p@l5pGN&6VWen|6#-jv;V7fXKA7>=R&T<6bf{dc(A3PI@pO2yHDP$ zH$C;uN{~IC>fq{?apv={y|tOoah@l2QWauYN>UJ)*&412M7Y^{)*<&W>u_t7Opj&z z-IAXAgpq!Bm3TS$Au4wCB00%|ap1_anx}iSE6}uyJ?Yfd&w8K#yWNl4qpVquoY!^V z$PX`|}SO=FXzx~SbLa)Q$Sv{>q1ckhY){}`@?HfsX;eVLO z7+8)u(Ys5xiQmJmTi?(6H+|{*dhh#%t3-eO5s@N};)3V1wF8;>(`f4Y$_!6a?$R)A~zS0X?OnT#W`A|k4FpV-9lJZm~@`z zntYE7t{x~U#L`BOPNc&_!QW=Qk#M`^6goCd99BWDcaQE5$PSIUq&GQz_ibs*SH$~C zVSQ67%i+g%&rgv?IEO#eL~%FsCys(VV!NmkEU$f@(<83a`yza`6N}QOUy`aOPD)^P z{zu+h5yshtW`k9btX+wdAM{nSw$p$9`NaGyDRVCWJfZXlJ3&9ld>V#OY-KX@hyI*W zpZ}#aq3k%3L~FcU5S~#pu?;AcS1s2ICYkRXN^8!1b$~Py$-k9al+T-%Hmfz#I1r(O zE+!{Aphf9w*{?hGF-te#B7lcV!9R zK|*QjsqFAO-S=9;?|M0kquzH?z1lLYlImay6Ap|#8mTY;W1dbNl~g1#_yj3=co+L& zA7bo(I2ZWT$y{0jnd&C31k!i)Siv;Y9`C68Sx-h1na~hNeWqVkQsK%<1hR$-rTC{! z#@e~hA8Ap13(pDtX{;UhHrX_iQ2m}Kyn<_Y+!9@U z{jugO*dD()4LHQ^juSt0N(XRk=jn?Oh zLIPNyHG>w)-m@}~DZbLGru)$l>l!ca_tRWxze_3FQbYi>1J3cl79&OTtK$uwF`0>bt~G7(&;-* zLXw@26QlcJ8^%Aag8gFj<9%_~lSaxXGfmaA7-)vi7e1~b;bHwcP{ee}2|qd#7Re)X zUSkU9OiYlf^2sGkuuKywKVN61k~A>lAF#gpkC&Wb@xj->mDF24pCz#oKga1=dP(Hb zVkDz@72eY`+Vf4MGBJ7E(=)Q$@KahXDe(J)$zBA+s_WF(Q9QHT&(+1Z&z zM%k%kBr_wDk-c}wDrJPoR`LAa$8&Gs?sMP2?wH-FvTgo1sm|^v;v3{emh;*B$jkmP zQn0=f`@i{x7zzOhKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG|g5HT@<2N3~*D>3l|pAbX4=v!Cj z*2C1lj~rZhe#JJ-X5N z(1T$N4FA;=5;74JQ@nbw(UNcd^bH}QU9g6UbtQR&sOd@`A(MY%*?AJIr zeu`45Z&O%~>sZ;15(|y&2bnA3hdsV7ylI*`ViTXSs@*s!(q4UQiR967=X&+Y*>?hR zI;q^0$H*n_2h!Il*c#J%m@J+4KX|vtXzBGBs}UdD?7Of2-TgO&#qC>Pr7qqwbE>U+ z5YT+NGjK9zHu89LwS8LmvlKZwllc+hQe(?=&qI2|XrKLhHffi~Hb6olV`TP{lk`C6 zomep~vhU-SH1jEk@~Z}I*z9Q@9{ID&&|O5ha{s|vKI6$fPDzmURXSAV?>kf5{(O_4 zR9jDVGHb~%7fwW#ReB2EekrkA{AxZgQqVCzyVSziiJWL{l%=(Q!D-2`zS8-(lsqX6lPB{S4ioi-``XYjaj=AQ zk{(|xY8@pp=VCjP>Y7-;J6j(8;u7P12D;Y6-#13JX#xmh3X{8k$h&S*SbTCOlsrzNjg zzL;z0KHiM{(r~@0@UYs?9rv!y8^v);9MPM5!iO?tX!S3=SyKNXSZl%Lchd4YV}th- z;YJndKh%7EWaQd6d(_JYUlrFU4yWBvdE%|yx%_Yc{WFq^EK=@sG(U$JRl=JBJ<~&4 zjkAv=Y#RqWq4(bPxk%lYm~=GApo3DPjhn$(;X>~ye}{dEp$;=)Tg|=8x*VyM136{o zZo+TYpI)j_yE`sA8~N}(6QlI-z1c;Q{k9JVrru?=eOHy5{NeTErX<;^mXV*O<`QW% zlbLhRx`|Kf%z4q42?QTM5u1MD`T7`XshHP4e%=E0%NkU3>CBoN@9RQu2M{hFZDUuw z+R|Zie8f1J-b)}V^_A+c7oQ#k9uqID${DNl4ZB!)+A}udh->!at2}mXr9axo{^U2% z>;5tQ?mnyb^y344Z6X?qPa?Jg5zKzM_Ek48NJ?@_F8L^Y>CZns#v(Cv(SAZgD0X%9 zP&3W5NAqkI8 z2JPuiAtNi&NoSD(^9L0tmk8Uh!mInE zV<+yZFArSSDlj=gDU@q}u2A*H5x+}(MHY+w9E#qA`_1^ut#4NHwOx8|Q_5}NR^Le@ z$N4O@E%*6p6Qx?ks`bj%g!5a!eG7aeN&>0`w+4Mh+7hE(Ew9P`_LLTp^!`?OkGc7d z!p|#}HFDj|H}6Fz91`$vFF%=lM$6*Og?lzvdL-_s-KQaFOD{vWl1OX*o;1L*mu*&dn(TO(s`SU4E6`f z$!;|0Jc}w_U)+lPeIbWw)^wF!HE^-up-cSsx>>`vKShZ6*roKG@6%5fe>f~T%Et~G z=2!=L+B0gh6wJsT=d=&1vR^+>a_RQl^Do?r%;IkjpR`{}Vq{lgYON8SICS|2xMcOGqP{keUvP0C*3_}9}6 zg@^1~Q>-esMW5X<-Fs8*e?x|god3u^Gp*zMOAE}W1pP<%C9hwLDckpS&U?(@DXZPD z)8g97JBOQw?^gYZ3%~ugeq?Xg%et7{?W*C?;*R7>a`vvA2_u{3>c?8g?AgCv?wT8z zq<Ttf&C36>V&EM+bA=K~mUk=hOtK9yYASqk!Uw_o&^i@9U zdkVu}j)a7!+#)CsEOfrScYo$A$)w5wo>VPE%gvBus=meki`$m(4;%{qqMt3ZS?asBVuY8g_TTLjuFSwH_ErccX{FzP?vRiY?_Dnp1 z=0rki&mxpwKfO$vAE@g~^T9t|uTWhlNW@n7R%OiF-wAV7YzFM{byIOZyAE3pCzPE| zxl`{S^X%iMA#4~L71q-?@`)X<9MzLw3i;xZ5%-&|XNgE|##1ae z{!+RW(I(GQ(c2yQMMmjhD0{wd55-f)w2G~goHM7qPi1RQLnmf>At zX~viDZV_p+=LQ~j=1=B{^S0VhX!`25;ke(6!KS^gyC?AD*lOwU%Erexu?}%OF^xHL zZT=sBrcs_ddWv|SnLmgAVcDM4XTiW5Gt>{|6-hF^0~+O;-raTZefw0D>RC{(iSM~+ z>7hcZwQ{qB%pw65CdEtz%1aMOsV}p&ANs3*#=a}CzF*+i-z%DFQ(~4N6}0TtKZ&ZSf=GUa7Fa z3rCM!O}1?-s+`jbIc*_3eKK^*e2`N4fd`$)_Sfv5qh}PyOP?3$Nr=BMthl}#U71H) zL@^X*Mx;V9C(Ra@rsJRWT5~Ob)$L01hS21S*61awND*zig;R@$8a=sH?3SqHzxc{o=PuP8)#>ec8Cu+v|3bLu!BTbGBV9jFI)b$C zohq8c?VW}}+jQD%)&Ap$N$hDW<;#8v5Eq4$kJR%sePT8~c0%b$X4Xq-$JO%a36AOu z2d)&$7&1JM2|x5ofoh1~MOts<_W{x10CT!;&h&qi+dpzBar#ne{@5s7GT-xKkVyTW zl0%y-26dRV5 z9^Q*(lmGVFPx$Y_KP3q=i319rZUxsadR!!U;m>k-H^1zKrt#0|7_(;0GFfli z!4?N+8;RU?>GNWzI!sKm4&+NOdM*HE-IVsg05kSk=g&BEt* z*-CBAdPiPfQrAxEWuFhCX1gg59{1f|a!B@ZjgY6{NLc?NbomG)bt|8+>kI?s!UnB7 z(Sbl7i$9uzMTHkqdx&>lIq?6YCSx#|;+b($X;HHy`Sqan{w>*(!jfxdi8FGHRvztl zZ~V&9`geKqpZy`G2H9jY$yfeS;;D`w9t=L!ZH^3f2$H38C28K85}v*1*BpI$!0pu| z)sfdusmGL!RHvKsj(=wgda8EGBf-F)BC4sxoAqSiQv60Dr_J8H+Kxu5(%_G*xlqqzj7|H8<`@)I#3 z`atcd!s~iXPbQSzHe6_Nrt$^Ak z5lT(-UxPp6pGK6`Ko#Em);#zKF<`*WI=jDl9Kzi{~((O4_$G&wuz8@ zVW6E_Pgb7KMP5GfeO`}t+UC4EPv|XtPdMj5u%Fh0Q{?m=YqzF;XHD{rI_1|zE{YM1 zDLVH)`U*A6^U?+;igK73G6Ya8?B6J6weZNWUwO>kNxxmBE@QG%U{-o}g5k%Zn^L7N zMS|Tk<>1c^t-sk`@&+ ze6Oz)-^vgO$W4t2wHHsc=cQrsI>E%QJLyfpWz5!R@|#UYFTsOMERJ^d@bj9sJ9YCT zGGqKU5y|K2RHaiFT}pcQ9(V;!=GlB2sk7Nt_c?P>uPNzh5q*IrUwY5WYM-L8BW#?b zrT#O6#_qEwd>hfa`4cPB0rtincfSVDP4e%{IV;wdZBpds@9Kh;RSVPj)zp}pN5fL3bZ@TSrk_;d zVA>!pbXW`$a?|4&YmX%R#&i8Ud1B)IL8qbLKRfpH;uE76McN4xqzCJ?TJ#=Pk+2nW zwe)pM{+1Y9Dp|jDWPUX>EV)GG;GpkgK6POggKy?Tx9WB|VqRYI-_ft%^Fu=5Je_@kNxiFL8Y4I0inMq z*mS7nG_#V$>K0^Y*y$S1FHgL9#QO2do)d%W{XDIqr8mJRrCDEJl9o123=yFhvbcPD zuc3Wyl|-LYH*%hz^R^)6hp@~eAEouS6qk0UlCSDdlN#Et(nsd%s@;iSzB8z@cjNUo zYe4kVW4jcrc9iP1QIVc>RD;xs-_>)SZxFB+zY2}fFS;IdNoIYAwVF7ze`Wd6QgHuA zF4@*aqKSJsg+s(UA$Q3HtJ|bQvmykqxdq5ds>%LndD6mrbjrZ^;;iGwoNxejQ?6tcXrZsD5#N=T{bw&DB>CpAd&Q~RF-cJ;HJ>D`QzYTjW-Ma4uub zcjdC~u%<18WHLuT^d$le}9)x zXRNRx+5Iy+vtU_U`HByHTqqAC1?lAi2bF$x`+3^s;_(9Zbk?3Go<)LcA>V}LChZ)T z`Zf%EUBq%PPjDYhQK6aC zW-jpa6A`|6Ub|3;kt2AQ<8`e@-s02O-?uqVIKQL*n3%Zlr$TA+$@*-kbBSbh{=5I^ z6BG^(nm*nzcysrzS>Q`8mztp`Z8Po7AK51r6+LC>Rmro?+#qFZzuxsPx7%iZlSYQm z#3`zRnu3q#O!TLm?swrA$mKpcuO7b|Q^9gHuT3@1>LclsO=lTlFCxDs$`N+&`g&sWOn*sDRU@LvUALcJ6} zR=O+yQv9&_q`F}4wVI%ixA$?z;fQZl%|*n=-_yKr2yqJ$BXn2$t$cRJWB0>?Q}Ed% zovd?2S2D`BL-t3h78{K7Yo*>l`GuU@Gqj{i?sNP?!z-gF>$VqYI1>pA-ar0o8*zAL z&}Dg?zQo2<;OXj=+{E%k@vM~i0~6a5N9S(p9Hmc8k4qem*BN(=t+8k0KPB^j^9wN) z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fWRSQVge5$0s>cJ;-3d@1X@0tZ0Rmyr!KA)4{2<7UB!H z+18TiHFaIN39hwViR|xJ7|><9MVl{YF|7OI#8X~FqL93l%e1>KXW~UKeaNEpFlYTd zeNj{2zy0tG_wU0`EwqKHHFY0UpWOX)@81u#_r(z+<8*%eM-Fv_fBl+NL%(R5H5?WA zj)r|8bjc*`?`27?vusnHE`)Kv_=A!=4=OZgzu;18`Y{={H)okgO#Qs_%9ZE)994_V z)-TmXXL4A#CD=D>8p+2MWht~U+~N3X?fUk@YOXpdeH6*Ro=~YnDvW5`lv~NVC^|KB{Gr|D zu<>KOk#=C{HTgN_il?U8j}4zYZffrTt1mhCRsKa_%CY%62k*y9rjt8%&x*$S_+M!5 zIkbsRSo~%WDK^FOGJmZkNaYkGmonh_Sqoj`Y zM;C*4>eBq`x^A3!CLA#Lh`ot!bfP$Bj#euvf;#(M?+07SXM2C9j-NQie_->3q-jxM z{^G0mtKScOZTqtnZJ2n!%;bnxz_?WMxM}9`EkVov#I=ogQ~HIPgQR=`cM2WtE3R+n z7@TQ~&KCY|KlMI{%fIEx-+N-RHO#?A85gy_kSY0vofzI7_uvu#zlG5xW67WPksVlBU4d&H$t)xvzOYom!yrT?NF*I~U7%8e4WE+r!_ z!MqE~5=8l~G8~ka4Fa;u_3K1Zk4HZ_oHYyB)-4Qh+en#d_;NE>lkKYFl8v+VF?&L? zYLy(ON#%s)+vKW-558yHU3I>E^3~c=^B0NcOMPK*nM{(bpeDG9g=Q6dY+^efc# z7WaNlbDwAWJVVJ+ai>U3+A*sf?V=3N($v2FhXxL^vt8xmGV=aGef#ZkudB3V)Jn4CI;c9s=SL)Zo%`MwP9itvz8P^k>Jw_aHMMRD%?_)LjRaL z_frw4{jw;??hDLznk!^+?K{pCvie;0ey4T(?P2R!g5A~X`zn*yGy92N8s!r*ND*>} zOHX;^HCkyW&-hC0b-D8oP(B%Bzq{qem14ns?aIwvJrfU-O!k<@0EM5e9-G}XX75Yp z+{TsIeh(@0G;akO&;;^ool+w{N+z_ppr*KaQ(MHR&dWKWh^}QmEU){LvZ0>6b(Hqs zYx?2GI6LlL54<)eQ<^Qq@J6JQNTw??_r}G#^qxvU)qzaw?4RB5k9BjnT$<0gzfcw|ocW4)X-%5)(y`LxeBO2* zENsMvJ)~{y@%kFhX?0GM4JB8LM7U1BoO-ewDzrrN;XRqQ?rgBbq`Gw3!6$7)QR786 zRh-dj1jDM^4qqQu)SamEb0*5Ff7BO7QlIE^ULuK?iZUhQE%TZL^=Ffvac&tm%hRu$ z9(@dFxY^`SZ@jIc_oB+k=jz{=HjiS&XruTS*8RoHjAfmkD2=ta&u8!L<&@c7lXfz5 z{&X(polRK-?=D%d_G{7=vi%*ir!VNx6PCL3_I`K&e6&CW7RJ*l57kp9`^%w5g<#Fbm_e22pV zZ6@7F8@`?OvI`p?4=kb~Rtb!*6Y&VDYWz#gbK%?cs1(81lBk324=2c5!Y4oEZMCl! zN<3T}^GZ_bY1?0?Gj@J%t>^F=(|mLP>Z8KtVFNosBjh@sZxT~()&B?>zq@Wyz&g>C z6#G!b|KRmPk^5Akk4njx)mIcFceJvy`hJ=mJGI#p-PiRwefCX8_e|OG+tDWnHLd0J zcn`r#5?@srHTefvJdz06F^p{4ts?R%_V`9ad527BJ;GfZEH?idSq*}1fl#KxP~ zzCFmc-7J;IvJyBJURSR_|NTy=d|qkLM1Z1$ek6?y$;Brg|MvfFza1n#INiv6N9FjP z)`SahYV^dX9{HPncuVw2)z{%l?~NS!xKXaHMiI1F=AL_vb?QPA^@vVi!k`UrD{YPOC02tUaz*q3%<*$^b2QCU#T%P? z*F>gjs`Nr%MN`a%TuC+$O6ltV=aHDoEdHjrDwF&go$~O{R8`!k*HCD>Co?yHE+rW;R zufsCA{~hlM#S#O@kQg44t9-h)nWX&m!#zPjS+oTlk+Swj1o!_4A~`&!-K zM=U8>XUR_b`aJ54b<%tg+p#v`Kw0{@r`MrqNG+4KsN~|c*I%7;_v+2FzjYqe_7BUX z@TAm=m39&dEaitFuQ&HjTshkz2}VH#%`wT4*Gt5Qn}v=wCgS1 zZpc@>m8$m4r#Y%5dd|-9Vy1LMVbs@GcNUnG)IRO$_9ivG`jj3%+R7u|c*~zZDn(2& zVxFF!n@R4k3MuV-n+Fvme9bhof@&Fj@hQgFI92raeU`51U^IQ%(7N!q#jI?}Ww6O- zW2{-fqM1gp)GsFW6zvO_DE&WK`#UDyEr@#%9$Pyw^`S?H)9R~Dii3;62fF?r`P=l# z$r}yviloYp9tAy?md>4SvSrVI>5*~k-x>055~mGt`przH7_aVrGpuzC^}Eqju#+A3Tc=Nk35O;jpP0*2?7i_&7b;EW47j)xx@-*G*Te znS_*-b%}&KNcC`4*d4VVHEqY$E~eb%SaqF>Lm6vNh&DWZIvD6U!VWhWWz-$zei1`` zydmdHVW;3s2}>yyS=rmO@s((CtPjy!PW$PwbOSy4Zc(h%G7B*MvWC zeId(*-cg^5n}fHb?nH2Dz?56)4^AGo^eNH5UK{l%Qr@4xf4G-NpR+vj-clvS_8oSC zu|GwA#mpR}t)8nFrz_t zQrekQ3PT?VrFzS{6uR$^&01aSXe*}>>8^Ol82+@L;lshlFOz%Ebu930kZwpnVkxUr zKVEzI$;_8@#>@(d8CzykXT_}F6=drvC%i=;lgCxaGcCOOvS*b?r9L`&dbXaBQT>#{ z`D1VCc$Z9TayP89WYS*?281O&e}C@u&8L>Cuj`&r<)BD0Qm0zi?Vo}S3 zXOT7A&^t`^$(Lzro5QWc*QC^($S)sesvXz(AS|DC+Pd-S$;`8kQJ(Ul+)A=s{iZX; zM5>u8vL213)E7ti-uNpRs`Rhs3hFdoBMNr$m3*&L7o{lKU--l?oQbraQ#rHn<;S`& zYVH>}=J$xt+ijRh9#G~>^fb0f<)IAHXiq0w@G;)a?EC7T5VAE-Y)~ZDI-*s4r=}`T zGHX&YZ{)*m3w!pQ??qO=t>IzqKT{!ci<#3p z)9LKDi3dsj|8^(D<{ow%a>cket%y+{;(bW=GTt&*cJl$L;8i;o|E%hxFKpAp-l73 z-bkFd+J$4DoLn;^+0oCtBx@KgCUomso&EZCu*FmE31c3wjHdavD*B2duxRWF~Qu$98j!4D#1M_FSP~{ag{?*Q)2A#IMl%*hS6uCjO8yz1LwU=l zkGd`>x;>2an^0vI;=Y$!{vju+tE}1O!b^T{>bmw<4-e+)NHUjS$>~`SP_FL!qUL<4 z|5T(-!eS0bRbGcVU!8;sd`g&6dxm9DPHw;B?z=?{ur`!C9(5<`PUlBGj^& z-#W;gB*{8ezbI`u>Q?c6g)})1~@f zN(Y~@$rb1YF_D$t8JPck^USxfMD~re!M=)p*(V>2|9M++evbaX903A80wQ7(f^!61 z1S|w>Mk>l*0-K%-UO%GrX(;nZt)gp|LCj^RlCHMMQR*vpk_`XV6B05J6H~mp$4$SP zyrcDuraCq6#=Y9`uoP0>_m-7kM@}jiU-098T^VyriG13cB&XEilf2o*;4GWSy#UX% zdi$A04omp^C&h%Td;LC5mwuf~dqJw>)~D9PS$6GDb2_i|Wix7=&N#N1)vC*=@n*Z~ zYs!_8b_y!$QLRcLvDHyEQ=t(10ZN^ldCdVs?`{9uGP&6gQCsree!Mf20OjF<0t_0Q@)UemvpD1Km}PlkU* zcIuGH>YP-CY(3?d-J5MZr|o zdw8e*-R~hP{?*%`8hN{Hh&^(n0{E)8gX^D6x+V$+WoMgi1;<{SQk{S3$GBUt!Gd#FHC;Eu zlTSLCf7gziZ|H9!cF^}q;-Dv$z0Tbm%4D99;GJ7=s9>Y&q|cswPzo{C{%VSwxsSsw zY)-xWkYMh1_sqBN&of4fcM@A$&UpQB(Ji3SWnq2Jr?vAsueW5MCZ~40i^cIh>%$MZ`BmMv zbBd8~$Dhs+sS2=^vWARZ--}jv@0tGYF@I!q!`Hnac0G$`XzR}YS7uI)3v|!FlKL;- z8T$IzUU9ki8aXkYps%pt)l02EbG#t=ZzWx7c~SA2 zP5yIkp%0sJv9Z72QHAmz=Ew6_SN_!HxwL8JD>ogkzWa`0vqE$7g6y@2?kTJqDR+zZ z7dE?nA@@1FRldLT0C}!1$0g_ffo3a?w(JcJ;_1)i^QCmM_Nxv3Ki2B@boSL{lYKBB zIC$cxJWt{E@PZ%j_VxI$za-D^b4u5UelzgkAUpk1$JLwnXgRG*wiB9amCl$fKG@q# zds9j?=PKK9EPC(l3oG|;Mw0o z)S1rc7~9}Uld5jYSV?a=CgIP|eqG*6h!<>fhzhdg=N>CPB{MYSR8f-FZW%#Y@*%oZ zJSA{@nzp;6&R~mPdcbt?$m(sQ+pHcZBFLUrX>#*9uXLDD&G^maq;5;jrL3tOr%s<% z9lPvDwD%_CXI+eWWrl%%Z`n1U9}?V^)I1E<_c$VNCa8_u?YWo63ORI*Ckjdx-=36s z7MnyydpGHdXljXq#Y^%YfqKWk{}`JSO9eEG%RkBn3_s-@s!9AwZdGQc*nX*uXRN;NRzLuPwX~O{<%w3^|12S zm6xR!DiY6`CC1YRJ-@%UDcidi#{MQhVCY`P=4)Ha@I=#h-t<-vcVDr-95(Hb|4=^g zi-YCsY5SLpQsE3|y4<{ux~^g8ZL1a2DztV~PfdryJyR;#)M1dth<(-le0*tg7^iM-M@e&F z%*M&m$}b-!-nYFoyG%k9#3^c)@@Cp#{662`9nanV3VD8WUILZ_%i}z)DoX~3Ox1!o zg*XIL3T$4QYuUxibrk-+Zu&rDq^j&E5h=|%&CKZ!Jv>Glg3pXQ)*{U2J&yD4Z1)K2 z%O~yKNVJps(mwKC~0yuX`P zG~tpxCT?2Sd8pgi-sO##>p30?^)tV?EVXN;oyg^Ub|-`aJkN13XdYC5OsXwM>J}N` zaZ7`Bt>|@_uM69k{q^?SB7Qoa)g?P2_A$OsxTl868s|t#&nrYQcD@dIOuc-2DKDIY zd#HYQtvuDt>BI4@A=A&E^A(L6LCNdepK_=Z8cZ(bXt#3_J*2RctjS=gkJstMIvy&>KrqQY5)e)K4r1 zNX9g6l52hWMfp1gPuF$kJTo#SGhLTypBl6IHWuEqWTo}th*eGF&Oe8&rHX|c4;Cf= z?$8P<-e5m0doyQic+Tng;6uZ*;6HcM=*5}S6{>6Ac2Py^AMqpSVK_%JuK%}Lo7CQP zH8p_$!1+YK*{fBJKI^%yp6c&3>{@y|=d)6?|Fu!DvP-}C6r+F6y=+dR`S z<_n?`krv`E9MXpUw`pAk42$J$SaKw?C$GiUXsg(+ZZ2oL^fsQ}7)tXTSCne-@fn&H zqHajKTohADC80C5#A)`Ixujw8 z0>iI=M#x!J@m~9={f^R=MPqtvHOMK@@uk*M-NwqMoxccw&@JVa!}C&?a##}Q{>B`z zCNzE>SK+wLsIhj>hODxRYiwrKMjppoXeT$mlEN>@Lp3#?Wh;4 zSl7tAjt!c|Te-cAT$NR&EXlw1mGXU;{j>@R_6O?R-^bwkcyPJ+fWrIVlqI*=&qfm*>(un>_{>!H z8HjD{^-xm;nb$t;+n`L*lD)o79Ay)yFt$AN28R&>5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z!2gW^6EQJ`R*VB_q5p=MeSyBLmCI<5Fm>33ozSTVWr<%RT&W{9lpbHTD4b53aKCW0 z(b3UH>=?=FQqxCoUG-b}=>aFhw4RWk_{{Dr)6-Iv(W$?$fON_J=Je?MA#%@O5ibj` zyB65+tjY^4q-|Y1RlQyCv|*P=vb~&5+CF6L>L3B1TjG<^96PQ*oK!mDPw5Ye3ZK5T zqqksSJ9i=Rx{>Cz{9W>XU6-== zy3v@S|KtsxFZwmlZhW)3&GhY_y={`se8O#dt${qFJoa$P=T!9{DHzm#UfRmJ`zZRe zcN{H~gp+8`?iub?2fzK5JkoJVRkgQ%|Gg(Ilpg6o8auG=CGhp_-Bf}2Q}<&Jx4w3M z5?Al}_s62xhMUaSsQEMTFGD?=FWmlj^-}UyWNJ|b@0I8dox|7~*792I58fTg@mkQJ(mU8p=HdOXb?%|Or>qxYhbQ6s%wrSkKFNn~ zB!W1iKUb904hC@z{Wei(J~4T2AFteSONs8h@ZZ~X3IBebeH}={6=zUw`0h|1%ZD#q z@w176YZY=f_EHoMyTZ?YnTV1WZ`}AKce|cuh;-Heyw`@v)GvnPr|A9bGHLng2OVqW zwfV@668iPLN^VbbJ*L!)zFF)ccDPqQq-a|C6c5FLTK*6Dj|xrcbed@#C;7cvqoerV z^@e|TBE3dzoUJ)URZQ?>jN!V-VnVU$)3XDAdMW;lGcxB2S<9~XjS>xSezWs+QatjE z!TaRPiIMl^^p=sN8UH?|9CRGcRHd1k?QJ|H=1>!BdcAjtf3R|Gr+I~};p1Y0?YxLh z%=UM}VD(s@D`Wmb9TzAM)orT{3G<24nf!j46C59BrlNRtxPCZP@mM64%LskG-6K*` zsqF{n9sanUvZWl;^7~DeqpPi*QTeq}aV2C@w0B8~?72pdiN&Ku>&UQ>CZ2OAKIsgI zozTjB`BNp!+1&H3=@II*mV47ZVxD5p?CI4dyM$!TPs(jQ(zX5PJ;M zXgz&L2D_j!hxn1GfS zWf#R2r;~Q)-Ok6623r_HE+Vn@c~NdbJXOU z#yyYw9P1whH8quIK6M+?ko{x7w?y7b%6|H^(6x*kcb$Bk1apthPKXJ-et0+_DtUfu z;iOw&W!Zhv62d8k{)I==N0!?|42p6^ZuzpFG$=U3OV6~(pAhLds1?W|6C1{)B44jE zO`W?kRs3nz@#4~mc5%)1QsXTW78j4+O3m|J!LF@a((<NkDYz77U znP1v|m%X9e5TzI%^=2mbvCgbu-DO7|;*vK$w2tw=?@(P4?EELW`^ZzEGeOQ&#&PoO zHz5VCwma;;lBek%73P?7qP-uv zMt`wNhTK5QYvalFBK6VcqteBK$~%RcjQeE+BrIZH=x(O$-4y<}P18_7h7S*O2^?d@;``ApClRbw7>XIt@Aaz@z1L%Q=%sl zy6FB0Q)V3We{G@mIrXk$WPB{pb^xYY)9M_}-!GUCD2 zdNXm(@A?u?Cd-iH!i*7pZs~08X1w!m`kvbOed{CacEyox)VseJ`+4`Dps91vjjl1J zx!B&Kxbf}gjbD_TiPsccv(8OQO?-VyM#o6I(R1nu&C1`9L2m(e9rwnmI&-he#wdd~ z$=~xh(oF@U(|%T2lP&9Y8*#oT9sMLvQbK-HT14vCt-G_-j`GeL)&fzUp460mL4jfk z!#s6~pVt<8vMEg{Y+}!Fyb5Q}FFkhaR^I6n#aX8_);kOjHK_k~CG5ZT_H^kxpR7|I zE<&O~C#`L2%$tsJ*EZ~Du-8@Y;$DBBt-0UVGuP;Va@9-DR@V&;mZ;uzrrs^x#LAJJ z8X46q#*Wnd#{O!@Xd@f%PQ5-*e!z5~HjOPgee}*tY2Gt2yi_E?k+$ZX&Nb$L6kV)h zhONDo%xFFx5x)H6IK6D;YWsyBPRR-?1;?q*E#1|V6bRXOW+|8`)@Y9}AZy%OEUVpr zqx)Ix>N(D_XsfrnT=Q$gwUfavcmBLn_`msu7zzOhKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG|g z5HT@<2N3~*D>3n{FCqso*e^TtJYY_=95`;UUq(a8m~SlB!I)uNxMW$6?OpdyvV=-! zJ(XurFez`myYT1g%gZBwXBb&i3)r?N{?h-KBS64MKtxPJaE^eBfQ5jKcS6l=M$nh_ zoM*ky+>fKX^XKz!{PnH7JFC<0<1g0Z!SG)_At4hnF~zIfn=g;^JqmJ_BPB`x_02Ot z!ujuWcFG@HdV9)s8Yw&0>_)C1ib7>|k5TNC5B;Wkg{!$@xbyO(u7c;qZ=#<%(l>6h zb$Fh>BCM|NRF)A_)~uUC6(^ixA1dW+;k~;;&i_m9&t00*v}ZkMNqzlg`S&=)2>U&K zgq~bn+;=Y5Vqv@g=IE@sK|m$3yW8XO`)UDu2Lffb-f%p1byJh|`d3rULG$s(a#`a;-%jsO} z-j1M0i`m&j1;71ICNHW}d3ujL(PsP361Eb@z9aSG8u#CE<$qn~=blV=Oh-GEIIups z5O|Ppo##!$$^p`hL2Hh{Th9huYF{g~ki0FZ=`(1TeOw$6K+onGa^a9t`qf979>!qe9dkW)vyYS4yyb;$SbkF8#hm+|ZM=B=tc>{YU`<`Cp$A zZ0**FfH!X)_f|!axzzsLz3Ge!`$g{3&+k3`?JhJ)qG_A+Ba-M~g!3);I`J}kW|i-~ ze_~=KP8;7Y?`d%y<x2D zi<)~-h^0aQFrd3^-1Xh1{!Z?3sUVi(?i!G=y4{&)!6(N1fW-=@2M)BJ9IV_w)0v{`F5>@Q7oh<%QxS@N4bC1$5o z@Lr#(Itv5ob3(Bu_J7hZG;zdL)1L%yq3S)aMiQXZAic2IOjuv&Q%dP{dngu>oN|Kry+^7+oTa?li%X`IZ`Y^oCGxSSPMy4z@6~4wga3@tITXD=) zygW#JfT2eFSVx=Ldu}5CWqlTYM%%8P08ixRTCug_BWg|5RczClwAiZ7YyIZnq}A0g z23n8TF}@Ist+El{r!za9(B(qNSXVm4yeL1)LzYD&=6U^mA&e#6Dz)34lzI1E%$e5F zPPcc3XYl@mJA)5vifGfM8#a5nnLF+iRL9;rmL*ggigRn{a$B74;!Hf`35=`mL=fIyVxt{zJM=bzX|w=N5TXP3HT5u_K~Z z=;*dPHb2Ui)?q2Vz9jvtlrUy76PU`IFC86qA=T~tfnlG%i!eg^fH{QH_78*8k^ii% zUV7;Te>!@A{e0r}xfWf!t_GvWKhduHK8vgwyAuWhiYS>w_Rq^+Z=^j?R+=t#Z1|W- zVu$x?;9)iMCDt(K!o!HQ7cFYve_)Yd_4Y8}Q+POt6QfwwW2GZL9Y&<=S4LuWWhxc; zL~Xb@Vf}q0q%p9m%zpaw)k!9j{YuJV-%Y>XUcEzRM2C|ZqA#)Fk$yo~h67e)eEliuTUZ;kxq5ePLo2L^tsjPcHlPthMmU z_b3$etHCcx&bz8u!MKqJv^nK{cATz|vZ z@nwN>(}}=#1}`nkxW)Et-gZq2op!{>(Av)usWr--H==(6^_E*6QEZ%iC!XI)TB@aDJRm*n`Jo%f&VN1OJza|@+@esN zYiCZmXZDWS!&rplaP8^-SO6_O-ut(|4}2R4L<-Qc%_+3RY+ikRta#;ouC7CA>RQ`# zKun0SFe6~-8%TV8+#!%Gv!p*#*p>3D7x}ztK5Updw`oU7qCY;@xSnrBipiin-oaj= z=d=2<0 z5@_yRpPKe2COw5-ps$4DGSd~;FJE!3ITV&#gyeIc?hM%zAj*h$1_^>@1vDv+}$S>?GB zp^a&MpPg-{``0D!j{*lLiF3mI8$@%HEbI1ojNov)U&qn5{|D>8*HALcu8N~-y`rdxTf5T8OhUU3l0u#ton({wciJkrqP>yT zL&Ps6%;gF3cf&s#S0fid{v8H$d6kh4)4xh48 zpLE;y4jQ#~HMb!7oPVOFiW(&1kr$-Lwh*$%#_DXKykKaL-wtfZtaNauI$QlEZ8ehq zO|tI$;vDHgU6&CfAF|_95`;a%mn~0(&qX5HekpVLF2AJ-sSdiiPE5<`nXcl|%r5eC zfWZg?AOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHgYHv*){$mp7SR2M^Gujp@%3_1QzIZBnh9v!NtWwTeteY=iOAj#NOw&Lf3aOaNC zc(!Q!ClvjM!V<1zuX`P-hq7~#SAKs$PNjSTCw6C*;7m4}yZ*981$Wm)K3jkCPz5J1 zN~K*$x6xdqDxFv!(@J9pQEB&`|4|~#Jr30XeN4J<1T}QcUv|Ei$P^3kX({#o&=c9Oj6i879p&{s6<65mrnJ~$HXbU)eUg<& zOii_-)rQcdrfF9FfizwquUyrcmE@(zw;4Uht}nZcwZ`xE_=l?k+)9wxAH7M)-#F49 z=WqPwreS05Y4Fneu-AFmzLR{u-b%#%>iK#s3XQ*PNkH8KhHu16ixR{(_X3P^*}k@M z>CMP{J;6LB4GIpl+_gn4s3JE9D0%7w9rIitF5ec>*4+~d%9VTJ(z7z~rl4{|arOrH zMB*WtxK15b;FmA~hDYycx>vr_xDy`ZYR-p-Rz##24Qhl>3G0h~b^EAJXLwqo{ArWN z>C^jL|K_KHAr>-hG{%mh9#47^Dj2^th?N$hQJx}Ph^Co3c<)EQxyDeciC`3vP7U=Y znyA?BCypKy{N952B|9*#Yq!cEseeng=1a+C0H^KWkJQ7JEY>;5z6Qxti&Y#PgTu7_ zpFd#ppDJGB|C8i+Qsb?Uyi=@UIQ@>TNnjK^KqdGQd`Ca~sNg&Tc$>X=P# zANti*ZA4yQ;yXXt#ZD*ItBOX3ojmL;aC>jyUs^=m;7tI}v(^O7fws!YsPgjR+v*cW zgulnN0=9}f_Tk-AJvpy$W(0iD3h7+#H}jrd|JD6{%T-4#ZJ{LeJNS5`A!>qX*D7rA zck`luR=ZMx;)Cxm)Rxne91E%ikyb9OYq{IaMf&&ceeB7!Gl#=P&=g#>!N7b@k55 z_HU)reaaYvK9R{`K3MS$BX{8Rwv@;?A8&h)%GcAwIqIu+)Tx1%_RE4G$G+AadB->+ z(N%Sq9ica?>^L39b)Bs_W(1RE#)r#0ZqnxpVpJDSso8%LGnVm>BE1A=szqMteBxL7 z?u?7~J4|5`yMiyddNsM6uc^&YJjx9TQOOdmv9W~1R#(X>#C z-;L6zgnI8iv-nrZu2431_OE_*E9-|k8=cDClT$jI9BPu5VBd;&dk@WQ-Yq;c{KHQt zQs$Jr;aN16RY22Wx7inaA$9bL0?0%91Ge|Hb=a|xHlL1bd<{ryy990GPXB{ zcvQwOZrUkg7mw@epP3kqU#X1-df#eiTjDML<{N$eeqO+WpkpB}^K+RWk)GKO>N%OV z)cZ3TRQ+EnAC7TP%~lNgF0MXBMNfMg-`{=l$sIf}# z-*`v{gjC)V?UBnDVcR5syhY^newUdio1W6GBRA%obvq`e*W<~6NnoQ=Ug(qWut*^M zC@Fi=x#OJqfe?-dJ9DzX6rMX;bC7HNG$+=oN$#!SP*3>%CnVMQCwu(dB7fU(^)u)n z=^fJ=^J!xXy^z?fV_%CRmvzq_@8e-A7szKX$Z&m06i+GZX-L4-VVUR^XxCrQueE|X ztv78JoLbI4t*y^Cxbje}l2W@}G(m6Mfj93u1^-+uyV#htoL>U{Z58#TYLEKyop!BZ zW3j|vWV-F-4QAG7)Z5*cPC7Edf`aIb6v>N<6n~C2K2%+5I`unvGra$^24_ zM{`|Z`t-I+T#kjYnUvx{hq15xWp#HKT2z!to;^#zbqR03g!l?CMn=MH^lFu_5`yva zM}}9gS}G;Bh97+y53Do^{`+ka^YL9xnGwor?;0!bbjOhsiQ~X~_xpe6sW*eV+8syZxdG*3~xFdf)` zGNpeh@7*)!#CX8F$RM8KzQ2gKE4Jn#&pA?{ByL4mPGri~<-pyxoA@>sNAM7o-$*i-y(XF9Ih=yy*^1{IzW`p29O^LdkJtWNq;}v;JEFY)88M?A_-`26wl_VjB1FU{Y0aYXrQ zXH>2sAI;?zGASe^JA0Gs6jOXTRSw^uoYjQ?<**~LAs`{6AaElvAW$LDh)LbdO|w&~ z+2moZJke<>erp-S!a%Gca(Ev3+4Q}Y8PR|Bh=`=f$mk_a$wJx^Xa`^DJia)+eQJmu zh1)6MV@D0v24SP2T5IRB(JvBnHc@M-8`no8vKh?EhkF2 zqb$EP&9i?NCF7`D!1>W0R{mb_pjYkc_eR3?Uu7*d|A&a{+b=^9SvVUkJ^5oSk{%h5 zt~`@VQhK`WeLjL;In%fCybx_~`F4BNM|PRvFV_CI{ns4FW^K~U!9{oNKi6^xnCz5_ zPIpy@RYMPb9gbg>_rElGjfqZX{pv8gur|MO($0Q{bXQ+>2S-(^Z5)*g9hI-H)O;jr zAkbJ@H5M0ELJO7vD*adaU!KdB`HF1NC59hObkMNQFeWkn zJ(D*KJ3Ro-!Suz%dy z=9bXy>HfMhw{AU)=x)DR>dKeN=iOT!3*p$^s31kB$mNy!bL!)RM^kMTraAhtr8<`5 z-+uMQdd^43&;9w0tbibNLJ&qGy+D`P+o)nDsfTSv@ZfWpk2cm$24YDw8IF77dXVJK zKc2<|BQ`6&0o&{0rM8jedy#`a0csSdbT7Np!Z;j#XMLPrkSpS1Q4t7@nz>^-T?D1z z{V14OyEh?l{?c7kyO7GhPoKuk6yudcfvFdUtd%~SqK1c&qVSqrcXyi5eWH6aY}|4h zi+h3ADu$8 zXIqW=gox?qU!kMGhP!Yd9bF3bCEGXIH6CFWgLY4_MYjw_Tt~&43Tcc}RBKC52xMKk z-h8C_N7-{r^64X9PfYe{Nq$H>@6je{xbvz8n_0xl*WsG4PhL9-QEYRq8flaf@EI+( zB^tlCTw@<%4!TajC0hJsSe=??7^1P=!CBUBH-YEKW$&K8m zvCX8~&_5X}$I4W@g35~qj}#vm=&tU6Fgf`=mi6jjuQP6ck0Bv)|1|R;QSd{gLD?8D zuBXiC=|4g|EA`%D?6uBSPC=oMDKfP*+>2`DT*6@lo);%*Wrp8ai7pnnx^vWpS{Rd7 zEMjYGLYac)Jqi8kuia(KO%6ilc7wuipIu*}eZl`|8Xc&+_*{+mwNTRWx0Wa$RYbG> zI4kO(IR>`I)XAJjCv8TiieI~!{Wksbv}rH!|CQC>$f0DX$);(qZ&5a59QpmjN9?3} zPS=9is6-?cKG&0NUlvR$yrA`N?@ZY+{+Sm_6yB3lI;~0+x-DBr!rm;)unhg7m3gGH z*eu<)Pwy|Ok{{5s_gvHdQz}o;a%Jpq46XP`&er&a5Rrn?JL}te<<#ie9r9yF#m|Lo zZs~4=S#*^TmzvqW#h-Je7K@$Ah_GH@#VkB(+DJ>_ZtRHmrC-ppVsni3K>3N>&XJYt z9YYISM={)(vO= zP%zfNSajwTD|yzyZj+>#L=hgQ)u1V{nN`Gmg4|ge&*p|`&aO$DROT+vZn?@s0ul2sIk>w-oXKFW)l;Z(tipl+}J5YH;+p50;KR? zpj1Cxwv-#w^`h2TP%Hh}SME#_FI7Z>gX|e|PIekj&?G3%i6|_X$vD4;6VSV3Cts2@ z#C1QRDqlLx;DkeFo<3=R$bc^@WUN1etb+B`?B4)#;`i~#rcu(w^<4Dhs~=stP1v~& zEH;*d*+_Mm{D!--A1HKCtmRM%=f8ax8=O67McQtmwTdo8CNrv1zrNM<DEK1k3Z4!2IyN!G5I4SFRzO1QGFM-01 zGT`u1((%FPoSzt0`qvXxX?0A2&3#(lYS+c*RH3*}qlwRN(R53QZ*A(SIzOky;pjY9 z{%Wd4g@QM*wLCff_`BWRp6Tv`1t!l3Wy|Y2oHrd6xley0n(68)TJt`7N8zQr zW*16^C9kjZU4<>0Ob&3c1ttbCwx;=F{8LlRG$Jzb-cp##N)x?md?U4O&A-BP980FZ zYKg<-RNR9$vm&h1$6?EG@B0B&oudD+v5;6p$m8{U$_(f~KH48L70pqvJfjOfdw9Qg zp?bBvc&!gzO(XP0p-f8Z(Hr^Yf-WfpJj4^< zB&NAt?+6&#)(S~R-0NWmSE}n>}i7P{n_7`uR6^iY{ zb=7~^KO|=_=pWx?&AJz%80tGVt?*Qm-w2Q*Bcp3l z_on51q7&MiT2whZj=^WLthO*0DFWbZjZKqOi4x6O|MQ)3>-1qh z$uN0L=rVJIEan+9yfosOFE#+yNVsTV0~jW3?Y+WhA1Gut(`V26+9%3`?-(d%bsbze;q$D#s?gLv?|>`v^x^~q?RRvRuH#!J7DFUqGV zQUAOj^Oz2Lt68}YPPGwC*ci&KA8s!RkIP+r?hRXiFim%?zK_<^V_k0f#pfjkVwxul z6^9O$5E%}4QZ=frw!>+G|4s*c9N(A+&hO#k(el4_#isU;zkg~mOT6n~LsxJdXB>O7 zw$$^2NkJ}sn}Ss=;8#}HLC~ax6hJR5qU8sa4B2YbHfIe!Hiq8AmP%LAz^8P73LrF60R#=Pt8gZ`0PW)lkRzD{S*4t zL{B^M%AcZk^mkarU!JN^3m7jaXCa-AvQBS>>6?G+|lpj3SQWit? z)iW%xXNfiIppLO8Gbn3fCynWlO}1KSlKuTRRav00?mHs0C4$vAHJQSTIo0@~QDyI))=@(ER~To7*&Z}_Eo zh=JIwBbA@5UY~pnWyKpZZ*4wamBN)&HpRoMIg(dOJN#`}<rgy^MyZQ9>G)ow)RIN9Uww?_){7U$%<#`#4Jht|#^XhNVVeGV%*0L!UUVaak zShkCrNXPy-1<10jKXfAr_;d zNmz8&Ee#Tz#L6|3>8QSx{wMGB_W3qj(Ps}$T{;ir3C7X}`dU0^l9NvMmXc~-{UC2U z$6l~JHTI0_%TZeoe|$1u2L*BzL9+h?v1=xlT@TKk^+Sxrn0O0nRi1nkyvT z%n&I@v4v!@d@jEq&6f$+Q!P`IzA}IBw={S#eYQzzs}9aku(;pV)~K-Y{IW<%wcgo* z|2H~Pqo?y4qEfi`Q{5Z4i?^m6=IYvpb{N9c%2woAg4Wh9339iDl&CkgTiv%?BuA`&sI%Lf*S$R9 z%eNtW?mMQWQt5(s#(9}dBFJ1qE(MVUOs(&C{td0=KKzO&R((Z+8;9#Q^M{Gny^=e8 zL^Po70ikThs*XW1{g10~&LwNPa>3VuWRm`W7pW(S`D~Crd1&6JH!%BYB2w}}SwQbG zZS^lXeQuuMN2bEhbz)SXQ{(GXtxXt8ewof}LCw0L_!y!^^Yn8rzs4l>=_}l1CCc=P z)X|Zb!^ZprxC_=4{+3FP&&3N_G#N9NEWlmJINS2mBQjC6z7s|zh@ESScZsm&ZX|vYW`9<4J&>$ zkbR*Ob8hc})4BfhXC%GyJ=bXWip=DV8zZt7oad+Xb-hl=!Y=$ZR{rL*x1-0C^1q)~ z<$Zb-N|ecHuw{tQukInQDzk=3K3S4jv&9>k_VfgkN`LY5<_C|#;VyI!dAVe*Hx7vF zxntkjY@FyC{jab%nBIM@VbE4&O!_R5yVoVBh-z#_w1`~9$Q@pVbYPz1c|();wT)QW zG^9RtG!)mVX`nfDi8ectS)!#dmE2oBoN#KIuTV-=Wf+>9QxD>2w{VU9&s0WzJ;oo9ky4ZK z8!6AyY5D}xD=_A*&*ih;>p}>vs7NyYsiMYj2&h$t7fPkn06LV4EDV9_Lx6@%JJsrm7b;UsUSj<1pSycuY#yEMc;;^#D>Y9Pi5H=x=pI z{cd7msJKscY1DWasG$T%gbnch4r4LU(4 zW}g@KD4f6FYa2G|DHYGW+Uhcl%T8K6*CoWE|I}r$(|7k!Uwijoi#+Ka+Y4%=atTeH zs6w8vjGz8ku~NF5wkGm-yr9S)m-cL%nl!r^X8vcuP(AK_afq$XPRr*(tv_<>`f%ERRK%`NK4F!J=;%TX)Vzy7E?FdPd~z>4TCcKE~w2Ug|o@aFh<>FajR& zwG%~~Eh-_-qGx@qMA5R$oFApGj`poAA2C~;5u`j}@7>IQyWyMGyM!a{Af%%<=4BPC z&a=oQaK3MJ(cj$vxz-Yc`G|AiC8qv=A0wLWEuxR-a7)fpxB`oS1?v2)1 zX*nwo#SFo@0x8|42$sg)_aT(BpwGvHx0S+?}NXU3qQ!8Sz2tZF8A zKuxc{-Mub%U`k}SdODH)6Gb+uy3DJ`5`)crDAE+WyuOr+M*Hp}0)EcQtNrfe;fgyx zE%Zi?0eS9RgoVGnN|0yK?Z|2x`$VPvZvq>g>q^n=Y(E((Cg+< z1KM1tU&k^jm)eJiekGlj91Mr&jg8%Kc4ge(iP(-#}ziOWcDi%gH-?8p_9)6z<`l&##sTrKr7V zk+AIgvTC2_=pxZQr_x^*TQ9Qu;VNpS-i?LkR7RM8Okg-zDLgJFxrp|j#zAq6d<640 zMWzB-NphrU?u13~2b*UbkK)y{)&{#1r@j|aDk|YyV7k7#B{BXn=xm?s9XZQC(Wg=0 z;$!J9a^Kz-X(Y~_y3Q9%AQP(J%-m9wBlD5AM z{bzDR&^)Jsi)FE`Jw|jqewofz?U5#Mb+*#c|Cv3OPrT5sho=r0k@7 zvZ3fB!GCoK%5QDc5JMhi1s>dKMh^9;b z%X`vqM^)F5&Fy2taz*f!%jix&UqAM!7o~HPPprlJ(J_CoihDtGGh!YDE{?RuAKPB* z6Re-S$-PA4z^_76|9NAq#L=y>`avA$(v)_yko`T`zljH?Q!rG z7;}uxDcWb$qvRRP_cp!KrUv(CnE!`M}*vmwIo`DUy~~xm`LIO{OBkS{$b}=e1s$|5xH4NU!4%L|rcL zHv0Rn$Uhx6s9#!yR41Wz+K*}(uzY-ToH#O=RV0MaNF1?vT`68BI%S|*@vPg>rA745 z17#1-J?tmug(?YE3!0ITtQLuiZ z=X~qArO1=uo8U)YH!c4(sw`;F=e(n>44Y@2hCWl%>}jvJqdG1`)QqKjI|^RjP5*AZ z3shQ_9ksQKkp|o^w<0ct3w=gfJ{FUft4XVo*8A1YOoF+7^YZyCWU z?ho{g-qRw>KG-F3;y^}8a79g1SY6$=clYR`yU%RSh-zn6cGINR{aceD z2Sa~fG1icnM~T#ey2r8Z1G1YD+m@>W*(wTAHI(D`ih3{Nhy!O?IS=ExDhkMJNum%V zYfszx^j+-3H*)62C{d!ClOD3)M^%WtEI%>+D=%V{`^0B@nSZ?QhY)dAb&=lVHg?6= zVqreFDYG2mBOgQNYNp&gECiI+m@9j<7}WI0hez$j&B@&RLwRi-BCRhzs1V-!V^>&M zn4Lf3gu|yLupnK-T}j$SX8w`Vnq~6$-HCDk8w-(_7-C9n^z;j{1U{_X{|eiseXUaP zhVeUs6Vr!cIG;W2b@Ann!lG(0XkHHffg9rU4r57aB%Wb9?9-PycM*P<1X<0xPK~sj z^F0!>PkpBw@srd7(MVQ7M2r^VZ*Gz?wT+x2j9d?vu0)%2oMmmJg9eVY>CKWlxbDbu zr^er1+&MSmyy(Py&VWc2)a7PkAe}lFV)CqD=$83?ty~Fj*ec7dIpWXl4zKr%0$H0c z>8ivzS(1O=ET!vLNSSiDH7SZcY7huVnKm~cZk6YB8AW9VZZLZ#`~)kn5A%aa-8Y&Qz%ZgmZ|GWwYPl0xs>qemG^cHTed zqU}NMWvRH6kKTCdDVTCL(et8TY)F_buJ+saU{!!^vl_F0>}1!{aUJ1hb7U3M$q3?^Q<>Yb#q} zx{+u#5DPYUw_IgdyQ3x<*(_iV=R`5e4%qEy7a__HJ|9lCYg&9cw?*JDN!1^_U*hby zc$m8ro9|0lUN5o{$&F|dD;1FRfhy;zi;@eM`T()VsLHJHdY%)X-LgAH@JS>hgWo%e zKA!;j-_yEIJ*v}nsCq>h9XIZz>VhxO&oVyZOx^}-e86Gka3~V~)6;JeDmIb-g8tbJ z0jUfRpZqudzd?1LRXQe11ygJ)gzFwrgRy6*oUdb9vaBa*%^uZ1xwZFyjMOMr^mh6n z;8X8Y-FcO-PKC~cenga~HIuxxq=&IR@83}qFyB6@AzBIPVfjrgvAH?KQ5mCy!I4>| z?{UEx&-li4Bx0AL(mnACUp3pc|8<0v(v!p|4QFx|J)8zAB@rf_!ikir(t)oy1&t(x z+u~N#y1rk&qknGwCc3`yulK=kE?O;bcH-fxOn2fC`QvG-Vx~U!AdTzsS83UN*7P&1 z*a@Z6k6A)%gLIZ35Z9N4Zn+ZNZ>ZVe{*jt&UQ6}}g&^v-B%Uq9?8QWlV+!I6-9H*a zD2*?*qF!St#L)JAAg5>cXRTMfz+Pl@Sr2%5I=s}tT9c9Ds5Rw%)JU*Pq^Q(8?8fq= z5z{cthTeP7=Qy(X3EPam|9jlVoC0c-E0Jy!2$8b{X$^V{4!#F+crB7H4Nk#2P2Zly+-mXIEWYD(oLnAbzUpBl)>X z?ztc`F3G5G-_Y(4d#xW>n(cjpOcsF_5ynBvx7l<%NQ>v^Ew=`84O5>-aW8@?5)T^2 z88&r~_xOcu7^MtMy$*sigpE$g%E)@YH>V%u?}Z6H&$}YdbXv4b-dLq$C98Dg*&-Xy zi+@TQTuK-*{AVaW*GXg3-}a1Mq|Sb#jf;;!|I~T6wW(dLN`HWKuaySF=fpjc$;bQg zpQih=u8$8&2Wm96a)=g#mT`F97>XlaZjvIU?DKc_ad|PeT#5z1-IF9^dmSe8nX08; zt7>mJ=|FaQbk3ms%)(eX_-I;tvyEnr?)-s0Ag)%z8BZbFKN z1Y4t{Uw7TRRd|(oXrn^Ol3o_sS22%x6Zp5&m`8W1P>yL z9zAT^Att zsS$ej7!mEYF;kET_JghKhv5~TB-cE`1y4^!V%A@6>Zd*ELo{${7FIXiH_UAB@3U8X zMkd5_jrws~E$FzBd%JDNcPz(x5}%dGM^fD`eD)ZxjOM-O#<7WhPk?8}d?K66^Qe+l6zct`m z&RTC|?I>v+xgL*wkvhj2c|}7h=3m*HMu#O`iN9+}v<3YzRomC!OiKiWB`; zkBCT$jEr8QG~|>L>F1!_>wPco)HU;|+HIp3dtafJN&v~nRZ51-rS}t$@%O`3$|e>< z9&$fBt}@vpPFO=1kBDtw!TYLT=>7bMQpk;j>;{6=%F#mkeLIKD723BAx?hmXZ#cHI z-=_uVJ{H=vVb!)CBQ((aaOYuE{*r2IWnhK~({A#x4Ck*jzk<^xy>hlCPrHqvrNx(X z&JyvV?iQPyc|{3FkI_zxY6)X%7LCxL_~v$<(UulP)R5z^H?_a;UdiSSja;6h_BgEJ zmOLCnOM7`|+aK2!)~X|d6}l0TxH?WhmoskDZvF1toAzWfw_jQnQx4|M2&_9awRa>a zzDqOfXRm@XdNq0qQ$xHfqM6uw`Y9$aB|oHo7B=1UmR1_wNof1L{C0KDDn}*_*ED2j zw)vI9wFi-0>pTCczc;vFk%JFoc^0=E_!UEN|Acp~2S;{<CcPDw#Ol}iICkyI)fn;XNlAW{f z+scvLHL9oA{M!0Cw>{+gGYLnsx^!qFx&B2M{u#Ak%xA!RH)D2V`%zS7YU``+c{KG1 zf9h!aYVymte3=uc5?tGYck4}l;-oVxh8ueiM%Q9fj;DfNX^u`GMPZQv5d-lD{GV$|!Z+9F8FDI*a zL9H)hx|Np}yuDVdpA#YcL3bm2TsA4kdW&BF(D^7@a`NWbJ+_^sm)mk60Q-1+Gnx9D zW&DEVCxv$?bpi+Fvz20;SD{B~mo33vgbQ#tdFUT`KMneRGv|KMTT#YgpvA+i4+tTW2H0j>yv50_(f%$c+RfldFZs(sm zwAyr+u|oPY*oZzkIB^@)X&<-P&WWn)3aOV5hq;+8@?qm0 z*&?MCb=&$0To(#OEcvC2b+MLG?)aM$qsdV_6c3W*T${gCIALc^y1H$jdeBXE^w~k- za7)*S(az+u^^oxm&DY8i`|p3P9i&1pA~pLJWCQ}@q+>NyGpF#`T;@^LBTv&sMzy=V zEkhZTMU1um>>Xbo5Q!Pi8}v~6=eOEhfc}W|AP`$Q0(LU8SPuCIUbd= z&IGx7+852+D=f~tA7%f?Ze1t^!EI3hMnW0{2?6O6kPhiikrt5dk_M$wT1hDhLAtw3 z8Y!iuySou31@8YIcfY_|v%i^hW@&Dq-1*$Z)5}rS+;ft@U!vNlNR}-=By}(qzA@GzxVV44tnft=os-~KqzhAfD;BlHtb_F5gS?z1 ztwf!RVb|{OqXyBA6q_u`4uqh9pJd$6Z7ow<%FUj3X*z2wnQBZi3q`YH<~Wo(mKLn8 z-y9X9KN__PT)99bCH}Z&z8Wx)?kFn1tM;9l@nc#M@!yzhW_yyn2l1rU94RZ`sKnC| zIglkyE?CJt{hzMP67}3QU-70h4N6*JDB!XnP!Z2{ zc~H4bXlqC4lk`o zVxE$q3yI@Xco0uazEo2Da7-7_xbv2YmL6S_0 z{cI!ddl>4NBz3FLK>Mv=mJR&_)gv>e%rX8@%7Fb}iNCWxs*XFG(78w{69j7-wBi5U zmykW~I(aeYn?S}Dx$>R%aXsSGve?U0rTIp)5wY1?`Ksc-za;TUEflbgV@H>t6Tii* z9>iRK?flPy-EAnV)Z4AQ=Y{UuxMX~9+C7qF!aTtXf~D^cxIrUB1}eCw3g4>6mRCPg z#cntq@Y{Di;0V^ILb7p~Knn_Gh^;$pdL1kGBG3Qh)&>%mV?Qk|x1fMfufn^Rt&0wg z2!C;QO!7l7gW4@z{=86)%3MDb7tB}MSi*^UrJ#S;!u-$213jPg)lLc56PtLx<3GZN zH|A{Cv5sFlkr0b0OJ)&WZLmnzgqLv9sQA(j$f(**vsPxYDypt<&w{5%h=t4wJP@MS zIJ%Yh$d^TA^iw$>qGM?Jd<(eBJmmY)s30oCo$Oh7QtG0V$x0(Ep7kv$>5GL1I^K)V ze{J%tr88|QWVy48eGUHm!i$3vh^n3;=i7eKJ2e$L2nrjQ^;iwBYW+49etcVD>D}5` zB<5L$bB=rXk+=*eBU*sJuSK}tWc^kry71e_2dTrVpD(O#rtYye#2I!3el1Gi2t{To zyA3U%*i3N@BAXbaKu`YsW8+<=fVU99JUm zLzIga&shrzDt@YkYvizas|l@3N51ewxOp-7y~;X&=@Sj5&JiKQuyJ9RbCTH%g6@C~ z^)AjAZ^P+6q#wP7ahj`$rs!AAeXI)(fmj<-VHfGs9g11TEDCWw_cuPK{=rP`NIexe zX>4BiwKCqFZ<)WnDjra`?03$O@%&b4xc$|rLFZaRYZ`QLuu$R)bMEU;Ty z&<>SGrE=^c;a73z*yz)|^e%qwDaw5G>IwF?Xq!Imx10el|Kx2~lB`6RC?8%uMo--) zvkwDdvpP>Ymxl_hKDK|tc-nei6*d;t@}oZDz(t8GTP_TlO~B_CsdADqT>PkCGRAV78&GEyBQKku0`iwQu=Xakoe7fJC z)q$JOx4V*)bMK&1z`jt&qU!AZP=bxS=w6OJInHnGOLoGaFFn7?Y}7Bf*KHJuHt;ld zeP!=adRyAb?8=GzRFXl+Jeq}lX9uoRW`2j)>sF1#9tNTv9{!Oa-=b2x$wCsM|Ej zaDQ!&ez79xdEYUB=+W1n%qX?6?Dc>!py(hw|5bq_)qCusT?R5ms%ghU*)K*|_2G8E z(Ku42t|qAE#TY^oQy;0R{wf|+W=m(Xb}r^rBd~C4>uperZdlhg5yf2i6T0wNyLu#= z{p_#cluIrao+A3@7^c!W7UJK1>?{g%8?CjYs6tiB%LE)LnN)%+MLl_E{0~S$MyiGBSsj-G{?oB5%4w8(CITyP}qLo;>O%K^PKL28!p5Ap^mnz8rHtN6|l zs;DKmvXM$ph>YI52}dmYax~?epv8RCm%BdW+H<@pn9Vk2yCN@0(fM=ReHD>}Ns9pJYaNT|mK?%?VlK zq`5v$_^tkaDu&dVRb~9*fo#>Od}oPA(kIPtksCxqLobAtb{yZb8RgqEpdlWwvhg}V{v8& z=k{KpAOpXAsgO?~ddYK(>5`v>zSm|kDZ_a`5tKMG)kvjvm~(>}>Iuhi)g(R!rfZ!9 z>$e9sleIr*f9r;n`uLN<)>f6Q-9Ts4{Yyt)^@BfArjeE-FXkOqx-{(zhdz5Y{Gg-Q z)@rG!#^qnSFtWyW)WgY+pkzwY0h})v2gh|8}OP{k)D`+%_94S~B$E_49wv zJt~JDAJXg>wy9Wc`0*H28gr`G zSv6kX3w8{Kx`hkV=Z5>SVhl>p z7B7>PyTlLJ;!Pt@2W4uexA7xZyyuY>dzs>;5aJw(x0k{fp-pH!)`f9OenGxbkU-kt zE0L^Y5%*`N+vCUA@!svxhAYpZzSs-tHgi-g2_>-@!mO^_qYZ3ERXfHJ6Sy8B zOXz8E%1ui$FeIFknv4Skj_G!3Pu-*1-jLhumaRsBw+^auSB8fu1 z4KJuXZFPb;XV^_tRm3jOk-j*e-7iLqm!56Cq+{a?#qQO1UCs7U^yFjEJJ3!XMe#+) z9(;juRfVR zDycGD@&>zFxlkZJ;ukihh6g%E-nEyvl8S_S{a?Z6@9xL+OT9bFv9$-2OEapwOu2KF zj%RVo!px!WNcdj8w~a~(7FEf{w093@+0*F?T{=4r*&HKds#lPN$Vnaa?KmV@8A~T* z@`vZ$0z_JGV}#PMEF4&HdFWf22LJx_*rxrRc`aR3+FX@s+8egRsTsN%?6@pN__<_x zo+LOs+Jt4uMp}%Kis#Fk%20o3h!V;<$5o;dB_{5x9mQ9wdB(Cd)2~b)ykWzl_Mb!O z?Q6I0t-t=X*f@2`t@wOUWhh8(gEXLwPiRrt-m;5SKwxQAi2y<2$$+L6Q6wV`xL0R9cx|Ci%7f5?+ z$cKdOj(j5TLM|e3z*YG?aPB@`($)5QQSTn&@4fa^w)+LbbSFaC-AiA6`jl*rHj>Iz z`aW&@pXr+Hyev*B{?$ppfJzcL#*bia6(c85R{F=c)6jg`id1SX?EBo9yL1Xc4^aqh z=UL&bS~x0v;Ir9ZQdi_zc5hd|NH&#vV2K!c;2ZUzbp0oo)HV4lAEM` zYoDyshvt4-Rh^17q^!!TjVG>b%F(}b(1~MzEHHlc+CTW5PkkL6^Sa-7qV(6N$Zjdt z8M9;ef%+2Cf8Ka!cL!c_x8FxHN{25K;vNeNVM%cF>{M!8V(um=emh%q)nLS}L;aO2 z)-91ZIX^~!kmZv-c7b|gGc9O5u&4iEZ0}i2!UIfFIToHQR}UTc7a|A3+ho48!S6As zicJ}?hxAu6L|el4RH(n}lAMt2bo{owuXND$ab7g7SUaiVOO<C zYDbT!tE>-Fd@USanj@zdlDwHReE4ML>1aB>XE#c&{^4)xDnx$mv9)iG{14uQ&8fc0 zlo|KSTf6MvstR2?0$l#~`X^xoOeA#H^N9csFo+u#>8t_@S)P7fof`G#;HVM{~d+>@lX;O0^_~Uniyn z&LE45+&>4$y5f-@MKiju-am;IqWN^$#pPf6Og^xK;HAP= zdPqqkeGHr0XzwRpakNFpfQyfmLIT|G#tFsI^>@*VS8N%Fhu%h93(v^7eX5xjYAl(sAc_q6&;LTq8v?5)W)OhACoC% zgn8~Q9-ep2ZT@15l(pf|R^{8-uNDPHr(pVph+?In9QEL!1L2SO=wUXgaZ|V$)@{oI zxUGK;2W0nn70mi*>bpOYS%YAJh}~fcNdp-eQ3t$ zabkaXtPX<_1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;{%-_`k&w{TK9Lp_Wm}RyY>+E_A2L}Uvc9*myBPYc<5R@AJ*hx*Jhr5u zHSaqr%~~R{m2F0jb}uOg22@H)Pk*wcEZSVf)F?6Oox7nf;*B8&Z7f>!Zd;sv-ro0h zGyB`Z{y7qR?zyrvFBhVnZ<sohE5IZsj#_h zye6H_^9OHgnZoO&3p!oM<|(k#U6pjdW~ABi9bjusp^1g)|9ND0!IG;*A=hxc%A@I= zNTF=Nv}3c?xcAuUGElv;r1W{UZJtKjF!f;j*^LJNmtFFKoW08C@R%H*jp3a6p1sB9 z%$_&qu46Q)W=H;*Oy!uOzsQi78F}pr9@zelNgQQAeZ1xv_Tfb9LP?VwRdI6QXW)`& z{I}h)%Z>*lquQI|)J8}JUXD($ks>90CMy(dM=v9_J-!SWpkD)z{<>oO~+M z_|%$OVEv-U&DXcFPv6R>6g~a{4c+1UL|40??0hq?iwQ7od-Q%HFi9aDt}o#?eVdyg zr`>gqaG;jRk3DN|6n?kZYPEYPBHG@AJF)Ni*<1m!)cvY=ld4kx7j?kDlt8EN-APEz z-2ts74?{aX4ix;v>a$D^Ma^>#B;m$eNo#NGXFo&ewW-ySdQHqGcp=N=Wy{K?i%yNs z@-z?UQL`jX_N3wwW|0?0l_|p6>Z*uX%Olik(<(hP?x3q!yPsu^y$|YqhZoEraC<)Q zeAGIOR;y4rdA+qtn=5 z|3!nRJDX|S5l7U`XB^{=kHY!w&d8fApKT=V1vRR2o4Mw<`1k!z_;ijNr#G*;&1n&F z(6R287VDstT`G95l0TSleH$Ut#hkk;ww@nTlE|# z520G_kcIj;9@S0_*@g<$+3q$~lR1tHM<>Y5Bo;&6e{4m_Wk0OfW_TIz( zzV}x48DF$TnT<1fPs8}Hnx`Ey$7~ttyGBhXOyQ|&$v%ETnQ(Yht3)U1+ zyN^w!wN%a4Tp>=y1R`xV2cHpz(wUl0UlOJrULALsSvO@2_#DTS1sM=lU?Mn~5cv@l z4a-o|{ZPdGttb~QWig7LXJGzS%sJ1REp2Dq)IVXPn(8B~6(L(QVvhE0jV1Bo`pr8h z28@q^meGH=qgxQTEOp0>ShueHd<9+dIdbE0y7zVNNr;b2H)WH{4s}lbqdG3ABpqUI zI%jNXy|mgCNBYLP-tf5YHE}_iaVDC?oa&%?kZ~zm5LM~uXWCZ=<771k$gkW#RK_m~ z9EDdW3Dys!bC)7_lBeW#-X7MqQriEd>C9;QTJu9?WQn1J_mo|;R9US~QB85PWm(md zVSoFDg=7P5TX5`g1fy@qV0*dQ5~jtgoZcZ5R~OoV`==v0HHm?O$%70w0t~VSx?+ib ze{VG}tWf{DpDTHnpX~Mio;YvT#8SIn%_nh}ZisOi_!k^bCvEF=zSQGh|E?fXu%m0^ z@e(QJG8vxv6Pf4v)f0I=b?b6y=RXn*)I|x>NC&I-39psEbt=~j87Q)-zP?If37ye@!OD6L5yU!y z>of*edr3V=68Pf9y@6o{qIB(XNAo2!JL z^N-#H@as5W|177wxQd$^A0hD2GPGy%5xp8g5q+4IH)T)0Gn|GsV$mUrqj9 zA*nB4qn%6CNsd0D$m4#3fIWI*qE7bIW{;fEEmx|IjtW!LiT}@04{M!i-~4w)+4iGz zni~_9uj$A9k4Fa%8oe5nj7q+4o#ku)M&f5Ikmb}c{oO|QqAhbeAXvm@NbbNLO{ILd zOT8{$DCuVAl`Bqxv&7<~ zI{rF@18Yt_ERFk%53z}*6CI6J)>1g@p*It`&!~6$kie5cej`lJu19pmr`2Dkd=x*J z^c7P`>L8gpzkESK>&Y*idr*ID->U7UdH0&QqjOG<5rnd+qRyyyeNa`4!)XpPP8%-*^%I*2!U0n91hR9o9pSMBJy@+gj6YvuxtW z!udCpqkkc8Ke%BhBPy=QAsaA#=1=(`tEMpPg~nvm(LK^aU+uV?-|_#7XA8LbQilET-eE7j(^VN&-dx+$r3I=AiS0NM%N{PH@59ExKPUc$Kvjr`6Nk07F z>_Rvc1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;h>(yFybuu(+>nqq3gxxi^~adn2qO9`29|e*bS3fDjud`hw9l zFjFE#S~oPACyK%{sN5Vxf4TjMaY|9<#@}sneE44u8v+XgA`&tJHv%03IRe#qNB%@g zo)PBobqVuNh9TeFr|eL9;GhTCsl>IYBde$$aVtH~)_D z8yYl?Z%HDiZE+{gIZ_@zh`i1!!K|K|_E&ntPHIQ-WfpNGV(Ie^Re4%y4d(h%zq@%2 z2O9JICz1?z3Y?j^3Xv-($Kc3;< z{vp*bSvmb?pewxJWTLCB-DGvZu~wP9Zbk6YxN__|{$tE)f$1ETwZGhG+-f=kf^(i| zeU!E$^81oU<(K|7Otj<){CXV8>5e~^A8PTZ{N$5v;pLKi`HoOkPo2bB?Zb#Z;`qt6 zUhtC;Op(+lBuUPHCtGwaPR2Y`elG~*HkKV5lobg+kq>ju(ZPIn&W1-Pnv<K@dT~YXrk(W2GH;(>R*fbjDy< z!@B|QL}Vm&vMgUc27WcVJ>d49qtN`qe{?9M&8PU+FJ|@e^!DaQ!m%em+P-9qn`Yln|D9BTIykT76 z(ZeA8FQwD*xV;ab7)snzG&(0&mHD_Ue6;J7+oOr|seSgIss7Cb$^hy>IPs>(JCXKh zX&iS`e-5|sNW{AglCO7>jAD@mZ%5i$+iBk3zuH2^_1s9B?w{#+yw^d}uVkxC(ukf} zj+JlSn0PxNd2RdP9myNz4xd!cXZr|y4+^;C5&ygiDoW|Id?lFK;ziB!Xpm~nEipjY zF1;-GVFXL9p?7Ti1YQ`{eFOw%)qAd0?ggI)lyhz_BVUqfbj#t@HPDO-2(wKQoh^SY z^jixxX?s)@khta3VcXqPuBO7TN-2z0xqapzQ^I@CO~K05BZO`uNV67+O_!vb@{Zo; zM)G^=zxK%JF{h-=?0X|-Ck5J%^@ev+bv*oE2g$hZ$4-=CO1=*A7fEfkCugLxGt(rF zEN*%8lcut6`N*;&Z@|v?W8b<(c_;x5d$8ok*m%qm6S+xsY_qp+38+fZRV|Nxw35dg zeti(Jg_Vyr_xJgNuI}bHPoJl8cXcTw${JBSpZ}Q}Oxh;u1$5~<%lkf;PH7F6*>$g> z(DmMziJ_NUDAZR=;5Wy*;5=)0=WNrTB-!xTX`=2OM&sw@T4jImPJ*(jqR#8IRQ>!E z>)|U^o)bHl} z%Wj?zGh0SrS-gF&eHPR&E{lD9^W=pWv*5-+<&!!o@qVggqeeEapVv{^m-K18KhR3F zoai}Oso!4UytG8_5?kO|aYBj<{J|=ly7@3`q{(BAm#X=xRS!e(R7>s0T+8xkZ!w<8 zXuHJgE;+4z-QX}B(ZKmMX};U94D3`9goM*H?Io{${c`h(L|%vSl-7@QW;gu_J4@ZQ zQWAC6a-}lk$@%aYdFWi=B9FC!@95K{2c^5`V+J%uGcU`=e?LCZxRem;(0(}heM3wg zCveX6IY00P(&s&_A?>HvFIBPPMv7!2OB_uy33Vk1DVB&nny6nOTB4oV?7H2J91Xjh zkH1FLr`;&jz5i5D?jpP*E$`WDm3ZHW@{@>5%gcGsYCpxUqDSxrqlfDe^o~S_dv{{d z&luHknQ7a!qc~Nw&`ETpFTb7^{&cHL5XfRRd!9+x8MCQv%W0C?xa9% z<;v<33Hi^TZGv~WznJ`9N!D{LuCs@<`8GKe*A!TkTUV`3A$5J-m}PDh?@_erC??MC zQzNL1rgG;YN*kPc=G&u!A|xOb?MZa(d+bfw?LNKy-e;s-@e<)}cjvDEN?fO0eMInp zw{$n2T~L>{W26kn%IREMfy#YPKv%xB^uwOm(9{rUq+wH!}Tx3nx$8>$*3D}2}-+gzhP|~{M4-JN`Y{n!9>M3 zm-v|&R zA)%>d&|y;PJB>Xl;ZXG$>vB4JwvI)*+5eBr&z|~IDaSQpfB@qQ5|c3uD+y>73+sH`_rsTb2bdwt-K7xJnod=i$>(4Zf&gEiO;s% z4i|C1_syfoEBm+3>|lK2QOtB@M6kWVuJ2@4PLsfpFH5`%)RkU2Eq(i>-aI(aMi8Tr zPhZlOJpIgFFXuWdE?Be7-mTzN!v19t9<#4O!JzO--8-T&KNK@#&-^!Mc$FF#k&OJR ze&cUk^{lkLQD+2B>wYUKiKklAQb?Cu)X`r?y8h+S+nZ?*oHXUuSJbCGu3e5Wl1~dB z{a&p<6vxdlHtHoIPed+z*lOiN{%pNYht(_e#hF5BN}Lu`9=;cD#H|C1X(T^=w;W5s zOk0i+54WfTdnME1hN-M}l}8Q_fo?}aOP6nDpsObkeKmeWDK=7YOwzJl-V@!m!fsuWb&@qZ*#ip=Z<`7GUU-# z>qt0jb=s`Ur*nL`=PhYUd`1D9!}mXmf6q(a#ui=|9rJ$sD&>Rh)5wW}R2@%z3}ciJ z?>i^`e{GuFAsQu7{NxcwPWhe7(4{sXP87e%%*^N_i{81a=E5vYJy{Wo&a%b8!Iine zv_7)goIB7H+8{(|)VZ~>@@R>qte~Y}ed%Y@FW#t#Hs298NL~U7Pp-3g0KXRAn4CqJBitPk8T$ysqPv zGwBm99tgA)8^5n4t(NIp(FQx0iy0xx{;Um?u{1S<1~vUKWo&5!56dxS>|!N#rM6tdC~IJ%(mhRYUTx2MO7Qg+%San?RlXf%NqsVRiu(E^C-g^g`rjwp2Mh;f zlWctmwntt)c^Y!B7Ey#EL)t(p zZCqG{C`zwVYt4+zrQJI16ox+*EQx8{w-Odn{M0ZOt?7Ozuhms8;mVfUoh5e9*TahW z@m~h}l&raY{Flp>Y7##`F{SRbO4`YFA%AvXeM(Y|MBn)D-FbdDeIsx69kMN()R}ss zl_UotDP5PcgDs0wJo*>D)xhwHPbEyuD{WmY8&FyZEyP3koUK27hjclutVb6q`Z#VE<2uMyTTRZ-31;A9p2gw(3P z)fN(Vb9t#;G8I$FKOdLU_+{XyCWCj($6`U9^+gJlkLdT=Uu*fPQv<*VYHwqq$-xc;}!^hZvYkP}J1^xa>ScAIK4q#wNevREIu z_l~=wjHI}b=9Fi=kGu;4Mxm+s?k{05ek?fL zw{y`+ZYS?TFkg91dbZDT>)uj&vn%}Jl3wL!MC#ex;|9$5F804y+7FPfF&%F@l@&D` zkmGw15n_c*Tt$rRk(K@9!quMMPbYTM=Etiur2qD!IUX|yP1y8a*5PQfGZF&BTF}aa zX3P6S+5^u`8jAPVrpx$JT-(k5mj3xE5JCH$_>=43mkiY`4*v{{BdZtW^7Skyb|gC{ z7Kr86Mx34?r2N`)bViN)!R|?|Ys%crrE{;z?`79{=Cl_z#@ySB&s-8;ex@5qHLq)` z)#NXEWh7=8&dC+eG%toAw!|LeeAY1W2)=u8&$q(i2QuqE+4&fjd*Ol%y}t8H>yIaO zGVVxgci(wL5-&|TD2EXgn3(JHHB}~t<=(aCP;OH1siPjfzj-D+w}9IwKvVMDL*N_f z7}*(qD%(2`oo=15QlBK5=VRByQtMh1GCF<~3OLEAx?M3ZZIM}x7~Sn=fAG<0MTP41 zX6K+r$nNK=6=OUSXP7=9jVo5WWXpfBLRF>BMzuARwCW=FLc3pTyU9q)(wTOGHF_fBv%IP*p|toa#C2;ls0=^P|v9qqb*{ zWz0A(-F1s-=N}*VXW40G(rY~YFNY0*1pyHW8G##t4uKqjO3N?JSca@^_T_yeyV|6t zGP}f3oT20&eS4Sl{&T7r3IzYv-@8YQgoKux!t>|-Vg;o>xjpawb*%8Q>o%pe*jx{>aR zs}orDEtQ-jyCa&>=J;=4f3pSpx(ybu zwvbRinwm<2)*W$7edJ*2PMW&Ltoyr)S#f+bkvCt6cJzacckSL=WStyU92N2MHp4eM!&EbnJutJ)M_`@E`u=l{n@-lM(dR@oo>pp+Q}Bb757Z4 zA0xLiKhum%K;|5NifHf^riPV(Vu^~ndD`HCtA(pWMZJCl(cF)XcWw>(C|kuSh|E4R zlZb6~GfD2eJSaMAt@%$k^g)(#=7`g7LXInYtAnk%cjWk9kaam*M%qj%O@~2g za9g*6GHc_nSLfnJp2-s;*6Mp2I{n*&Pd4~mj65Gc-2ELH5WuRkoQcZ}bep6j(K>qSu1RLeh zbJ2l4>JLzJP1rO_+7egEE_sQwZI)M+MZ!M0$FS2AQ;ocr{@lAcig3%nSsJ9hDPl~?hy z*HgKN!Ex%|Cx(i}^Yw7hmpIMxpQ~|BT6nVV&z&cPr1@AsuQ}qdc=$sSsMoxC17}}g zZ+tV9^<}A+CoCl3pN^>h%Q=$efc?DX$BTfBg|~7w zj|@7U--mXUq;QS4ysnh<%2()2}eflm6ztCxt3rfK~;UvsAXN8e#4 zH_XR7cYO3z**dM53EYo4@63#CG*Z*ckD*i^!~eO7Jl0y_J~~VMBZ#J#YuK$`XjSwc zStp8(&pDZsMtV)KVd(cw{Dqr2N3x=Z3R(q`rHlk)Iivp8?(@Z=jzX_oLMn@zLP^74 zv&+wza&%7UIz?aZuoP$+Dh@BRqHi7%9a3`eB?dptCJW>0$|P9{1%1uBx)LV@pt-v5!Giru*`9mNqG-QyBXF-dOGpNI;lCKBcT!2C02 zAXGwE%&kO`lqb|<`8-O0V6QAd zj5q9&S}t3-d}t~wj&u%92-QAn`S}9hm{U2eTd$l;V0TE{FQ-tF-t`3c*_?0NuY5fE z^`F+CYkiimyFM>Zz_Pv1mSct@9jN1L9;M`EBNIfDBlCG?S)!VHo=dLZvXJ`g&MAIM zwkT3d4NHaA>E#OP{h)5d|B|EBf5`{s)ICI-O1sPt)ZmGWS$uJ zr#DJx-YO=%<_;$EgOYzFI!x~7JIr&ZUEZF4P3IqpU&IP@co-0m_shf6{dMv)2i)97 z-SGGMq^ox`8}|3(j4lNa$hZCa8WL2U#ZJF|szZ7)+jd)ke@C{`y^;3dZPJmvEq7jt zeun&N}9|wn|B(G@AGpYnejsTFUYfh2 zV}0G#9Ev`RA)J4^`?|jt8}UaLN06(+!irDAX%t2gLfsPwTJA+z0UkvrbE79+v|g@S z!<=Yg2gteze@&w9cIYDu*RN6kMmLPM2iB;0yn1!By;WnK`u5X+N%&VW)n_k#?2>X0 z`#%J=X@=K&46Pp*UMwFTYagVUb{r0`D=y+593dpV$*3@ymtntlXHD7kx-B8Dw#CbP z6`{qXcOXS|Lsz)$N<__}sdq<=>MGCl^B^w!c5s?3(bj-s^>r^rZl>1Q){%~eTm?&n znND_f^YN%)MJ%_xD{ial1Sf{s1ucpV<&aQh2wj75!T_UMD|V9<+CH9G%bN;Aw?-z{ zhre13RlF*Hb>=-3`i4}TBtVe7|N7}0=26Q!HslxfMQiU0j0!2sb?r25GMSoIj)G$9 z9d)-Zb(q)ucHffkU72)pXm1KH_HvSII#L)85^p!GafZaB^EN(gt)t)|-JvHBOIYlC z+QWSkPj$4T^~wh8nw^r)G%jq6$Zz8`RDo&r%d4cxO=tg)|6{kl+ks%%FpQgJOOcTk zvJ1%$Q8pnXBP(PlvXv20iO4R5kUcY!q+}$@$_`~^BqUkoeZR+ZeS!Nr?%!YMk8tvo z4{FBb?8Pa0R@DDu=%}an85|n5IIcY(rYqcdbfbcOuJOU$CH+rRl`Utxqighzq$UWw zdS)cN>N4*U6ghXS_MMSkU;Il)NG*k7>U#ku_95u8EMhHLv z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY>&839IOVlsW28=WrgYEE7(jPEDweoVYRZ5aCG~6Fi*r&-m#+=gyKo(_Qg!tYR|-a{v45i-u=wf zDq?~wVX<&jMw@%gch=-jkYaztagIx;>8Cj?M;=Ky(q*Ur={fL8aCDp{M&q)SRc7GK z9a+`ao{Z}Wj|uGWbjgc}?Gqke>iUxuZPos$vC#gd``5Xtye0DBM*A<;pIcwh(fcMg zImI4%^*8Luy#p7LDb{CebSZQK1viVHaX)+8+Zp66C2`JNXeEYGH%U#e%kRg}kX8B! zmiQ{^7o&>S+Wo^uie?)IwPg_&S8`{c-PVZE&D#@w_K1>tz<%7gXx-Uc&5_@|q9LI1 z#4S?aa5{Y|JDCd8Ho7V9_u86QmxEVQc@u_y?Z0{ch0rkJ&V8Hkt;Do9hb@>h!};=J zGk@%{@rBqXK1sI=*&(UV?38S-j1#zT5Un21Z z2mU(p_zZJZUL*L>b)18eO7f~lHZQ%glPcdG7Z(E69@g^K<9|5(=+{)sl-#X$s(!1h zPnP&duwEF{`1dP^mN77)n)xzQX7c-a!7!KTV8?(Ag?y2(&+gCh2e|fLGAU{sF(W;7 zz3#1Kwr!z)6r+Yqjjbw0h?ID6=)jyuC#>Ii8ahg^Vd*g zvD6BS+qd6dX?pR!94ZvEeLT@NbreKY7w@aaefg(Vm-AufTv6r_1Buz&hu`jw($UA8 zhfqmmij!oVWpa}Fz@GW$&;0Dxm0JGWGspchX=$`Q4rNI0sLDJLOd*^)ZJR72|Bh}g z|7)wCM-lm6P*~2eoTkuYxzK_5Bdg&z{hTJ}(moDdcE81b$9ycRgPQTc7SA}d&m*mf zuK7Ff^A@RTC3tQV1RR(3=290t@s+1)u1JDKR%VQ$?E-@q{pg>*tsH5;kk!yTNeap= zu2+s33Pz}zJf(Q^?Z;OxB}N1C2MQj$P18bz#jW*BT}LT%cn3Nzb=O!No_$WNJIAG> zy*~d;akfn7Yjcnpdqj*pk1$Zd|aXr%JtR%lB9Q)PbeM?t##` zpc`9X=-w4jhTOCJ{Zcq$h||@~{TuVp@2hXPl9^c*3#*>QI|>}K(d?0Iu|#rgJxcmM3_sYVYLaj0e&Jh+ph zkYy|Qe0WD+Uh?hcZM)A>uKAJ46z!#UF|U1yY}q?+9DMj8pe3NiTzfe0Z;hJNCRD7@r4FlVy{+43qKM5=! z*rkgm@E{!Xh)utmvc76e{f<{@`3ePV*Q3k}OrghgUH|Fu-hX3% zd7n#AQWx{~=OGe7dX@~+ouq3r)nzVs#6Er;r;qhh`62RG&Bk*^QQ0bSd}yC!9#yxN z@6$V8+_|~|{dN?w9u}K1XZz!-E;HyHxD>G@#(K-`+j(;7(W{}HV-hvb1qaGR4}NkU z(2Z#h?H0T%_+m+tLVK51K`-&KXm-h%4{7kJtg0RMrRiq(hY|5ctsgs+? zqHj4ocjPhA$7dRvbcZZ$QuF?~H-BNQca3S#u;9r%*C&20aEjsn`JfRRrIVUe?l&~) z)U58DyW!}~XQ0k~_~)X*T)iCsQlKmUD1&+J+vM~MlKeA=8Lmn!pE^JJhVtN&*66E{ zGRZ=cMxuxN+waNVTKHWpr5GZ@Y$8WQMVKEo+Lk(QbU93lT(azS*}*3DzN_8#`mCdr zV#Ke8lge-SovJ0T? zp10p>iR=Ey$6E!@MP%8-PG3Ivo6?89R8uR^V|q|O=IxgZ*696L<5HFfYd%}QZsBhZ z3gRo&54%I!J@H1GXHmz8)~_MSS45m!>U7o2WILHEeU0_ej^?8~%BOGEP4iI>cKQ%a z2dT*&v#`rOP?vP4$?=>0N*|wSj)$kck@YRQFMm$u_MSCre-*G+6kg}?r;)9eGnzZ(+#eeCkpG*V~UB$SH7dsLpg z&3u+>dzkqw^_uU)KLta57sMY3?k+JZPEE?XE!oc`{3tBQVYw9QML~R{*?78l{_vJY zNa4JU^qxl4wjC>nFwJg-B0DT| zCssAuBQkU3Vxy%ktO(>XW0uutgZK1g_(`J(m`_=h4=*s1Gj@G@{Kb{wRle&Sp=l2h z{ifg9(~T`weB5i96ZdK3nPMVpGD);W0#Zk1OP|Z|SIayaoD94(Vo!9bYgL|2S3=0# z*!QK)89nDDmfzdgovuEesNf20bb9QUZ$Nc2xzXkw>ARxH=r>RGHa?idThg2e$SDo8 z{F$ZTF?Tp_ZRVH|xz@-PExs*pW9e^&DZzb?Z#mDKP6c?fuTzOxR*F3*FR^d!Y=OMCIgi>1mtnsPrBC2uTuoF2*Grsx^*3b?Lg(ODG~VxAW8+4REY*4Xy1 zvMCl!H36329jle7ZcB63tPNc_#$mp1PeVA6(yyksssA?CMwk3&x)6^-00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5I9UsOb|dsK;T169D6GuYGy5OJt1Ul-KEA-+_iCKBsTrJ z7~88SQzU`jYMh!kW6hPNxpVjLU8WUDNmUyPauc&Rw|d7hdo6SAg!}lR|KB-5AVfe! zOhO<|z(c@Bz}Y{N`lW-Wfs80n+vSaNkU_ugl(z=qb_vf1Z$#k(ih) zHzkBbfsCG>R3iLi>)m79CV?6J-B^r z-y(~tsPWcX=BJ5TX<7c)zD@1sp#|Clg|^RPL|3b-6&}ehr?8nu`wLW)`tz{lm$P~_ zw8he0+3IGa^6IJQxgo_NuPjR3$1t9n((9+gu%1y7TSMeFwW}Vc^Tm8=VBWw=?ZD-K zzA-1B@-vRq3v?g)CUH~QPg|P%EMd?Yir%Wz>F&nS{h}@R7)M7r4%3`^QkUXnO!oZ2 zjY<>c8$n;~c+;H4KFz*;|Et0D$?uCk84^uxU9HlS`J@j#xA!(TA16r#i!MhgIFwu- z(x3QZug@la>3epd*gw$?pZZ#!^y{WK-wUxgA3spa>>1#7%q&Pk%}av1>Oron3hUj4 z=Re3d$mc)*9&6VGP$gd1Q@YdKXDX)3ZExjo0ylvUQNrndqW!aZ zUd_%OUtZ)(z5Q1+mK(toyK}~?o%XjG=V!Z9wnfD(v599IwhQYXf39Y~>a3{`osIg!s0QP<9BJynD4IclfhcRzeC-H*%xPIual9(r!^osGf+e zex+t*q%Gnm5mLqJV(Z&5@#}Zh)6}ft^;`GHKR&ixq~#Ys(x`ESG2wBPihD)d4}T__ z0TTkJsp<#1h8986#T9Lyc4AdbN4?*qlF8@!f5}O;-hEE6^_$LP_Ts?B$h4L_yvo`~ zLyB`L)Vc_tRLO4>@1&fWxp-w?;%n}TB7;8~+}Dh5xY0yR@TbbKYI@S%wf1>IwVHe6 zbHB6obp4eK>#5i5N7w7}oZ36a{?Sr8+COLv)%x@+y4j3pchW6Ltd=h0&DGlOHI41@ zNA^WG%0@oeUie1tML}ym9iJw3_0|5)lX=OW5$hb+AH`3lO4K;ysm6>s(Hp+Ga*)lh z_k;O>ebp=R-D9Rs-K2J}^04V=f8+Pl9N{c? zY={gh_ypfjK4;G{;9m7v7QcEcGE`29cK(FCes{UX0Amg*M{G?--NwWpaT(X23X43y z%=LIfK3b@%uNF&PwKKGxGiUUX$bZ>vo!AgZ)k*&N`D@dddr1Za(`4nfJ*h0w;WYHk z)?IvJ|87x|*oC#-QMs~&hx)(Wv6`D+-}h`I2d0ojr)9W=AVql zXf?ajn>m8(W)g+-pPsiws>X9F>IeOJEW&!~#mVgbPn5p@le+U)Yt^1;c|JRifI7o@ zT5OraZZ!RC+V}koQl2lrO$0mA@XHSIixL?!hZG@F~)6jqx#itHn0|}w{tNSU(RKAs|vp8l1Q}F7kvJ7 z-}qy$O}c{8@$+u)>8#1w`rqc?AgVd0u+^h9aN*=fRqc>afX^$igXewY9W4V-$zz>TJNxM20uBoDZ5erayyvg{r=mob(5)g7Hs@)q%*}$ zzWtfzXqGF$Bv!yY^g>Ew?#lG|wL-;;eRfOg+axHQH+`(izkft2nvmvuqX9#`x_BSF9_Uip~So z08iI9TKf_Ndi*{;T7R$pk@0}`*|OMI9z1axr>~D`@>O?}J8Ac3#Ybd(Kc0Mdqbs_R zMLq19umn}=ip+NB?I;I6Ex|Kc*CVtR>Q1Y;YcYQ_|LQV-mMgOB_^n%B|GbYx-6JYa zG(9QoLq=+vqc*uel59_7P31S&#f*Iy^Ngv*jsJPa^TcmAuFJOLCvHh2|bErqxI^o&9I4*Og9iIL(K~ zM7M0GlvRyrg6_Hj)xdl(&F;M=tFbFQ^_3CIJ8~a594-~Vce-o1IiIU{lx?TpW^z&8 zA*HFu{+r9s%Og=rJ9?)y`8kjH|M(f6!4fwV?zZ;)@mZRG;byv<2u27%00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV={}};BVq!A=l-sUG;Y&{sn{Dl^AGc_`M$HxB$$hGsZ?m!1+lWU( zss8$}ae}SZl+LyZM!M5Kp5#~h+nyR``d2o0Uh4Sf%$$tcO1goWTF>XB>8v&`qzSaM zt@&pMi35lg=O#@e`@8=Uyik&{j|f-pDV+OobKt<7yWT1WAEHllJ?)#2Oc)&wzqe!lAn*?$T_#H6{#Y*)hFm| zapBdIty;+&5=1HF_HCLLo04~1-;1(e%GGyvt04@yNqCmWi0Os)m8)m|9;hn)b7eX? zi$O5S@ZPqewEPp%n{A4{$_fX_#08RmGb)Rfgin)(3`X3_DrT#mD+nH`-bd(htcWtm zrG(6}R?up|*UTzZ@z~#k-O78%6&d*EX{aOr&~f?bQ9pEve%!hHZ&>5;MiIp$B{Kq} zkRfT0V!7|#mxX+SvkNR5eS8Gn+8!EhpAqcqjL4cS(|a=_<2c^4!s1ZdqW{XZgknVT zuG%B%W%6$eRQsa6`i(|6i-?z6xQezyPVz5)_Fxa=bKGQ#>oC;}64(7RctK%o_WL0U zrGeyYhb}&68+PZKeU64(DM52 zn+JXng?)9kq479$q{4H4t|)1|KY8m#ptAFT`{=pMnd7k@hXd_&BNGc}(z~2=WrXu> zyx$hzoIhcpL++*dx5vs_bAyD4`euCPReUe2BR$r6dDE>*pTf1=W!{ z-k6^FZet&bAm_M*bD8{xL5oHgCfSS!h2N!buf^Le5q8(7eNQDW4G9wKem<_5t@iQc zF7v3n_6 zmOC}32JNX@O}dhI$LL;iQD_L>so^9njZ4e_sNa9)yYXEH%_c8ddC7Ax+H~HAhBDCe zKi{}h7(kVEjZVC8!q$-LrmmK`a6|>y?UdPl9~`De=&5?vV;b)TpS4+ByS450sEB*u zg0xh=b1dI6-oE-UCf;gU;ZGJvBSmdSls>l(_?Nj+Grmat`_+1X;m;A4l7NPT2hJ`~j4KOdD~G3zXLSfg@5iE2UnjsWk{7)S)7n@k@@y95uGqo5qHnfJ8jGge4CeY_q@j3*sJ&X|kNYNz=esj8VP$nz6^_NzQiKpXhVwuHK_xq|tA@BAG)cy&2U*-A6KTB!x zOM#SNCB#47bw%Wx?>JA&pM9O3+-2ik82tHfL$Ji3 z!J_+JqUWy1z55oX&dzU&yqMDW67ke`lzZ+ z=NivEP4$W=wZ+weR!+mpqV@f`KH?)a$<_v%*F*39&}-mO`$?fe=d$;4dnPNbr^x^P zCYjYz#3-vuW~ZZ4*VdQo{B}l7oBq~fzQofhwsI~!VfEknLb=r2UnxJLzTW22tVY)L zqx4Bw?jg?EFI|;>;UBLUKfNI{*OB0Bmq4Jgdd8si4eMFX;);Ltd}c>YL zLM|%ou1^Tkm9KE;2T0zw(dAfl42TZ=VD3|E>FOhJOCgZNv($unH&2J+E*Fb+d)oPF z_nl`!`L_hA9KwD7MYLQmIPhUra7g@I)lqo74-#_M8iD47HypZsG}j8cYKL0dA0%~0vI}C~ zXZOC5Ud?${?%nV2&Ab{M$lUnqr*i$3nNQ0hniB^at;f#s6rIb++#Mid^4fmg={@t% zRrdEx&fH8$t`pJ6f3ifqmvU}rzvyR*xvdg=*h}}T#%CSTlH8P7>p!L0L6J_R=i|aB z2Q+5&b0jL?Ul)(o*m___<9u{Hh3ag25ykDKUiVuJB9=8Vnl)s+bv(Z}DCJglX&yMq zs~hGU7^)n88-0V2&cvVSWS+jlhkpGFJ?hqOj>XZr*4+y}mbAW)pV)=|d>Eu-qLg%x z_d#@&1zTTuyV-PUY(5!puhr-7Trbze#>(mVLwC1s2e>gT*FE}UIF+>_6jrh4aJgLL z$j8f+na_rUXT`2%M>W`Jy^)^{Qg)R{q05^VRq-S_5d6ZZH7&Wf+q+^p^=Z@59)_-+ zQm=!YzJ5x3zo^S3gE!^{h@8b`uHLL)c8pnjPI&(jrB!3PDL*k)#I7yrqdTY4D7Pqn zZAy9OKOK7>6>|FM1O6T+-T?^}j$2fc2J-b>zN`79$8EHhMN6Z<(H9mT$PK@CZfD_D zz>@<-oX6?TpVmel0wKk%=b)$eA`@ADW&yt6}%WR1wuO3MlcZuAzns2Iqu})UD%)hg6Y@F?M zHOs*$GP3V4sX5Ovm6g={Qq#%s_iHNG$6Lwux(~dyoc?ji_Uw6Le(!5tQ?C?W-v}C- zjWo|7Xio`vlK5$Hu!L3IDfZ|W=K}{y2FMfXgnZ{>ubrTL=UlpHt!u=j6wOn|Qom(S zuqYGUf#G?-4Ir@_id55lKnr^g?JPK5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izzz+qxyf&d}{0v}>xm76Ie=Mm}kFsk;p zN1VxGmN(zCH>}^?+c%P9z*@@PKxjb}6~06C{-95csa)lu|KB-5AVfe!OhO<|z(c@B zza_LBB51z3M zOIk@%V*ISxo7TAGU^%|mNLQO&ezuC)jq}OpcB{JLzfT0Nkx6~X@VK-x<Ij z=c#>zN5b9M<@zK3ykRpC9QyP%*Sz5n`+s_{r`yQ69^ElILmucJ)=ZKQ~tMrjJdR z$VQsZJenG7*~t*0RW{|=t)9F{8oOvU$Zq6*GvXzGz0R0WmuYgsi|bK*X&saTzPMb>Y3xTRu& zFf>%P^6+4|pNr3M&mDvQPEm83@Q{y2^zp8@3Ec`tsM0h1J5QAtufEy+6!!9F?{OpB z1j4*~$Nr3sSccsWV7R!DTMyQr7i^hG4%z%zNDH|z9?~vJ zy4K~ao3{6MFvlgSEcK#>>SB-3I#pd&nBZ32K>1qI__vJb2LpeICgfA}T^sdyPQAVB zPB|)7|6xr)d@D@-bFyUqh3`)sBd0bQziMCZ;lIYnZ(|fqQNOyvc~I$S=ZB^u|J5ai zyJwd~JvYE@dxmV~KsizGb{9rD!(ma5@}-VM>hNG?;nRNP zt@B}KcSAo!weoRY5+0he80sAC_O1VAb=2Y2$=QWgVXo6(XW6GnWX&>6W}P~!UO2ra z@1c9E%jRS(LtQ`Nc~PO z=brXo{p5HK)uD6!rM2&xMLQRqyG`unO~!01=a-J#$s9W8v>f`w6#(j?e#J5 z3%_Z}xIPA6`o1?{sloWb=5uS;nSudHk#Hw(x2eO+~^G7EoiHs8D^rJqw=YDec737bdU?D%>%d<$5^32VnDIrDq{v(CYWASuLjyX{p zRJW2DLuOtFzaA2tPIhAQtsCg#H2G3b(lhOOSNuuaVKonG9u1a$vk*<$5mC-St?Ei+ zj$363UYEm;&5ZYc8Exr$B2fAM1MAbBi~;A{s^9!383UAmQCMwwu|5ivDw})|bJk>d z^|?TR(Q@e1x5l&vZyUTcNnIW;}?TQR9xR}4OQo1C`|8a9E=M(!<@Ts#^QF_0$z;(3)PDeg{x&7m-NXAvtMaIK1 zG7{(SNopm(pPTv`LpUF=ef-kSqLxZIx5gCT6W+5wWkWdsp8QNU$aC!F7oXbE$>$z& zieFzQuSDp!E-z1Bmt*_(wXv!DQtWPw|Fc&W!kwi5s06iB%=O>R3(Xd_=+$u@7;>y8 zX02Kf{1v`bD}0zi(jxlwqw5=;?w+4_#x}M>T*kY$1CMGCy?$9w`X}{j@Yq%T&+%+J zzJ&r+p4#7i-Ggf5DAZd{o;ovkDO4)wDfgAO)u(|(%2pDY;o8zG2}Abq3BxrYVNSx6(b7M9^ z<13lzrb_ao=#%ls%fEfupLOl8wvGD8kL--y0paGYxI<*kAE{l5A4^L-i%Obf4L4#Mkok0B?l=JM2JxAH8H>H%&RA2ys*L(A4y_3C3IcA!vT=J)MuPR=6Yv^ggK)j`IFt zJa|IXlCam62uX9kfG$@--8BSKHD#T*D|sSjJ(bL zxgf|KdNKSv5l=i#{lJ4v0(PeA&9Z?CXHl&ygv|jw?pg=e$yBcxZcpbnt@WnRFli-6 z8-D5kGf5c9HtHF4C2;7Cv6;7i*zQXW*Dnt0HxhCXj1YhT1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*#kGXjjn#AN#SO&AL|D@^?5^fJw<>ea?xFRL9LCehxQU-S+lxXrEcD%3cI! zW2vL1EcgLsz_x6i%%2&Kzvc%xe{_m}JMy(SW_L^0s^P)oeRjLwNyC-am6Y_3*X8Dt zrfL~)3m&<}ZPeQoFwZlzl!`?8Rctrkel8pkx%EO@Dax@!e4tHz@Ny-4 z679&leo^6a$DaWg#kv&CUhBqPYdWy$lj1&+OzJUw<;xg**Vx?WUUJc1f^BC@duk4! zu;UirqvP#=ObA>kl%$L+?lk_gDs@+M_1rfdy7c|={mT5LHvUKRBkK7=v?;1S4w-!(o zuZYH{zBdzh`i5VB{8+Kw zz+Wmv#cy*%?Jwo7VB(Fe#E-3#B)0>t8TS3+EdNo<`piF(^m52yx=F5q?R|Qo_k7t^ zEG=Hm-@ZT<5S71Oc&k7&YWMULF;iOC2vyM#VJXdhP2_TBkAsaV>pwVb6yJTJ^-K9x z{!ecr)|W5SRbo!frgph*|FRE%)>uN(9kIIKfipacWmv=1Q2p z7fR7zkWe!SmSxN?zINb^1V^&5y_dW}!F`c=6L%6Fat7ll&9K^7a+e#exh&)pOPm|s z$xB~0PNs(N8LnRo8Yf!2Myyv8;W(i4FzeUCZ`!>lL$xfNqsg9oC4&pS&%|hJlrk!H zC{8W2G`=RZ`yz7r{Ltz`V#1sf{tle7@y%V9Qb4oG%XP#VsX^8He zUxxzRk!aa_DV4%ov`SskkKjU2m-#M`_V=9fp zmoB-!cceS-%cq*vW$7OhAs`@CQ8>2kZDX4&cg3brqpJ8FbUX`zMX}O+H zdVB4cb$-E*!|8m>Y3EWV4(lgxkFj{yoS{4+a(*^v(}k99I5ettpAyaW{okKGD`(th z;mw?nxl+xq*ZS{BLh#K5=Zs4i+UOeXtpn2Qo=Ar*Z9ZK8`Qfk7;C^Krp?6uYo(EWZ zxTU%3);qRmQ2O`Sl?Q3$nZ7P$9k!8>8 z*NnpiDLeYN1?1nzLh0Fp*C2gfi6n0ATF8V z=Jil%Dl4nL?@R^%HcyKznqDuU?w>l@>n7CKmi4JeAmK%%*_pI8{!+jrPV8L716Y43@a+0T; zG2FN>@X5{ZyPhvDkw&gxZk%`&a4Aq_EEtq1o~6WX9q<*W#wbl`i() zNc&bKZy38$sQa2!LRW>*az1@>kn8EYlh&C*QemWJ?#f)0tWr{$KN&|e^ELGeY0q4Y zPcQiM(!0yRT$)7l*^g>Uf5}@kgh+fLR(Qj4j$nxl_8aGANlioG6(nHqgNPp(;8lGx0Sf{xzaPes% zN#`=H^wXE6?+iG8X#dl%bF>g%W;GPuCwqw4Hn}*RVoBjoYu%>?kGRR#Y7WK4mZv-; zM-+^CZZMMtBpr?=C$d~B8;(f7ARX3uB*WrETHi&IkbQ$`ZB0I-`yGTOb)zUAPTp+U zZzHKEn;TZDh$(>)rrQT0rDzFC>@ zH9Kmx-~;Us*5c0S8L_AO8u!9t!)i+7sman+t%aEs?faN6HdTZtk-1TnUr2F(Wf7R3 z{bhNmp~L)1nHPyx)k^zw+QST%!o|8rI%Q?~z9lgw3rQbR$-HJ>rq%N7;Rrp;c@LR< zFSgx$0he=@Ecy1qx zTEPT!xnbLLNw0%QHQ$?;|L(q_&?%&UYPafYZOsK1N_d*FDG&k#I@y=4dwcck{M&Lzy^gh#y z?Q5O=-8{tywq-B8xYappGktzzW&KS=UQ(4xTj8$-g(|^Q(YI+1a(R=zyIv9}?tHo> zG@yB{c%D7?ni^B2D2s?aefrKLIiAh%f;*FX1^<~Y#G?>^00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##4igg-1P~Dr_z)8t5Nw<-JoVgyj(d(ENJeTWR95wU?q!Am4U3aGXR2#Ia?(|@ zjdg!z>1gDg)sV2d@-r^L|NN`_?kOfFp&G0_PFsimf9C{&5CIV}34u5P4*?qi=Yb*d z#OV){51FWzY9>^@-#)(i;;1OG1Xb)8a_7G$|H$b7KTk-=NK8zYtE1OpV-~|&pwJ{X zqO!ZeF8SP!H=sn2%ZE-?&DoMD{Yl@}rov+)>W#g%QTOCHcI)wWdQ-L2_bHkif5pm}| z-VeePE*(1UYNI@&wJ+J5A70CRB||GxMq1lAv6E{wp>f2=HI35v(ygx%yV3G{DQ4^E znBx_-|Gi5YQXcdT;>v4s5?T3JwslX8GDU>d#>z(_-Orn((ehW+osv@WE5*x{hh|HY zA9)!Y^53JCUe}P8Z>KySGgD!^FsD&_XRzMwyuQChOSC|A=GJGSm>+Zjwta**_#URE zi}4=`jb(3-DD>}UBHYp~BXG8{=i75C;^y0yB5qaoWRJKOD?OLEHm~{dX3Ad!Lcg8v zBL`F4R>B81b%xna^%V<$-8tEk%g;j*m?^Zt-dxxg^*N$?Q-X$VM2bvSRZY&R?FF7?^DBjrdKl?jMQ$i(JQqQ{T zxc}t-JfgMX2$n{tm3Ju$f|EOw_7&!y^!EiXpQ+6j3g*6Nx~<7e8Z!4+==Ealk6W&h zk7xZEIa0StzO{IfNQ`NvNsLf=shw};kSKAQcV zSUz&O^-ltMdwimUs^-J>?&RggqeE%A?tUJLG_3Ck?oD1QaoKb!=gyS#68P*a@4vrs z+DnyLpKZ8}cygmH_qp<+Qkm5N^@`&vi2+k2MYYYWq5EWQFGMO;ZEkPB&Z)cjYrII} z)CZ-NDIulKgcaw+W$ohHt}9HOUFTg4#}4FMk2;@Fk^3$|QhH99nda%meODAc$LQx@ z__F9lC51QLlZY*RU6oyxmQ9kgr}*n>NmLf?BR$q%Z8cKs8&7WTO;KEa+Ur1SHh<|r zm9*cNoZ|zJ;w}A@HUtZQvF!N%Wf_X77rRewHaJ!Jm3N73orm(KMBhC*-Or;#C!Uzy z;?ojws2{d??crn5eLK{xI#|J@*TwUzw7 ztv}y}w!j3N|AmUPzx>0lY6-JFCy0-KEnj}Np>KY{OogTVO`z!GHt4V_2L@_lVuW&1hko+f-L>IxDY)g!*A)bD@4&7&sd4NiXKk2p^3wYXS!TU$o)2c5~Q434(D9A{Rf{~cswqAiT>rp;uP zV?W&X(90=d@8UYs1F}pP$&%BX_YLIY?M9ELkqJ)!4P{&Yb+NL>Kv!OQo_OyZ@w&>v z6Yd-OALb-vyLnk2F~p9n6OuS`Ex$=ReLRNNf3$J5B%AAyt!bC+(2L3>`ALD|mY5WCLd2a>TzKJ*Ze z(PcT@Yw&9+3o|~gl&wHE9wKvYTA8Tl?fQbOWZJA^``!HGIW#tz*5tuvwL#xHUwlM&H-4y4)bu9^QQ@@*2rU zql3#yRgWLG9Pe1;5Ex+8axfXCIK;WCHZo%`QyZB^OVr6GdYwj^KbP+lOPEOTgSZ}A zcgyKBqTiIx39KGCtLn+BMOE&2pPSCcGA%vz;_unowO8x;)FI?IGKucY>QM$C_Htls zXh_w4;oCGc*lO1M@0n{Y*@>YkNHbP1jyH*R&)GySRy;<~jP!TfGcQ&X8LfFPOhA2~^BZKOL0d`rwiN zGkj~$nD1nz$`_FXiqC(lDmWz(#1G}fOO!uj&|OvEW3J3e5?H!S#OoycC+LI_k&C$) zDe=@C<<->mJfqdOe^@oc8oCzUi)3A5MGCAOMa`bsIG=Z(QF4-NlmDWz_?VThk2py>;KO z)s-0+_B%8}dNhjpXtAZYZ{~&XtWwi&93olXTC1t=-#XDH#dpWY{*zp>eYT>uu!Byy zt5QAZHOcqi`zlKcC00`$2gtn-3dne#YW9=mE)(?;?JgT-P87dOl%JUA%FlaCCS7~}%cy!p&F3!e zx{me_Nqu3%7Z>{;Fqzbc-OJEqDG;TI^Zc#e>6FGAql%Z9vIFQ$ZyaAjFhT$V5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00I#B&j>IQ6O-v5 z66IJvO=cMxSbkq6o$0g3w-i2({l~w%fqX4Xl*sk6AQX z#3~mW2@Dk88!>m9Hc*dXzjx-IPD6ih&d9QP2;W#2R*UlGJyiT_kY zqb40-b}{7Eq}IXm3%|Y9cL)g8i<^(Gum!xAwCFt&%>Bu!Yn`WHe3#n{Hc}(K ze*A!naJ4Ld3~v7)6RmD(f){MY2Nn zO!QP%WhcCJTrxW2q*O*p*V4&4S27AA70(~?eE)>c`=^h@p*MP)qs|VM(qv;UJvUZ+ zU4Gylx#DhMZKYQUu}$T+a+-YKmaWpqwP((rFQf_Gv!pIobhUh(}l*ZI2~7SqbhMhxYoRc^ln8oqhfBk zlArW>;#7@<$KD9q#N!(z$;|<6g6bt)T`%-?9)eKyfoPH0GI zXKGOdlYV3#Q%PtG8@ysB7ZxVWx8yCRtKCzn`I5IGx-M`x$47t_+CcXhDy_~grkKV@ z-`B6H^jI2JE_eDG`AY3er0$USMn%Tx2eOlf{H^u%l-^v%hxxj*e(uA23Y?xrsXjhY zlSSX+FY7gv)LU;fXK$xhCr5Y4Q4>LyUE;CM2qrwxhWI zsXML(i(TToer-A{LFM`-P^eW^>CHtBbs4pYoof&-k7qDqU!83%-!?zs881B>#Lo>~X zLu|o||B!>!18SU46P?Yk%dgb4Ddo)h)1{5htFmu*cNX-eJC;uiwg`qdNxH2$HY=TW zMJ`CRup@dQ{GpyPXSLS9)Ena+nSx(CTuQ@JTP4J$^V-4`i<Z$Vt!y{?a&)+&YXHUP3OzmbQE+E+>=w=%VfyKDP@mmCG6$~6TSqWWlyPO^Ied87vHzh zxaE4uh&i8dbGvikaFf>jK9kU!wkK(QMXLJux;tand$b1RFUWs>y{Yn_Gnz~_qCRtG zgikcDm|45l^5Xfb$5}EXpHv z>r(*|HdOoDFGdZ2~|YDZ`MlqRWj56?fAIz@+;1~bM7_U%N*YE{wF1m zof>WAKO62^RDV==b+4Vxe#*LyjhuO^)6Qb0BhvAO$G<%mGmX?vdLMpDh3Q!l?e(Cy zlRA62omMG%tu{zW?>Z@{Mv1)8prmVJ_?Q9_xUf&+`OGlq`Xyjla=j1?z!7B9Slpp@cOix@%D`E zl-qJ^ZJ^D_xG$k4!m(Y%;6ODY$&N2=&!MEL!zB4wy{t8Hl5e;BP4Rr33ohJUe_X14 zcgB#;KrX8^bCva!gmnMX8K=)?t#hk$o8xP&mPZ~;P0#8b9V(a*$e0naH7)3*l{E+a zST9Mn=H~8NSFTF!d47|1XvaQ9t&JB49G}>4rxJ9ut<4&A4De^Z39obMD{ z*X+07VQKq#?o@xCtfj8uWl!IFe`dR5jtRSSNFPH_rBFUwkKjM-3= zoXj=O-8y+O%DigvcksrqZjArU7a|k_5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00jQ`0!IG< DA?e?n literal 0 HcmV?d00001 diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java index 63d2c22b1d..a1bcf842db 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsHandshakeBM.java @@ -15,11 +15,13 @@ */ package io.aklivity.zilla.runtime.binding.tls.internal.bench; -import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_DIRECTORY; +import static io.aklivity.zilla.runtime.engine.EngineConfiguration.ENGINE_CONFIG_URL; import static io.aklivity.zilla.runtime.engine.config.KindConfig.CLIENT; import static io.aklivity.zilla.runtime.engine.config.KindConfig.SERVER; import static java.util.concurrent.TimeUnit.SECONDS; +import java.net.URL; +import java.util.List; import java.util.Properties; import org.agrona.MutableDirectBuffer; @@ -42,12 +44,14 @@ import org.openjdk.jmh.runner.options.Options; import org.openjdk.jmh.runner.options.OptionsBuilder; +import io.aklivity.zilla.runtime.binding.tls.config.TlsOptionsConfig; import io.aklivity.zilla.runtime.binding.tls.internal.types.stream.BeginFW; import io.aklivity.zilla.runtime.binding.tls.internal.types.stream.WindowFW; import io.aklivity.zilla.runtime.engine.EngineConfiguration; import io.aklivity.zilla.runtime.engine.binding.BindingHandler; import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; import io.aklivity.zilla.runtime.engine.config.NamespaceConfig; +import io.aklivity.zilla.runtime.vault.filesystem.config.FileSystemOptionsConfig; @State(Scope.Benchmark) @BenchmarkMode(Mode.Throughput) @@ -70,22 +74,49 @@ public class TlsHandshakeBM public void init() { final Properties properties = new Properties(); - properties.setProperty(ENGINE_DIRECTORY.name(), "target/zilla-bm"); + URL configURL = TlsHandshakeBM.class.getClassLoader().getResource("io/aklivity/zilla/specs/binding/tls/config"); + properties.setProperty(ENGINE_CONFIG_URL.name(), String.format("%s/zilla.yaml", configURL.toString())); final EngineConfiguration config = new EngineConfiguration(properties); this.worker = new TlsWorker(config); NamespaceConfig namespace = NamespaceConfig.builder() .name("tls") + .vault() + .name("server") + .type("filesystem") + .options(FileSystemOptionsConfig.builder() + .keys() + .store("stores/server/keys") + .type("pkcs12") + .password("generated") + .build() + .trust() + .store("stores/client/trust") + .type("pkcs12") + .password("generated") + .build() + .build()) + .build() .binding() .name("tls_client0") .type("tls") .kind(CLIENT) + .vault("server") + .options(TlsOptionsConfig.builder() + .trust(List.of("serverca")) + .sni(List.of("localhost")) + .build()) .exit("tls_server0") .build() .binding() .name("tls_server0") .type("tls") .kind(SERVER) + .vault("server") + .options(TlsOptionsConfig.builder() + .keys(List.of("localhost")) + .version("tls") + .build()) .exit("echo_server0") .build() .binding() diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java index 10207b76a8..3127a66783 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java @@ -18,8 +18,10 @@ import static io.aklivity.zilla.runtime.engine.internal.stream.StreamId.isInitial; import static java.lang.ThreadLocal.withInitial; import static java.nio.charset.StandardCharsets.UTF_8; +import static org.agrona.LangUtil.rethrowUnchecked; import java.net.InetAddress; +import java.net.MalformedURLException; import java.net.URL; import java.nio.channels.SelectableChannel; import java.time.Clock; @@ -63,6 +65,9 @@ import io.aklivity.zilla.runtime.engine.model.ConverterHandler; import io.aklivity.zilla.runtime.engine.model.ValidatorHandler; import io.aklivity.zilla.runtime.engine.poller.PollerKey; +import io.aklivity.zilla.runtime.engine.vault.Vault; +import io.aklivity.zilla.runtime.engine.vault.VaultContext; +import io.aklivity.zilla.runtime.engine.vault.VaultFactory; import io.aklivity.zilla.runtime.engine.vault.VaultHandler; public class TlsWorker implements EngineContext @@ -73,10 +78,14 @@ public class TlsWorker implements EngineContext private final BufferPool bufferPool; private final Long2ObjectHashMap handlers; private final Object2ObjectHashMap bindings; + private final Long2ObjectHashMap vaultHandlers; + private final Object2ObjectHashMap vaults; private final Long2ObjectHashMap streamsById; private final Long2ObjectHashMap throtllesById; private final BindingFactory factory; + private final VaultFactory vaultFactory; private final Configuration config; + private final URL configURL; private final TlsSignaler signaler; @@ -96,12 +105,16 @@ public TlsWorker( .readonly(false) .build() .bufferPool(); + this.configURL = config.configURL(); this.signaler = new TlsSignaler(); this.factory = BindingFactory.instantiate(); + this.vaultFactory = VaultFactory.instantiate(); this.bindings = new Object2ObjectHashMap<>(); this.handlers = new Long2ObjectHashMap<>(); + this.vaultHandlers = new Long2ObjectHashMap<>(); + this.vaults = new Object2ObjectHashMap<>(); this.streamsById = new Long2ObjectHashMap<>(); this.throtllesById = new Long2ObjectHashMap<>(); } @@ -335,7 +348,7 @@ public GuardHandler supplyGuard( public VaultHandler supplyVault( long vaultId) { - return null; + return vaultHandlers.get(vaultId); } @Override @@ -370,7 +383,16 @@ public ConverterHandler supplyWriteConverter( public URL resolvePath( String path) { - return null; + URL resolved = null; + try + { + resolved = new URL(configURL, path); + } + catch (MalformedURLException ex) + { + rethrowUnchecked(ex); + } + return resolved; } @Override @@ -420,6 +442,15 @@ public void doWork() public void attach( NamespaceConfig namespace) { + namespace.vaults.forEach(v -> + { + Vault vault = supplyVault(v.type); + VaultContext context = vault.supply(this); + VaultHandler handler = context.attach(v); + + vaultHandlers.put(crc32c(v.name), handler); + }); + namespace.bindings.stream() .peek(b -> b.id = crc32c(b.name)) .map(b -> b.routes) @@ -431,6 +462,7 @@ public void attach( { Binding binding = supplyBinding(b.type); BindingContext context = binding.supply(this); + b.vaultId = b.vault != null ? crc32c(b.vault) : 0L; BindingHandler handler = context.attach(b); handlers.put(b.id, handler); @@ -493,19 +525,22 @@ private void handleWrite( streamsBuffer.write(msgTypeId, buffer, index, length); } - private void handleEventWrite( - int msgTypeId, - DirectBuffer buffer, - int index, - int length) + private Binding supplyBinding( + String type) { - streamsBuffer.write(msgTypeId, buffer, index, length); + return bindings.computeIfAbsent(type, this::createBinding); } - private Binding supplyBinding( + private Vault supplyVault( String type) { - return bindings.computeIfAbsent(type, this::createBinding); + return vaults.computeIfAbsent(type, this::createVault); + } + + private Vault createVault( + String type) + { + return vaultFactory.create(type, config); } private Binding createBinding( From 485dd848093788c06ac4b07cdabbc2acaa873589 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Wed, 1 May 2024 11:03:35 -0700 Subject: [PATCH 11/12] Apply feedback --- buffers0 | Bin 4194820 -> 0 bytes .../binding/tls/internal/bench/TlsWorker.java | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 buffers0 diff --git a/buffers0 b/buffers0 deleted file mode 100644 index e5f7ccd4c0e22ab5f13db5ae4eb6650b5776cf8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4194820 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

&)WO137}p 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 DA?e?n diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java index 3127a66783..418cd0e423 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java @@ -582,7 +582,7 @@ public long signalAt( { handler.accept(signalId); - return System.currentTimeMillis(); + return NO_CANCEL_ID; } @Override From a0c2cea3fb4e75738d46f66c21a08c06228e9745 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Wed, 1 May 2024 11:07:16 -0700 Subject: [PATCH 12/12] Replace current timestamp with NO_CANCEL_ID --- .../zilla/runtime/binding/tls/internal/bench/TlsWorker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java index 418cd0e423..8f0ad77e20 100644 --- a/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java +++ b/runtime/binding-tls/src/test/java/io/aklivity/zilla/runtime/binding/tls/internal/bench/TlsWorker.java @@ -597,7 +597,7 @@ public long signalAt( { signal(originId, routedId, streamId, 0L, 0L, traceId, NO_CANCEL_ID, signalId, contextId); - return System.currentTimeMillis(); + return NO_CANCEL_ID; } @Override