From db22f0de5bdae714ab2704af36e2a29c1736a66e Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Fri, 12 Feb 2021 22:08:48 -0500 Subject: [PATCH 01/15] Add first working iteration of tendermint-light-client-js crate Signed-off-by: Thane Thomson --- Cargo.toml | 1 + light-client-js/Cargo.toml | 47 +++++ light-client-js/README.md | 3 + .../examples/verifier-web/README.md | 62 ++++++ .../examples/verifier-web/bootstrap.js | 5 + .../examples/verifier-web/index.html | 106 ++++++++++ .../examples/verifier-web/index.js | 186 ++++++++++++++++++ .../examples/verifier-web/package.json | 43 ++++ .../examples/verifier-web/webpack.config.js | 27 +++ light-client-js/src/lib.rs | 88 +++++++++ light-client-js/src/utils.rs | 10 + light-client-js/tests/web.rs | 13 ++ 12 files changed, 591 insertions(+) create mode 100644 light-client-js/Cargo.toml create mode 100644 light-client-js/README.md create mode 100644 light-client-js/examples/verifier-web/README.md create mode 100644 light-client-js/examples/verifier-web/bootstrap.js create mode 100644 light-client-js/examples/verifier-web/index.html create mode 100644 light-client-js/examples/verifier-web/index.js create mode 100644 light-client-js/examples/verifier-web/package.json create mode 100644 light-client-js/examples/verifier-web/webpack.config.js create mode 100644 light-client-js/src/lib.rs create mode 100644 light-client-js/src/utils.rs create mode 100644 light-client-js/tests/web.rs diff --git a/Cargo.toml b/Cargo.toml index 3541dc634..98d063750 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,7 @@ members = [ "light-client", + "light-client-js", "light-node", "p2p", "proto", diff --git a/light-client-js/Cargo.toml b/light-client-js/Cargo.toml new file mode 100644 index 000000000..97e7a8753 --- /dev/null +++ b/light-client-js/Cargo.toml @@ -0,0 +1,47 @@ +[package] +name = "tendermint-light-client-js" +version = "0.18.1" +authors = [ + "Romain Ruetschi ", + "Thane Thomson " +] +edition = "2018" +license = "Apache-2.0" +description = """ + tendermint-light-client-js provides a lightweight, WASM-based interface to + the Tendermint Light Client's verification functionality. + """ +repository = "https://github.com/informalsystems/tendermint-rs" + +[lib] +crate-type = ["cdylib", "rlib"] + +[features] +default = ["console_error_panic_hook"] + +[dependencies] +serde = { version = "1.0", features = [ "derive" ] } +serde_json = "1.0" +tendermint = { version = "0.18.1", path = "../tendermint" } +tendermint-light-client = { version = "0.18.1", path = "../light-client", default-features = false } +wasm-bindgen = { version = "0.2.63", features = [ "serde-serialize" ] } + +# The `console_error_panic_hook` crate provides better debugging of panics by +# logging them with `console.error`. This is great for development, but requires +# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for +# code size when deploying. +console_error_panic_hook = { version = "0.1.6", optional = true } + +# `wee_alloc` is a tiny allocator for wasm that is only ~1K in code size +# compared to the default allocator's ~10K. It is slower than the default +# allocator, however. +# +# Unfortunately, `wee_alloc` requires nightly Rust when targeting wasm for now. +wee_alloc = { version = "0.4.5", optional = true } + +[dev-dependencies] +wasm-bindgen-test = "0.3.13" + +[profile.release] +# Tell `rustc` to optimize for small code size. +opt-level = "s" diff --git a/light-client-js/README.md b/light-client-js/README.md new file mode 100644 index 000000000..df550cd75 --- /dev/null +++ b/light-client-js/README.md @@ -0,0 +1,3 @@ +# Light-Client API for JavaScript + +At present this just exposes the Light Client's verification logic via WASM. diff --git a/light-client-js/examples/verifier-web/README.md b/light-client-js/examples/verifier-web/README.md new file mode 100644 index 000000000..280330d94 --- /dev/null +++ b/light-client-js/examples/verifier-web/README.md @@ -0,0 +1,62 @@ +# Web-Based Light Client Verification + +This folder contains a simple *example* web application demonstrating +Tendermint Light Client verification. + +## Requirements + +* Rust stable latest +* NodeJS (tested with v14.15.5) +* [wasm-pack] + +## Try it out + +You first need to build a few things before you can try this example out +locally. + +### Step 1: Building the WASM binary + +From the [`light-client-js` folder](../../): + +```bash +wasm-pack build +``` + +This will build our WASM binary and JavaScript/TypeScript wrappers and place +them into a `pkg` directory. + +### Step 2: Build/run the example + +From this directory (`light-client-js/examples/verifier-web`): + +```bash +# Install all dependencies +npm install + +# Build/start the example app +npm run start +``` + +This should build the example and start a server at http://localhost:8080 + +### Step 3: Input your data + +Copy/paste the JSON representation of a trusted block alongside that of the +untrusted block you wish to verify into the supplied editors. Configure your +desired Light Client parameters, as well as the timestamp at which you want to +check whether the untrusted block is trustworthy, and click the **Verify** +button. + +This will show you the raw JSON object received back from the verifier. + +## Limitations + +1. This example only demonstrates *verification*, and is pretty manual right + now (you must manually copy/paste the JSON representations of untrusted and + trusted blocks, and supply options/timestamps manually). No network I/O + happens here, so bring your own I/O to fetch light blocks. +2. The WASM binary built in step 1 only works for bundled web applications + (e.g. using [webpack]). + +[wasm-pack]: https://rustwasm.github.io/docs/wasm-pack/introduction.html +[webpack]: https://webpack.js.org/ diff --git a/light-client-js/examples/verifier-web/bootstrap.js b/light-client-js/examples/verifier-web/bootstrap.js new file mode 100644 index 000000000..7934d627e --- /dev/null +++ b/light-client-js/examples/verifier-web/bootstrap.js @@ -0,0 +1,5 @@ +// A dependency graph that contains any wasm must all be imported +// asynchronously. This `bootstrap.js` file does the single async import, so +// that no one else needs to worry about it again. +import("./index.js") + .catch(e => console.error("Error importing `index.js`:", e)); diff --git a/light-client-js/examples/verifier-web/index.html b/light-client-js/examples/verifier-web/index.html new file mode 100644 index 000000000..88d5cdce5 --- /dev/null +++ b/light-client-js/examples/verifier-web/index.html @@ -0,0 +1,106 @@ + + + + + + Tendermint Light Client WASM Example + + + + +
+
+

Tendermint Light Client WASM Example

+

+ This example demonstrates how to make use of the + Tendermint Light Client + WASM build in a simple web application. +

+
+
+ +
+
+
+
+

Untrusted Block

+
+
+ +
+

Trusted Block

+
+
+
+
+
+ +
+
+

Options

+
+
+
+ +
+ +
+

Must be in the format: numerator/denominator

+
+
+ +
+
+ +
+ +
+

A.k.a. "unbonding period", in seconds

+
+
+ +
+
+ +
+ +
+

In seconds

+
+
+ +
+
+ +
+ +
+

Timestamp in RFC3339 format for which you want to verify the block

+
+
+
+
+
+ +
+
+ +
+
+ +
+
+

Verdict

+

+  
+
+ + + diff --git a/light-client-js/examples/verifier-web/index.js b/light-client-js/examples/verifier-web/index.js new file mode 100644 index 000000000..42890cf00 --- /dev/null +++ b/light-client-js/examples/verifier-web/index.js @@ -0,0 +1,186 @@ +import * as monaco from 'monaco-editor'; +import * as LightClient from 'tendermint-light-client-js'; + +let untrustedBlockEditor = monaco.editor.create(document.getElementById("untrusted-block-editor"), { + value: JSON.stringify({ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "4", + "time": "1970-01-01T00:00:04Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "C8CFFADA9808F685C4111693E1ADFDDBBEE9B9493493BEF805419F143C5B0D0A", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "4", + "round": 1, + "block_id": { + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A", + "part_set_header": { + "total": 1, + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:04Z", + "signature": "lTGBsjVI6YwIRcxQ6Lct4Q+xrtJc9h3648c42uWe4MpSgy4rUI5g71AEpG90Tbn0PRizjKgCPhokPpQoQLiqAg==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "C479DB6F37AB9757035CFBE10B687E27668EE7DF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3wf60CidQcsIO7TksXzEZsJefMUFF73k6nP1YeEo9to=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" + }, null, 2), + language: 'json', + minimap: { enabled: false } +}); + +let trustedBlockEditor = monaco.editor.create(document.getElementById("trusted-block-editor"), { + value: JSON.stringify({ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "3", + "time": "1970-01-01T00:00:03Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "3", + "round": 1, + "block_id": { + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793", + "part_set_header": { + "total": 1, + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:03Z", + "signature": "xn0eSsHYIsqUbmfAiJq1R0hqZbfuIjs5Na1c88EC1iPTuQAesKg9I7nXG4pk8d6U5fU4GysNLk5I4f7aoefOBA==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" + }, null, 2), + language: 'json', + minimap: { enabled: false } +}); + +document.getElementById('verify-btn').addEventListener('click', function() { + let untrusted = JSON.parse(untrustedBlockEditor.getValue()); + let trusted = JSON.parse(trustedBlockEditor.getValue()); + let trustThreshold = document.getElementById('trust-threshold-input').value; + let trustThresholdParts = trustThreshold.split("/"); + if (trustThresholdParts.length !== 2) { + window.alert("Expected trust threshold to be of the format \"numerator/denominator\""); + return; + } + let trustThresholdNum = parseInt(trustThresholdParts[0].trim(), 10); + let trustThresholdDen = parseInt(trustThresholdParts[1].trim(), 10); + let trustingPeriod = parseInt(document.getElementById('trusting-period-input').value, 10); + let clockDrift = parseInt(document.getElementById('clock-drift-input').value, 10); + let now = document.getElementById('now-input').value; + + let options = { + trust_threshold: [trustThresholdNum, trustThresholdDen], + trusting_period: trustingPeriod, + clock_drift: clockDrift + }; + + console.log("Untrusted block:", untrusted); + console.log("Trusted block:", trusted); + console.log("Options:", options); + console.log("Now:", now); + + let verdict = LightClient.verify(untrusted, trusted, options, now); + + document.getElementById('verdict').innerText = JSON.stringify(verdict, null, 2); + document.getElementById('verdict-section').style.visibility = 'visible'; +}); diff --git a/light-client-js/examples/verifier-web/package.json b/light-client-js/examples/verifier-web/package.json new file mode 100644 index 000000000..e83779b10 --- /dev/null +++ b/light-client-js/examples/verifier-web/package.json @@ -0,0 +1,43 @@ +{ + "name": "create-wasm-app", + "version": "0.1.0", + "description": "create an app to consume rust-generated wasm packages", + "main": "index.js", + "bin": { + "create-wasm-app": ".bin/create-wasm-app.js" + }, + "scripts": { + "build": "webpack --config webpack.config.js", + "start": "webpack-dev-server" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/rustwasm/create-wasm-app.git" + }, + "keywords": [ + "webassembly", + "wasm", + "rust", + "webpack" + ], + "author": "Ashley Williams ", + "license": "(MIT OR Apache-2.0)", + "bugs": { + "url": "https://github.com/rustwasm/create-wasm-app/issues" + }, + "homepage": "https://github.com/rustwasm/create-wasm-app#readme", + "devDependencies": { + "copy-webpack-plugin": "^5.1.2", + "css-loader": "^5.0.2", + "file-loader": "^6.2.0", + "monaco-editor-webpack-plugin": "^3.0.0", + "style-loader": "^2.0.0", + "webpack": "^4.46.0", + "webpack-cli": "^3.3.12", + "webpack-dev-server": "^3.11.2" + }, + "dependencies": { + "monaco-editor": "^0.22.3", + "tendermint-light-client-js": "file:../../pkg" + } +} diff --git a/light-client-js/examples/verifier-web/webpack.config.js b/light-client-js/examples/verifier-web/webpack.config.js new file mode 100644 index 000000000..09a1447a9 --- /dev/null +++ b/light-client-js/examples/verifier-web/webpack.config.js @@ -0,0 +1,27 @@ +const CopyWebpackPlugin = require("copy-webpack-plugin"); +const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin'); +const path = require('path'); + +module.exports = { + entry: "./bootstrap.js", + output: { + path: path.resolve(__dirname, "dist"), + filename: "bootstrap.js", + }, + module: { + rules: [{ + test: /\.css$/, + use: ['style-loader', 'css-loader'] + }, { + test: /\.ttf$/, + use: ['file-loader'] + }] + }, + mode: "development", + plugins: [ + new CopyWebpackPlugin(['index.html']), + new MonacoWebpackPlugin({ + languages: ["json"] + }) + ], +}; diff --git a/light-client-js/src/lib.rs b/light-client-js/src/lib.rs new file mode 100644 index 000000000..31a4accfe --- /dev/null +++ b/light-client-js/src/lib.rs @@ -0,0 +1,88 @@ +mod utils; + +use serde::{Deserialize, Serialize}; +use std::time::Duration; +use tendermint::Time; +use tendermint_light_client::components::verifier::{ProdVerifier, Verifier}; +use tendermint_light_client::light_client::Options; +use tendermint_light_client::types::{LightBlock, TrustThreshold}; +use wasm_bindgen::prelude::*; +use wasm_bindgen::JsValue; + +// When the `wee_alloc` feature is enabled, use `wee_alloc` as the global +// allocator. +#[cfg(feature = "wee_alloc")] +#[global_allocator] +static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; + +/// Check whether a given untrusted block can be trusted. +#[wasm_bindgen] +pub fn verify(untrusted: &JsValue, trusted: &JsValue, options: &JsValue, now: &JsValue) -> JsValue { + let result = deserialize_params(untrusted, trusted, options, now).map( + |(untrusted, trusted, options, now)| { + let verifier = ProdVerifier::default(); + verifier.verify(&untrusted, &trusted, &options, now) + }, + ); + JsValue::from_serde(&result).unwrap() +} + +fn deserialize_params( + untrusted: &JsValue, + trusted: &JsValue, + options: &JsValue, + now: &JsValue, +) -> Result<(LightBlock, LightBlock, Options, Time), Error> { + let untrusted = untrusted.into_serde().map_err(|e| Error::Serialization { + param: "untrusted".to_string(), + msg: e.to_string(), + })?; + + let trusted = trusted.into_serde().map_err(|e| Error::Serialization { + param: "trusted".to_string(), + msg: e.to_string(), + })?; + + let options = options + .into_serde::() + .map(Into::into) + .map_err(|e| Error::Serialization { + param: "options".to_string(), + msg: e.to_string(), + })?; + + let now = now.into_serde().map_err(|e| Error::Serialization { + param: "now".to_string(), + msg: e.to_string(), + })?; + + Ok((untrusted, trusted, options, now)) +} + +/// Errors produced by this crate. +#[derive(Serialize, Deserialize)] +#[serde(tag = "type")] +pub enum Error { + /// A serialization/deserialization error occurred. + #[serde(rename = "serialization")] + Serialization { param: String, msg: String }, +} + +// Simplified options supplied from JavaScript. +#[derive(Debug, Serialize, Deserialize)] +struct JsOptions { + pub trust_threshold: (u64, u64), + pub trusting_period: u64, + pub clock_drift: u64, +} + +impl From for Options { + fn from(o: JsOptions) -> Self { + let (num, den) = o.trust_threshold; + Self { + trust_threshold: TrustThreshold::new(num, den).unwrap(), + trusting_period: Duration::from_secs(o.trusting_period), + clock_drift: Duration::from_secs(o.clock_drift), + } + } +} diff --git a/light-client-js/src/utils.rs b/light-client-js/src/utils.rs new file mode 100644 index 000000000..b1d7929dc --- /dev/null +++ b/light-client-js/src/utils.rs @@ -0,0 +1,10 @@ +pub fn set_panic_hook() { + // When the `console_error_panic_hook` feature is enabled, we can call the + // `set_panic_hook` function at least once during initialization, and then + // we will get better error messages if our code ever panics. + // + // For more details see + // https://github.com/rustwasm/console_error_panic_hook#readme + #[cfg(feature = "console_error_panic_hook")] + console_error_panic_hook::set_once(); +} diff --git a/light-client-js/tests/web.rs b/light-client-js/tests/web.rs new file mode 100644 index 000000000..de5c1dafe --- /dev/null +++ b/light-client-js/tests/web.rs @@ -0,0 +1,13 @@ +//! Test suite for the Web and headless browsers. + +#![cfg(target_arch = "wasm32")] + +extern crate wasm_bindgen_test; +use wasm_bindgen_test::*; + +wasm_bindgen_test_configure!(run_in_browser); + +#[wasm_bindgen_test] +fn pass() { + assert_eq!(1 + 1, 2); +} From 4824f1d20fde7c0efe4e0fd7f96823a094db2329 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Fri, 12 Feb 2021 22:09:14 -0500 Subject: [PATCH 02/15] Serialize/deserialize verification verdicts Signed-off-by: Thane Thomson --- light-client/src/components/verifier.rs | 9 +++++---- light-client/src/predicates/errors.rs | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/light-client/src/components/verifier.rs b/light-client/src/components/verifier.rs index b25177dac..92ec07ee7 100644 --- a/light-client/src/components/verifier.rs +++ b/light-client/src/components/verifier.rs @@ -11,10 +11,11 @@ use crate::{ types::{LightBlock, Time}, }; use preds::{errors::VerificationError, ProdPredicates, VerificationPredicates}; +use serde::{Deserialize, Serialize}; /// Represents the result of the verification performed by the -/// verifier component. -#[derive(Debug)] +/// verifier-web component. +#[derive(Debug, Serialize, Deserialize)] pub enum Verdict { /// Verification succeeded, the block is valid. Success, @@ -35,7 +36,7 @@ impl From> for Verdict { } } -/// The verifier checks: +/// The verifier-web checks: /// /// a) whether a given untrusted light block is valid, and /// b) whether a given untrusted light block should be trusted @@ -55,7 +56,7 @@ pub trait Verifier: Send + Sync { ) -> Verdict; } -/// Production implementation of the verifier. +/// Production implementation of the verifier-web. /// /// For testing purposes, this implementation is parametrized by: /// - A set of predicates used to validate a light block diff --git a/light-client/src/predicates/errors.rs b/light-client/src/predicates/errors.rs index 569f3d157..870706a8f 100644 --- a/light-client/src/predicates/errors.rs +++ b/light-client/src/predicates/errors.rs @@ -8,7 +8,7 @@ use crate::errors::ErrorExt; use crate::operations::voting_power::VotingPowerTally; use crate::types::{Hash, Height, Time, Validator, ValidatorAddress}; -/// The various errors which can be raised by the verifier component, +/// The various errors which can be raised by the verifier-web component, /// when validating or verifying a light block. #[derive(Debug, Clone, Error, PartialEq, Serialize, Deserialize)] pub enum VerificationError { From 7d1f876cd4ecca776bd26f20ecc0af5b48a816b7 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Fri, 12 Feb 2021 22:09:45 -0500 Subject: [PATCH 03/15] Ignore NodeJS bloat Signed-off-by: Thane Thomson --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index 46c3ebed2..f971349c6 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,9 @@ Cargo.lock # Proptest regressions dumps **/*.proptest-regressions + +# Light Client WASM +light-client-js/pkg/ +light-client-js/examples/verifier-web/node_modules/ +light-client-js/examples/verifier-web/dist/ +light-client-js/examples/verifier-web/package-lock.json From d1202933530a986fea7e6bc24add52e15b1c5757 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Fri, 12 Feb 2021 22:14:52 -0500 Subject: [PATCH 04/15] Fix incorrect comment changes Signed-off-by: Thane Thomson --- light-client/src/components/verifier.rs | 6 +++--- light-client/src/predicates/errors.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/light-client/src/components/verifier.rs b/light-client/src/components/verifier.rs index 92ec07ee7..ac79a5923 100644 --- a/light-client/src/components/verifier.rs +++ b/light-client/src/components/verifier.rs @@ -14,7 +14,7 @@ use preds::{errors::VerificationError, ProdPredicates, VerificationPredicates}; use serde::{Deserialize, Serialize}; /// Represents the result of the verification performed by the -/// verifier-web component. +/// verifier component. #[derive(Debug, Serialize, Deserialize)] pub enum Verdict { /// Verification succeeded, the block is valid. @@ -36,7 +36,7 @@ impl From> for Verdict { } } -/// The verifier-web checks: +/// The verifier checks: /// /// a) whether a given untrusted light block is valid, and /// b) whether a given untrusted light block should be trusted @@ -56,7 +56,7 @@ pub trait Verifier: Send + Sync { ) -> Verdict; } -/// Production implementation of the verifier-web. +/// Production implementation of the verifier. /// /// For testing purposes, this implementation is parametrized by: /// - A set of predicates used to validate a light block diff --git a/light-client/src/predicates/errors.rs b/light-client/src/predicates/errors.rs index 870706a8f..569f3d157 100644 --- a/light-client/src/predicates/errors.rs +++ b/light-client/src/predicates/errors.rs @@ -8,7 +8,7 @@ use crate::errors::ErrorExt; use crate::operations::voting_power::VotingPowerTally; use crate::types::{Hash, Height, Time, Validator, ValidatorAddress}; -/// The various errors which can be raised by the verifier-web component, +/// The various errors which can be raised by the verifier component, /// when validating or verifying a light block. #[derive(Debug, Clone, Error, PartialEq, Serialize, Deserialize)] pub enum VerificationError { From d5f948803f63fd8a4aab4281e59891ac09d3f4f2 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Sat, 13 Feb 2021 13:07:40 -0500 Subject: [PATCH 05/15] Update README with screenshots Signed-off-by: Thane Thomson --- .../examples/verifier-web/README.md | 7 +++++++ .../examples/verifier-web/screenshot1.png | Bin 0 -> 130855 bytes .../examples/verifier-web/screenshot2.png | Bin 0 -> 109571 bytes 3 files changed, 7 insertions(+) create mode 100644 light-client-js/examples/verifier-web/screenshot1.png create mode 100644 light-client-js/examples/verifier-web/screenshot2.png diff --git a/light-client-js/examples/verifier-web/README.md b/light-client-js/examples/verifier-web/README.md index 280330d94..a249c75f1 100644 --- a/light-client-js/examples/verifier-web/README.md +++ b/light-client-js/examples/verifier-web/README.md @@ -41,6 +41,11 @@ This should build the example and start a server at http://localhost:8080 ### Step 3: Input your data +When you open up at http://localhost:8080, you should see something like the +following: + +![screenshot1](screenshot1.png) + Copy/paste the JSON representation of a trusted block alongside that of the untrusted block you wish to verify into the supplied editors. Configure your desired Light Client parameters, as well as the timestamp at which you want to @@ -49,6 +54,8 @@ button. This will show you the raw JSON object received back from the verifier. +![screenshot2](screenshot2.png) + ## Limitations 1. This example only demonstrates *verification*, and is pretty manual right diff --git a/light-client-js/examples/verifier-web/screenshot1.png b/light-client-js/examples/verifier-web/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..7aebf15cd238f590db4b2694c0b133d95e0346de GIT binary patch literal 130855 zcmeFZby$^K*FL%w1Ox$*mJ}6`?ndd9knZl5E81;=zp>J*?%kAXNx6% zIDcs6s3VRU=f3O3`HMyF!_%5Ne{#bI(*6P)7W>Ob1pJvwn}&5GJ;8?U4~Ttn`3}|m zNOFpMh<`7#GSzREUT`S;PQ9_n>^b3l{RB;J`;5jHjb!tqZ~0F@y(Xc}lf`4+Yo{*W z9cPQy7wel+yY4gh@3lpX?bNgpOkKTmhQ$)O*gS1p*SG3&M@YI3?KX9NMD&HR#>Pm2 zumAB~MxHv;T~!s8Cp}K&hx`e9Cuf!I;ztXImLdnw4nqaA_l^ks@Bh@rsApMRovQuv z#i!@X=P1Tog{hKHq@}6&9^cs6)zdh#KV|fF=qcVFr&!X@^gUUit7p^-lQ;??cPE(% z`CU_7l3?0<Kjm$MU{9mJK>H7FG;Y~-<;AxGmon)s&6s|Pv?X#N-e)-f z^7+aykfq4~n<)4Bjko5HoZXe%z8c-X6-QR*a-jLkuQRdh=s~CMX=jq^$~oCv7r99) zj)Q}mGg@0+f*N0Er4Y3c%sizSD!RzgqgUd@C6)Ld1Kq z(N78Y3a!|ov{&r9d&l;AKMU_ZC2phqv!e+??H226LS5A6t-}KHQTvOEBY8)2D7KYu zZ<2#=S4o|E)Mj+c;P_0EhU+lsw|o?(ETDbm<2?3IXkVD+uF431*1U|7ZI*B0K81|! z71@c)MQi!5*!%N*VkSn|w1$51L~~z{OHXCdblq;)T#ZX|Wu>Wzek6K3zE2|}bRpTE zyI4l1cL&9NzTYBvXE+=c4tunuyD7-ILA{g(MIx_wI9>T-HW#g^Si)6ez;?@FLHFElA zeCd2~zq%w-RI2ALT}rSgyG8oUKXnq1yk&{z_M7xEGz11OBkQY9uJ$_}>)ZToPZ&lr zE!^HXevq`e(Huo?8k=SBU?1x|`RQ^W8+s|D5pVJItah(BZMCPs(|1}6WxC_LsKd5D zV@&A3jVaQG7MQp9YJX^*8yQP`@izX;6NR8c;-{DtHGAjX#Ig?ZTvVDYaliR2ck70) z%|6b@<-wSkEP1bA`EnhNidKDAvHaWkF}=r!hlig^Uf^FvYh&Hk4fRIFDUp{QFiEn) z-RLFHeB4l_Z+q+2awRps5lu)|!YpZ88A?*q=fP6@)k|&sxfvT>2=8xuDrK2*Y(1TW z?OIwYiP1+NWUmLXhg(@6s2s0l`rN%U=TL;0QyX|!QqUOKyjPOr!yl8yeTNPEmz;@> zv1%4}q}4q08apeOM+fypj7#bfNBGBZx#cbeE0Sh*6}xY{DbCX2S_?u=4z-9~9iI=G zQ7z&&f|JZ-(ox6L<^ za$A4arzY#uJZjD>G+Hz!xlSi{LfWizixAS87dNn|QzKO>hkDg7J93rlP@O>hJS0a=j^S@_ld~EC4S!sw_)}*~`r)^Ns>!jd}*PM)3 zZ4+*@t~&VXYCQ=l=7f{2=J!k%kpnKW-9WRi%<@%-0@a^uAGzYY@n#mQvqmu1KA@W= zQmoq=?Z#c7cxRcFut95IgD-&b>MiM;CzrFDCVC5>elR>VMz^@b-fNbj>?C8k`=tL& zq$3xXqb4`Vsp0;tS0Xu?mjZreHy7f|E4L}Ffs}92;cJ)?Gfs@+l2h{zI`m2txitPA zv$TR6zdm@^tmw$C=}eBR5ZEy1Vs356?@WEZRrG-18ltU<_>k-Pva+y?>+J_KLSzf? z^WO71JvxhW>FxBLPG`~l;8=b8_VpE!RSwJGG9v|zn_*Gi2UO)39#hstj#e?cF58cq z!f6{%gx|kA%2{E-#_s(^;^m+t@GeB+4SrLT5BUjgXY#SOB~`Ynvz^BeYKr;imiD5u~10SIFW@UH6EtRIW+U&43A?M{W&1iHl z`;NG+%-1d-`IZ8&k`sGJdaLLXaRUlYc2YBsH`QhGJICp*;*&}Hsm-) zaEqck4d32=<{Q>bjcnIVuA3p@FPL;fNHcKHuLo)gP~1s=`Y@J3sn(feY_=&Gi~}i zl_PJSqAw)bRCP4hj=YZ=FVi*4Xv9{yJZp}7=l0m-@m_6srd9!ZI2M^et|VJaw8ZS=_@PH>Xb}-S z6W3k2b=-+fi$&OhkDbUv8Db|L#x!wui$wTVK#VgYW=bcL?D*-G)TGwJU|AKG>9({R zXy5a~8)P@QVsOcIq*XR=d%C4H7@Khtz{nH>5DfqYbdwo}P8qkS;IYz8=Yq3s=Z1}>?8xR3(VZ||&i5~gO*;8Jr(fKX&sP>{c;adl zP$_+POeZtUhN;y3!@AWmJKD^46?L^V$;ot_HNI(P1nmHUCSovdgP+GFFOY9w&~C?E zq)ALE!o9wuiQE6~f~eyqH)kOXh8nGJO6gazP2aRyhfaLbIiwFvT4qY0@o_^9+UM;L zz122d9!RBB|7=|=XR*O-1|wrey6Cho0fVurHq`g|+l0zI#UWS+11nqZi9v@c?6+>2>wTmDyYq zxJ4lio_8@KgT}43gqbhB#J*Q2%Oo@Ev~#D=jFbk?6;$ERwTm5Z7q(*9muTyRhbyGRBO)Z+%+N6ImDlgzy-^?Jp21yF_Cbh z{1~HW=sX%%=$OQUGuZ^Ot5o0Ns|h?9lKX~|CpLAW=;ZtAYgSW!9Y>M(-ayBzYoUj)5n;I;yV?6C8rs&YIf>C zM7LR`PnT`5o35D|SK&UE`=Ml)RUvLv#6vzzn_>WgBG#y^Wvo+&HGmV^?g%eSs9b>ZxSy(?I*>xjJ%39(xITNp4|2<&=8m4dRJl1 zwLa(X*YYx4(zTZ^A=1TVRC6c@?v@%|arh)fqi|0`c*Tf=PyQFL_j?Dke(RxTwaHB1 z86I4I*0`|sF7G^qO1ZXdecXG;pvtZHd^OIh9m?Mt5IP~n)}L=>y~d1ecsMppHuO`@ zXXnVb=xRpmY@_A%`SzsgRDp6?{7O6XH=o}7mQzx)=V#LdeoyGz^0tZ=uDQkG(v&@B ztxT2@(()?U4YP$zWIGT=!u7*PgXzj(rMetOzkJVTxrTJhrq`jD)80Gv6`ZLF+-k;Y zkZRc7j^2GxB4mJ#NnIX;FbK42tfKrxT;7bY>odkQ@S!)zpn+hBvp1oS$>`H|IMeId zW}2wd3HA@-K4n*at{w`W4g?E+_K_c_lWICa^J82%FwU zt!#GvsUDU!vqwj`{hD%~BJ~3;7%4yNnX+X$k5{_ZN|(%+4YLjr3m~df;OcB_~yZGk;6shQiL}npp}=CT_cAsh2NoHJ56p1~Oi3p!tSk zGzk$d^1c-E2pTGvC#mb93?qw}zb&4&nxK;L_H8m`;*`;6P`O zK4b$;%`55RY2?;jY;VRv`n4Yn6xY@S?%>C}&HO0wYr#0+ThL?UO0Ec-XB)zlzKb5f zE6kXpiTyx$6Ya_nj+XSNs^4Z6J=d1n9=OE4^|26tD~tv85S@PyLF#6jMKouZuHd+d z&GfK#PtM9!T`lzryCyj&7hT;FQ;Z^M|wzr2jH+hlGmSRY?p#>BR1RIm_k z?!Wl$l){WB^fHCZ&SlIeB13uLQEzKSF3+#icN{2$R!>$sw67Lc(u$X~XOdaj*svYw zMHb46D~f-hF565(o#3=1iQrLNsEB06>3>0}8h^e@X^r8ag0UNuL(zJv44d`KBQYmQ z5-aUu_j@y@f}X`Y4*s<3s4Mq4a)%s#McRD&=z8#@6W8teom+OXwfl+7mxe_x%gp6C z6J83@@M4WoB+(~Qrj%&eMUEc0&=t3{-lOL6zOG64v{E4`*!8T09aFmU`fKgy$|vvI zqMWib82vnMxg6PLzHwwz3X(Uq<*4rKw*2zisdw|CFxIJ8C7YC{q$CHA!9~W`?#z(D z?y@%ucMLC6sL0M$?xH6cGgvE_Q-8b{EO+PGMa6d# zgY^p4>{FcF8%+7oh+L^6G>t(Fg3GF_)(!%AXOFpjhf<`Y*}jXL9*M0G#xvT9ZNl&7L zWtv6ETMbpSXqai-uRs2(e5ElkCu}-hon9U3+r!CXcmFd}n z{Gfbl48NyU)%^E9%Y7P1!A#JFy+RK9P|o#PIZ zJO|%n-FV=v|M)14vW=-wi zDW}1WNfjTzxxEVtGsTmCO)Vx$csIuQmR!En^YAV_fMCaK`s_vBJ(S(a%agVaj^Cdo-ACM8VR(!}PJX%hN~ghr zr-!DG<3)<~{sBq_hjY^>4e~(*0yn}Mcu*~chXSUK_AJI`jwa?Tp7u__lOhm84?LZW zO>NCxsZGo+tsR7EHow%$rb80RYE*3UsNl$Bc z4x0Oz)I!c?76K{~Qh!eY--KzbTwR?6SXn(hJXkz9Ssa}$S=ssd`B~XGSUEVDVFa^_ zmxHUZC$odgZR8Yx%^_j#V(M(|GzRhWhbu2cU#Ib1cB^n@S(egN|O zpXps(%~)mO3m3c(3}EG8W8-6H<6!3CXZ`2>a8*I!-*-E>{B1?BC#$Ei6DvCl8>_wj zf4RfORnq-G&--8A;i3j~G^>iai=&&fskx-Pxr6KNe?HX7&dueY&vbJ!NB;C@-F9Xc ztgxs*PyXjU(y|K5|Go!lMoVjZr$2WfNB?uAnd!gBIk`F8{TX9s%4%+BZVwA_ftlI= z%Xn97i~nrUe|aC|mH*2^;Bo(+|G$j>m%aY1<&RwjBpglMkPnrW5T-${SHR5C)Y?qo z&mT?rdHLCR&DogEI5@ePx!BCPnfbWQIhc)&*?BEY**MsYdHMe_m8^q{tFeQrIdUqP zoW&aE;pZ^s;b7;tU^X-6;$Y_DH|1wGG2>-pX6N8x<2L5z;kPh1`^OYY&em`ejP3rp zD&$mVFclj+7Y`RFCqJ_VFAqC27oRa7voSB92{Q*LpD`PcIUBbrJKLYBkozDYsw^u^ z!@=^8UzF{PT`e4)?S*L`T06LT{%5F~wY|Bjt1;4O>^$t89Gv_dygWSYd|bTj{~4rV z?(70ij+~R7jfI2b&lNLM0V$Z#7@W=8-q_Nd)ycu~&jsYR2*AsLVU3Yz17`m7JG_g4 zxU;#jtE01;qobWL4RWp2$SMCEDQcm=4~xJ;Hb9|JC4s&!hse&c)T)OZNZa zrT$Ojg#L0@8MxQc+3O$AS2ch9*SEg{lAZM*Q&Cg@2?7Gfrhl2=#n}CCM*}G6x@FX5$uMW25bk+|8v-1cZ)kZ zdBLHza#iwh_}@PMe=+c{86H}jnmf2S{_mFl&mn)A_i{_PgX zlk@-M=WloW|M3Yh_5VENzh&S5G1vc?>%V1z|JLCD@vi?d*MG|b|ExEv2QEQrIDpH<1ZzyU|M7s#QWr+>EKF@z!`?mJ>)2C01DK1puVrj}x!~XM;LEqK7BJrP3CgU}s>v;eEM0K-miTvlP zgg|ox%D*q-;VoZ7!Trb8OwRwgxtpW}GpvP>h=}Iiy{mhxBbMgZ)kXaL?(gjE7@3+j zchXBsNuimTm|Vxl4^m7PXzc5YiWQSkQ>g2jot?c-L4ob#<5Olk@)CZ8Pv%`T%CPhL zrY5l@K@Xh1zP?Vy2I*InX%3U0N9+9`FfLvBYQ|wVUV+{Il0sZZ=jO!ZB)iYP9hdF! zi`d^c2d!09ZWI~T7oASDw6sv)x^+qQ!^6fGq@11~QP(EF5L@=7NIracO+{5Tc7cq? z?mD(mW@e_*Tw7$7^8zLT=9SN`%Yi>WSvC(3#}Ud&WZoVrHf%4_{}MB0jv0Iz!REH2 z2CGAU7@h{8r(dvga^go2vsy^11!T#`&#wLW)LHL1Q5CQ}klozgj=r(6QSknzL3Xxc za?|nNs+S4_H9bAX#ra9`@ap2PU$a5D_eI3S0za;emYQN*z1nE#e|AMxRaJulFA8Vk ziwABztD%MDAK$E{hUezUwYInCyS|Qp(_uDR?Lwzfq}L&5l03|(lp-YR>dMtWFc1|N zhgPkJgO86tIzHaq+ImG%QSr6R9f5H}5s{~Iy=iJ1`t|j#z^>zi%~!?s=bz<%cEKB5kw#x$U7dpsVB_Fm@E`-r zwbgk29_-xP-7WFh{7IY=Et94^J(#P?=QNEF6BDD3?~)vemCLf4suPB-L03{zifpGM zA_}n{_;A%>t|0)WqeoMB{nlQZWJiAaCUZf zTI#*k($+>pON$0(``Xzl7EP;AV%q*P-uW7swC#gJqSOAGc4Tr%PuJJ4A|fJ)%a<=t zudTf(t~*`{RxujNQ(ukbU*vU|XehTGfnyXoI;th)cS_=1O>R3}Alj26?Dp~1Sh;QU z&!3dCva&W^>FMctYqjCP)y}o)T%kaORrplvy`22wVS0Xg#5y>vS)dir+pAnS9N%Gv zfr%-mtbCovZuF@_B2VMckh+t88lGU*_~=J-EFu;?tu#~SC&{nrlv1|3;{SSiLeuGh zusk(*i|LJxmtkQT<>t+yxc^7cvxmk%S@sw#pW=y%ifVl{yZZ6tM~2!+ z*jt;)T&A{x0sQ*&V@78e7xhjB1%4x-Vo(<=#v5UhirjWk|7>MS{&u z2Rg09T#+a(|ZRYGI|?`QGM~;anIAY(zo= zNu&AqMBb5=gi6P$qQ_na29!9ILRvGQUw18N)p$P63c^A3W-C!eUaDwmk?1q$cv~QL zJK_2B=Ul_B1KCPH8p8iDL`*fn8;!+piN6!Z#!6Cgz0wPOGM^VpTZaURz#X zE~%)n5U2aI58jd_o;fq*$Npvr4h1GUI=Z=+g#~R>bMxcn z{=2BCs3Hup>H1&XZyr1{n7#$uSU6id%-$`+FDJIi8Kd+%ViQh%J(m}s) zq*yf@=Yi87(6QTQJe?NuskF2)=TQb%(I=k+hsFl+L>~LjCxr<~N#qkXUijhR;a|JE zLxO{^tPJJ`X%y;M@0F#$E+}9^1_!t(BP%Nk*%=cP)5y;58Y3g)V7?|U9G!w*)g*Id z7Qb@`_3G8DGV=04Fvr^Z`pnEs+9wwkHMM6YC2T^zhu2|;*m!uP3U$hR(z!3VKKz1Xi>e zDT?H=AH#6BA|fK1g*YDe{J9ty>)ZG5#`gBu$ZZ=R*YqOuCtaUa*k9_qEg>aEBP>jz zt*!l9E{lzmGpMkTd1bf|OIo^J4xMM-nI9Q(0cXI5$lST1rLCRjcXn*`<6~AE`EhYS zc&LO+yL^@klU50$IRqP@+<10oCIA*_{IkZZ>d6UDkzRFrzwt?)dh1^9`}ZP8q)(1_ z?}0-pD=Q|uOKUZl6E$6f6%`egUW|WpU6}z=Jg3FC z>w2_2_2R#Oeea?ujDd^+u`oaOOLg@OIF!wAg~OvGb^0x8o-yOYtr_r@cRJNsS$99X zuRjO4VbYz%50+r?@WU$Y8T`G!Ifcv0${Kkuk;R}UY;<(gxpHsq2PcwC4Zrs?~T~?i+pBJHxZiF2G%R0HaNdm^{67~=?;~<@#n~Q=&3sC45 zFE8=Y(GeRvdq8X~p-zR}RXRGl@{xN4m=e;`w;|czyLS)rX&_v@$?KrE{2TdLA+H@& zrPTY90O}xCrzz7L!A|Mw>Xz9I<*EEmSrSv9V8us*h9QD$LdwAt)h_4&2$1*+Le*g0 z>hf}$dcMZtbP#TDt}0#RcxQKa+m!!BWFoI44F`uxe$uzLwzj3AeBuvEsYQ=(bbW-V zw6$7XKid+HZxj9L^3#BTfF;#D!lRil=3PYO5B$hMUkhC2MRLFcis?;#ri%3#P+kw@hLZ|HOd-BwT?9UaT8 z`YuC!06Z3Im3--LvH^rPiIF0GZU-Nvhxi_S)Hw>lCL0{<=&~d3`MtYKp#N)iHGglu zm{neKrL5rFw})##Ysmnx4&~|d2?#VzPEtS^Y%4KtF1z1mKVC7@^WcI&&%(y$InwLK z%B*w17{OB)XD0`J)h?Ee<|?@a#HFs;57vV{DJiLi?nk!(L>)ZZ|8fksH9{(t9O-js!AL`A$%}aU z6v1RrqqXHT(bJ>EmE%9xhV8rCCvCHUO~%twVLu*oDG{Gev7x62_h55sgwGiZ@$K6; zHoH-_nuDJ{3*E#nyGxHy(b4CSF(D#?(F65mLm$y^a~DPd2}m#e{VX0lWLnxF*fTGvC9 zOA)K_-eUkL7{Xe2czLt#q^L~*MNXjd{?R=C=}s4`fUPZSzJ5)vV(R@!yxUR@BO{ut z?vT}9f%#9jnsEuoG=F55q{b&EMu3Bvo*r&5{EGAcu^0XJ?Y%0yre{}m&?)lp^$k-I z(~yqaOHJFalab{Q2_ZpbV`F0izYDG3@iJYc{hav?dENxL>+tAnPmi>fRZbfZ6=cM! zhjuMNA7VnYAVw8ySQr}zY)pPJUFuB>EdKGuqu8A{(Azsbx#rfbTLQU@gM(^?i}F8e zeJZU^s(cQL+KySj^sM9=*82sz)PqkO@2w047T=?%Zva~jc4A{=Z|{v5=D)b%b$ZAS z`LhdK0C87oeiIHDpiG8?`&R2?*F~4(V5l(lD zrr{IyG^$95fXKLRmEvUY*BgH~N@n`kuMg3`A)zc|)~3P=W|#UhifamO##w%<3A(Q} z5F7fYmHs|5@A~$w1qzvRx#k^?qzC>6B@>0Y~U&wS~uSwAtEOySAK5CqE#Z| zWY&y?P1mo#*8u2Ne;X>dLf_#6Z5!*=<}GjknZzcvJ3!9qRQP7e$WWN^I?wfIYJ z+hH}?T4_ni8Nk@mT3VxIkLw>I@ysp*`bUBkAWnEQWOjZaU98PaAa0ZDN;H zW4ye)4p;Jvx$bixq(kP@TFyR$!nV|;6*HM40@xj+#euGmP_Nl+w-|T}y zy~`A0LK~de{MOPiHz_x8$2Nr(z2qV#^Rw-CD!?fnjK#MBnDz1VK_nRL)6Y--@Zm#LIyP1Yh9)SP%kn}YYlO3m16G!LL2`+TDpk%y zE;}phYTUufki63yi!_9|jST}F$3l(sjW3&+4!Vhhim`-*gu&yLj<$PBOue>nMu028 z?B3jN#(j|UqUN*5CZ+qvL~exv&;+Pc{^pl)MLL#3A*5F8=+z@D3<$;Q9Tfn;k+61I zXj)%?GyV_OHz4fZ7P%?xxrOjQ+l!y(fGiB93B~a6u#BQ&+tKgEE7C-#M~kT>oE9&J z@dxFyRH{CIZfa{ogO7}y+>In5eEN>xKEHn{lsQfr*#D?|av~upEBE_sY<&DSGc)$% z$BzjWyQrf(O1$@M8s|7TIK&_pDi<3F1H71q1QOVOgM=iXdf zxVZ_T{6ty;Qr8E!Gal=HR9KWUJpl$TE^B2_TVEd@3kwTCOmPW`XGYn6a&njsK$}$l z^v;(XOD`I0P0Y#3!2n=Mgx$vFFhL^hv;Pc`9smeHmox&r;*$J)eD9$MXXEB>&5(X| zotT)e>gQWd%Mz!VCQX4$kENtSmQ>HV3z=)5ui_(+Z#_Ir1i0cWoGr-5s3>os(l|dq zKZMX==%rr{*|Pl=l_n#x+$D_))zV$T`J;n`*w|p*N{8GRAFj*O4OiIfMz+U61WdT! z-P$T?ZV>G8(+fQmheAbnb8Dt~YiEbSV`l{t!yF)x^v1c}UDw0ovF7MFr|JTe7t~2Twd#DU zhgWUhd1Q-+;sB9y*?oO1OC=>PE+p0O_^NyyQ-B^zJCsHFJU99~J24@Y;R{s)?bACj z5R{g73(h45_ys`W#{T{r@Yd|mvF)}RH|-&|T$>ae96Y>P3ds@Jj-Y^mOAtdlv6Z!T zbu+X-SDNY z+pWZb_=JfG2}S_Y8AKzYxbZ#RZVx=k?`#NS84ITMzc{Ou^YKg3@=|zwdic2Sh#Z-S zA>QP=87$LmZTKYkyrGs>w>ivqeH zAArhX8%m#8H}Acb;HoOV@~G>85Y?^X)@N7oJ8Pw$U!i1TV%q8! z+-zuXmo|4zhs{P-^Zw_)h`WudX`8#?A>n9@`5asC6B9RT8169SXBrpiLU2gegzt8jMB-}Ox7T*%mREWsQUzm5rT{W13vI84HdhDvP z!e>KTB#6t~NU#Z)FgG`!>Cck4S%7u5eKhYH6u4<;Z(j;bO(Rt`;n}v925d1qa1)K@ zV)*V-kci-%u3#G|;UakuIUsMAbC_6r+`+AWzcM;{PRKau*K+gbO%uTU3`&moFES1# zhl=#cU~h{DZ6hNiOPyxK8oS48YJ>pe=f!w=dKwMpJPI7Y;q$IGPpwSf%EZC~4GRma z(Lamg4tMP6vvJ4TJt8P*43=LW?*K!R7mH0HKmd`5NY9Y|RqaxId`imFQQlh4RR#Q9 zT^*g_92W!qBBhFoio@Ljr7Q8REiGzR_sJmr^|=(SM<0l_2wXr0R4=j?n+gRAPa3Gm zq0X)%#=*x-Q8Jy_D;QaFKnFJik2%zdj(zh^RV28Pt@_yGcLV}j+RW7^4A8|2+2FZ zrZ=LNzBEmvE6CT8gxn&-5+9*h!Aw+^Yh$v$sGiEHknGBB-QTm~{$yus>w1#^hmw*K zorerRON_<)js#PbqSV~g0Q{1URoF9FtD+lq@7K zR(sQerlU8+ehVS)=DMV$vWi3lY%p0JE=(U$FWs+jT~>*7LBWWWLwSGg#!FI8DSK@P zha!%r6&{-gGDbW)>C<(oD~Voo>0;l>xq#kbVf7M@}qIF0yP5sfmgC?9_TuJyoOhm-StDH7ozd zwJU+SaWXN=?Su&6AR2pmip9qBmQJslJm`Ohp)f(e+e}0+tDcEv;({gQxg}DjT3&PP zHI%EjGL%o3up+V~T|Zjg%QG3xqMoT=6AnIhr6(;QKr~oospf^thX|Yx#A)}ky%cPe zhSrZWv$I1#yRBlnr)!3K$I9GU8ZEu8m?D&00nz3f#BC`J4I<#;)#BWi`>(*>0ZSrzC5IDMiyWW6MTg$%|koOGfH3J&DZbW6}Cp9(tHJM6EzgH>q){?1#G;$ znkVNS-Q60pvFekNR1YYDTB!2g%Uco%2?;?$PgE3Ub6`VIuUwgdgo7lApu*01Q_9#~A6xSEky^c%`ysN>^|s5w|!mDrrLAEl(EjDE6wHGJ@y`^fJtl9$c-Y&0Dp zk(HITY^MvH3(%*mF*xE(p}W7m(&WR1m#rKfi=z)RR;faUW;(t-A1v0Qd&(lfn730k zC1J8GRZv)Hxb*vwCQtRmE9HZ$+-I4i?T>2htI=A=`I=9<<=r+WwAr?l$7Y_)G+iMe zB+O;<@yirPMup3`i#@6BK%NWAAVrpN#zkj){JiLDOx(O&(Htm!k zK7cAAx9*lK;HDyr4P{{3ur+ghS5#u6?p>E%yQ#Wbv1m$LahfP2Aifj0tlumpkpQzY zXftR58yCl{8**~68Br7+A5Z74KhTQ7TDn>@>hbCA+qXv3X(c7fbbI5OviOZV6B84} zbq@+14!Zu(p+i?taPP>CB+tAPU@S|!hyA=4SN4_||Ds{&=e{eY$AkhrrEZ3j0`H!e zMes(A@_WVR23@;$EpL+j(o+C2FJ8Pr6>MvvMgLWP(t1C8=x%VVmQDg_HE^(IK`CNb z01=8IHx~dpj-jDptQ(Rsf~eUj@)U3tG8T9XfoX}?3P3RNTuk<0I6X(wkA#GG6UMTH zfXD$a*xKEd08Ya1Y)>=k{u3Ri$(R@dy)W+Alb_vG?-66g2tDY`fwZPo>5!~5{cy>8 z2Ws%VQ)Z&kPTEH%I24ePkzqA0YWGa+$MMeozJ`3CTJq*SgEsD_!9fC8W8g_o zcQ=xb^;D8U+9lI8X)Zv*nlq-J=7ES?wXnUP5vEsPO{@ANUWAQWJH`-`iPE;Enc32s zZ2!nFtVc??%sOS)^@vDF4m(vvw~y5zg5(AP2+fOSB*4_Ga=HXEsOG(ctu5uZscDd* zZIYXSAb@h^#x)^NPtUMle&}*i^h;wP3mAHmVc+Cx02mVi*(0LpHdj+d4L{}6H%2eC zD9;y%3U!Gc>(46W-fF$$(jOY$dGxPdfG3OfOk}(cg9&pN}vZ?{$2Ux-H;Y~O=j%Ibe}L!RlJ1NWqE{+wVDAj4-XGe$2Rxup_o7l8i1zNSLcYoxT_5v0fR{x7!)+r ziG_(-^5n$b)5m9I)Ye0x`hIO*j}@{!TdY1>h&LPzbTv<10+N4exR4COPL4{Q+p0#R zqERUxkx0k0pFkK69GwV0o<+TXerVcvTo?v25QJJ>*lBg$xHoUoHE82(a_y9D0W}={ z?s;&9ZiSiKd)KP`fSQOrUp62V4#za8oBdUapaLP`G7$6__l*G2xi#*}-Uvqp)Z7Be zeP(G1!_?Gt9>ioozlXCCtUtpx{n9EhV_r1)^fibp)cuW<0v*ZYRgX;@cXD#*k!3<#TL^Z}yBj`lpt#yA7jgtH0aRULU(6rKVrHzY zPgZ)q>%O5_a^mM+h#Pj3pVggy?5~ga73m8`Rv#J0u%xIJEstc!Bf}EpBBvegw3^?- z-n+_-t3&zmI@6*{ZWT<)>7qkqmYUeB?idcIrI3-%O-rRto(<1jLRI1B;(y$&Q7HPDhVnq zKqMGAIBh^;<$W&&FegS6h2a+mhuE#I9`^D*fZ4z>{S`K~{w=H5uQ<{qg%#7>Rh2yVMkWj1D2C^sck&tsnWgMX)Yy`m7*FyGuh z+@4GCa$g(0b*$#84J8inrTBUpJSFM^9WL4?jh7XojUe+GmOKf&lHVewqecg3S3aIa zQc>~c3ijs|%JYNzi>npokUFtajpe1O>4wB0xDygWA|8*#ce_#EJeq@lqNf4<4oAOhbW`27FlT*a+0yGpnnNhj*Nf zjHoZ8pyaO~A=wMaPp@NQGAq78a|Ym7wbeV%!@~n2BIL6UmKPR+K{3E&iH2=@l@Rt52q0eOLu z*J*25*D?Gh$Mcsji4?9@dHuGC#8-LXxX>BP=R6;#a|Bf*G$CZi>CiGTU_u*90~Dsf zI-u{a{lEv$aC-dsk?e9b)YibDm_X^1o?F~`|13E%k&#cdM62XIFcMb%nc+slVOQ=N zxc?;u1Q4@Bc|&}S&mMW6B|w=N=*^NRhLZkb1Q%qXfAP^uE|ZU2y%2lc@^{X(3>t^a~#rP=bd461pdHBen86{?6Iz;Xtc`0w~XQ zQ4Adtr)Os~)6)nbQ!9nw*77Kt=z`(#zW&|>oDFl}a2e2s#2?;fDUqG87`8Swa8FGf)dND|CV64|| zIP=h>aSF_-j{PP83;=~_(FqVjKKs|;07}QR=(9P`f0fH_&FvV;2FJS^M@&Ry z0-UkcOVJ3D*-yz_pC zp`2X{it-Jk!(WMxgJZ#oiHXz4Cj7_w3|l2YfMC{J%zurt2?&LZ0VG#m;VN()9no|s zh<9ApmqDs5--8a9E#Rr=0EufD=(ZFwBHOjV{o#mS5fl`J&88>7Y<#)%ZVd!NjBD4P zfxH7kZUkh2XTia@I5}0Fp1`<9ya1EE9A$bo%WiV$5yPqV-cz~yY-s-PS|$$~Zmf}& z;x2UJfRzdL>DbxvATgwOK~^;Ez|Dog-w2&0NUWll0x}4a)af5bO6tG9y$yo?5K-4; z5bfZZ;VdJPI)r%%pwG^=Q~9eU+L6*P$KZP(Ux1Lref~r#f$b75rO?y*djCklePnY0 z8o(O7dtxKm5E9e`wh)NaC;Oy;0NvhnFGB|yuxv!&XoXC+5W|;_0rc~EY$Ubetc)BT zXD%-rSL?APILm6L_8}z`P%_fHD4<}i@p9=~fFKtP3CPOwiy8wVHZ7DO=7{$Nkch5+ zAjcnolMW&<#)qH$UOSnPPS<{`>nx7BProALRb>7iuVvs{`Uo>C^$6&R*r*#l{(jF^ z)Wb%-a&SN&uRHohRvvX55ClYH719oF^G<>!0XI4O7)cPaK*f0lyd;8NHs2BgC*REl zD0}$)&rfYHC|ILAu9K36fBpK^d4w?0t`=}06i~!=2hbS@Ep4o@dnaRmOTX$!VtPU6 zqge;m*>&&OrlY$54*`0vYpn5)C`~pq_Pf7f@u`!*aJHUO1HUvq~Gy+M8-09@( z$UGZ}gaf0GSS6VBBP-w-PtVO|dyuYW+J z6VU&J`ai)TA}=9w)$-Vl2J4>q#12aKKt91=kJ;VbEg1ctoI-iLzs^{-20;vZJ2Zc6 zM$;)7RBa$Pizk2`5h+Tdu*c_j>iIB%P4q}^Yk*4#kNHfHm zKxbRv_>VH{Xb!^UtSs~3`l+94fcYT>ytg_bqQ zTMF+|DgOAo6KYA&zS|&x=i5Efis*7`N6p{tX#d4#;LgKjqBWFO@ zMB=>OV#5bjU%oU0l@6VHOB2gt$ z2!c=Gx38K_iSbX#LxWQN#E7kq^gsp3 z!uPZcpeH3VgQ+F#3M0gf$H%+Yu^gpd++_d=sF4o}Tn9<8IpSNXnuY=vvbz#VDQ=}K zAV~~g1wh7qg}S_r$CD+-K|7leOJN2WXPQH?SbBg9Vj^A<^4Eq6 z;tCZN6_mv&etv%G?HDnx7~$XXmETtEG@?@(fdD&N=|}}t^-~Ddaf0ks!1sWz9}d7G z9duA=eA3Wuhb;xQ2x8D_0FZY1u5SQ@RH`%vjw~N@L6N{^KSls8KVmZQH`H8j8671- zMvJtxG{yaKWEo#`0(o2-kW}ZBCxF19kEW0#Z~Dj{E2?Y3rtztY$!+4!0gw*|fzX6Z zYtx172ZaQJLQnc+ZgDa6{d;O?Qkn+&476C#BCkQrZ3@G?&E@x#fpa!3-9~4+5p?FQ zQCfv}&veRd!s|9*Z^ev^-j6M%fbRT)LXZg78Mo1#g3tj5RU>fZLjZ z9!9_`Hfv7B-Fo`^QL(Xi1uWyCQ487cG2|7|1Cq=mX#5-bfPdn) zwKXG->}7%S<7-DpKvWbS(3;b;vzK{!D|t8cl7)SUkP($}bGR_EjUUBee~%7YJ7F|E zJ^fSIWk9hgyu7@F0Ey%dfSijE^w>ax1qk!d{22)65(vhEf&%1}mX?c{<%#L(G{C?i z9zA-591t5D+fBz+45$E>3GEHkckf<-HmKf_kx*zHf|Y_a9YOrrAo_E*QYsDLLg@K~ z_6I3Z(My>s_Z})J7@L{~Nk!gNuZkSVhi0V!U|f*;trz@tX4uf7hl=bO{_z9ZXPu*2 zoT3;cs%{PLqgC%$t8)ZkWoCUn5|%s-4i6n<0kFG3vG*afm25^=hBEzi08`-8$nGrY zj{|hy&p@vm{V$=C0NFL~_!PED=*h7fn{dl-z`@9Nh{hOPa8;9YCmI^>EUqh*&wi2q zX~0a^49blQ3;T&cwjn(5zrQk44AP@F{h~Xv>kE`B*iWaEeS7G((REGNPCK3b!w4b& zV-BLS#4Z|eZU_X#u{o%t^R`yMxGrDT)YR1YyPp{kFE*mXD;yq>6%g79b2h`~YKQ-8 zl1xHmpZ8A$R1<}Rt6;tD^~$MqfTRTyNZA4T>Bm%M#>1=q1uvqkr>B=T0u5)b8xy1u z!9^gL{bMd}w4CDTrS|AbIdWWIOCdJ(7)U;GTKB-OPgWZyc376lV!udp9GqNhPW6~=m?PbpI=vL z&wT!GW5WNB%oqjd$0sIKHqjx39OU826wf;TyiECh{Z$-5_VW^W&R4Hqy&+ogzOh*+ zceNFNmDz*V3vW83Mo)1SZp>XLsG<-XS5y^-1`}ml`!#t##5Wh0Mfyf_8(ULUw5ETz zW~B92!GeQD3nOPaH1g!T1dwC^r|tv{-|-iOZPT5zwGIJrCzY)xRvqko}x6}KSGp; zZtObGUTQ3gPp>??wpw_xTkL^mmp%WQw&F*ZQy06}F)e$Se|$>0l`|6=dGFLIC7)GV zB{~z2<)4}__KK{$M_sGsa28g9575&=lf9K{vkTnydjzdGDc8cU zU62Lw>3<8EQ_T*JO9M}0+LZDuYK4(yf&TzbL3pF@s`%IXY8i$*aDFZY5+NlL_`HSH!6 zRPPFls!iO@g&EbioLb-X?wnTmlu7t5y(U`!$G0rh3jZv-ir6Li%_uz6{rZ*C^-+tl z>wNguwzkTXIfeW;MK|C7^tQ7nf(dsBJ(|0VtFS5OJE^2(2xM_BSn=X{Xy-@p!(26QOiNmN>gOQ3bt(FI0aJ zwv!x8xk6L2djmXoTYy-IbO1Zf6qq@?kg|4tR!Q@=w9sv2ecc zFj!DgVN1s=e&$)umF}Mm(NQl7_LR}!&^Dgb*Aq{8^3B?;UrcjpK`VEZHQev!Y)4&Q zU;7Vvy%*8ddy~`Jy}Z4F$J~a@fHDp<$bNpSwYUkkRkv%VkmTeWW@ctQP+o1_w(ZyG zX!0Hh0G*euthfU>wR~_bn;9jXoCM&bLY82%ehPnj947mA6ciRhoxD*(LSk~bl@_wM@3rjx?^^QhIkU{$ zp5S?0)Y4*tF8R;c*m*-k7RcCt_Vqmia>sT>&fgaJI5`MFU;x>cplT(e2A06%T1EST zgIxqZw~C6-qWu$~om2!FlCSZzKo#)&`S}r%H_|Uq|BsNOoGW9_CS^8uDZ;BZ--NVh(Jh11R`VU*ONEQI<#km?jlVnFzr=Tz`skrzBqMj{I?if4LebRlR^?I{uCe(R#j%P zX#H7NR=@>DK*gi_$^%vZ5PVYDC@7>Zh6%g=L9_EH^eq}nxKOE3;#yi-zJt~T0F?#B z)@MKeT|CGxU?eeW*(Wah?0>v!4Tj!>!+(U$tc|Bs&QwWk5s(6;Sab-(Ik1Kb2=^Tb ziFBY!yxV^sRhN8dQb(o_^TH zf<_aCP-iExClG}Sz_z=RM=!=JCZ4qJk%ZG=OHn(3VS{fWGG+FzFl!{JW^N{)Bov=o z<_qzC!mIq%-bRJhmUz;#Yn=jef?h|_(pkqWvtZCvFNwV+hvu25me1QmY%=T5vb#zS zXnSvJTjn$z>;A_4!%_Zrq}L&uiaYaJ>w|h!w%lupjeah$C&XJs`t3nv16#AL*BeW( zn`t%AStW?Pyes#HpM}Lg!c}*d3vU|leiKT<0!R8rk-4`A7PVJ}>eHMzKJfnTj?C)P zlC|;M1ux3q-OAcra`IHo#op+nd)v!ay9IKOS=cbrY<_LMYnKau>2}_pBViGV1~sX_ z!f4dhYB$b1?GzL{F5B!Ay4G;y=KZ;kCh^`>`(~C7cdsZpH-Aj0I6fGh?&{e2RPDfL zrYdijoPE!IadVy1A6-~z&M~mB$uKwcN^VzR*u-mlv5aNiMb}O3#`;el95!a}2+aDt zcP8PVw-((u@vC-X*>-g6{xknT6Q$5viYSb(XbVn&KfS}oZQDw~Mxak2$#5&9;9dv^746bY ztiAKW{Sbwe%S0ug@%g7u+OG*(l=&S2dhi)LhBC90oE06NLn!djP9JxWataL#V%b5gazm`Tjjodc$Q&3X&FjL>ke!b`!)ieFtA3unRh<^IVRuJ-b2h}H!<_Ow)Wuj zGUDe0-u4=oOE-8C=r$<5GftB%(9@CsL@hjfF6A31&;mHQbP?8xlV!Znb-w?ta=zX1 zmwXo6U*FWc3qVQTaU`SdisNu}c<=dO=T@|UodkJprze*HcNhAx3qamP2NQ=z@6;@O zz^>i`TOF|-f)gRzKf|n5F`oCZP4NT{)BCDB(F@7tStg_b(fN5NE(piUX?kcA(4-%* zk3o_8z}tHp0FV}fCuupP!%A0M!Co89}2CsY@t~;WUhJ)h+zy#NY zX;DDI)#(P;7N=V+h#~|j2MWZ?5F)KXh+Izvi889fJ$p~ypn_0=WI5<%bpZGPZoC4= z@AA@&*5qgh6O_6rso%Z1=mF8^x`L?&HHVot`)45`UI;GasUYI7p~4P12wDz&>3#Ic zfD3MQe%eIt0Wki(7cW$z+Mhq|a9h}R#b^I{$R(;1R8D;=DftBfHl$GU{Z~~|ZmdH8 z#|1lUWOQ^V9uTA(L1*og#y1$-+3_OAZ>2f|3ZQ6Z*_rguK%s%+lp?kfTR}M1-qMn# zOp1|_(FeEj0df`Ow5yVmpRhTffr|?H$pxGMlE*uNfwb^F5vd=F2oZb=Jd%&ocJ+YE zBC^l@3=H^sg1E#MG~$~hu#{BGqpV}VRtal@-TV-JJ$JUXV{cX+3}rI;c4EdaYQBw* zfBT4qB?3*7QX!qc0C_BT;lsV~8gHdLy%7?E9O!M_W`AusbM`Fz*>G@QDX1dJlI|6B zIElxX>bB$rRf#sNw}v3ek?J2pC;=o&zWF@%F>ww2kjA!#K;zO`Q^2)2HP|S#2S<-tRf0Z}DGR0C;-vxbJ}y0Ad|* zLgNWO%ZpKn4tbUMJ|Oi=1#&1ZQWg`tq@W+RJGR!o!&T|UK$K~DVDF|(1+%1dN^X+j zE}PlkzH2jVx!y1C$h@`W#@N6p{xCO{@u6J`6;;Tlit}5J9hU4fe{lE0I_V!@OZ_y& zEK~U|ow{d}D6b;ix_Hv0N)Nu9W` zUi#t92w#tV(atRgSR*zfO5e~=@YucUer+zr+(7xtmJA#2%f@zG)9dwbd>h?#CNF1I z&LHSY{?0_ zfgdC&e&TLN_tr0)ch73a4XE$zX6T|g=ThBXW%gBTw#l|$k?LK<9j^946{~AEv=caU zicvWbe>zZZx%G2IxQ~LT6BPjn$mns#0|Ekc-@bhV6Dm`*j0g-{d0$&TA0YLggM-BH zLwS83Pwh=|vM)S7Kc8O{ma+S1%Q{Bl=!Tz$_-ol_HWK{-Xm#R#hRnt|;UjnevMXVW zAmv<^Y4cq;jl7sdG~dpcw*0u}e+)!23JB8W;-f5aYOO|>h;I<*913JUsnv;r!EV@yxQC_fJw15zS?cawbICt1Pc-|q3w zWWm~)?Pe`r-Gy&|8EQuR{l$_bw+2y`|`%dYzteDru>>$uANUzvP|AFT8 zx8r3oC^bp3kITJo#|ZrM(8-h6n`5sV!z5IGEL*^K;64do9UWSeSHgHl`yFw!XY7Xd zuHQy?9|=HNB`G;M+2zA77Dqo0cv|t8FFOK`t%=ltcesO zg=#@T0TmSjQz>HA4jP*K;7eCi5wIPVm@c#h<@2Z-Z=*s+fw&0^+Itz)ti0#NE z2v8~7kkJFi{D@~wyitAp7Vu(@vyS${9Y6%R#tcI(ArKq4#t9C`RXP&$Zkp@kb*_UzKYv$YI*fp$Y(~*x;4XPLkk2uj=wSmfOKmSfG*Qwp4>Vz#K9P|J-e2#VR z_Lsb7n;%@b^XHEx06#R^M1hEY5U|`k^c$Zz-@%t>n}eT4WMtrH&jSpk^v>fvyeG{u z@RsUfg-H_lR*8qMpPHH?wKk<+65H|C%!tOOro*%tHeHAQTjpO=+}2%9ptTw+2Sg+snjO(e&hUwp(6h`Lz3%n+a(<> zuai0~pr-TgiSqv3(5NBFc9%oDy$8j|780DwX@n{V=zn=Kh?Sd#-ObIIz;Q&?ZuQbCiv1{wDt;u1pEN2r?qpmZTp#eEKs9zT{@pDyuA*p&{-DGcp^ zrRafm?>FMOEI$zO{P`}#H4ijNI`8kUBL^M`l|qts)boXxP&>ntI}5zmf7dk#m^&f$Qn|$RiItL-t~iD_(o=P}r4pR+g8D@=yNmQO*mk3!BUk7q83-O`_?%0dkOT zbSboW`!>|01PHL|esbgILGaVS3HHLR*kb=MsQgDO)j1p%%4b0^J1!_G31|iG<=AY> zdH81lUEN1-bOWs))opZ&+U5SN0FiTAVy@ED(}UGQZKLk!4k26gq9&(M089*+gtApO zHsiuVjA4HDw4kB21uVC*i<;1h>_u2eg=v=5xvH)_N>SFZ+a_F?Ijd)6 zy`mtH78^eNk^s$`+kCFL-h+W_EAAk?LJd?ExYAB|J)tMqrNQ~HNyuSgI9o@W}zToIRJ^6P|c-+s(s1Ki zX6A!J{90Z$O-#aJZ42Vw;~w- zZl1!#mh=y<=B-(Y07;0WMx&mK;-X@lsVZUHELVf4TaOA5aN@o}Z!a%-P0dh{Llx?! zt*vUHNVE90z(-iw+w+wl!U4XmYN587CO9XFpI4BTu|u9<5k z3P)0)udgp0JTZr__*`X6h=pG!3b)aRCgNn02XqU#rX=x&iFzfiSd`4ATgJl!?Y-%E zY9LP-(!8eNPQUwAAbcK15If|-SZkIie#T`sg^08uBIx=71n-MZs{EijO>EzM{5Rf8 zw%Yi@D#hL+*%zPc1Yb#ikx5nzEwA8oc^0O7{Cev{9-DD>pK`S*`)wN@tjp{B(fuK? zWnc50z^kVb!ihrc`)Pmv^nGDvl@VidKR-3GLEAh{IkL+jJ-%S&*TJOns=yPG%4R)! zH+$I+w=R$8ux9+xtIMs(ZJcyD8r9wZrAlR>v7zFsKvTTJ8oqAYtDDLi;@VER(|uqhP;o(!5<&~p(z>o{vAB z-;K&66=PcB**ZQBJvJ-v?CXocDP|E8(t!AeW#TN_B}%=q0w4)*=R}BWP+@y--lA9X z5OL;|&k}+W$;w<+#+hsa0xegcDj3i!6q*n5Q%{#>$!gz?!llmRT=@r^bS#bI&aEsh zuLBp6YHdtw+U2e>Y`cw$>h_@L9%^?T6g0bwLc-463h${3OGZ0l^y|X|Iw%y-ylKX< zKM(hqM5ih$DoRnkhPFV)vlto*D?7V@dgIJ~w)1TJe?VHED}Y@CAHG-QB~j`$(acY2 z=_?B#;$wK_0Wm+wq&C4cnh}Yqxczd^!fh#y3<_hmU@{t_k7|_-2iPZ+_@?(Mr>AW; z*+E-h!_j=iFF!vYoq~Tzi2AS0>o)4L+GYh%Kqe}u67`=Ps9SbP8iioH@X^2Mnu@RCC6{uDKbsb*wz7rcwcO)1*3b0AQj`1)o$3r#Qb4heBWN1CRZ7?tNJ zE+O%}-uSrn{`=u{rS&q^Q%bMQUMfT@Ifo^FbB(GQJQ9&oHRGt}ciKWiw!h=LT~UFF z|I*zb`48{axI5>%|H=;hRmA8+G3C^1C|GUl8f)Ws`pDtr@@~1)SM3y~&%c=Xp)suH z>k)i!KZopPyZ1aoVS%-qeN%m|)qgx@G4ml!sw%FfqPc}d9I39k_z|4|)v^jf!Eu4qz`NmPs%jsQ8TU zy1qiuP@8HX?gE3%98|`k7H3czbJP)-fEH20 z@rJo+K4m(odncYSGDTUvq@;q!lLnG7Svlee+R)&E322aTR-QlUaFj9;5L-b4b zGs>BWVDmgNFbe{3aiLs@R5Qpdx5zZc-;h_Rf2(Xal2>+g%i=7+~)=2|7jI*(JAw}yH?7hQ1^R6bIrdE37J z;*)S&nwZyKjtW{T)lN_H_{!tw^T(g8oXFc9U?A(Hndw`f6EO7SbC&n!QC)iKw{aJ1 z2kg6b5$rQYrvuDx-i*Z7jmGhp0kp!C7irXx@B+1Rrgg70uD-msRt^*cpPLpD)G#B} zC)Ei6-7<-K`!=w-Fchk5MyI}mW=$#Q5p?T8p;6%B#SZ8yF@mytl1vo>)R))gbJnYP zH%!S2(tgPIKqw7SZk78 z7!Ad~Ap+$*h|gHCtlXblVx&#wWVR|T7O86PpQ)3(wy#m)+4%ZHzBrGNSrQ>0+7uRy zJV6pyR8|fme*z~X>&cVfuijKLpzqe;Q*vfR{_u4Fj0R(5>;lBH6!`Z6&&YCl3oWQ> z7RWVp7&~_+4+z%cDEyo`-?@r1J~mbjwlEHO5Ryk;T`!Mu-E~XL6cij$z#9GO7f0Lj zm5@Q|K>@QOdI(K?J*5gEJ*E}0#n;Daxy^~MGK4KuENdad9c&I@t}NZVETJZ;jQ5a41dOL7uM0nhiec_0W!=resgmvPTUzOhWjLb*G^~>a}^gg$$ zKiyQo#kkrvL_RZq(t6wi#Fn3%}48&-96cBa>5QRrq=5?p4<<5W5lda@Nu+x_$BYw+|x zuBO2O)o54vXZyBo^g{OvYcazmPS|z+3v_bY+S)D9Is!nVK?7-YY9Y=Eo6;6{!v>Kvnlh-;0!NA#%)2JA zw_x|sz{dJs$=9LY&qetS(d)uU{jJ1e zD|(y?2ZD`I6r{y4`g~gSaB$foOo4p$^pJgZuYca4AYj>eUyih2(n# z%=3qNT@fyT>AWOOw}r*1>=Lh%&60vauzrA%Xk(mEoRe1S=Uw)5gL9&rocdllOg)-> znjbGpD>q)3s0@~yq=~Z#=XF2C`&JM&gnVGoHn0LP^Ijb?X_+bm( z_jZXlnXf3X)L#2f3VM(Bu6WEX)N?c`wDasgZQvUI?U)KB;6?J~^Ct#&s7y;Frw1lH zX)!q)lM?neVm{+U8}|))3oR+Nx%kl8z7TVZ;aF=i#l#=(-7iPFIy@R1`ewfMr_NNx zDzQ`Z#1F<56s&$F{zXQ|I8@k0Q2D)^G`g_4R=?dpyJJ$$1)A6;W>~0S9CdjXv(MxN zYerVO^pW3&H9uAL+-3k!20VZM979Kpw-#td!aN6Y>I-zh^(Y#3mqEvpjRQ@Ff836C zI5Ocm6bD@=3(7YGV_C?#gPDS7ITV>tPBFgTLF^@kqF_wb30EVVuyA`%No0I{JZv-m zuU={N+%A#T?(72Bp#&=u4qgOCAPP;@$z9%N?>utr2uk-WXqMR(6P|{Jg<+E$C<$t3 zVT-Yeh-g_9%|)B%cJD#0s&r=kd+_BMR^8%g4l2sZ#4yGuKtAaH$yUPNJ$v>BTa46x zC{UA6Tm8P;Wnp#w`cp(2Jb5M~%%0f1apU*ftJaX8fRnPf>pW0NX-sHh$}&nW%3ab5s|6kRwZ(E6AL(cHPBN*Fvz`x!s8hND0HT}lZ}h0YgmsQ5k*H( zoca~GBpFd4}P)tIi7Je!e$A@6~!&te2XIB{KMl0fv zg?@)tDdT3@PDCHY`I^i$>%q>>aB}`f3ui)+;MlPk&>sCrGGRY^Rt*IpiBH`_LkWPv z&@)DT9oaGj=iJGNtbPC@@^7UXVDc`K*CCGEd1%!owzg^Bit9en8=Odz6>VU;K6H-@S>l3gN!%`y}JyCGGY7u#^gAB1$`I2yv-6y3cjr(ZHP1;H7KvnM6}sjY>SJ90ZkT$C?`wT?IN#-l z>I{YAfkfNKaoxi)SDXSnK5+D?XD#QpWQEQB`KOV47xhH}Cw7tIbL`Vv)m}V-@{JuT zh$I5mTr)3+bsrU{2M98RJE}d;U>DG6b-Nmfl3)AIx69$-c2dWL+B&p6?T)hds7t?i zydgb_@=L>b;A=9!>VjMlT8B9oOi|x4;m%EG+&#|^T@Pa)V6~SJgVpR z_5RKt^*22z^E<26oV3c=jGU-!5#a}Odqd@*NQ|@bWyjn+E##aO#bnJyP%-fsCuCQ$ zOFtj2A@Sm(G}XkXKgXE@z)&IeMBl(*5cn>P-@(i%(ys$o%gpCdRlrt02L}onV}%wq z7HT^!;EI{K*%(-P5ycHp`3OOr5Gyl4b2Gs336EYJVrwkdktg~6(ZODOVnw^Io`%H} zbJ764oZxZu7ivxE&5IpzjN!;S&X$jwW3Pt2RH$HckHt3_MQkw{*cAh8^o}xe?D5oe z?B0!z{v6h;5u^}2ac@b{fLLP?MVbU_o-rjo*mL4hMaMr`w~C6&a*AUe#WsBNqOTen zLjnxp+|yOQTSaxU!g|Xt8hchHj68}sN%b6N?yH#8kQG~S!BoxB)EVSC=@*<(&3QBL zM~t!*s_w*3d?&5t78so)k-K^FmaLoGo$X;|H4TURU)o$dzIg+_jOupBQwRKCikz%! zXakdYeF;tc=FO4cTfRAsg{tPgjo^E*hJ4vOi#}sgjs5)U}zaK_^e}ir(HTi$?>)mN)#(#f@3o*JX_+P)Ls{MOW|Nd+A ze}BM#*5&`}CHnUJB-?*!0sg(D|9;^Ay=DKd!2fNhTAF6np9PTQPf=vs_I%w(&<1GT z@}gVQRTBv+gFoL5bq%~PhM*;jD^inDa}#hIlwbr@7X-;v{|9Tcn|PIphUc&wRGVq= zN8XakCSq^~eydB+G(Lj@K+|=qzN5PdHr5!>qI+)*AzkDgz&9`dL{Kcg2kQZ8&Vm?$ z1oL!21rQAlww`3RN#lt9*=2Cx{b=U>nNg2foyT`I?GSOrw9V2<)bQ?=*>k|<>ABQ^ zcDiNjcA%{kUKl!cVl_hU%0XsEb1K+}>a44T3?x^EE!=C-z^V;6!vj!_g4e4bI@)+- zRHe*efSn9NPIWP^nEZEU-P*N_*ZkGg)k9!YBYfJCW5-(ke=*76+K8?IoG$CZgXe*N zl2R5Uv5>2~QCH!*W1++|Zp}I_vXzSJj|Y*YHWi%AZbW`w$uAlz+R@n#j9{>WvsfND z17=3SVHE{sD3FW_%&f&IAixc;2nB?ZV^l>%PZRlRBh#JQ5C2KG(djL zWE?+rm;;2e4QP7BE3;J-aY1z`vu%c&xJaL*k!Mp4pwO-|xC8m>pPA)b44Bpnl`AWc z2rDb-RWSkA`3%&9Z;74)^K{}+k$-v&UF>bvz3Oy1tA=590#_SNp4atQxWE9oi2)Oh zI*C8Hu~}7+Y9(U*_Wd!?u1NSnK{yEt+Zb(?__b?+%%qxujM!l7IxI#$9rw*g7|f)9 z$^tqII3K*Zgn*J^2G*yZv&i_b|43$`otvATWkFpHmZ}zdX#%*4JxDYW!9zvO<#QJg z_MO7vF)A_Wu>v#PmYiOlxpe`dvpvxmDIa+pOv{-~~c|fW!XVd6ol0mOQ zv`Vm<))Yb{?g|hJAYCNP_x`|U(F9;h4C#>MAOy}tYZI(LM20m$HqYD-7#*Y6pN=&{ zPZ0|j?cQ3L;K&`ID32tY0UR4NW~i=ZAx0u~96H3nmQgZ^k8~$5vJI;b@tC#L1xZUu zDWDF|!mNF$-GOVyK;4WgDHzXBab(Lf@Ka;Vf_V3=oY~pp>{c z2CDnp!Cr=oCZooo#x#by6CiBdpFe-Z|Gq!NtU0YDh>=U@eyGd1m|G+j)uJz2RTiE- z7s^K5$pm^fX~034yOM7MScO5vO&!8_^0;vh&<94en&(Sh6P}ACrXZ+m=qd`~946c! zmyqSpb7*z1`Vrs-a_)U$yJ=_)@uW$}ahvO=)hKdN0T>gfk)H*bX%fDh?aY~+@>>?q zP}}wcFy-ky2mS5g6KocXPXM`rlQ4qbQUH@>G5vyO&z_^6C06ylAJ7z{r@>y3#S2I@ z-Ir|1qzm*qevz=S8z;`-G&W)e%~YFx2kBSAR+3eKsz_dYMhZZrYQ9|}uSI(T6i{N2 zfdTZ9!&GIsC`E|Np~eg<(+dEKPDVrE5k*vhfbbV*aUk5TFf$$y6R;Z!g21PcTjZ?! za)I#5qBT4mVyN~T&9d7R6V1r5V3=IkcvgUfl@`Z8LsNc*(UHVU*31>iew9p36ENOc zEzuSjhw84QlHY-6nf84C^oa#8CBi(w#B6G-+;KRS-hL7UrvOXtxo-3t6FuPzNUKfePK1+J!lO60@|X*|OLz}Qib zJ@D*49qlJWc7(=0?OHsyifVRO3y_!>x|S-5iY29`FKZ5UVjfWg+9tCeY%nnZ1+tii zJc8hAoQ&AgteR(I6l;rtDH<^0HsY-TlYJ4sEiR!UAqfO4LqEei0SUvrhZn;Z03wj& z1`2#b1jal934-k42u@+pbOjomp0gwppgWT|a+aLcr%zu4LR5I^FpKXpW8(n2W{BpO znE|W6OtrUbl^w7c67uxx9o@CsTv3^rr+)Y2n*ADGxJ_dCOwTM3wCV004)dH8X1s~B8hzs>cH@# z`edz+ktw*%`(PbDL9t<(dj+gEy3U?#eSZP%F4=_o$Wvt0-g40aYw)4vk1kxH9Ixx z&DYLCvB}v3B^u@&u@;V(v-74F3LW42gnjUg1VMe5r;^>9zk(0^j&P--y~UG|b04Nk zOG^45&}u%dH>NNnWXK_^C#Be)z`7+dsS3W9OfH;$iJcpRMKZ#Q5~7c}AE$%>Sb%c_ zxdTbtR()Jn5Bd8jj$ssT9FJ0AWM@nyM1y-*sDWq!(Z^8jC=lylk6595`Jo4%J_>5_ zg0EGWLlg-)Bpr1mXThJlBYA@-@Gc-j%)6W?I`-I;)ns}HJ+&C|G(!ZF8Vb4P0DOnf zf!{%roq%E0V{txwY;18~_b~g>Ui|xXgOcI)?m$5KV9VudS z`-7K6w1ymhG_HYm*Dl>tLKvcyX;^*1j{x!@;pCMcM;GMqL7juZ$`cL6QY@=nbPP_K z0CZD;zHZ7JssN_hp%lh%eHn*>FCZR4j$9g%7T_)j00(a2PP{-5@P@#JX2554h0gZ* zjTD?3C@A*TqJjSlt;0r-$()Ap?O;YWcV`14O=Dk{F$hK2drk!)*2E%s!~>-O9XSZj zcK1<6R2oyjp4buXWVI!{G4psZE}68vK^}3RSmY2UWhw@-i?im2P;8ynqX&a9J~gEP z13i?buJuykLV|)`D{rHtiRJ|aSs?Z`LQVXuCcJ6p`Pd5le8!l2X?5$?Gw_V1zD&sg z>FC4Uk!Jli2fqRx-VxLhBXgMa@te1A55PbZ3gbXr1WG1xNy&s7ZaDEyFKfjs9$)HW zTDcB;Ho&gKg_t+b%d?DhuFtISEleaCy3>Z)1i-y71#IIG2%_*Q?9ex1&^)JoJ|@)G zovIRy7#cDalLbsUne4vg*5-OKn+VNC_zekx~GqYxrFDBY%TAj$4 z2V%0aeo`)NfVek5->S!tL_4+uZAekg2_b?oEj@F{S>?Y!<~Zgfd>y5PXj$cs`wxvo z$1v3omb7#2L{NK;fzmA*A@CmDB}LRyH>Z0wetcZPaNJRqC&t6ry{%toCMQo9ssp-v z3%#W=MqrV+N-6?EEB2hvnhn~to0UH$J1k5qcGN#a$zPc@cc`9uTY{oV)Y4j1+Ce+c z&Mz#Okg@w4H=cz0?4}`#UOH4&m@cecYu1zbgvm26zJPJ8>%)UBncx5t;gH2Z{_jwf z)`9!#nt-OdRpVCF&8^C5YEqDh1uGsA{cNB=#3BZAB1TpM$%9Ir$!pAV&7bM%tQX5j z$>ochV{Y>-j-&eSaVwhB#;M}4J@OGR5DP#&Gq}iF7 zFY$G_q%*gEl5ph77w3JCX=zcIuPZY$?aBB<{DhLrjRBJqXdVb7i6-sF)-+c<8Bo$n z0_UvDOkxtuUy6TYk9(mwuFR=bq#m`jebXk=E2Sk; zszzYmVMUI@=B1w??HSQD&h7h+OvNj9AFWjIo_C^;{o}nEj>H0)C6)9MF|Z$vXcv<) z$1A@k2(N+!@%pTJ+iUowc+XFxxsq7-htM5R?s*%LwH988kH1-Y^ps{w;81IE->UDL zNVe4|kO=!H6>_FJNbCCb*BBD$pZf|YBEr3`6FLbq#yIjmf#St(PCV*MFIJFG4LOut zmcSAu)m*f+#gfq{o`8tT@5#%YK+|7-FJBs4GkW?e5E*#z`*6Z*>wey@+tSvifs3aw z2di575eAuU*c!#r6v9UH>C`avvPvW)1t5v=Op3Q`{v~X#YkPT}WJR&OfN-I#mIVZZ6xYwU(7m^(_@ajyBh?MPmi-4N=p&u+4-7TxJ z&DT-Gr9Rdg9z%)6e(2DLAYq3;uiK8p#Y$!A`V=P&<2U;P)Xce}PjPcke!oacES|^~@(2P%bc7d@fguatvmN~( z9o{xTh*}~fL3>({RxcA?3bXct=AJu=vsNeu=tSHK$Pj}gM~=MkdyRl8V`rBIOD9a$ zM+iVpY7*oa3%LMMYF{K+SLG!E9u-C~%4z1r9PIOOwxWUatSj#PE&3vd^YQ1UAAFwdmr7rME?>G2=CO z#1AgxICy1Add4$t!WdmPL-stXInru@!>z z^SMHYkcXH`+PLB7^eaTyI&%hi&>OyXhmS|aGH$$I%^>LTlxZ!pG1FR&<822>k%GQ% zAN6XOeVtG!RBWqbavtK6%c9@01Meu~>^k3vsjT%vGe2})gwZ>aMp8l50Mcceefwh3 zDvPu2Hyni|HOVHoN_asMb@nMn^B-+(l+aM~+A0eqV(*m>r@_Q|yl}z0A2n=?7v~>P zf_;$6*WpDN30QObrRq{tQ_w9$Wp#kA4-TB67MgsDCt}QD4;00F->K3JYtm*VY8K{w z7==fpMnCWTz4fK%Fk$DhQ{Nkp$r=exqj$Gg(eYbF!cJ_s)iMVPg$O}UP)#ZPOrVpm z369;@bojMSR}=j=ln|x?D0f1n<^pY6&9aRUmgNs~!C`!Ravi>~Z7=t^~|ih(W^` z&_d=@v19PGpI0}g+M06kp~IAYd?%jE^5?tFA{NlJAtBz_b#{;U9Bk;X;Tuswom1bj zvTQ#$KR*EQs%`_5%MJepl=&6vqvSz6|L%x8Mo8MDYx)ozO@KHZu%^@xC&D0);{l!{ zv@n!jx?H$CKS=JW@?A5jU|hd<{#s95j*$5#epuFx`rtOVGFRnJM}0=A0<{j>hYTY> z4Ru>p!K*dUdn(6uG?n8mTR&#q(RV=uZ0ffixLKpt@;I$-9z^GP;F>Blw5p35QOT3q z9?_TmhZ}}J#Cp8J+|~g8>l2whP=$~-tj>W3l$&L2k%ed84^*`TFfldW8eqHhHHhnD zpMLCBG^1cs?{8kH&wSf@54wRCL4R|!uZY_{8@5wXu}$L5VFAWGYA;|44DJUE794pI z2_3*`j&VsLHd^iL^Y_@=Jp9JGkR%{nSm}t`im^{HF>nMo&;eIU@86#8faFar_~$l; zxyk-=a-JH9dK>CguCEE99Hx+{{0g$3{^WzfTJ;R}KeQ!}F*ASf-bs$j{VqI`nPR!E zd=CLq7@|#pAW1<{F#v)}3dUChE5rv$0>Z6fPcD#+>rjbJQ8+)Abe9O;phM7gf;6IZ z1>$j2V4hywGx{-Xq;0SNe1{>=9GSjykOe!W2zuZL;#n3qndOReG} zQoVsv4;TpM0~3mo9vLd%j5Fg<4L|}c@8FO_wDv$o(m&8H%W5A_B28&;7E7#7sOCo6jjVr2to@%##>=RU72yFF{Y(m&Q=33Mj$Jq7Y8`w<+T;) z5i9B>^cjr+7ZeBfdWt0ARkCWpT>!a4k)8zvN*?VCk43vW>H_jgQf4tMCwJ+=O`A7! zGp4)>2?0W-4~s4;(9;mgW1#0Hy;7b3D--w(fn6lPu3FeEb_mxZ)%dg&JA% z7cXMbP?M&e0K`b-WE=v5lcouN^3s_}$-Mx8u+4*7>i0`M-_A`G1vK4q>^wV!Mv! zJQrA&q(2jQ402bY{C!Bnz>o-hKX6V31MA8)PH=E|IZzyS<3C;7pWLa6wv}GGP=BgC zgo$?7m0zfL=mXGRVQgH*B8DM*tUja(V&H&gi7l9QzQ~t6g%ToP#Kxz(kAiz^^uvQ%SiNykbZ-fgQe&KxNF94hZ%cwd#rNa_y$({1vJR5{zP3jTbU>0afQ zsF`|M#w4KM@~b@!YGkTMN+?`!58h4+xbbq|s9D2&jjBRWv{Sb+kwXE-fn?o8O=CBSpM7 zFy@3^IPjml81*5a5O{35KF1?JR{P##V=YRKezg;}v<{B98ds%KTzV+|rQ6(MTNu8sO0|&iW;9dMNRuuoRWZ;)s zd$NLaERYi77rUicQ^q_=;YxUyUh3839|xCDEOhn#jzr}x4La+;7V^=jHIftKlU14H z6Qf@Jt@FiDwr_}9JTqb69F}*`mJ;HhaM;6_B~5|(7?%I`zdPdZ^LclAOV5wwb=D&* zABV1a_+%UY`Tm}c*Dwdxu#8C&34Sqr$fx*!m!Ib{_5=rnPuU$|W|B-o4qg}V82@wC z-p{ZVSdVmzznFOL=f?_3h~-6SrIQsCx&{X&e(gxcn*EdfL7uGVW6#GCgsS{^jTfcK zHX*8?FJJc1pctL4&2{0IDJl}CS^J-j=4QWr&EA;_tQ?itrStMMNj7e7zYo~DpW^>MZTHPvPi&K03<(P7S1WF~ zQ)@u+dy#m3<)u@CGyOKhw#jQ+yxT^Kg17v>)(7a3n8MJ+K*A<@hb)tL!RCK2>%8ZN zpiWEmyHEY4 zZl$SDd1favA2gnpX4-J8vty;RvmIru5G}6X{xRu~p{%ucM|0OlJD7 zPy%15Bz6hq-ngTfWg698`O$VVG22u)UH@j^PwOfZ#|cYO9`o?w!^_5Ur`V^y?i(&x zS(RwGBX;F}U2U&Met)3tAU>)4GgD?NrqXVUeY?$mTEW<~-{ftYZe_){hR&8d^K*FD z*V4*mL!+hjs_la6W5Ik%{mQkqwL}S}M`0O^1CSQT%r78db?@JePWgAUFUCG~xXrr0 zy-w14B>$qT8n0sT`t$Rx4B2sFufup5JeR_RjwY|)_FFmPVThpMZZy)ZV2?I8nNLvb7nxAS$A z-?o0ceDQGW@A{NCokfdj<$BL{FeOWL?3b;I(KF`1b$9zU=ZmadT&2AWVWF>o2ko6& ztlBx%HXCJJmz2oh&JepgUct}bdM<5IHB;WV#M5S`sL)toKzrD2k}KGD$j#I%q_CjQ zesIqNk?9zno=Wzq11i<2Ed|OBOH9T#9hTc33rDxdE5=_>hh1x3l7cR+o5!d1@(g zZzm_<_xbZ{^fx1oyaPvV$94ISm&t!#W!Ca#CEH!}rSPBI(%)XaoyfO~)lb(KUj# zLcYHBp`SmuaCEgriv8l%sfxiZ_?5`c-YGd0wv(E7+LC&+AC`q{cwjI-B$62ju1$vg z_16lC7Hpa7Emb1yuchc!KxR1%3_fX1IlphyrpuMwCQkDf3;Wow(9$~cm>O~n((f=A z{L*ZlP_iz=%vzz>9*r9iAIZ#sHYh&wZ2BSgKXzOtEr{+W3H&?%{6?!;WkA%G1L|xIL-D5upp z_v&oD*?X6{(-tT2^Aks_<<=EXv9o(d)$#5x-}^J^gYNO@gbkg8QQ(Ncm&3p%Ro|4_ zMNoXk9+Ibz{QV0hkvp5$7?qssjKp0=wb=*DTsaTW$t9RMJrYb$Db|! z@!AVQkGU^9@&jk^S{1R+;okjTvku*wxjHlB=F7`g@d^^O7{l*Qul+`RVa_1fF*dbl zT6c(^F{vPd;|Qa$`iMPR1rwhAPRYw6&NB>3wuPT>EpGEDycsd{=Jnm2Ougvb@c>0* z-mlRunHfgemRirr&JdI8+p=F;Z4`7J?RTyHVMtw>v#{hofp!jUyhiW z`u**dc!;2i5p&bbM$~slMjI~#1?p*hWcSty zb5?Zja8xSmaEZ7(X`}bK#Au<9OQ6WDkeRhWOXL;5%~g*;j%UmaDp^BAi9LIMH^e-< z;51be{l<5&=_QYVb>CB;M9su0YT?N7yLZ!TPn*Uhgk{Ht7pPM%N7xk!NSAi%OmG*d zW;``8P1q?Mlu-U;Gd`aUXe8Zm{1Ku(!JAkb!TxhP?(^|62&2_dR4nyHk@#C-oXwF! zs=*{SLE}w(Qb%XSgl4-hOqtZmKXcP;v0ogbocm^%wRt*j#pA~Z=Ig@i&W(Ftqyn_Ry}iEtqeXaOz-<$U*Jg5 z`|+pja|`#PSfv@=@y74hAAnmqT+DkeK0VoX<0wvZ;*=E> zmpj&+x%D8H-eYtktaGZgrm}Zi@rgs%YZ-@^vdyksxDc+R6Q2C#u!@Xgw2JnxfxMs2 za~Wn8v91qJ(RoAFT-|DMtp+aJqpe#6*I+kE5S`GaOP``nZ~B5w^`FJgc{0IfyoP~V zNpO1yrRC`<3We3N<@CDgzJplcBa)%vhbsbN8%x7ZELsVw-y#zh!Iwxt83NEd5E=oN z%~U_xOuszCr5`})dG7Pa`iDLq?2I0x;^tox^U{5#hg*+{jhoktn;k3CjOZOfd0Myh zaR0wg`tO%l$ltE`bi?57h$pQ^gISZX(^n=R>Y`!Axh#vS_xN&h3=qz*o7o6bDW&r6 zDwRV%#A4ykZpbwFQ^l|yJoxMo{^<6d-dj zzTm{S%~d_vV_UJ#p#Et(+m)p?-M@aZYH5i`GvkM0eb8II_QAo65lyG(t$8dJY~xUU z$h9MmXTf+CeDk%SRN@ul-Q@LqZb@_hFW-{-W^Ky-i~Ms=dcW2mVW?<$;m5tsv7z=} z(nrPI%fTVnPKdd_aMHcdT8Y;6?CkcoW&v?d zPUYn8O=UE_*Y+>Yn^cFp7Wi z{vdXDu(at9<;<}ReeWWppUFcxXO8!~q!(@5T64F-Og`j=N`xz3x+;&s1t8#0D5?|zPq9(>!Vq3du!XK zXYZ?Jc)xwK+O%ER!lk-8LLk@GLjck`{VKskja?nrm+!3cW0o_DRh$_<*8A?Cqo^1!I)myNzdh=+kal`QcTIh}EL}&eJiP^8T_0m42D8 zUbPf*$)u(EF=y^SrD`>2Es1B$t*Z>#(w{5YRXtMN1KM&68#jWbuubqVO8{3<(L< zcb3TbQ7EbfCuRGsdlg?8j7DbH&(|x_e9w$$W*vXyVbkaFKp^ABop6tB@o9;vRlZL_ zL>kPzg%chT7+O`?iC*_)NIQ!R|If!3J}>zyUTEL3n`U}Zz0T_KZe}lK{Y8G(y}n}_ z67to()!6~>ZN28_ADD6Nt(@%XkIBo96T8vpS2rrH>+gT!ZX1%8Wv(D5?IW+^n8l@` z%p%5iRYIvShQ<2gbwx!h3#XAF|KGo3&ag|+uL#NG?~HPRA9Oqd7KQEZWBi%ELeoKv z&O@mZFYO^WpgYy02dou_F53{0?f?4*3vVCnPhzXy-cInVp8?_J+o|KF_R8JJ<>j=isa?Q8G5Q9iBz2to{c z24T(~aRt*tA;ynE=C)UX(fRGBTZQ>eQ z<)=(1${-&B$YHRxbOuhr0nN*U3$j3q8h0OhmH#4I z?}oVe*={=wK31ia0o1j;#z7t)$Al80fnj0sr)LpWZ@nqA!0c@m)ae=#{yaNg0`JdT zYxsq7slC_;E+v`GCbMeSYqr6+L4OoytsIh&54OK0nSfZ^NI}J+;Qw^pLG%m^Gk<{b zxb!8LwsKlQs_^rY)_!K?L}oOW9?$5b2T_jFc97LUB^{(WyCL*n#i(SDJvIAsQ(K*wXn|G2;RDk(F+pNpk_o8+JR8~sHmtT(J%Gc+bL7d01mPqr~_nV&s- zeZxBtNC~+sFW(J=G+uD@Z($9+b-sBs_U8(X1akiettBaEt*mu{@s2vjqLV=$ljqrY z>{8=_ar*A=;oBI9Xq&2vP}0`UeW?2=?Hfg+nuJ6VKmy!^;GEVlV}ew2cIZ%wrQ^w$$H$NHm4nQbuX)(>23p z+UPj_q2iB2%H5lLgG=Gz^i669YZ;a>U4AYd%~%AA>qW`SCiVi2-153-lC9Iz^gGSL ziAgH%$IDTsgS+lIh*-i$so=-hwhT~lCCX*r*Y*7g#(gFxy63}BU8(Ex2axaG!7Yu8_v8_Sv@`#;kTjm@8w_jK?p-^oR5h{s&-2~g+ zE!JQ=T)Zgbl6Snd?~|R?O?4C4xU5y%*XpPw(gzgt*2m>~yu6mHmc=L8-D7PX*9Ll` z+7c@Al}`4TMwdC3kDIRUNl44jdgHwg^$#K&NvHA6+DZ~1cGZgKb$>3B|2A1=K9FQ9 z{)Qn`ez)-L!-?SdLnlk;Z8}k07v+k4y^KOWs}Wyu?5rmoWpH~_yM?9W;0sv&NvPq< za`xefZUGyrzgNz2eb3Oy5`$Vb#^XH)F_|-IU=<>yFsqU1=H;4C)5*?kmm>HBX-8x&HJ z?fq@y^=n9p(0{o^D_mlDjwlYsE7Fx1C)Q1DK)$xLR9nFftNys&k*_Oo9qkxbMXqMb zPG2aF$HQUrq<2(ZRA}o};QkDl{5iS z^Vf#c2hngs85hU>V3#e#%G~1z4@pUc_02LRM67tqqFb(bXMB z^?WR4cRoeqY)rslDj|`oM$vXJJ{*l*C4ch|4M$4)>SJUI03t;pC>k;-aE{ zE_Bz_EdWQ`0U*Bw&dgUJ0Fa?hSY<(rq-9bPVb*goW?|uN&`-pVfLVDgO9?(v+3z-f zY< z%(u>wT|CuD6hfmHeTl8)-~J>7xpF%q-d!8;s7>e|2{~7o8IdlaO261bHUu~3 z+&GMkp0#gOuRP$>|K!4`m!4wK7G7g4SGEAb#Tm>37`I85iW*ME*fqUJ%fg}tbbLU| z!D8wGND|z~P7OdJ8~&}a3g=%tRR*(D4^3X+F*$ErF%hBk0(=ifu8p+7o5qB}UA3L0 z;|G}pKD+CAwau^A;*QCDP#&%kHh0fXI;R#h6G@$wdH5j9_8_Ia&;@pkkkZ;*BB;g( zeft<#SQS9?WxBa>Yp~#=w3>W}b;V#_2Ml&IVrv(x&oOcN2GAK@ObK&TZ|DY$Pyi9k z+qXZ#w4PG2fRn})LMuOl?8ASoqttgk(l>XntgBeN?%O+tG{QCS3X(p^h~zms>CCXy z0>S)JHC~1?q4EFC&+4qrjq~y`*fq&X9-Cx?9hLnMKP^bllM0NqL}*s2@^kNxIbF}2 z4pu8kL7$Bp2Xip~Y368GHCME&9-p4G3Ugy)_0O>2IYg$yo!{pS*ogq`4pJNmscodL z(%`hO2iLLWK}(5L+NaZsD7`l-omyfbqWB1cx)(Y-;e(vE;iqG1zRx5lI3gl;$h+qynf&wF}`a4ZIihr zA14Seg>XrKT*3T3CYYSMCEj*z6E7+%BnkMP&{Xhu*)|5bO&N(MFAz6<_SUp$h@cp+ zG%%r!d6^gramMJi&b^6&BOP5V&Ls`*=+Tx z6RF~Y6WQ;YqT2I&rEwF8AdP!Yc+oj~H)+_dJKu6VE)Ka5KErPSxf%Rc2tO&$4#c#P;k8jV`z zoMe`E7IMaakj*}Rq`qd!N)(8xJp;mcAd)lQ(wy{Eil#Jm|M3MU2;x}S?@4OTAQ4;7 z3=IRj{P)&*Kl~G5)6Dl|5DwER%X8zx@)X*r6DccW8sOR_LhGV39=p5s#8ID}Y|M?< zL(j_`15a!0`+faLRe^mR)@_T-NKpOR4_n@Ey6OO!cAl**jjO8VID;eFn6D`-BH zO#|aqslBn6q>p`wd24hNof^gBVTp;W6Du8Xq-K6{a&b9N!v;H$$_ooO67lUvNM%RW zgh8+JLn$R11$%5Ait{37?#(Ye73U+a;vS`M9*MzB*=4+OxwS4HO@Q%snF{csXMRrq zV??CM+A1eVf&9T7Th2qmEa1JUB#J1+wBHj2M?d0lKedri%!z8Fwd{GE#-g6oj!kwt zIQJ0H>oB47Oe-AE5aXTs&{P7JpaD5=zf2Gs8v)m^baJrLK9IIt_a&?{@bM`Ndcc64t|fPcttj~?Inomp>c1rH{XTYC%hRlehY20@oB#dk?F!KKj8?ZoW=sMO##D!{o<=sBn8LK+YBymq$v;hfsFZ znJUFdO4_ptp5s+C^ElDEph&#_KWfgCbHu2oUehOV zaLZu@69hH|5YU0FAC8sWi;;Z)$`dO~qT@<Z{v z?GR!5<77_>(W_Nfe6Yqw0PxC)9vu+sQc8@}UnBrxH!GsfIx3>94D4!!ni0JmwhIR` zSp`7*Ai)Nv7joBJmx;|B9*ttDmdR@i9t@4+H9e7nIjmuCjKpYmkGrV{dlpZgLV9gh zC?!^OS5j8u4qt~>2kOA?XY}Y=Ry?Ot!zm|KSQtIl+>*>7%3}aC2dXJRZ@8b7*Z-z2 zFktLEeiMj9N3eCLZ>ezILBpGs>n;r9*|udn;gbHlI|E@l$Yo!#M$Z*T5aKsS@tRT7=QD%H!NtcFs5bZYFjgpr{LeDqo<`)sSNf*Eulq065#>1 z!;jLkEFwO;V8L?;U(2UT^U;j);fp*OPW_u9N6#}p@w&$ zSU~X2j8I#zPV*Ig*En=qd!41~zk<#zwtC=&e?s<@DnxOH?YhmXKKYuh)g5FFn6S&) znO%7BIJsn6E2i+uo@ip=-q?7#iiYfRJkK(}dHOLG6&y9Fq?O>74R;!M*_$0r@&X3s znS6PE{=*3rAV{*bD%PV)3--%z_>4flQ65!}b&O0l^7kk!Wa(r%S92~;;0H4O;GcVA z-nT!iz4Hu0!*|_@S0ePId;Hw8VW$LGjsHZ@7&c{kVF(6z0Ikk_YV+gBI@{6`mEh<< z1;)~t)V}Gw+j~ke%(uQ;VqhTtmD}14Lz)sRveaeHE)6;?PYLg+7;**$nekdg=jP_k zO=d@&TGwkdNXIcJmRol3U?4Xj)siwCt+(Y_9SU~@2uv2zlN3o&Q} zyq@!p{h(J?g+yrUuC=O>wueF${44&pW64NP$-Y_ZvHhCI1%Y!Fl7XS2nSb(o&rhPm z75sMrVvyNCKpGa~IW7|kzKbAgG=wq_B*(j*#k(jgVNayo&%oK6J}oQeP+#d_UZa&K zQ3dw)P_2#5d_^^4cJ_5dL@1@f+hk`V8c$Ec)wOQV8XrFf2IhRYt#(sW&ey0^5Fgr! z8N^|}vi$#3w5h4T~ara$qFU3tdFVu@`+AIvVLcMTfT z%96Zeq*v5c42=~OR0eDZaFeQl`CpJxvtNw{Auihm=rG-J`dD|TusPK(@n9`1btgS5 z2sG!$^qnL?t9h42#QHg#?3{&o^^{7B|4Bh6!J_I4gGe;to*Q7g! zpX;qFpS-p%OCbkF^Y^;`FlYOi>I2n8AFcZNdcKRzIj_KYUR|;5!{xZd`$GkmO8!c1 z4u`8sErD*r*ykq^t3cSgGZY3#7N^14fs<-)9M_Vnafr$*DM3mTeugi}+6^4$FctL+S@K>m_$e{C-eCC!P&Ey38ZJU4y?H~K`1+ZH>xJ z_?>cE&kKbi9_-@lvUiq;pDN1PTZz~#bAzq2SHO{za~o%6{GfIT`IRh#bEZwlo+qJO zf9Uk+uBWrB*@}^S1K}8rCdJ7syQwRGXGbo1Kuyfxr+-V#s3&pb^T9X^%wE8%^asp2 z<|oYch82L?DLf7mUS%1-J7-O%>#}k%dGNqxtoGs_v&JPDdBHvK1E%1(x%x$wi5_ILq!;`~w#>afi|2(?|7Wu|TsF@5y zBnapeDc;5*6g-vK16{O0fr4^XO^p&pJow9gVL1>07HRrjD^-?S=j*ZYN3^~^tDybh z*$LXAUrZY)u)(>ChU`RifX&5#?_1z~Izf&?eQ2G6CfuG;>uj7e?Gb^pswy=$wqHOH z**_3a|DQ3e%*Bjhx4)EPX+v-<`)2wh0zP=-WA7$^q%$m!WvgGQO=nAUmQ+bJO11t$1%1u!${GUEo= zI1~<|Y(!{3T?ab04$zhxQwR_0_3Rr>F*Q~|-fKSFzCZ`C(|^8EP!M*~9l+V24Vu1u z`BGV1`&AKm6i{54(fATQq*4YUMKuRqd8lKJ?fCt9#039TJ zW)5*PZE}6F=a7pf`|GBrfV9p4{_1^_xx^Xvy!n2s2!RG7U=XsRH-k`6zWhX&SqUr> zycZ;q{~{a)05`!hUaqd8#Zc?%Ip*p-yzIgs*9IbV;uZV4TI{aj<4^ZvE9MG`?r1nQ znraG_Xm6Ys7O0xti;4|N~o%CTcUN>XzHkdW#3^R0}UY$w8E65za@Xj*KwGf#REC05K0oQ60w^= zAqdFytdv}76zD6vcWAS1f*j(%uvRmYPz*MbnwzY4h_H;lKdi10ESNH5KC(1)ewGcw zY+}J9b&zQqMguFerHFZ#z(9}kynO(FB-MquOqr-5a z7HoIDDbK95PKki5Z^)=&@x5d6N4M;J@z9_Jf}A!6^D<}8@>rj0^VY!;x~^W)P!N)d zQPlg7AiQZJAnDS9r<3gIo~6gyuKE3(R*oNAdr=G$%ZL=O$XYk0h&?$S7kM(K6VU_v zKl?KnLRGA?`!=;;?Ag}rdZ5VlGV1;{`IRrXGO5&?>t|?G-m#m$Zd2WcKvc$`c{+T( zrSPMl(SJv+KFQJ178f^y5{wkQzb(UTCOz}D(EbvGl5n_Wm9*<~!x{ts~ZVr0Znnb~Y3&GW}3)Nj~re zG;I6mAR1sB_Cpvq6-m#?k0@TVPOZtgg`b(@G*%(~%Fg9)YmY(%bPj?Dg5q;lI?oI+ zFCJJ4TN16Hm~-;V%}Xuqby*oVE*Ke&am{9ILLrhikBy0g1+5&n9UxO}7}6dyi@(HY z%g@$@ikeDbth{K_qa)f-Qzr0@-s zwjJZv4CBa-O0#gy@H?_Qh{QEx-)Mwo za2W59r@14vt|S--kA(|c&N`zX0~DrG^O}VOP9L6F@3dc2Pe>U6BB>B=ZcHS9G_3veHiE5RvZ^wNJ!?dbfs`F-F=vc3d^Dv z-pj5d339w4;AvcX8=<;9)FmgZ+k^ZTYpyFc^MZ>c+9i(CRQlrG>9b!B|B}7~95x9c ze;HGR1s=+HmR2MjzVp%5ISiA=$0u?#U=VNt9@Jiv>(yR>0;zPeMnbWh;1kpcI?pI07=6VKs?Z(Ya!n|Qti6CW5J zV3>-DANql@6{?U@|AD-2;w1pfb#)7MQTaja^UGKaaTh1q7fAK6R9rkkN{~>SEVlIl zG6of0`6Qrf$}UbxdB;#xe%_#>toa_h$JcEIz2;Yzw}$V^|9I^-JkdFddA}01dCbiF zY>zV!3C(i2so}D`LlRqY^m#sbS-!+~f<$K5WaM+hKG{w0VbS0fsptD9!|OA#T-n|! z-YXr5H+hI&Mm14UBV0M?4vs>WWIf25Ury#Pq0@VxY0S5X(Ymi}#%}s5*nBwEtD>46 zcd&^h)_fUB@*sntipw-NezL}hk-j?hC{R=sh%6Kb+x*}>&*W7R2)NMuq;(EAH#b8t zh0p!&#P|U%h|cylrm_*#s`B2~5OC&HcBPiyH)bAp4oyrf0D@D1m^=Wg#sH+hxzi~&0JjNjs#8yEbKc%oRi)>M zRqpV4Qbs+U;0nBGpPcs%2ICQC=s75RzL>o~w~AEBJF<+A$7pQ2aEU1;jGUc0JUUS5 zA8<)r?Av|kazbH6h4QUGUQ)@N^-{4|ffMI3T2Rn1!`w2A7y%g$u8~`8&bk*79;dvu z@{pYVyNr7Q4&wVkg^B2?O&XLNHpds7g^nY3sLs?5Ww*4Zd?1pj*CP= z`g6_g3rLzu({T@=ONPB*87hiaY-nCx9oU9HqPa@q*hMB=@p-R_h<+sSYg%hZu&WcL ztaMr+Y$lY6aCwVl#*fgg7aJNaDgejZtAj%MQ||xT#ovvZ0cgIU6^k+2hYeAckLUP6Oh zNh7S;TMSQ(P*YETVr}eTKK9~{;|+<>99SMIJ}Q+)2u%)x>3qvom`1OTCyIA{?NK@z z1lqSpp+?`3soi81I8cLEk-g6;hH~_)_4@3Gt{0%cj4qP&S zqpElq+H@dtdd0n*Tz84*$kwiOq+8|(drBLJtzF^8csb|?r@+eEfAQG}D>G(u^H0#A zObYZGBy9n5=}WC^a~eNGUHL@;A0{5bh(jHC{ub$^Lpo{qtO!NPu};_i4fSte2ph~Z zzZ-#23Xq}?LD!t=>8H1T$BqsFP-B@5d$H8Z3u_*Wwz)RHVwhg9p#v=TuXyz0FA!U1 zswf2WzXUk;S7cD>udW0_mS5K!y8neX{f=+Z)D@_B)&IM=`&Ve;-xA5}LWO?J^h z!$rb1%!^#cFCb^RTwMF<4-g%MQChmb4d=uo)-_+THS2rv7BZ=lb5fG3WK1Okb?M*w zZ|SN-o`pyvm&ZWm*iByNYUOfB&rovi4;{&5JxrTUP@_*p0^cw}wp z+k_h+m&`WS`n7lUzZ#2iNR9Co{MhdwXB&;KKXC7J)AM(Uk+bQPLlGdGl>n2wJeHgM&RQyk+j9=b z?0;q|-5ak0O=DIYIG`E?JX#4Zm@FA(hq7k&u=_~|@Gt^uXPI&7a!Nh@7K^_^3X z5xoL{d54@4T{u=v{Sgdh3u}-emx-L^dZ%x)R_NsE)zzK!@q;B}f4AAU4tlk(LHya$ zuwU)0y-}G*6yorbw7=hM53Y{e&YO$@&-R^6Dv>{l?mhK}!7SpTbN3#*HLei?wI6k4t_e;V7H)|wInWr zj20q`cF~Hkp=-n0UCymT9=@v((rzt>xI_ydb{CcU8(^t0R_$r2q?N z7Z<-=UypRZcqwX>cEh7k6gWkN&v1anW)q z16a!p0cbdff9Xy zK0vE7MsxGd$kgn41Z&3X;sTK;V!?{bd?rv^q{|?;dW5a@zOW(h!VRDSsEG! zhn~l0r@POA3TXEGi32ze4CK^vfWFa^Y^OMPZIwAs;SoXl%nBk0U&Q&CkOav}r` zG}P49D`oZc4Yu`jb5k?1D(Elb*DPn3O>)3}A{J}Vf(Z0qMSun>Ja;kl>&IHNyK?UJ zBEajWbf1)zG5`ET8dI!7*Vdb<#^?FZlH2KzwKO9fc)^KKJvJL8g>vg;3UiewJ&P)N zyEc`?yfbgMFsfFXjn>I#kC{ajCO=)TI??uqwK4Hl*<~DUTxwV%VS0+Yn?G+YB4mns z1!0yffsyp|4+Pwziz_U{e%>Rp!~B-1DRJl^Z@gVuF$IW?j653ALNb6cq@?5Kj=m4v zBqmWn@N;23>EIzrU-Ifp!rZ(e?mihiy-Hy&_C1X1?gMX2_O_&ZA(e*;slg99;;w&LHve-^ARrla!TRWWLtPeE6^yDe>P<_kR}#l_Q; ze_?$NukCK#MjeJL)w41}<>BVOxcorg5`$WA_FNx`tKm!x-+W-c8Daa>-75B`^Wmfugh zWV_YA08gbbJ=^ggH8Iu@J+UO#kPeXdY7QK|!x(NLI#P6go17n~SjMUvnOFdVsb!2X zemJE?Gz!13EMOvzJ*&(TI$8M5>iC!;Vt(GNZB)&^t%rm_PaHr8#hqt(xOHjYi1@kn zI>-(bKNplZpAzrfD|@z{>6kG`*EcSKosLp9I-hZFaar$l${UNznq~{*<;p4O@YZ7J z>y!u`@@T#VB69)jI`0~;0boX7hk~$iZ`PP^_pDbOV1R*1l9ziuO-x4SnI1yxiA)CQ zZ*GCmDm5*{BeM*?CJK@wRj(w-4ri+YQj{Sh zY4>9%Zo!6rg5y$<0nw2|?SO2&g7OOi8PXxm5w5MQ{d(0l5IyW}1Xq}@c!h1}EhK$& zkHz?D4&+FKi?oOJRynNNVEV?SgZt-t=Y3uYMTshj{IiCdsbXvg^USQ^vIt5UT~Ib> zA&@;hW33AE(aU3~K%k1@7IOSguy`ibW(ZyggP8Y?XLC{%{c#;eDqRg63`$u5N&8*{ zh&jyYIAV9VKkgwND3!9toR`O|v#9r%l#OCb!!p>9PaKdA+)BF4vM#IXssR7oZpopD z1>J^(Jjen%>FptYZ$yu4%sRco76Lsty%Qt!)YGX9tU|q^!o8mO1s>K`Ly;BL5~1(- z-J$-HfeS^DsnEg;!3vy^M|uX zmbair>?$Ce?_RDW>&WS{<5hA20|D(Dt2cYDJ2Yn}k*@{%c%+pgA1fD(Ak5L?74V7# zZ_#D&N7*ChEBLE3xw!XhOghiQT&4%tZf!Xz0InyyuE29I`jncX;T0e))k^+4pl@2U zyp24U4W@4@C*{v-6B^4;$U8f_a`n=z0NiSpw=nDleTk1hMNRBoR)5GUS|OueP^aWV zKRO-*u>RpVU@DcRL`8ipa1k!0A~+oR8}2A4B~hOn?sczj00qjyh9Hr>0Z!oA+d9t2 z{L))y68%L67z!S29?8&1hn4(acrv5-)NRLJ2<74De0YJb_Rt@s1~q?qWe2!@wbAc* zH|L@>2eL}$xvY}`cHgmY8_63S$e(0?POC0d+8~Bqe>fdlUR78q4>UjEWZkTY*jg94 z=eP}JML$+*67&ibVTkqaAsqL(Y?V(Lu{VYX!y7G21$e{(3r{H#c&anZ-_>+#E$5Q( zu@*YSgOCfg2XXTAk&KnHleiqPJ*vx0k`&xwdt-1zJJ>?6vN540vGYaf}*qo z{v|um6n9z%!h_PiDT$VhdDR@<{>Jrr-b&ul?1YlMqm5QCtI*Vod|8zbQDM{qql(=x zCoueEaZ&j|#mb<$cEOK(Fg9C%WksuOWYR=f*6hsn(MLF&iHqK=Z z?UJI<%yHgBlwTp5sQbp-dbo53$4IG7 zAL1vVc{PT123b1~iM`B?pR{rhwSY%_pofBnWZ09di)omc+c zv{x)Vs1kpmeSax!tzmY^Nl%Fl=K<#;b{((z1{FzIuNrkuY3)lq)Z?v;GQyp1(ul}7 zkdI)>xeb97KSwK)tjP6Hhy>oP12+sL3$aYr5kAj(wn6sDL6 z)S}HU%rkl(*r}zI-r64=i93*wZ%EQLOm%6qjG$}@dZfUxQh2Z#A~#-+sZB2SIM+xh zD%v(3Q6=nDdmVZY<*N7g?3ixb3!72`ByIfN4&SDA#pZ>KTXV5wEG(UPC}d>3{SUiZKSIW5QoU( zd_rA)U54dyeKkc}K{!_bh|aMfFeT;V9=+tMqS22kuYxLo` za_{yis(0tGeZ8xvi$`fY0m@@sf+I;s_k3EXErDx+^v(V;_rA<}Kva$Z-B{VduCAFZ zYqz(6dKuR@Y{AhVa@M=e89@SHVtmTf^u}78YE&#BamK2f+mqd!Hg?ZgYB=GV(6z5J zU31-4*rU7aOlsPwNQx}C>Q!0>^r}w|%t&M{S@-QctF5O~Sq-!8)2Hy9-?y@Ix$OY> zCQ<1JTi8t&HP^^G1PsnbTj2k>eJ_a^PmzIbJ7Ck^ky4-_WLz+|bEXbCy|nsT%p;k8 zL9PdxtZ$)Y?&=!g8I`!9o8Y|o*O+*)tv-S=pm*4`F9`?*S@r(_C$Akg!Fgx0Xh~yh z@zH+uZAkccg9`T4`ikeOsu78=;B^~&Xxjlz&Sn6oLqipWIu7*u4nX_1Y zF0xCw?hFY#+Jkes#&{0pRd;5}8gy?YZ*&*v)p3QYZ3OZ+1o_WJL=xZJeE+1c^QJii zgJfr5nPwujQVTD?_UfOzjz9W)koqJXbSs4@T!u3&vJXqA3(z%7@JMU-SWxYcfdGWU zSutn6n%{uWwH(H_xpJV3-|7?Ba^6F|2I?jjEgB!Hx!XsEd~)YGH+ABUm#+i638E*a#$g8)f{n&_+9>cK$ltg;ts@7SjejYV`I z50|+|!_>61{g0$J262ST_sk0hEOr+g++t#}Yf6k2_1JbKpFR5C*b}?d(0p&oltQ!VQf?!8efKX}bx zx%F22sS5-%t8Wa>6Z%6JX)78Rr>$pHYAZ)ejM(1V+9RP8YXgSXc^VSEt=hcBDtw!3WUr*0p)Zg6t- z!fNTCJ{<}0m=QMfi3+$Db0o@*94p@3a$Q7Mvua%TapL96w#{cXKk@&|jFF*+x)T!o z`H9g=xu%Ayl@&8+{Quy=gVSV(`JeiJH64R`jKP}X;+ zz4FTNwR-$c^{zG4lt5eXP(YpCSE);~<0-q($)Ved&w{$)-NIYDqHWTyp+#syxZD^? zVLE@15}cu=X_abOX`DA~Fn&YVLck^YaoU_1`2AqHmv~@jtd_c@o220NmdG}n@%M6} zCH~wo;gEi|0h96XIju%aOkDR8L*>MDB?9+zO6qV~6DL~p@lIkdR)(76P3o`QKMrz3yrar(Lgp4B#lGwSTwx_2xbv$MV zZgnf8KFa6-v@7T7@D_MkR90U53Sm=h z^yc6%RP4hhUvIixWL&$SRM6%q6K-KqJ_-+8)tIm)4S&3T<23kB>Qt3*2A-VbnaQBV z!4F4qvd`_-Bpln`ZF&wm4i-}P0Xx!HKDIf{?<(NyDl zGDm&^5An3gGkv<8eQJ$bPXj4WqCYCxmIF-o6X3G}i9tJ^^^{`!mg=zLtMSrsSmWok zuTU~2n7jV7H~l77+68xd_BktgkpqXP(N))5jBX#<^Bp+eY{i;CtJqLZ7o{lW1?ild zw{PnYWwtr|*KFh=90kwznA0!rbpm6X8zAwnoo4)tOczYguNpHu+kSoWQi_&sVb5uw z69I(_RZZdNrZ1-4<74+`=ft9JcztrJ*+EY4)%I1~ca^0nI&!+ICv?i9GU3p-RR>22MuToIO8xtGgtkgf5i5r#CRz#c#bH-wxWKc$CSNjEGpn^lMBa@G6|XV& zWNYwP8$YYvU-Ljc9*vLM_>zm@C0!;I(-$Kz=t7FCdeBW$xF6{&`wdG≤FE#u~9YWJDVVhK5bH% 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 z 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 TU+$hon#G^6IiCNI^S}KYigu}o literal 0 HcmV?d00001 diff --git a/light-client-js/examples/verifier-web/screenshot2.png b/light-client-js/examples/verifier-web/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..46000b86559e3d99a1485d54062c87fec974fe31 GIT binary patch literal 109571 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 m% Date: Tue, 16 Feb 2021 15:20:19 -0500 Subject: [PATCH 06/15] Fix contributors for verifier-web example Signed-off-by: Thane Thomson --- light-client-js/examples/verifier-web/package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/light-client-js/examples/verifier-web/package.json b/light-client-js/examples/verifier-web/package.json index e83779b10..859c368de 100644 --- a/light-client-js/examples/verifier-web/package.json +++ b/light-client-js/examples/verifier-web/package.json @@ -20,7 +20,11 @@ "rust", "webpack" ], - "author": "Ashley Williams ", + "author": "Informal Systems ", + "contributors": [ + "Romain Ruetschi ", + "Thane Thomson " + ], "license": "(MIT OR Apache-2.0)", "bugs": { "url": "https://github.com/rustwasm/create-wasm-app/issues" From b26b18d04b923b8af09f0e75150a5a335ce7d1d5 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 16 Feb 2021 15:23:50 -0500 Subject: [PATCH 07/15] Update example package details Signed-off-by: Thane Thomson --- .../examples/verifier-web/package.json | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/light-client-js/examples/verifier-web/package.json b/light-client-js/examples/verifier-web/package.json index 859c368de..ee22aae9b 100644 --- a/light-client-js/examples/verifier-web/package.json +++ b/light-client-js/examples/verifier-web/package.json @@ -1,20 +1,19 @@ { - "name": "create-wasm-app", + "name": "tendermint-light-client-verifier-web", "version": "0.1.0", - "description": "create an app to consume rust-generated wasm packages", + "description": "an example app to demonstrate Tendermint Light Client verification on the web using WASM", "main": "index.js", - "bin": { - "create-wasm-app": ".bin/create-wasm-app.js" - }, "scripts": { "build": "webpack --config webpack.config.js", "start": "webpack-dev-server" }, "repository": { "type": "git", - "url": "git+https://github.com/rustwasm/create-wasm-app.git" + "url": "git+https://github.com/informalsystems/tendermint-rs.git" }, "keywords": [ + "tendermint", + "light-client", "webassembly", "wasm", "rust", @@ -27,9 +26,9 @@ ], "license": "(MIT OR Apache-2.0)", "bugs": { - "url": "https://github.com/rustwasm/create-wasm-app/issues" + "url": "https://github.com/informalsystems/tendermint-rs/issues" }, - "homepage": "https://github.com/rustwasm/create-wasm-app#readme", + "homepage": "https://github.com/informalsystems/tendermint-rs", "devDependencies": { "copy-webpack-plugin": "^5.1.2", "css-loader": "^5.0.2", From 884a615dfcc3d7f23589a8b312024ee3db611d6f Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 16 Feb 2021 15:29:24 -0500 Subject: [PATCH 08/15] Update README with example usage Signed-off-by: Thane Thomson --- light-client-js/README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/light-client-js/README.md b/light-client-js/README.md index df550cd75..09c595760 100644 --- a/light-client-js/README.md +++ b/light-client-js/README.md @@ -1,3 +1,17 @@ # Light-Client API for JavaScript -At present this just exposes the Light Client's verification logic via WASM. +At present this just exposes the [Tendermint Light Client]'s verification logic +via WASM. This allows simple access to verification from JavaScript: + +```javascript +import * as LightClient from 'tendermint-light-client-js'; + +// Verify an untrusted block against a trusted one, given the specified options +// and current date/time. +let verdict = LightClient.verify(untrusted, trusted, options, now); +``` + +For an example of how to use this, please see the [verifier-web example]. + +[Tendermint Light Client]: ../light-client/ +[verifier-web example]: ./examples/verifier-web/ From 68d38e387d91822b4c5e55e4afcb1ffca23978f2 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 2 Mar 2021 19:12:02 -0500 Subject: [PATCH 09/15] Add PartialEq trait to light client Verdict to allow for comparison Signed-off-by: Thane Thomson --- light-client/src/components/verifier.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/light-client/src/components/verifier.rs b/light-client/src/components/verifier.rs index ac79a5923..48c9d2442 100644 --- a/light-client/src/components/verifier.rs +++ b/light-client/src/components/verifier.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; /// Represents the result of the verification performed by the /// verifier component. -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Serialize, Deserialize, PartialEq)] pub enum Verdict { /// Verification succeeded, the block is valid. Success, From 2c334ce7b0958f04aabb0565aeb2573cfe5dbefa Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 2 Mar 2021 19:12:37 -0500 Subject: [PATCH 10/15] Add tests for JavaScript verify interface Signed-off-by: Thane Thomson --- light-client-js/src/lib.rs | 4 +- light-client-js/tests/web.rs | 200 ++++++++++++++++++++++++++++++++++- 2 files changed, 200 insertions(+), 4 deletions(-) diff --git a/light-client-js/src/lib.rs b/light-client-js/src/lib.rs index 31a4accfe..ea5245e67 100644 --- a/light-client-js/src/lib.rs +++ b/light-client-js/src/lib.rs @@ -60,7 +60,7 @@ fn deserialize_params( } /// Errors produced by this crate. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] #[serde(tag = "type")] pub enum Error { /// A serialization/deserialization error occurred. @@ -70,7 +70,7 @@ pub enum Error { // Simplified options supplied from JavaScript. #[derive(Debug, Serialize, Deserialize)] -struct JsOptions { +pub struct JsOptions { pub trust_threshold: (u64, u64), pub trusting_period: u64, pub clock_drift: u64, diff --git a/light-client-js/tests/web.rs b/light-client-js/tests/web.rs index de5c1dafe..03e36c753 100644 --- a/light-client-js/tests/web.rs +++ b/light-client-js/tests/web.rs @@ -3,11 +3,207 @@ #![cfg(target_arch = "wasm32")] extern crate wasm_bindgen_test; +use tendermint::Time; +use tendermint_light_client::components::verifier::Verdict; +use tendermint_light_client::types::LightBlock; +use tendermint_light_client_js::{verify, Error, JsOptions}; +use wasm_bindgen::JsValue; use wasm_bindgen_test::*; wasm_bindgen_test_configure!(run_in_browser); +const UNTRUSTED_BLOCK: &str = r#"{ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "4", + "time": "1970-01-01T00:00:04Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "C8CFFADA9808F685C4111693E1ADFDDBBEE9B9493493BEF805419F143C5B0D0A", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "4", + "round": 1, + "block_id": { + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A", + "part_set_header": { + "total": 1, + "hash": "D0E7B0C678E290DA835BB26EE826472D66B6A306801E5FE0803C5320C554610A" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:04Z", + "signature": "lTGBsjVI6YwIRcxQ6Lct4Q+xrtJc9h3648c42uWe4MpSgy4rUI5g71AEpG90Tbn0PRizjKgCPhokPpQoQLiqAg==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "C479DB6F37AB9757035CFBE10B687E27668EE7DF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3wf60CidQcsIO7TksXzEZsJefMUFF73k6nP1YeEo9to=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" +}"#; + +const TRUSTED_BLOCK: &str = r#"{ + "signed_header": { + "header": { + "version": { + "block": "11", + "app": "0" + }, + "chain_id": "test-chain", + "height": "3", + "time": "1970-01-01T00:00:03Z", + "last_block_id": null, + "last_commit_hash": null, + "data_hash": null, + "validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "next_validators_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "consensus_hash": "75E6DD63C2DC2B58FE0ED82792EAB369C4308C7EC16B69446382CC4B41D46068", + "app_hash": "", + "last_results_hash": null, + "evidence_hash": null, + "proposer_address": "6AE5C701F508EB5B63343858E068C5843F28105F" + }, + "commit": { + "height": "3", + "round": 1, + "block_id": { + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793", + "part_set_header": { + "total": 1, + "hash": "AAB1B09D5FADAAE7CDF3451961A63F810DB73BF3214A7B74DBA36C52EDF1A793" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "timestamp": "1970-01-01T00:00:03Z", + "signature": "xn0eSsHYIsqUbmfAiJq1R0hqZbfuIjs5Na1c88EC1iPTuQAesKg9I7nXG4pk8d6U5fU4GysNLk5I4f7aoefOBA==" + } + ] + } + }, + "validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "next_validator_set": { + "total_voting_power": "0", + "validators": [ + { + "address": "6AE5C701F508EB5B63343858E068C5843F28105F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GQEC/HB4sDBAVhHtUzyv4yct9ZGnudaP209QQBSTfSQ=" + }, + "voting_power": "50", + "proposer_priority": null + } + ] + }, + "provider": "BADFADAD0BEFEEDC0C0ADEADBEEFC0FFEEFACADE" +}"#; + +#[wasm_bindgen_test] +fn successful_verification() { + let (untrusted_block, trusted_block) = test_blocks(); + let options = test_options(); + // Choose a "now" value within the trusting period + let now = + JsValue::from_serde(&Time::parse_from_rfc3339("1970-01-07T00:00:00Z").unwrap()).unwrap(); + let js_result = verify(&untrusted_block, &trusted_block, &options, &now); + console_log!("js_result = {:?}", js_result); + let verdict = JsValue::into_serde::>(&js_result) + .unwrap() + .unwrap(); + assert_eq!(verdict, Verdict::Success); +} + #[wasm_bindgen_test] -fn pass() { - assert_eq!(1 + 1, 2); +fn failed_verification_outside_trusting_period() { + let (untrusted_block, trusted_block) = test_blocks(); + let options = test_options(); + // Choose a "now" value outside the trusting period + let now = + JsValue::from_serde(&Time::parse_from_rfc3339("1970-01-16T00:00:00Z").unwrap()).unwrap(); + let js_result = verify(&untrusted_block, &trusted_block, &options, &now); + console_log!("js_result = {:?}", js_result); + // The result is Ok because we successfully obtained a verdict, even if the + // verdict isn't Verdict::Success. + let verdict = JsValue::into_serde::>(&js_result) + .unwrap() + .unwrap(); + match verdict { + Verdict::Success | Verdict::NotEnoughTrust(_) => panic!("unexpected verdict"), + _ => {} + } +} + +fn test_blocks() -> (JsValue, JsValue) { + let untrusted_block = + JsValue::from_serde(&serde_json::from_str::(UNTRUSTED_BLOCK).unwrap()).unwrap(); + let trusted_block = + JsValue::from_serde(&serde_json::from_str::(TRUSTED_BLOCK).unwrap()).unwrap(); + (untrusted_block, trusted_block) +} + +fn test_options() -> JsValue { + JsValue::from_serde(&JsOptions { + trust_threshold: (1, 3), + trusting_period: 1209600, // 2 weeks + clock_drift: 5, // 5 seconds + }) + .unwrap() } From 11b3bc278f3ac9edafdebd91681f80fb1f5be8fa Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 2 Mar 2021 19:12:52 -0500 Subject: [PATCH 11/15] Add CHANGELOG entry Signed-off-by: Thane Thomson --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index adfe82ed2..8aa0c9a5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## Unreleased + +### FEATURES + +* `[tendermint-light-client-js]` First release of the + `tendermint-light-client-js` crate to provide access to Tendermint Light + Client functionality from WASM. This only provides access to the `verify` + method at present, exclusively provides access to block verification. This + does not include network access or the Light Client's bisection algorithm + ([#812]) + +[#812]: https://github.com/informalsystems/tendermint-rs/pull/812 + ## v0.18.1 *Feb 10, 2021* From 2f5ee055bb17c87a695924febe3ade97ea08a8d0 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 2 Mar 2021 19:18:07 -0500 Subject: [PATCH 12/15] Add CI job for headless browser testing Signed-off-by: Thane Thomson --- .github/workflows/build.yml | 2 +- .github/workflows/test.yml | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f15ff46bc..284645a01 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,7 +29,7 @@ jobs: with: command: build-all - light-client-wasm: + build-light-client-wasm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 33f7b933d..e52d3bf5a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,6 +69,16 @@ jobs: with: command: test-all-features args: -p tendermint-light-client + # From https://rustwasm.github.io/docs/wasm-bindgen/wasm-bindgen-test/continuous-integration.html#github-actions + tendermint-light-client-js: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install wasm-pack + run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh + - run: cargo test --all-features + - run: wasm-pack test --headless --chrome + - run: wasm-pack test --headless --firefox tendermint-light-node: runs-on: ubuntu-latest steps: From e0c3b6e5b63b31e3c35b5f507afc61db6e7378a3 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 2 Mar 2021 19:34:36 -0500 Subject: [PATCH 13/15] Specify path to light-client-js crate for wasm-pack test Signed-off-by: Thane Thomson --- .github/workflows/test.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e52d3bf5a..19e0916a0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -76,9 +76,8 @@ jobs: - uses: actions/checkout@v2 - name: Install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - - run: cargo test --all-features - - run: wasm-pack test --headless --chrome - - run: wasm-pack test --headless --firefox + - run: wasm-pack test --headless --chrome ./light-client-js/ + - run: wasm-pack test --headless --firefox ./light-client-js/ tendermint-light-node: runs-on: ubuntu-latest steps: From 1cac068e784d061f39f2030a523e4fb799709fbe Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Wed, 3 Mar 2021 11:11:03 -0500 Subject: [PATCH 14/15] Turn off clippy warning for panic hook Signed-off-by: Thane Thomson --- light-client-js/src/utils.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/light-client-js/src/utils.rs b/light-client-js/src/utils.rs index b1d7929dc..c4be847ee 100644 --- a/light-client-js/src/utils.rs +++ b/light-client-js/src/utils.rs @@ -1,3 +1,4 @@ +#[allow(dead_code)] pub fn set_panic_hook() { // When the `console_error_panic_hook` feature is enabled, we can call the // `set_panic_hook` function at least once during initialization, and then From 009b8395f76f781758e814d39abd2f46643aae27 Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Wed, 3 Mar 2021 11:11:40 -0500 Subject: [PATCH 15/15] Implement Eq trait for verification verdict and related types Signed-off-by: Thane Thomson --- light-client/src/components/verifier.rs | 2 +- light-client/src/operations/voting_power.rs | 2 +- light-client/src/predicates/errors.rs | 2 +- tendermint/src/validator.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/light-client/src/components/verifier.rs b/light-client/src/components/verifier.rs index 48c9d2442..fb37b1c81 100644 --- a/light-client/src/components/verifier.rs +++ b/light-client/src/components/verifier.rs @@ -15,7 +15,7 @@ use serde::{Deserialize, Serialize}; /// Represents the result of the verification performed by the /// verifier component. -#[derive(Debug, Serialize, Deserialize, PartialEq)] +#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)] pub enum Verdict { /// Verification succeeded, the block is valid. Success, diff --git a/light-client/src/operations/voting_power.rs b/light-client/src/operations/voting_power.rs index 2bcd40955..1e46d1b5f 100644 --- a/light-client/src/operations/voting_power.rs +++ b/light-client/src/operations/voting_power.rs @@ -16,7 +16,7 @@ use tendermint::trust_threshold::TrustThreshold as _; use tendermint::vote::{SignedVote, ValidatorIndex, Vote}; /// Tally for the voting power computed by the `VotingPowerCalculator` -#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] +#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize, Eq)] pub struct VotingPowerTally { /// Total voting power pub total: u64, diff --git a/light-client/src/predicates/errors.rs b/light-client/src/predicates/errors.rs index 569f3d157..99c02fb34 100644 --- a/light-client/src/predicates/errors.rs +++ b/light-client/src/predicates/errors.rs @@ -10,7 +10,7 @@ use crate::types::{Hash, Height, Time, Validator, ValidatorAddress}; /// The various errors which can be raised by the verifier component, /// when validating or verifying a light block. -#[derive(Debug, Clone, Error, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, Error, PartialEq, Serialize, Deserialize, Eq)] pub enum VerificationError { /// The header is from the future #[error("header from the future: header_time={header_time} now={now}")] diff --git a/tendermint/src/validator.rs b/tendermint/src/validator.rs index 9201ccdf8..62bc04a6a 100644 --- a/tendermint/src/validator.rs +++ b/tendermint/src/validator.rs @@ -143,7 +143,7 @@ impl Set { /// Validator information // Todo: Remove address and make it into a function that generates it on the fly from pub_key. -#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] +#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize, Eq)] pub struct Info { /// Validator account address pub address: account::Id,