From 46e85aea1c8f9385782976b5ac1a2132f29c60fe Mon Sep 17 00:00:00 2001 From: Ruediger Klaehn Date: Mon, 7 Apr 2025 21:21:50 +0300 Subject: [PATCH 01/14] Add blog post about new hazmat API --- .../blog/blake3-hazmat-api/blake-tree-21.png | Bin 0 -> 58912 bytes .../blog/blake3-hazmat-api/blake-tree-21.svg | 3 + .../blog/blake3-hazmat-api/blake-tree-6.png | Bin 0 -> 15278 bytes .../blog/blake3-hazmat-api/blake-tree-6.svg | 3 + public/blog/blake3-hazmat-api/crates.png | Bin 0 -> 108225 bytes src/app/blog/blake3-hazmat-api/page.mdx | 151 ++++++++++++++++++ 6 files changed, 157 insertions(+) create mode 100644 public/blog/blake3-hazmat-api/blake-tree-21.png create mode 100644 public/blog/blake3-hazmat-api/blake-tree-21.svg create mode 100644 public/blog/blake3-hazmat-api/blake-tree-6.png create mode 100644 public/blog/blake3-hazmat-api/blake-tree-6.svg create mode 100644 public/blog/blake3-hazmat-api/crates.png create mode 100644 src/app/blog/blake3-hazmat-api/page.mdx diff --git a/public/blog/blake3-hazmat-api/blake-tree-21.png b/public/blog/blake3-hazmat-api/blake-tree-21.png new file mode 100644 index 0000000000000000000000000000000000000000..70d673065acb1074c1e5d0bc647a4051a30ec08f GIT binary patch literal 58912 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 literal 0 HcmV?d00001 diff --git a/public/blog/blake3-hazmat-api/blake-tree-21.svg b/public/blog/blake3-hazmat-api/blake-tree-21.svg new file mode 100644 index 00000000..ed6d3bda --- /dev/null +++ b/public/blog/blake3-hazmat-api/blake-tree-21.svg @@ -0,0 +1,3 @@ + + +
0
0
c0
c0
1
1
c1
c1
p3
p3
2
2
c2
c2
3
3
c3
c3
4
4
c4
c4
p0
p0
p1
p1
p2
p2
0
0
1
1
c0
c0
c1
c1
2
2
3
3
c2
c2
c3
c3
p0
p0
p1
p1
4
4
c4
c4
p2
p2
Bao
Bao
Encoded slice
Encoded slice
c4
c4
p2
p2
p0
p0
p1
p1
c2
c2
c3
c3
s
s
s
s
5 chunks
5 chunks
Slice encoding
Slice encoding
3
3
4
4
Text is not SVG - cannot display
\ No newline at end of file diff --git a/public/blog/blake3-hazmat-api/blake-tree-6.png b/public/blog/blake3-hazmat-api/blake-tree-6.png new file mode 100644 index 0000000000000000000000000000000000000000..6d71d9b22328a69a1c4faa5dabae810a26636bd4 GIT binary patch literal 15278 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 LTI3QXv#b9H7ic_* literal 0 HcmV?d00001 diff --git a/public/blog/blake3-hazmat-api/blake-tree-6.svg b/public/blog/blake3-hazmat-api/blake-tree-6.svg new file mode 100644 index 00000000..246e4165 --- /dev/null +++ b/public/blog/blake3-hazmat-api/blake-tree-6.svg @@ -0,0 +1,3 @@ + + +
7 chunks
7 chunks
c0
c0
Blake3
Blake3
c1
c1
p5
p5
c2
c2
c3
c3
c4
c4
c5
c5
c6
c6
p0
p0
p1
p1
p2
p2
p3
p3
p4
p4
Text is not SVG - cannot display
\ No newline at end of file diff --git a/public/blog/blake3-hazmat-api/crates.png b/public/blog/blake3-hazmat-api/crates.png new file mode 100644 index 0000000000000000000000000000000000000000..d27f3111d2edc885296d0bca19738d64913e5899 GIT binary patch literal 108225 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 gKR)Y^r_LWrvY9JW!RvNSQqOFX&FK1poj5 literal 0 HcmV?d00001 diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx new file mode 100644 index 00000000..55b9a8e7 --- /dev/null +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -0,0 +1,151 @@ +import { BlogPostLayout } from '@/components/BlogPostLayout' +import {ThemeImage} from '@/components/ThemeImage' + +export const post = { + draft: false, + author: 'Rüdiger Klaehn', + date: '2025-04-08', + title: 'The new BLAKE3 hazmat API', + description: + "The new BLAKE3 hazmat API, or why we can retire our BLAKE3 fork", +} + +export const metadata = { + title: post.title, + description: post.description, + openGraph: { + title: post.title, + description: post.description, + images: [{ + url: `/api/og?title=Blog&subtitle=${post.title}`, + width: 1200, + height: 630, + alt: post.title, + type: 'image/png', + }], + type: 'article' + } +} + +export default (props) => + +In [iroh-blobs], we are using the [BLAKE3] hash function for content-addressing. To allow verified streaming, we need to access some internals of the hash function. For the last 18 months we have maintaned a [fork] of the BLAKE3 crate to allow us to access some internals of the hash function. With the latest release of BLAKE3, there is a new hazmat API that allows us to retire this fork. + +This blog post goes into a lot of detail on the previous guts API, the new hazmat API, and how we use these APIs in blobs. It will be of interest to other advanced users of the BLAKE3 hash function. + +# Short summary of BLAKE3 + +The BLAKE3 hash function is a *tree* hash function. Briefly, the data gets divided into 1024 byte chunks, and each chunk is then hashed individually. + +To compute a root hash, pairs of hashes are combined with a binary combine function until just a single hash remains. To provide [domain separation], ***only*** the final root hash gets computed with a special flag is_root set to true. + +
+ +
+ +# Why does iroh-blobs need internals access + +The iroh-blobs protocol allows for verified streaming of data, just like the [bao] crate. In order to do so we need to be able to compute *intermediate results* of the computation described above. + +
+ +
+ + +Most uses are only interested in the root hash like most users, and won't *ever* have to deal with intermediate results. + + +# Minimal internals API + +At a minimum, we need the ability to hash individual chunks, as well as the ability to combine chunks to build the binary tree up to the root. + +Previously, the BLAKE3 provided exactly this functionality in an undocumented and unstable *guts* API that was also used by the [bao] crate. + +A function `parent_cv` provided the ability to combine two non-root hashes (also called continuation values) to another continuation value or root hash. + +```rust +pub fn parent_cv(left_child: &Hash, right_child: &Hash, is_root: bool) -> Hash +``` + +And the `ChunkState` struct provided a builder like API to compute a (root or non-root) hash for any chunk. + +# Why the fork? + +One reason for the very good performance of the BLAKE3 hash function is the ability to compute chunk hashes in parallel. BLAKE3 is using instruction level parallelism (SIMD) to the greatest extent possible, and on top of that optionally uses thread level parallelism using the [rayon] crate. + +When computing a hash from a large blob, the [Hasher](https://docs.rs/blake3/latest/blake3/struct.Hasher.html) can perform chunk hash computations in any order, and it makes use of this to use SIMD. + +But if you only ever ask the poor thing for hashes of *individual* chunks, there is nothing it can do! + +So to get the benefit of this aweomesness, we need to give the hash function multiple chunks to work with even when computing subtree hashes. + +Iroh-blobs is working with *chunk groups* of 16 chunks, so the most expensive hashing related computation going on in iroh-blobs when sending or receiving data is to compute the hash of a subtree consisting of 16 chunks. + +You can of course compute this sequentially using the primitives exposed by the guts API. But you only benefit from the parallelism of BLAKE3 if you give all chunks to the hasher all at once. This is exactly what our fork does. it added a fn to the guts api to hash an entire subtree: + +```rust +pub fn hash_subtree(start_chunk: u64, data: &[u8], is_root: bool) -> Hash +``` + +But using and maintaining this fork caused quite some complexity. There were build issues due to symbol collisions when people had both the original BLAKE3 crate and our fork in their dependencies. And we did not stay up to date with the improvements of the upstream crate. + +# The new hazmat API + +The biggest change of the new hazmat API compared to the guts API is that this is a [public API](https://docs.rs/blake3/latest/blake3/hazmat/index.html) that has the same stability guarantees as anything else in a 1.x rust crate. + + +There is a convention in the rust-crypto collection of cryptography crates to name such useful but potentially dangerous APIs hazmat APIs, hence the name. + + +To hash subtrees, the hazmat API has an extension trait [HasherExt](https://docs.rs/blake3/latest/blake3/hazmat/trait.HasherExt.html) that allows [setting the input offset](https://docs.rs/blake3/latest/blake3/hazmat/trait.HasherExt.html#tymethod.set_input_offset) on the standard [Hasher](https://docs.rs/blake3/latest/blake3/struct.Hasher.html). In addition, it adds the ability to finalize the computation to a *non-root* hash or chaining value. + +The ability to combine two non-root hashes or chaining values is given using two functions [merge_subtree_root](https://docs.rs/blake3/latest/blake3/hazmat/fn.merge_subtrees_root.html) and [merge_subtree_non_root](https://docs.rs/blake3/latest/blake3/hazmat/fn.merge_subtrees_non_root.html). + +A change from the old guts API is that chaining values are now a separate [type alias](https://docs.rs/blake3/latest/blake3/hazmat/type.ChainingValue.html) to distinguish them from root hashes. + +There are also a number of functions to use a BLAKE3 hash as an [extendable output function], which we don't use in iroh-blobs. + + +Despite this attempt to make the distinction between chaining values and root hashes more clear, it is still very easy to use the hazmat API in a way that does not result in correct hashes. Hence the large disclaimers in the docs. So be careful! + + +# Other forks + +Due to it's useful tree structure, high performance and built in parallelism, the BLAKE3 hashing function is quite popular. Several other projects like [fleek] or [fluence] also forked the BLAKE3 crate, often for very similar reasons. + +
+ +
+ +These are just the public forks from [crates.io](https://crates.io/search?q=blake3), there are probably more private or less visible forks. For example, the [s5 project] also uses BLAKE3 with chunk groups, but with a larger chunk group size than iroh-blobs. + +I hope that some of these other projects will take a look at the new hazmat API and will possibly be able to retire their forks as well! + +[iroh-blobs]: https://github.com/n0-computer/iroh-blobs +[BLAKE3]: https://github.com/BLAKE3-team/BLAKE3 +[bao]: https://crates.io/crates/bao +[fork]: https://github.com/n0-computer/iroh-blake3 +[rayon]: https://docs.rs/rayon/latest/rayon/ +[domain separation]: https://en.wikipedia.org/wiki/Domain_separation +[extendable output function]: https://en.wikipedia.org/wiki/Extendable-output_function +[fluence]: https://www.fluence.network/ +[fleek]: https://fleek.network/ +[s5 project]: https://docs.sfive.net/ From f9567612439ea3a284b5c7d8a1a6b262f19eeb33 Mon Sep 17 00:00:00 2001 From: Ruediger Klaehn Date: Mon, 7 Apr 2025 21:24:11 +0300 Subject: [PATCH 02/14] Add shoutout to Jack O'Connor --- src/app/blog/blake3-hazmat-api/page.mdx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index 55b9a8e7..0b287b65 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -139,6 +139,10 @@ These are just the public forks from [crates.io](https://crates.io/search?q=blak I hope that some of these other projects will take a look at the new hazmat API and will possibly be able to retire their forks as well! + +Thanks to [Jack O'Connor] for BLAKE3 and for providing the new hazmat API + + [iroh-blobs]: https://github.com/n0-computer/iroh-blobs [BLAKE3]: https://github.com/BLAKE3-team/BLAKE3 [bao]: https://crates.io/crates/bao @@ -149,3 +153,4 @@ I hope that some of these other projects will take a look at the new hazmat API [fluence]: https://www.fluence.network/ [fleek]: https://fleek.network/ [s5 project]: https://docs.sfive.net/ +[Jack O'Connor]: https://jacko.io/ From 26f0f5f97719bb26c9f2fba08d319f6760870c93 Mon Sep 17 00:00:00 2001 From: Ruediger Klaehn Date: Mon, 7 Apr 2025 21:33:12 +0300 Subject: [PATCH 03/14] fix text --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index 0b287b65..aaf6fad0 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -64,7 +64,7 @@ The iroh-blobs protocol allows for verified streaming of data, just like the [ba -Most uses are only interested in the root hash like most users, and won't *ever* have to deal with intermediate results. +Most uses are only interested in the root hash, and won't *ever* have to deal with intermediate results. # Minimal internals API From 6fed00414aaf7d58c8c85e201bda435c210b112c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:49:36 +0200 Subject: [PATCH 04/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index aaf6fad0..6ffe8f5e 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -71,7 +71,7 @@ Most uses are only interested in the root hash, and won't *ever* have to deal wi At a minimum, we need the ability to hash individual chunks, as well as the ability to combine chunks to build the binary tree up to the root. -Previously, the BLAKE3 provided exactly this functionality in an undocumented and unstable *guts* API that was also used by the [bao] crate. +Previously, the BLAKE3 crate provided exactly this functionality in an undocumented and unstable *guts* API that was also used by the [bao] crate. A function `parent_cv` provided the ability to combine two non-root hashes (also called continuation values) to another continuation value or root hash. From 534d43bbda17e221b1926677ac3c2080182be15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:49:45 +0200 Subject: [PATCH 05/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index 6ffe8f5e..f0e36e79 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -79,7 +79,7 @@ A function `parent_cv` provided the ability to combine two non-root hashes (also pub fn parent_cv(left_child: &Hash, right_child: &Hash, is_root: bool) -> Hash ``` -And the `ChunkState` struct provided a builder like API to compute a (root or non-root) hash for any chunk. +And the `ChunkState` struct provided a builder-like API to compute a (root or non-root) hash for any chunk. # Why the fork? From dff8539e603c413782a79fbc5bcea0f42c3f3e52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:50:06 +0200 Subject: [PATCH 06/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index f0e36e79..eae79750 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -91,7 +91,7 @@ But if you only ever ask the poor thing for hashes of *individual* chunks, there So to get the benefit of this aweomesness, we need to give the hash function multiple chunks to work with even when computing subtree hashes. -Iroh-blobs is working with *chunk groups* of 16 chunks, so the most expensive hashing related computation going on in iroh-blobs when sending or receiving data is to compute the hash of a subtree consisting of 16 chunks. +`iroh-blobs` works with *chunk groups* of 16 chunks. When sending or receiving data, the most expensive hashing related computation going on in `iroh-blobs` is computing the hash of a subtree consisting of 16 chunks. You can of course compute this sequentially using the primitives exposed by the guts API. But you only benefit from the parallelism of BLAKE3 if you give all chunks to the hasher all at once. This is exactly what our fork does. it added a fn to the guts api to hash an entire subtree: From 1f675ca3093c4c90d509b688fbfd9492a888f0d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:50:14 +0200 Subject: [PATCH 07/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index eae79750..0db7b076 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -140,7 +140,7 @@ These are just the public forks from [crates.io](https://crates.io/search?q=blak I hope that some of these other projects will take a look at the new hazmat API and will possibly be able to retire their forks as well! -Thanks to [Jack O'Connor] for BLAKE3 and for providing the new hazmat API +Thanks to [Jack O'Connor] for BLAKE3 and for providing the new *hazmat* API! [iroh-blobs]: https://github.com/n0-computer/iroh-blobs From cc7b83761ac70de36fe878377447edace6b0a96b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:50:25 +0200 Subject: [PATCH 08/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index 0db7b076..cfded682 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -89,7 +89,7 @@ When computing a hash from a large blob, the [Hasher](https://docs.rs/blake3/lat But if you only ever ask the poor thing for hashes of *individual* chunks, there is nothing it can do! -So to get the benefit of this aweomesness, we need to give the hash function multiple chunks to work with even when computing subtree hashes. +So to get the benefit of this awesomeness, we need to give the hash function multiple chunks to work with, even when computing subtree hashes. `iroh-blobs` works with *chunk groups* of 16 chunks. When sending or receiving data, the most expensive hashing related computation going on in `iroh-blobs` is computing the hash of a subtree consisting of 16 chunks. From 1f8dd0fc9d0bce09a7e31215a0e0e2af34b1a0ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:50:55 +0200 Subject: [PATCH 09/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index cfded682..2016b8e2 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -137,7 +137,7 @@ Due to it's useful tree structure, high performance and built in parallelism, th These are just the public forks from [crates.io](https://crates.io/search?q=blake3), there are probably more private or less visible forks. For example, the [s5 project] also uses BLAKE3 with chunk groups, but with a larger chunk group size than iroh-blobs. -I hope that some of these other projects will take a look at the new hazmat API and will possibly be able to retire their forks as well! +I hope that some of these other projects will take a look at the new *hazmat* API and will possibly be able to retire their forks as well! Thanks to [Jack O'Connor] for BLAKE3 and for providing the new *hazmat* API! From 66899a0e1e1ca6dfe6dd3429d35ff957f6b7ef95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:51:07 +0200 Subject: [PATCH 10/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index 2016b8e2..26bf20eb 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -31,7 +31,7 @@ export default (props) => In [iroh-blobs], we are using the [BLAKE3] hash function for content-addressing. To allow verified streaming, we need to access some internals of the hash function. For the last 18 months we have maintaned a [fork] of the BLAKE3 crate to allow us to access some internals of the hash function. With the latest release of BLAKE3, there is a new hazmat API that allows us to retire this fork. -This blog post goes into a lot of detail on the previous guts API, the new hazmat API, and how we use these APIs in blobs. It will be of interest to other advanced users of the BLAKE3 hash function. +This blog post goes into a lot of detail on the previous *guts* API, the new *hazmat* API, and how we use these APIs in blobs. It will be of interest to other advanced users of the BLAKE3 hash function. # Short summary of BLAKE3 From 4d725dd3a66ec145abf66112705c01e4bd32c1d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Klaehn?= Date: Mon, 7 Apr 2025 20:51:14 +0200 Subject: [PATCH 11/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index 26bf20eb..eaa887c4 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -51,7 +51,7 @@ To compute a root hash, pairs of hashes are combined with a binary combine funct # Why does iroh-blobs need internals access -The iroh-blobs protocol allows for verified streaming of data, just like the [bao] crate. In order to do so we need to be able to compute *intermediate results* of the computation described above. +The `iroh-blobs` protocol allows for verified streaming of data, just like the [bao] crate. In order to do so we need to be able to compute *intermediate results* of the computation described above.
Date: Mon, 7 Apr 2025 20:59:17 +0200 Subject: [PATCH 12/14] Update src/app/blog/blake3-hazmat-api/page.mdx Co-authored-by: Kasey --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index eaa887c4..ada920d2 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -29,7 +29,7 @@ export const metadata = { export default (props) => -In [iroh-blobs], we are using the [BLAKE3] hash function for content-addressing. To allow verified streaming, we need to access some internals of the hash function. For the last 18 months we have maintaned a [fork] of the BLAKE3 crate to allow us to access some internals of the hash function. With the latest release of BLAKE3, there is a new hazmat API that allows us to retire this fork. +In [iroh-blobs], we are using the [BLAKE3] hash function for content-addressing. To allow verified streaming, we need to access some internals of the hash function. For the last 18 months we have maintaned a [fork] of the BLAKE3 crate to allow us to access some internals of the hash function. With the latest release of BLAKE3, there is a new *hazmat* API that allows us to retire this fork. This blog post goes into a lot of detail on the previous *guts* API, the new *hazmat* API, and how we use these APIs in blobs. It will be of interest to other advanced users of the BLAKE3 hash function. From f6c0f8c7a3b045fa9b22bb2050fba4459cef199e Mon Sep 17 00:00:00 2001 From: Ruediger Klaehn Date: Mon, 7 Apr 2025 22:00:21 +0300 Subject: [PATCH 13/14] users --- src/app/blog/blake3-hazmat-api/page.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blog/blake3-hazmat-api/page.mdx b/src/app/blog/blake3-hazmat-api/page.mdx index ada920d2..4dad190f 100644 --- a/src/app/blog/blake3-hazmat-api/page.mdx +++ b/src/app/blog/blake3-hazmat-api/page.mdx @@ -64,7 +64,7 @@ The `iroh-blobs` protocol allows for verified streaming of data, just like the [
-Most uses are only interested in the root hash, and won't *ever* have to deal with intermediate results. +Most users are only interested in the root hash, and won't *ever* have to deal with intermediate results. # Minimal internals API From 87c9ccc787a8e43fba79a6657b45494ce992c230 Mon Sep 17 00:00:00 2001 From: Ruediger Klaehn Date: Mon, 7 Apr 2025 22:11:19 +0300 Subject: [PATCH 14/14] very low effort png inversion --- .../blake3-hazmat-api/blake-tree-21-dark.png | Bin 0 -> 46522 bytes .../blake3-hazmat-api/blake-tree-6-dark.png | Bin 0 -> 13825 bytes src/app/blog/blake3-hazmat-api/page.mdx | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 public/blog/blake3-hazmat-api/blake-tree-21-dark.png create mode 100644 public/blog/blake3-hazmat-api/blake-tree-6-dark.png diff --git a/public/blog/blake3-hazmat-api/blake-tree-21-dark.png b/public/blog/blake3-hazmat-api/blake-tree-21-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae99307e2b66abd04bc4253fea3f28967028141 GIT binary patch literal 46522 zcmd43Ra9L~*EI--lZS%@cb5d0;1=9H1oz-1!QCx52M8A22@u@f-QC^Yf;+wW-uLNm zjK1o=_{Zprj0_^XcGa$0Ypyxxs*q0#l5Y_S5Mf|o-bzb}eTIPng~7nUjzK`cpGeTw z?gPIe*hp#G!@wY6y#9inSoV5^fgyvD786!+(K||oPl=tb?{TiV>A-P=-zy}TT4x9!0!*&pc2KfXgq8jP%=Q%3tl!zorjfyI_-&I&W>FMpIe*a!oUEQ9I zg@uKcwIVl{N~m|Tz=|cmsE8r5x3kXB$Oyl5_RvyQw&2}=Cy>F9_Q8#W-F$5I`MS3H z`z#I?mWrC%&h|E=R@Gh)p|yYhEe9jx@lET?Q(n5)LbfDo%V;9o?zklBmHwIljb_tb z$D>;YXjsJ}7biP7v|x2W-~G6n)Z?su-Yi{yz44^sdv_?dQ4e%oz#ZKzr`X-ieJFYX z4MZL+?Mo9_%#lJqYu%UsMvUp)ZtA#NAZ+DBmCjLVnOa8^A7s5)dO?Gs6()rW$4fQGt zx8jmDe2V`5$Lc^-Qm>=(-j=^TgbvX0_wU}}*>e>ynv;!8rZRT;_ROtZhlae{0 zfB4L^9jlC%#AUsLEY3r*IqLmvpJ2M&;Aq~YtgM{wx`RJQFp~S&6@nRrLc9RMHa>(~ z_n(+kN46vxsjI6qMeOS8!n5Uk@4{QZ8VZeSxw~$!#cS32!L{na7W#Bp(im}y9K&*6 zB=Odcn%C{+!AoC>&tVleTn(eo0oxq!sy3~A?X;Zam;H(nhC+XEzBHkM18yd_Z~Yt zJ6TR7TvkMpxrL?8*93h3oJ_Ki*q--O-<+;`AI=mz_~gaL#r?%B@_78)J6Y@XbdQaT z%dAs(27E_nUKq=C+a7$Q-iY6G$<{6X8Ri4QHHzs1$U#Lox=gq8}uW$tC&+s>Gdx>Xjt@TGBw_n?QV6m~W9hg;Cal-$5=6K;?V=|eW&P2>n z5ze#1m^O0ek=yG=af5@HgU3e&Up`V?wfVvse9}Pdsd!FxUUA)PE-%S?bJRz3u@$4J zb%m+;5q)3_<;}q0AnipLrs75k-t{difK{)9|YTu?ADI%*cyrbv|D*}|Cx zPwFw22FaXo4Lx3Ie&`i^W*KgIJRf}Q8u<}@+H`@kiq9NbCQ)bAuunw@y0kU|V_suk zd+tyCp1BxF5aAd7Pec*HgWWrbQ`htL&6rayRD0SaeYssn_2#zQlA3CjU_)E6ALWO? z$#~v=h#=+@xZk5ZA+_rxha{=^Q{C+FE+dq4Al=ml-TDDN+@j3!+#cJL)B3MR02H*Cl!KGbYm;JQ#;dQYpWD`AAV z4kvM7rLmeI?haJJlx8EWQ7g=Ze}6d(5%f#S3MOgn8n6=*qZ_<1#tvt-lx*5PW&epI)`gD1fC zCmyf=iyk}sYj_pfC5O=zX>NVoW;PJ6yz}#yk(J#YNezQa38EFr2XY2Vn5J@k$GIu3 z+d#yWBbPm7LcY0PwAQz2e}k*+bNs`zu z__w0_yyUwIrWlCd>K+z$aX2!$>lb zAWSaP;To=>iq3@|U_0qY#pB0;=wFi2AfL=R?uym1^ z0+O1mGqfj>+q{I;E#IH`iZkK_vtBPzh_y-UF_Dp2_7{Qv0t<1HN`5?-QqPD$0$(Eq z=Qb|-n*Or@uVu{sFz4`17GkU2-AdKEa@0DTF(*7u>l>QA1Fzy?K6{ZX268kkNO0y4 z!=$NxCeb$TXnXw#7nbpkXrvk6&axCgVkO*20uDMhwn@BlbnABS;LNh9R2=(u?YuO% zgRgn1*DLO)y4wdaS^myIyypYr59Q&Y-$ z3d=2?jp$~S`c!73Lh!c;2fsO_Vii^9@miKWZ*& z9Zlhh8Oe~{rCrLiHBSp|cE6EWm*d+zn8(-9Re3Weh-f1>frrJ1io7Ieq$r5WfBET} zXol;b?Vlx{&S@j1*A6lhkav~}hAWX@)hoky)#=$@Uur#kak!` zBOmRE9xUh1M)l{+Mm>TX^WRL8gD(>_Qxp>C#J`m>$O-4iRop^paC5?djDh8iO25Eu zfeG}e>5w+FwlvLB1C+TDU9~t}7h>lwV@^K~a(zN@&hMszA%-)99s8JWj)X_~BB*7eBLGav(iyz_O)iHwKNVg!yEzu0Uxb!9SH<5q$o7iF2rUtVHIk)#u2${Yb zE=7)}RJ`Pc;-bVDEQzl${*y!1iH4U!jcLi;qf8v80(bj9%z#aoGf5B@N~@uvM3*ua z0*s$&S~`_tnw-H=!#ukU$*GF5vY#yxAKrNk4aqJ!%1VU^{RmL$&$(7ujc3b!*|~-x-wckJ@baqXYk?rc(AW8 zqb*lH`Sa(`1%-vQoGxc;K-i5XhB0&-P2-=OoOBiY{CUD4h`7e%&W_;YCX{XMC|=*I z9?5nr8>pbnLw%~2-01ymZ3O=4qO{uha?DDN@R)149G1(@4K7+r-s}VS<+hl6k%X&-5DVM_iw`S3bkk9GJ z2No_@Fre} zOlds!R70UNyliZk#(Kumo)G824Q zKJ~f*iouLaPR5%A7Nalo0LcA$nj0IKV>X=R2!JW0yJ=vToGdpQ>8Pow_@5-PN==xU zn0TzGS6z&WqLLenPG?I-2By{jjFW`o+0JO14JWd}`?>>#%$b9l+6(~JzarX8Hm-En z?fn%YJ9<5D*QGu%d*8rgQmbx<#ZsdlcL4T6?xp}w(w5E+Qp5Mq{4S2%-rn{IawB(q z4%vgISf+#$S(s#4?)~ChDlI6;;^jK#3*c$nDN0iQhTMU^G@iH$Ab_DN1{%*QAi9Da0sc&S08x6Pv49nt>AXgQLp8+8&Zn-}wL_0`- zzNB_o-Yfarw9w#Ki2fmcRN#SO#|Y1re7|Gfyd$cZ$8?7}pTKZOr2A<~S@CI4QgEa0 zzG9GRvk70CKwyVD+jY}=fH2G(0G50G>tFpH!QYX)K5Pl>Bp7|5V3TE`ZGgLURI2Sj z_H{E-(tQmaj37J@gM&B4Cv)XSD^0EuT8nPerTVSekpcu>y7hM36Tf9yu0$Mm``Pne21tWf1D^M z|Iej^7ZKw7-b^S$W{zeaMx&#yj?2EOBKaCNg@llcafKmZco5t_$Sy#=?|yxxsjB)$ z^`U;>2U!X%4WR- z;IB$&7b*0lhCW;Z5#1Ho(~{!i)f#$lfOUq@fV;+EIfxISXxwC=sHmt%98%KsDVz4O zh%CbHD=)`cm30|;`S7r?3zv@|bzqz|5nvphi{C4O%phQw-zIqT;)0u2;Y_nF1+UiE z!-^!Bz#wekOlFKg@85$_e0=^gX?pxQ;?$9mC5&Pd(EJIOQ8M<24V-E znY<^8K3J}D*sRs-37A^AN6N2XHMW~Q#oDzE%T~K(^GZGsU(bnKe7|5#1w8{^F<(ltx!55MMHJ zn8bt+1_%fUbxQ4%P(LZEzDY3g;ba~v%4B{cwL(gr>2T79KxH| zZ;k{zsYQw3*&DCxgikWz`EVVOz>_ipM2V`eled32X@9II8UdkNq_r7XeC~(*>V4rJenp8-M;GO|DvU+F2d4hU>a@?8}R zpHk;7h;-BA4cA3CO2KiiCjupuU4v79eQxz(<%UWwLFo1aWG*Vxz|di#Zy2pI zW_`eG8zr$cf_ozv;FtnFuo5JpL8O5_L(Wr7pkhvO2GG3QTU$RT2DlutyO6bG4iM?B zHas`p$;-&-KUgv}*8=5<_w(ZzSUej8lo{rukSF47#ZiGK0wY7k@=ud&&IkQ#aj}|Y zt`!#};I!+z?Z5X6BmZXK>#(ebH`3EUxa|Gt0-85%m8DEvlI zzT&^{0i134e+L0mfDHG9Qn0W7TaNhylRf>nl=*)>*)d+Q4tmLqstO}8Zx9+VO&EpH zhIe2T0$BA<)!hQVy`%!*eS|Vz=Qx$9)avh}5Ak4RpB0~)o|X>0Mq4!#+uAg2xJ6ZU8WGv^3k_Qide`rd+2Cu6Z%#iF&5B? z{RwY6`eW<<{bTvEM4oZiFKY&dqJhHvFne(^Wz1g@w&G^*ulf`Yu<@}~wbhk1%DGCv zNs7zw*Us}=tWUQE2nkUFE3mh(wA+F2JC#sWR7Vn0-p``MQeFa%r_burRZ*!gZELPA zzzKbtiQ``DI$G&(6r8Ur_Yf7k;}R6F&r;52o7}8m#i-cG!mNmK%jq^zaiy1C?slE# zYjQlXkx zAhApMVxXz}VTq5=p>Mi+TlU%uYd@4Air3a|bkix$Qd_U=)4S!&ghE?#pz03JM8#o= z!v!5j!sK;hR^~a$4r#WS{VgdNPVI@EizsH&YsxgAVMUlu5 zXz_i`D-DRgC*@BP#^Lk@1NzEk;P`DVK4dEh+D@csEM|%^pv?eET&3x7L4JO|bKm*q zIe%eKMp0L?zLw?^y`_+Z#m!@ZjzHz{Gzos%gO;IIwb^D8sx>1IjhIHY^LK&mn2} zSpXsW(0JN{Bt4tgetQqC$B!+7_HOb3Wp%Dx;%iO;s?}2MS}VQMT5$`W5{dUKjn39| zIM~=6v8AXCS{gC6oZjI6c&>WQ0)((Cj^s9D5VXKb@7hfI zYmWmLRUXr6r+nxy!fm#6Q^-H?om~%}P)gAUoXP{Ipi#K#-*|$yiA`3=TwRofFRRz* zjDHZ81I^?#lwwU%Ce<65sGW>=g zKB|?kbyk-o)$g9%V}|9Ohssi_`7ZO?MSg=0a2*dNrP1D4=3a?HOJ( zu?zr+uyhXK>N=pqPY@~W?(9%eQ$G;6@KqD2J~jlnneDM!8@M`3-_&_E7PiLX72|3_ z90Y)XGSaJ~h^!4h_{z+escxto6$EZ10v@-D-uKEMODifXCBq4>?hi{l|E6#$qiZhF@g^NVUFD>mHlwek z{?>NOxn6B#uFW06teMR9MPhZ-EdJLE;9DXhq;*mvqBr`M4=ksfLX=8?i@oZ>OUp+H zi08igtyS**ED38uQ@f!~s;eJV-?%_AC>EZE_NdvN- zdy|{BKSb>NAjIbD(UNEAE}^3arEkfEVyzh5Onht84FgVZNw>ZtDj%4FGP4KA&}%-C z1Qvi$7Xmea=yIIzc zCLp|923U2Y2p-exqj@~*yxiQHU@uqsub(XpV+)@lkA<66}hKiq_?*m-E}9?CbTmZU;E@g|7(0QWRLnn)SQ|k+m=AXAjmW;SMj) zPrVVuNcfm4TZ7E4{tgI?=KwkL7$o>e4h>_6QdgZ`$lpr9kNjbqxbBOhj06~uS1M{U zSN=yaD&NtEs@3l9ZoCZqzg+HE%VQrRH0r)fw|bUU7M+U#hJ-WsYV*jTKW~A_36b$u ztZ3HXA)WXu^T@vHsIT0vaJl!x;_9dGf&k&R0I0vnJPzPtX@Y zE3E^hJDQh1%E%P2`+e#(myOkzXXg{;LGRtdUv34fKxw;21J2n#p)sB=K{NOF33xAT z@W>&`6~BVc#-tDdl%AJ>j6->j@%SAO9&v`YN*YfH00I+0h8_A3g<&)y#2)l0f%~oSN^N8@MoY_+S(L@$~?wG(zB~8)kSK+@-8sGouiIttp z`Djj9+SsH8m4F?Rv@1k#!?=*h{uKid)Gpux2rH!xWux#Hv+D}ll(oHW^r$0HZsOH9 zPb~n!f=sdLlvB4>HMmICM%DA7_Kne`M>)J&8wOFn zvPj%^#U-+R6*JJlx3?;h$kmIONeaaoCj7xFFmA1k8_t!*)?c(Ul-TJ>)AZ-pVhEao zIwnO-C8oXFvG!aR>qiDNs zjQC8$wO#Z69@TmAf4=u<_+ApbXz)<+ZB6%eT7!8)#1LliPx+=HE^!0&AANyRF=Fva}C$jJUu#XMGzFrT7G$#ioxKlxc}-o!-C zu!c_!7d<7|2r@|}@t`1TsPgTliu{4@V&MBVrZ#&Mm0UJ9NH+)=^RR3-rV|4eGikXx zPXFlHSSB5F;3ELx>I1 zB-6Yn{1oo~T{L|6(_1WN8lYTJd*W;Vjk z{7q8Y>YUvK?dbdAH}ZX2e#OvmsD6W)l`?%zSpweM&k!)iYw4Es_Ue5O`fZQi{r5qJ z$l1ygm;Jr3+4iBi3d1R!&#~*a(k#;^X#i6L5NSTp7@JCjVMfpov?V$G&nC!3+-UrF z199}IDhwRFyJIPx+&g*=W?muA`eBMHuStTJ07w#<tH_1iraN78FI>op`Lq=BB2# zeS3Y(@w@L`SsSJ=S87Z)hXSmbHP2lg@3?yAcHU0&<{1|TZ-ozY*0b-7baOr=4=z9> zpv1AP71|yO^?4SK&t}nSo%eCmYjCf5h-^6U9)k|T?SC*vmt>qXC-4?mvP0}pj5#$m z7072N*z{^8eY!OU{qfU^5>#~ z7qW2lUq8P5Qt6Pt0Qvs&z5|!h#Z&4&p|gQlRU@jk*v2!HueG6ssM=l|jYDQfD*0l+ zlZteQ9s4*`HbP-PZLU^b=7mmiI%}C!&6`-Ddse)WF;Y$UHQ53cdP6u&K?B+?4#>QW zrK$&mP?;G+1xmmX`fj*yfC$Fu;%Y*cnNjDqm@FyxA1;z&TqmUXi&dW-1EWSo+u6F> zc#9>amfya7tq62>Wx<$SMY*}0g5K6QDI`)`=p}tc2_&8qftOMTx+;mS=CehiNjoED zsMof1%s}1kPJUMW;mz@M{sKB^Jp=~6xsKH+#B(c3(hnw)k<3&eDuMAj_{FRr?W=^t zhz}HfImXTPJ3pUH?Ge+W+TQ#k;uraCuch){eXnQLNWoj3Xs+TZ>JlQRc5?sl(1#Tu{q&SA43lZ@o~|}o;Z@AOHn>UX^UtBd z_+paNo$D++6j2f~x*s!bZCuL8$JO#Mo*c(vvI0>gyxJ`$iKRn?C10ZkP1rpk!~()T zsAqttBy}%2umf=3jeoi5hh^iOc(rJC$b6s+)%|* zQA<#DOLX^&zwhbp%FDS9v+b6U6z|-4H(0iW8{ApPF^kcWQ_`cYe0=S;#1Y3gSc4Of zdo6#$S0{P%Jija}ph7lk!1VIAejr!6q?rjI?iJp>;#`tn-8+L>&Ql z*qjr91~>u`d|#+rhPTtBv>Bsbgo5|`PMP0EOm#<%2H#i$AsS~ta+SL>2lv}K&7#nTKpKnH{!K&R_ZHQCKG8RH|54lr^zv{ zkj-odz;gR{d{k4g$*l|EQoEJBtEjVPKz}K2Tkw%nE-WdPlRkR!@UqguFdSJ-mh{2G z5YL9$i(RQP$S9x#`@@X;gZMf1@jbOHEi+*JuL9hQ`kU9qbwK$zb?Q z;!;HXCf?2e!8&?^mjd_^ypbzH7EIZRMm4;U9_2x!Tl~Wbb7p z3p;Wz0aS9(A~a~(CHZ^|proZQyQtgCrQxcL`!O(NKR#Vf0s`QhG$k|}WfYXRsUJ%8 z0oi=hIJFrPdQ#?&&HjZP%>pQ-e^~ZRt(u~r4XYTu3D=+k%<{9bG-uDfMaHp_JoGtSk9W>*V59#^sJ=Q zh0%V5^f!tKn}~5VnG5w7#j>51mDL44p(vO*-4gNFZZenk^YcxsemdI!&<3!PK>A$E zlOkRs1<6Fs~908D^$c71XDb#^wXlps{9+&LF@0 zwOC}hPB1;XmzZ&ZPaGk_K+nL)^m(U9m6+#!(Obg%tHa)rz-;G4`=Gs#-!;fzA%Peb z>sFAjhFsQmY%JE?n@s$WM8#lySqmEcmwX9yXxz83>@PG8^YdsS0UsF1Ulz=L zM9A`AiPEdf0GC}xL)-}x$-y~~b)tYUETbOeE{Y|ATnX;T45wy4%5@ zd?JAKe!j_GeC`b~xA$Zqu4Jn&l-y&hGmG_N(Tio_Z6>vTRlE4X3%2liz>lw$aordc` zEG;15Q>H+IvW?XOLl|dSSCu-g<}1XDmh`M6e+W`J_KdX?wpTTOP~sCI`}sQk^P?(2 zBO3TIm80uD!BmyY_P{YqF-8?MK*Sh{$Kn@@odQ);SEnS!TtRxna0&f6OVgo#>%v(3 zk4ftx_XaC>=NRB1Nx_wZUK0vpV*%DOAn#S8pHA#LVqrd@d~4Mk+{*Wf{HsOvn{ug5 zuzaBBE23~B4aMyalU7x}66N|)_0l*q!p>4cdyHAk@Fz(@*<&PtefkD~t>Qo?2wek( zj#5d2xw?*pv5te7gM)DuJw*kIa6`%ZOpqv*}-4I>I8O3F2J1=7QS{XQw=>a~M~ zZ;HQxXuPDYw9mx&hmPR_M}1apR?LN9?tZPy3M2s3<073;4>#1mDeH;rZI0Rn5ozy$ z`jSiU^GF#nab0z?^=zMz_((TT!m2f1*TMCV$TU@NW|aq!|I4I#9EXj`8Q# zuFPd+_uO8y`tM8Pac{a+ADq;Vn67ZtXMRnS2nj^kcE1khEod7>cZe4@#bkN4?H^A1Ka!hzfw;JUQ=1R?6HyU8F>S|5?{fivA)j@=tlnvcQA z!a$f+679;6#Bs1N@n%*vm}_?jf^O0d7S1`H1}~?hN~9J_{}j{S#Gb9T6f89* z9K}QkTB;nC6-;2dlS~xv<|C`@9nO>_v$>CqETwL-_~#_wOG<|<_w4VD9pr3wX;}3A zB>&(LBp?<3zk9v}iHpQDJ1RH2V?4 z=An^$I1xXq01HmIi2U*`@zj`F}NkEd>1iXhXf2GDc@VY)O2BDNcQ1DM51Vo z;q31Kg))S+TUG3}GzA2Zc(p%jct?ho;Ra(9b2Yy*CP4VD0Cz*|nH&th0#{l^0rMkVv)NJyN`J(N0TDmWMk z+~G01*2mRpTmhvU@UvNTcNldM{6>Sw01-r(&2qdXp`Sm(c~-@{;*eh?OiZ#{OkA=? z#I5HATP-3aq}>^xl`0_i&6=E)6xq)=zG8abPmYEmXwaA*T8TCEkAKQ;Iee2JNNUZt zR}}3x?!yO?&R zU%;5Xit$vGB=KugMCHhR;$s_*iP0rstAt$-@di}*=u`?WE?ivNCF?KxIlIaPCAoE< z(mKEXy5c)+!W2DkI$-{O<082Q4Qf@#CHbIeKek4wK+N$Q3FkJ&JcGNPpEpIKv>eel z<29dxl>>a|a#A*B3y{=s83NPxSpsLaQn&$oEV>g*Rv@LeiUXl2rI7na5|9lA=4dJ( zu1raM2tSDcdJ(NCtgOiNo<+1|?5|&TGV(cPKugYGpI17Uvyt%88dM1`TEc=+9~1nk zAWQ(VMhwpn;7A?h;u}Dcrvg%8TS~mO+Z+BHX*`*^k?uxQ)mc@;86zbbG;f2+UJ`dG zoVY{WCyNV8TVr!N3QArAyB+DP*KD^ttC3ubAqJAjmYT&T6GTFqEO z<7Kncr;Dvk*pNqWjz(5VJ#K1Km&9XlI_987j15``v`gMGGd>nNOXCs$?#3OJsb3T7 z=2OtpOljlQtHW7bz-^VaWN1tilo=IAEBDBppNbRAv=RCER#X{d)~w+6gTs@Pf%bO8 z_>Vl~RANxU_T7 z&4~o4^fIl?~YmBlr2a_5+a|6k(IyD`dUVh20)3+Hb|FUX2|TAE{Lt#LkJ zE~-@R^a-p=hsZD&(;}J+P1l#Ae<7K-Yah$uM5hD9g8!~1uEYG5E&pV8h5K(5jRv!p z?4|3wb5#KvhHecro^Vdl?*g`lrYfew|AZ|%x6I|mtvANij?H^GH!hFWP)2Br=arye z_`bV3U&uNZCxp)n*VC)Zs3BhqDS?sn$$o3vT30uBg!&F}n0x$jUk_silf9H1DhN^&w?uF)@2e6%i16uFA+|>=;|a(d z92k%YClL1`@O>RM1JE~k$4s}9pWjLT?v?1?jz9id9yWGd4-mlHaq3AV4*-uVN$2Ol zxDrgvbEN`W(d!(OmA6s?!1>*?`rgg;*0$u@Tyc4*bBPTNegjRhd&rj;j7}PF zKwwz8mro9dG`vE&qRVKYaG-R6-=H^m7mpW5M2xMyMQf28mRlE?kh#7+7!No`JFQ!v zIP1}ZvHrPw9({QPyz=%Z^}8flfx>h0x&`?V%xr9Lz(tkre!_F``3T^r-?>QxCLWt@ z0!|A&R<$rKt3!i7jWpz(v;)|f!3hP5528LPnYW;|9VQn*8iEJ`5fGM}_G)I_fqp?; zWt7I*(q5s*^eo^XK0(2BG$r#I^pG?AM^T1@e#fvhI|9yn|H>8Kta_(^QpQPLR0MMeJr8Iujv~^{{D#c+gf$cA zk$2f2Pqgf<11IMQ{*_j0!O7jeo@xNt&yc9A66Il?5BaWxWVb60lk(;@N}mAxFQK*i zuP-?IUWV9#9ba>zhT}ul5)%^v+%LfK)bqTJ+rdO7e0s`IrT}S0ruAg5c}c&zGY!_c9lnP+q}GW z>#s`;bHpJqjpA^8@9?njy;Qh7znbTZL`e7np*}+dVYroNGAkq3`bQQTzRNMu*&@v! zd&s1eO6cDZ|1KatWN+tcxap_`7h7T>MY?lFj7s>& za^K>BUw{FUQ|DW*vd`K@)>Yep1NZ~i$K$+0Rk$0;-_$wr$Bdt;2HHG-U(d2#JKgH= zFpY=mVF04?N+2iDehBB_b!ZeiJ*`?NJ7GxJKemeD7v(IE^cFt(7}Zu5E!$vEUC;Fm z&#krh1EGOjn)kEo$wQiG@}qHPSAKF#j3{;;J`Pu*^@4xi-LxX3vzwe+eQj2SL_Zto zGW^>DqdPoWhJpD|{nJz|c=&8ei5%?_Fn^-#@i1I(;i{b+$A35)9B>?Vh^5?p?G2G? zcKKkGij3al*H=>=rI14dOb@s>Av**P7P2$ij z-Ez3eK+M}oVx?(A18l${nBc&G$b#XYsXf$+@rhsE%wMRF5{Mc?d2xB?N}nsDPhjF=1+T6!JP=K z0J&qqgVV^uF6+kbWs>6NzFV=oc)=x;4nFYBpxT_b%OceYOAEiCLDKeC%Xjv z3Uy3T=R1ddIFYtj5Yfjh+FW;3QmBzudv>-$jn#;B)1WETdQjGl&bOZv!@wVf>7C5n z*8-k5ofr2FIXZk-UjZ?+;o)+>IuJklAV9k*8nlPMq96;~~=24TAYm5NbWrF!6v%%ngLpT^sbz}2x4 z*3#0V)Hh2K`PE@#0kBa;3;DzSd(xHa|?vKgl1Rv2>&8D0SXUXs_MK>d#&;lxVH%LeAz2C_mtE@xjpR##M105Y=u z$DBVM3-Z2k^y-Gfrav<`NRl|2=>Nbs22oh2S#KPywW%~ex+T96-4yZ$+~9m(7af4> z^_8A~6mQFd%8&3EXr)(H7(K9uyM<4=kBj5-UktHvYo@wvggn={ui3dsWnXvz4Fysi z>;6o(p_27ksM5rO)i?9a8}RtrwND}6GLg^$$0n$eS2i4c$eeNgGu zeQ&GQ9D|>R&5X_tDxd8pfF5f$Kn9x-@ji85eUNFhEW@pwz7|qvYt^C@Lwye(=m&x#8+?9wJ{b;InTKPGEVdyT~-4i&u97o?iv1YXA@Iw(-wqyb>vOT}xeKu}g!e z2>fyDrL%sxizfXRwufQI!r9pwhgfF2&)+(5%&dT01pad`KrF4KT(ZsQ;k1Nl`dQD% zZurLKWI~liR$9c0o4l{i!$PoOA`0wfZy$FBUqa-6K)e0C^f-Ke3VnI8%@r{;&*X#@ zRUa~198y$Nu$|UjILGUGu8;UJ;||{yeUUfWcXBRooFh~^ZG61yUMZYjEVZ5v2vlC? zpB!{MSyqcxufOoWh-li`p$8i9e|hMg>Y318e(K~+>DiPc4H^Rn>o&V_=$$7`+PJ-8 zpJ@{Z4r`tL#oKw#Ph^)+d#ty++Qe&l59V(liX?$j>v>E@S|C( z;|w4G*lKlW?E=lny+9w2CvB7B<56v}x}^7m1|P+IV5hEExAQ2NJuE5uW8+@9wDQeazPffsSwEtUf=NKrgEC~v z@+ue!hZq}|6q^u}7?&_E0WGHQ*e{g7QKlBxw@p)q+#_%&{7AECk|Fo*I;;7?WlA(lDaSFXzmu74Z z6O)syje;z{g68)e`rYro=6dRYwfr6cU(FtGPrt#@y|&K`5J&6~-A2S9-4GMgE(sfE*)2d1URAEb|M9hUzH$VpuT z4s4Tp#VWYL;MGigW97>HXpF zI!T{}1dv@$fEH~wPQG6+EN9I3isyx|J+uJL&hQto`19Na_OJMQ>5*vq3VP0nvc?#W zgxAASy%8>FM#lLvtw;`7RRJoovv~QNrjyiOv3{%9>s1k+Kr`j$;rZpHq99=F$sw%R zY;$tg=;iA2GVBa|i|4Yb><+YB>)5_Yn=H@iXH6WM4|ed7y!4+T6Do+4Wp0j*rAvT% zZhNmLnW{(v^S%}qsxMxE?^UY;>9!9CCqS44pY|2=Q{@ES7B3Q>amv z!=d{LaHhvuT9LWm5Ph#-nI#e$5;?*mw_D1nLHx#ffSQ*x>(}@hA8*#{m6@l-o~8%% z^0(B874rfOcpvU0IwLiKZjtGBvb>5^Ul{wTR&Q@TsS0zzg$QT+dfNdY8NgIuzrodM z%VcQhN6WB$gB;^H7AS507ho!oL~~vjJox)3M<2QH1_Q{KAVoRNtnPr(NRi9Q)C8a|WyxW0WCEBUS?T*sDW>i^THDY4eRMA?#oU6CIEjd9% zb`ZUh*KRSrkveWcAfMN%7_1Q0fU4k}#l_$7VgFy$omEg>QMaXmkOT|v?(XjH?!f~D z4(HkS2D=0?Tr9*J~$*d##b`|80bkDAPLQ!mMy-V{03- zH`+2x-&TEIX{_8Kq&J+A06S|iJa}b&%CMA?P{4-|Pjl2;>J#S%-bdDM0W`dEditxf z`k#Th7o5|xy8yr-?gplt;J9r7<=uf&_N*OrgPYq45w*(zKyNrjZk^Z}3jBC6wzPs% z40{~hPHR}FG}RQzQ%ZBnO?HT?WrM`nXtU78-xj7VE7Oo?u;Yq#Mp7zyU~uyje~~dY zkb&~c<&MdVkc`@a%|XOw{EA<|aj{qnI^TU%Se+rS>%$PejA)!GByQCk+-*p?lOMUg zppuDjC3swPYav2lDwZ0Lw%s?0tyyM>YFyxX`^#MfG-2F0Co@I(XfH2B*LN^wmP6xB zyjzNHpf%^`oaJhVe=g>4S@;QhcTkp)?{O-(R>ZKmC$F|@0k%L{FEK%dy{) zQjNYk*4+&%wIBvQpC{2A;2y-ZG;m1y*X*Mp8ugDd=G0ukFI|I^Xtfc3{(ODBz7Vx8n#R_qf zv6*aazWyR|t+R2uX*3+6tFhvVHyxs}kf5 zP{0Phg&v;r8&6`=H%JXa)87ITQYmQJq9HIYB2){aRy?Cuq3@i!YW-UIzHTRzn9J|3 ze{X`9(qe2GgIT}BL(0TtqvH>ZgI77jik7yn<{@)Q8J+v0HYppAxxxEjh7l~HBYD|q zWw~g1OU;w)z#!Cr&WEN?eSt6H~7&RZP7Ucl`r`{@xzA z52bcT@HsiO{Tm5$S#xlEyM8>jw8kgbKC?L^$dxVcAl2OJ>fWD%Rd4bGvl>U3ntB%~ zU~@oSPyMxgKpX4Dlt%#?b$zI>^9bHlZJ8>97kzOQGU!i{AJqghgEIKOVhc51U|kh^ zMKh3bP#0Us|ISP_+Tr?kx%ip)v;I65MJ2EABOZs>2X@=ODeyw{m_JPVz_YU#;p|(T z&hKD!&HY?p@8!Bc_G`eL`bJh^X!U)AjmrEdcf*2O>(BfItL7dXWLAvyaJSM!S?k2n zUN7PlI0~q@w?~U8EEYa4zx^Igz&cua!=S&ZoZ+fDE2nmV!CsurzaFn<6~^PsoIN|5 z%;XIUye~pGI^^DszSbU_Lv<0q58T&GmS<-QT<$E2-*Jl)o9(We{TUb#pV)_Hr#lP< z&CG9c|N7^)%ZZP1q9bAspaXWn2 zgh^lMI|5c$b~~9;cu0HbGz#h5tK?p-QI=A9 zxPVyDoj)-d=zbZhlKlG@*v7N(vVa5q_itbq^Hg^mYh5%bC4^Tw6s{lBuc37C)3q~+ zBI+VFUaT& zf}8$}-Y5j9uy(^`bn}1y!7c%^S1uSbb2{mY*QSh#=y5$~Lu3uOYQ)`$5do9O$F@CO zsCcg|RGs;1#i^*NO_3L(X|O^oIRja~ww3EWk^j{W&K}$*%>IzpSYZk8r=g}c9rPB( z+7DsO`b){6MArQZa0Pb{Wdr#waKy8I+1?hNxVf&dug+m*gJ+BDeqXNFT(p0QhK2!* z3ahGBrta4%kC@04v&KUYDs5U-^<^bq?fO1;nm}yN0z=j_)!uo+4S09gfNz|&J!jJHw=UAR1ye((kIqGy znx}?_cO_^Wxni$gE^@&zYmytstjTcmg=%F*1%%!Nhj9A^wB>fRfG7Fvf`rnOnr2*K zqg^?$=B>3+T+m7+-1KwkN4u8PTAM0N+kwtlW`+v7Ke_bQC{%WykXelK%dj7O**DCJ z@H{BQg1Al%fDpBCwCltZDlNIcP)?wZpU;u5j#&sx8Gye23-W_N=n^yjpl4rp=6Uoq z;GWynv(ljA`^EC0rsrr(_Q(8>f<`E_0R;RoPM)64X?Q%H7J+KC4UQY)V`ol>I}Z(Z zKT*q0-dQ-j(ZQ++F0O<^QM*F4Ha6Mt!oCa_=;-GOy9safeMo47xL&cbFe#;RlqZ)K{Ah61*f^x~js2is zS6IY+Ra@w|DzV-M2o`w(qCgPJ67iQ5wg(|V^`j;Am;S^M+>qLzC%fJh{nR!UXG9n& z)6PFVYttyy;!68(p+Xyq?+OI$s=2U+}o9zs@IP$l1A~df6oZjwc{+-+>Vvl z)-*}~-ajrqh^oY}LOr<#+ws{Oa-^b&AmrVMX^;Ejo!Q7oU2yx!2b1g$1~lb zJH*bZFEMuG_~;H9EQ_+UeoVvs9Xau^uF_wWCFZ)O*;e%VuQ9v%{H$lVG$BXd6lM2R z@O&)>;r|2xu*2jHPf@?gs~DS{lzA-#^fD7OV`O1&%N0-T6%okV@h!0NlrV4n1nv$~ z6_OmTm9u}S`ew!%Nc((}_ZgTNQ5r{@ZIGXOvpU9if%5rIf-wfIEY97IVPUN94@Q5g zOkX!}3lI`G7@;83r7rA#h$wn;T1-l59p(7ga;fpX#c-JfCWrTjiI?t6-!q^%jBRgSUG$T`;`QicN?E^Y_;egv9F^AV z@swZ=UOaOnIL22Doxm7%+?Z=koqmq*^BX`n{MwI!>l{%ukX_OdrX0f_>4?T)&*}S? zZ!W)E%!+=d_F7uci0`ly9$UpyC~}yy^}8EpNndDM?|)R%jd$$8;$bNRE3Od=ArcFS zAW!5<*-4%E0fUub9BS=LAdO?fgy-qJ+eFmN>Y%hkRE0pO<0y3dMDEsK1#&-vZgQJ2 zHa@jMIfMJ%2~R@@Iq<*Y`RMToO3&^ZB`FgKDis2bGnqKq$<)vRKw|%0i<)>V|*8+3N;r(OPioVB|@|CXJfG8*RINYwP^#$1z}kAYId`b(DCIGBp}_ z9efK%17f4wJRjLC^HGw@)m$Hnmi*azx6_uDmi_P8H&Jf{tjbWsJ1?`&SOpf1yqPeg zPSe{G6q&`E;T>jNVIe90;u!|{mfErbQbuZ!1p2yr02oZ&PC6dWwG(kSoQ|um=epaQ z_cjap!PnRg=SoRo;%*a>|I}B^U_>sY0T)aPL&hNCk~_q&451&o28JW?&T;Yyb|p+i zl@mU(heK z8n&k`@>F#T|L9HPz=4XDCSl@n z*W)a(`Hdq{4j;fOL&}M_qB#ZW9;L(IWKrN&$9y{(j2~LqoNMyEF|NyO?kLsnh*p9Yds0%Guo^yaRK_`u<0lC0we>sZu%x@HH_h zm%_%FkcN-POXuGQ-a3Hkm5-QWA@lC$_?OtNy=*$)&ZQ^0)S;0B`E-^pczTwqZ z%9BZg1yj7*I{NQx8C$3G9Dc_3^SiIK*t+if)XUbCM|Vt%`z0Om#~EENLC+W13^Yu` z(#}=wNOR_EOa-(%)!fE!L&G?e%~?6w$({Ll?A9`xM_Pw+7>$K%pBKP&9Wzqr%bQt=RfDfBnKVEnaXbOIZvw z(Q9Zhy#Ac}_K0k|tBpRmF{mGX!xn*3L8=L_ft#yDD8HXp)9Xo3JlAMC>wU9}Y@?dc z=9}Y+HR~PUFCJ;6qnXp3+DHTU9VZlu52w|%4sLdpyZZ4tz(VzM;FIB1XaQLuJRi%L zaEB=IxvY zYWi)Evv@S!EkySntwn9#ulQ9(=?(Wa%hi15{HYo;rrZ=_zYnSmF$d=#=jH;VgDi@E zHt1qs&o+EG?zK&}Q|wlF|#8{VJzVdtj%MDV)$ z@Q>%a0c8Kni67%aLcTH(WrJo1wf1kWy?FJ@(5OhrZ}+8LtTjHOHT#CyI>7Lwz~RQ> zJ9rrUxGBY{X3DCRUmfcQt4JY;I_k4I0qzEVvM@IrwUgS~m~n99yl;aLt%m<((i2}@ z3!N4w;CMgl!MIg8RJ?w_nEp()tV> zwT)G#P0IJu+YMIcG9eN~WZUOe?8pt+$L~8dQl1FW_!tQr3p#fM91th3v*N1LWXvhe z$A4cKc_?EDqvbNWoStX;#6djakk|wpyUPv&j2>G*Xig# zm}VQ)1uji~Z&-<|8hUJmz%r4M+PE9!jgKa2704w-=T7+Jq~2{IlDpD&1xoa z*;nS>Nl(Z$0y%v%ZB%l@7HduFi^^#T72ZpRyZ=M>T@Xa8R2 z1MN~0>%G2DX+iH6QT)zdX(tPuHoYoF`wjE_Sw@&*1h=E%9NH)k5r`f;OY8YM!?m_Z-QxbT8%aFG&H_DDTfg@T? zB8BJ%#_Wre3PD)yFK7gQ`~cO2JfgPa@6nhEnS>bac%G&6tH%l_eVUuH83tj5KF;;k z(b`kgf=`ND()!{7C}Ci@J8_YU-iay%<{iMiQu{0;+zU?yk5a|!f0 z2Za1fG@4H+*s$Wsd1+9L5krb0sn>wt9BpZOvPspmBKbzb87CGffCO$s<wSEpLYbTIxAK!6#dC!QR~38d_GcX|A*&OcIG!WW%wqayyrk$(lKN&cWX z<{Wz2V`W=_Gtp-w1ZTyNF07c5nq!d2osgLyOyq1n{6z^}EE@fL_t5H~a+Y&`obhk1 z-upK9*o2~0i8z&;k&ByQ086Eh)!oh)X%U-6hmVTBK<3dupoBu&LWMYvkC~spAr~+K zPRDFMyY+v+pjh(I<<$Xbi}sD+&tze^LsdIi>@PET7#K3F>ONhiaAs#v)H3STg%eJ$ z+TuJloS9V_i#<}-Y?~q9S`yE}YhX2eapcwkB0XPc`9Hm11nW#5R))fdq?)}=DYh^S zhf6Nfer?u1e0!%Ht{fc^OQj^ARNSMlAH%=_z3u2cu*t~IfN$>oA1weqKQp^9Gj+BD zab@w0zS=1rb1CDBT1)eozPiTVjkE{q;MwQ%00F;;)(^k`9A(&dlvqKXS7pHv@Ji!O zaZnQN@><@B=gy+SDdGKnIlv^7B=$KMv+d&-@8X)!skg>@rhz+Jnz$RdIISB-OnAGD zgx-AlLY3C9X#DNfx)vU-N{z+^Ms$%Y>YOtnTKD%!-hjw*lX$vhn60m_rE|($`bQg# zej@S=4}g4xd7^Tuwbl0FbmpY_oBnO0!zj}~=N#|%o=Vk?6G|Gk+a9W?u?B%@gf7Qy zJ`T6NamG27o12>@8pX)Ctp35qL>CrV$9Laflo^Dm&=$j84{5H!K)PF2kaYw%H@2}2 zU>E;h2=`##=+;LuSHuz2r$BQ?^X4AAZPvl-y9lJ=-y`&_;J)$xi--TXCH&u^N;xat zM;5`2pS*ks31l{@;Ir!pU>d9`<~A$G;Ooj8{8)C%4??+O_pnNeBAVvXsR4N!7Rki+ zPXr_czB=Kl>Rz5HV8vMHlmBRTxX|2(=RYYxBpfQ!IH%Y2Xzxw2iO_bvpkEjXpJHN@ zDW0o<28YJfSdt|ZOE`SNF=A1-N^MpD0AF`zwv22Hr~FP#Rh< zLQ?@)9bROzK&$5SeGPuRbBDRIqfd?C)R;FZ-3WQ))c4V+P4OZ)fVjIBx-y3Wa#ZZ zWPL)tuxxAi0Bus#RraeyI*o9S5Yzkny&M$SjZoqBZx{pw-hi$9C&H>xyE@31j_*g8 zZbeN^{8vYhN+{!)Lgl-bu|F*#r;HRl$Pb!9Q^JCIA>Gxu(otGM;zD< zmSVNFwMtmaBfBfD>B|@!v422N0oo7gc>6P&V2C$&5TWA)D2nt8yV6vHenuBE1NnfN zfMW{QRrr{mZ5U4b$*xYxD}(F!MK&xBI96 zN{2;Ik3&pXo19FV(jV?4akV@D&Q}V9#a#Vy@UL#ELZt3{KuUZB6T%m0Zb0FQYJmd( zEEP(9_h$Jyu$rRB%+FZu17KTj5Gq`{2&+E6x`qaPMMTUJ7>ei_8Lf%s*1fMyjUbb7 zX+XG04Ra;M&1_uUU-?GFF)s{o$&S3z{-O6UY3F4QAt52b$Iq4j{<0{JtKGbD4*O{y z>qAi8&2D3x$QL%ymnC^@0-7<2A8$fLIpAP1BqTh-3%64!eU{R>YywRU&%N3i-d9i( zK)k&8hbu8_TBn^+gudW$>;f*!1~6Cx%!~3aCvDm9;csk?>!PMVY*(AmGA_@TJ(fv` zYNbONd@5AE*NKTRKS$(4lc7e#!G<*^F|7ti^MW^qQ)SO8PxykQwu`9%iTkRPnOfq% z?`I_NmbtXl>HN#Y;8ESkU56Zruxx|0i2(IrKB*l7VG~8$*d_NGu7JYvO#K(e)kZAT z(K?uhegdcRA5{pd1|%P{D36$6Hi0eXBUvkz3$Lij5ui+0CNw1oi0yrd@(f5jD!6{v z$k%Tgi$TbNjo4Tn_MlgGffyhSC+ht9W!3_`uv=d-q8VTma6OU!-A{gYo};hsO*7ym z2Ney4q#Wx+iCx&Jl}6xx2cZXk$q6B3JMifrAZ5&cF(Ak&k_X zJFNS3vO)^C(bfyaVZ?*}mf*Vy0Teh5Obf-OhBkOs^inkjLpq zkgURQ?5->mXP;Sss)`z>U~6Ie`lAAs7w9jI=|Zh=Jxg;NU-VZdum}7@=+b49jQzYy zd$?cBg#yM~WvKDVglf&|;Q3mykmQ5!v>r}zM1mDb1UTpN5C=;;{^r8GlP<%9F z#74fXU_%ISATvgU_ADiZnCeneQN6y_{x$t>Q>GOFo-?(296QFnQ!jTJKpH?0iZH3Y zr|M+MtS5U@E|Oy%#RjP=yYyq;GLK3+C*2Ya8`3{?E;F(zYFOKtk72Qe{VQRwT;a-K zxIu7G*-KCW_z(o^HB{U=F{N5EM{sJplzm)qIt}VZ;5VXa=H3W zW4qkc{SO$g-s>`)M=f8m@y7>FrgM$<M1FzCuFsWo5@e{ka7%uf zk9?q#?UNo`Xr0pelNqp195ZAtmnjZ$9dA>KeO~W)IHl01Eg6Qn+Od&ntV$!trtUcN zcoPaQ2SSX(G%{H6Yzd6sX<@;XOOm28^;f;7xViwZlSbfA07{VdBnrf1YhY=h;zB)@ zmW#AV*RQ|P$|uq1`v)SJinX(R z@~t##``a0Lt;Mon^PbW8y($`_6q;DNdLac7IviR1-ap@)zP*Z8xf{7hu>S8zE#QCrg`nYUt*X zO1IAeh_o_MuS3_;@q2A_GP1n>e(6mD?q|T?(n#mDYdL=ixlV{jKt!Nts8-*I(^pp? zLk)NhAfx(Nw`Ht(}!4#^D zn3$NH6I%|a!wS^Y{js+5K5?KpOK3P&CG`}3G}?DB|)MKjMVfpa#d)U9ivf- zC$q!3lJ_5cxh&*4G;SI>!XFaxNZ8(J>hQvKsF4A{HUGX!HHnou=+r6T)GB>cbV9TIJMMVV_ zQc#f7uY2f51hkm>LGe`!ZY`RsV;>azZ7D)tctS3fkm9;kPCNN%ej3^TJ(8!gP1*|ytwNRgtVp65yQ>aVT^ z@mvGY7%t4?kL@%^S(HR!hsio9T_C%DheHNte|x{&e@kVBu-knnKF8cDd{<+}_)4YE zsp=kxy&ORgn5$Ueyi95+3DAnI&D(%#2jt6;S;zE>K zmM(r-kQV z0^H9HEOf(a`<+~{m}dJrMYN_tm-JR1bsvw&WUNQ>zE{1uDj9(h!%Y94s&6n5-dW~& zk#Jv>KCibNZRH`=1$p^$M5Ka(ggMkvqq6gpLYq2)>~6V-G?r|y>*OFiOGv18#r0jg zWYYdS-CYyzWvhOMDA?ya=$7*I3xV{EZ}iI~Z;kWWG?MCQk>>WNv|V`}#Nw5IH8p)7 z+Fxo4E)0!bk_@xyU%m_|rzNq~ND&~VCCB=drXtgF!De4=_in64 z2=;e1%z#6Rb^Wj+8e{kPw6b^Y;$x$07<-2}^_!T5u7Buut{Ww1_pSFFDdZ!@sgnB9 zBCY(Yp^Zx9J&{tV7BxcnlU$?c4YTvf2|L$m+$ngN)%vMot5ju7s<)QVB)pYnoe9^% zTqNY424cnk@kjDW@;ArN8~@S$s)DRwt<9{S>LohKS3wnb=M|TR=Q*(2OVwUxrDP&j zy|K2jR$k`MvVjM?Dg*T;vea2iZ`eOn4HgCg`ZtoD%O@uX2;$pWiw4BcpjqHnXw)DK zLVG^!4MX|RXir2VvNSyV2^&KfaQ1LHAV@98Am$6CAoXnKkK>(}^3o!}Fo<^|In@cY zk54&iWKC2R$f#>SHLW+AGi;#~N--yRq$%z$M$gM`zTs(QKSOfa-sLsjBy0~;UG-I#9XSkMqHHrH+nA(Q%DNOAz#z$&aN)({GGF`u8rOq-LF3E^*#8;8ivpIQ~sH z7r7?jZm`=s6#(8jgT$jht0K&4ikPm%1<|xqX|Wx>($98(HDr*9Qm@bO2CQA1y~SXv z@;MbEyDq}~bKVb^L2s^n+w2NTKZ4sE&lqfuxU=5O4n<@>+gT*_*0}+361(5k3Z@E| zIZct)wQ9QG2s08oji_xWCT{8Sszx{CdJfh~b{(V38lSRaRY#mX==j1my zsLt}f37t1cBDllSl1AM zv5V0DMU*Bbk{OS6h9$VK3RWz}CAQ;SSvhxyI{^Ui&qbD~@RB6L`6|^pbDu5d41OVY z`oHu4GK_fgphr*sg4^TYi3Z0QYX7r=iQ4|+x?exIl;+9sc}3~NO$_X}xGvb_SHdsI zF>ZIEKSLA=)JmJX;~)<1twvm)#dB|z08P8us6!_;HCOxTnM%XS923QprJp@AvDsh= zjMBS&k^dYfC#hncT1y7(9AqR#Yz9557N$^p}E#3C|;g zF#cr4-nEx@tW#WCF=dOLH3oL~XJPrWg}CnA7%MYCT>*_8kUDq+$7r+OqeU z9dUJoUg~!m8aHjXJ+qa<_b7AYCK&b#DqMd2$|TDp{r213h8ZX%JonMHlSd-ff5PE4 zGU}~AKfSt@8sz=sj70Ov7ZX~lO9c-0Yca0A>ACeTix_Am{#7!Llyia+*~ra{1NqExsx=4JQnA_tYj2?0YA&N8n-@ zE}4$O=h{5~ipK#t7fx-96kNgQ=gijd5V#bkb=Oz>4)l#L^Q>Aar&ngnffO|sp!I*k z6PrD;Y_lA;jh~Pg$^4q?dYeFEP~-W&RoQMPw(#+M{=w;5zPy_|6H0IEE54KqUmy{m z<9@rvSyXi7w(M+E@ZS^u%!~Qsy+6)G8)$>o?>YxIW?-=b@MT^ePx;pvE{xn6WlR2j z)nb6+yXm)|yUkRK?S8f<^!eGxDHd@g0&ae=U7FR{{^jFU^ z6~*e+v6WrU1`!;q>s2|OM(5++h^FY#AFIi#TCNF0k~&V={pHU(NYb}@dopA9c?VHk z_9i}C*ar=KQ<#IKLX9*+q|o57VHw%#I$2Vk-_HITT~w}D-%ihIh-mP{4&?n3zcLjs zB-m)zyHKWT)iocW=ZJBx4x8vGJc0-LnX>_*)u-&S-Eir=o;&j9cM*d? zl8yZ7=UK5B?o%r_S-c%hwflMfWCjuGoJF>pAT#_vppZzB_?0;2NV) zPAVo4<{&Vtm0gCB*G40b7xFDS>wQS*Mq?2iJ8JrOZ(`b%L^d5nTuXl&KV?T)9}Z3q z-3jzKf%%i>q@f9Vw!JNNQBPVHdz(*?-Z#4W;X_YT`K#wywKXTrmp?;cymU;*qT~uw z)z|2o#z*@Nn5UXx(-2dTCQl+Kr)#!a&O{U#2=b#Zs})M;BAEEc@YK~yk9t>Wcae6) z_f-Q7Ly;M{k;L?G^tGoTnlTN{5+zM5;$62V37{5Dup80B{bgOMxv-Od_$yB$jFv73 zQ=`HA^)dyOdG7Ycf*FE>oKrP&jj6oTSVkNzX@xcKSB2$LRh_hMLP1AXCMGVf`}J;# z*yFMqhnzC;&G|2z{GPLMX}ws}c(#G^LOzb4>8Y4DLQD00$nz0zF!|VLX8+{RjOX=6 z(n(DLZZ7K}S?X=Rmt>*$o1MBE>>~xKw~R15%9`dqqie+x7&Pp;5{9(o+JAMruUSE>OX(P>;@Qo(g=gNZYA0xZy5lO?a%f==PC>eXo>s%=>jq< z=DE$*eT$@WiYt-L2J872!z1kGv=X|vw_$v*zEjB7JMWo2R0t7~ZIrzICo5bqC+bmpn4e0Dl?LhOO5=+^-mdgvVE~%y4==-16UIqoxx`iK3~( zf;aB}7e8VtVCkLSfAQ>1GU9b1)T)AL{olTP?f`1l4~YU%K-1>WQl_*pH!s0A{K%CH zPxqgTWKL!rktZP`@c^(LouB`$t{QXzSkEgb$dCoK32?(6rdU z|4~{I86FOYg3`I0ZUYK6c0j21LqJ5l)R^GZ{m&I#mz3_R(tGfk${;%cr_zGJG5Ri$eh~|L zIHoWgCNmrI8+SpyHvC^#iayGpiU?l{ZyxUu1e(#q08_c>-AY||5>gaTHE5P^fQ{@@ z8t-qgor#{~fBoG7KVEK<)7##Wc9Y&vaPThGcXc?AXxI#{fJ7K_`(`AA5r|X-K`%Y$ z8b(IMnoQlw0w zOkRC_=Cu0H%_WsZt8z7kHy?}>U}i@Cu`3XI1pIEci&b2299?bdEZSP{lazEFInJE! z?Wc0P!SF=49a(+9?!W)O|83cW)i3G^XMFML^O&(Id`eE+2m0*)T!#Pi*Zv>>WdxVl zV#2`w-=EouHno-W6jN1H`JeRyYG@hK;DpX5x_AcWKL~#asRkM#5=FMQ%ua^x-J_~o zITt-WCpgZdlsT*4ObV~|?5%Q~#!u#gx0l$Tx4YPn#Hk8p*(y(~Xf-Pq$HvF0>@_tL zw^#Q*LQ>BKGmEL!=&3YMVWXm>ukc1K{9rizBhbU9)besE$0_bcY?2da59p|6j;HC% zQW7Dm>s}y;sE|rO;^^0}!i%?5ZM$7PccS_Tf8*7^oVHW53N$4d$SvkFg7C;a^tTf+ z4Koepg@jio;!W50;3=USb}Rem=4)%fh@+V_V=XJ|XKz$IE5K#H=Fz+RuG8U;2)kO` zkbTNgav#qkQw=OksVHnG$?wtHSOs+TvcI>qtt$4Hz%%znORS?!%qAfrnQUJ)c&G-m#14Hlc{#pPL2m8_5XKh~5n(_D^GgqhzIQ(y zje>U)(1Yc=BUL}h!mgeZi#STKG%u8p1Q2okdh33}V}LBLUh*$BG}XuW zDkl=Mqn!;FrZWaJ)s9#8`VrS|8H0$(zm}tl0_9E+mAuuss7iPk9uUWn!b_4akc|5_ zF|YhnHt31`{{6b;F}!Kyl`&ZCt2il8+37@f<999ld0{5A_16C1=ig)hAe&ei=BQ30 z8f9%~?A1G745yRpFjhJVBA!-M712&WHK1E%+zrH}?j0JH+T@W9N}W6Ti?AV!Kv%5RQ-lR4P3=DI7ht>jmAOx)&EXZ$R9*kqQM4#QyalvIyEM zs76E=xV{iwlEP8D#PF7Wd!GqmvReIw&YXoBN!L&;gNMJM3CS_2R5SH6>JZ~t$H5Mi zV$U-Y|8>`Ljd3Iq02&B!zMC|6ov@$m#+KB+`%`_Je;6<&)iUT)`7bci#5Smz<)K22 zS6Tj}1#t50b#FFm*$jh5zQ&0XLW`4P#MDqfFDaFi$TI-ZW2DS;%;No7rkJ!mB^HWj^q0b4 z9hoj2OiTt{vVW1$|In7}VX%ALZ^MLDFwhc0_WO37E5ig~P*YVXbQf`iJ?}I&BS(%d zWCJ0x!>LkveMx=a7|GSNueX(6i-+WS_JvZ5oBJn_r!p9=dEU^LNV>9ErO~DZrPFCH z{PIobEMK&F{YvQ?qr?_Loux1SM|E*w(zuyYNJ_lAqLn5mv56&F{GXM0gA@82$J%QI zRblU#I-T1JYgZFQW(qEKv!AeO&2DGA-G=Hek~K}+Y7|(9UnDIlXDE&xn4W24v#gSj zR<}3pwtA0W?J}z0Y3(n2$0*586i|*}qTRA{pj*NKBZP-}9uT_|ldq&d*bq_VdwI zRBVr#IA_5?isO)tOb_IZWMLpix1v=F_F!LfJ%0eGD(2O$c*?`3R)kX`HRpa>$K5mw z@;a~wvyOoAtiP)JEgP9K%AAKpMIRgVs7VI5-OS7k*rjCjON^@?5Hb7vx4&X_Ybf)* zq&$FgKuj951gG|p$N>pfv+5tefbBXm`T;iwD`hT}KBevA9(W_%4`xEdnT*=*Vg*if zEyc>F8ytQUcfuwIllWe#9rhFVR_bQV6qb0cFi9V?eH=K?GU}y0J8k&@c~zu7CY1xq zqTBuHpz9$ZYQSUa^Ywb4jW!yJJzr~~!jEZ`=8?_vq2uvILjg>2fi+AUsgS#wloA|Z@I~ltXDLYE!w>U~fJ3}joCASF&)rh!AbGg`%@u#s zo~oJ{ntqwt-(DPHJZ9eG&r*k`^#r7{ zf`~l5UeLABD5dwwqi0Xn#8Z|XROeC^pgiTA!tO11y~->^vXzM#WEiR5s4C zncQ~xTNJ`;9u*g%NDA8Ho)H2%>PCc4c{iXq3egEq1-0CB7$e{13?tovw^?da4WaVg z!E7-`TnW-sTC7swBc+kU8dbfKz7{f_OVq{I;MTD=4jbY;93VVdlOKxHo36ZaBQ?*P6*h% zHp{`QaE79zyY&7mj1QA#4l?h+Zv>5*ZEEc#zM{!T$_6GBx-Cko_=RsOqGZN(9EZD> z)+;*+%$>F)=Bn4Z(?M&xcb~+Ag3HPjpE(7HDPV*!P#CZLf#-Vq(@U6OKD--MD{;8S z$gVwH{5SJ(=;8~IefU!5)?~@ue7Hc3N^9c9XqNbhT(4uiK;}{Y-W^QVU2jaDR&{suu*d`MYIr)NP%iaUrelv$JGUoRJ zG~9(OSn>%Hy}g6k@Ci+FKdmwoO<@G+S(LIO@MGSc1XGLkV(iJJbMCqmuS6f9K{h1} zda9yOD!&77_DgJSZNi=Obfo2sWMXsC(@wmi>4?{MoXoy106y=4G1Wc`w`Ro?xuvY_ zFEjF66gk8{=rl(8nD|c(stu=f5`L$st0!Np~U`NF#lygFYlt%v&A9`@6jTq=8D& zP@r+ZD<_-?dd$`N9+k4c<9H5wn^^6WY&Sfw=r(gmO$=-vk|JXQD>iAOT>%i73!AWt z+O4(eHoQ;!(r5m-Ndx&CO?_2&^0To(t$G<#tk1l#m!GCsqUlStj|J@u54+mDd#cYo zmxkYy8au(V=rty6HuXPZCo+hp&tFyy7;^MCPG+xG9jB=HbEh!`gSCJ3{2;^)r-f;i zo$kWj*L5*%0b~E_Kbkv=3!0LLA-+U~p%ans3X0;(HTip{j=6&^t-4&_Sz;}D${m4V z<)}OHgwTy#JNh0WCzE}kZ<;m^e|Vt-UJMX$k{Q+9hDK07g)bLd&chw_&FR;_GQkIEO7B$meTfN3QO789`uh$%vG6ALis_n-*B zJr%ExDTw_5B*<{)hMD)!`TfJIugq6Swo+2{osp|8R{Il<#)ZGQU zOoOKM(4dDjg(Q9?jVnKo<}q^c*srGQ;-{H}hVcx5J}Gr>lP2JAV31Ur1@tt`aI@`p zffXCUK)(aXE4$-i?KcbMx1OUFXkIP|5}kB~ZTK@9cm*JWc${rJY+CWc;#jOC`43Ym zK@ha`*O)i797fZ^x)Ns6vKdz&K1?N+`upce;G|&IK6y+B_PZU;+buSq_T`B=EJ=MgL5d~xjdF0n2R!Oj>ILmz41&SqGadE#MsT(sIhrCQEzQF>;P{r8UimMzPj3W5nl3D# za>qUNqOKVI;Ay)#{q%$-$owUS6{9V`GOqr)2kM~Bfp8q$Q1UOIWcBr0T-uUQtADw zN4GyBvG;xTZh3m8{&R*vz_9zk>qJN@iq}97(&R6YxXy}d4XylRDL>B|<;;Enf34S% zcA0SHHHpYYAI6km&YiS)#nq>@Z{$5e?PldE3qe6|#C4aS4ofT7Aq$~owjj=#y-kK; zfXgys87dH$;e+=Hmu1pM{8(3q-QAti-6+y*xJ}$@$LrzjuuLdhf&CFO0DVwdP)H#xFTY<&CeD2nl&}=cUi{m>H#Y z`=PYd5ji#j{*+JWxOEv^4tusG+}>xQeiLbTS$;P)&BMcf>JzK@VBd+2*nJ$D*&=nw zHg7(G6n&l{XrJ2Zh)Y-@hKDzy-}JH|!2vUkt#S%B1;aOzzpQK=b8PCIs>>9?F_Rjs z7Rk#DyjTN zognh#;1Ce`vAU3MkfexYVRW*yvwX9hW_<_YXQ;5!vva%1kiW~~UuZdu9}p|2l8b58 zeXrACz}SlJ$k(sX{W{7n!=6itFm2^EOol^=@_3sOxp(e$nV1sSGL>U$Ebe^&%BP5G zUlKKRNVo|CSs86GtYYGl#k1+6YIK%1icf?-fj7el67R%6uiCt$bn-TElH!&zK3gTT ze2kE|3^M^$F>Fh_fV~5e)8t&02jMJh&BvfgC)v>O-o_hosIMGO)L{hCUzY!KHX63! zR5{c;|DLOZPxO`e>_x#BTdi!XK0TVxgl2eJVy$jwsOu9IbOk>O&IE*3LXa6AwX_<- z1;@VLl3Jt!Dr|Ez1*MSGn;P5e%pa-Evs_shuZn*()y0it5s)KdSGLiz*BC%flIpbB zB#on>Z_f!a<0`FvGRy;QXMP(}B%vp(i5$)AA~^dAywgctq}L?iG({ml4uE3#>k?bc z#gRGcppv@Giqn~`Y|`V*IdqjNE*?C#%UfyDaClS^dN7pE>2Bn04jgSiWax?;tdt zo}}=bjo4jcaJ;=+hqVsA@(Z??s+twP)rj3`fo#gs(-1Vh#2sj8v_xA+HS-VU)qIUW z*WM|$0yFS}tyT8yzk^B-xyt64nv;Qe9i!MqjJ;Z9+iPrVDV#`a1O3;M#gScVy@yt`mN< zYoS#y^8LiXP4-MdTBwY-Vp50c&uCBrK{q-cU4X_KM9lZ_gD6%WHz^99+DN(Ar+B`%QUUA1DM-)<+f{7vqPxUZoL)PJzOFYU+e5Tt!f}gtUMji}hnu2ycYd zxN>#$ma#b8aA24$6&J!QF+c8Vhhj@%Y#Gx@v*nn2QPo-HUOV6URPs3RJa zJX)bXd4?3Q9Rj~?`#THE7;54BE7zn4@0+I(iDC>MRuPnvY62D6nLx=uRCh&@o?hZt zQv%z^L!}Zluh110LMhdFZ5)ph6OjuZoM&ZoJ!OG^V`|5x>0ZM!5uz@Fq3!g97@5Z@ zO4X{{Cvvx*X{U*zSk1~gd9^TK&0yA=sW0wN_uF#}4kY#TcoDicJ%+VO!)#pqty^x8 zUcoQaBSGf!Un7TZ)@n^UADKnZX})qZ<&PeC{b7uy{Kva*cN7j;auRB8AI~oWf06si z(N+{>FQM2cmb&Snc%QFaWubmi!oNe#sfSUkt8eCg5VrGDh)nf?FPELNrK>TmSt(e- zgokv5+ii0B83Y)Io7UQaKcsOp|5q$$nJ;^WOZ^L~5FjxH$|!XP)vsBV|RT-w}bjb8>E!w*m3V$EjBKF)}~ zWp58v(i^YJx#M~Yi&$1o88AVpyk~lg*HOn}hrpha&TLsikq7O`3o#(`BfPI)bU!^?+R zC~L73=)B}_1In7WG!<52_Y2odh}e+JU_;2^;*!2U+()B%936si!Sk?`l(Iz z^a|69`IDXx*)e20F<|ApzAnCV;;moVaFHHDc6Lf3rf8IGT+AkHf$i+F7EwHAk?b4%PI2$D}(9VHINGz=EnAFQQIZF)+PO8#5gyBv7-@ zmf9G7a`dyf$t1bH`MHq9@0qlZhVZ5EY_o}P2$q6APomqBPV{0Qw&xoJ&>OMT4WMPTobMIK%q?MZEqG|N8&`7o8&17!$(Cc~zDG zASH|-~#tJ+CAhFM^&41V=Nz@oqLjKUJ zLqM)IYP}Q#K+scAvjKROt%J6wOLEUQSY@7{tR3UYpw46JH(2!o2u&N~>$w z7@R&*C30C=8THX+T*nmMV;2>-RS%##{sI~WMB6JzM!r{8xkl2gZAXnp(f^n9c9-un zZDP#&Xx8q&((Yk?gEQ~~+g9y{n}Y)rD_{7nSzA(KA~1in!A2+&9@BV$1S_kDj_NS$ z3=~X}OzaW#_P8!oLf!*Cos-a3c-4tOEf!YZY z=fgqSZxQHDg6upR7Tw)B=*fjWG4lp@dXB&-TUc0t11<33w}9kS{uz-M9Xfn}$Z2Sz zt`2o=O{EH$EC4`O^V6kGH94-VOnK*gO=Yf5-Y*wvPwfJcM=_uxsG|@hTDWSOxoWF_42_jg3yp=YYyh zHv@nvNsyBIN7Q?(52VJD@>v1exoyb`;{{MzT!Awl^Av#HK-j4-xNwGZP^I}S?w!Y% z&p;yxAVqE#mM5Miy!I$vr@&jH`}qM_*htEIzt?x`BtPb$0Vo& zn+W*By+@TrvyIyZ*7Xwj79Zd z(EETGWyj(yC*!t9ruj16<<_Al+R(4)yZrEf#1PTX4C9n|LCy5(W8fBU{Herp{ao!_ zgucE$6Q_YmZZ4f}2%@RnRJiPl;$U3dEq0KdtrBNkXH&o>Gbd-tCr6`-Z8Q8KCafHC z&EG)J;PJVR3=?qnDA9CO$mB!?r=-2Af8K3I4zd9ukhg&YGx}qYF8vrO{A|wLskr}P zU*<3H3}M=`7j&*FXU`~&lUCJ6Wh8K$~5T%Pu))E#8laST3t z2dofCdUV<1K-(Eaf-?$Oed58aGm?UFZ%$b?XQ%r9}b^-+EU+K3RFiACKSYAkFnpYG?~=?9u=YR?h28MC&V+{f%fz2YKTaQ zut_^m_N8cPx07&L1OsER%(8dO6vdV9zjrnQ7W|v{Yx#A$s=Cf}W;bcl9{_$H-e99C zF#t0-W5Stw;>cy%jKnphO7S@y)NE|)9#74(nOy(@Wpa`PNWaLx0iB>RYUh0RZ*pdD zfsiAq5F_dXu#YlctT>l8EkmgRZHJ{=LBOCA-l>~>i^kt}xO2wk#!E))b-X3_5D9ph z8{fMh@2vf%1zmoT4uY#pa+~=r>?SPgZ1!v+_?2Pef%3mMEgbxtyRvNqqrmfD1FM+U z7oDE#VnDl@txX|g&bdq3~NKILG zmLZ|zVR7C~0!<;?Z5CgXLs72OziWWZ8N*ftrV1?$CjM9m#^3gGCWC)Q7(xU8 zrYds4VJF5>3Q{R?67P>MgN?TRI;1+`#=UPXaFg1?-R$u;RsI~hu% z?=d8;*w*g-b~hs=F^|=Fz~%D)qS~o15J|1UjZ51zVerOSFy1*x_;ez7(*LqvPNCdD zbkH!>gsRLi)tp%bzB{T;>_=Ji^ego3H%32+P;1YT-snJ5%Kx3?|FdBbgg$GU>{PrY zKL5Ex#Z(_vKdMt~S?HqRpkU%c8Xq{$?DQSyE=`mVDmgLKR;`gA%5S;@$H!R65^0{T zj;^2}5T9pC!p0;R>-+8rs|nQ8#t^G4Iy1XsYQWCaboIY~}-&@b1 zcc|V0(XrmGMNR9HF%?^gPB>lgcp+@8V;{dRi?7Id^?sXdvGsPKezN3uW9b;C8F2Qg z1AJJx;iw{=uHQ1q(q!h9_0!_S)IT!fyx_3*PJeO-riO*7 ztOcnHSohDEo_PF*vde9=o%kMbXmh3Rjj*xf#WE+3J>Ni8{0($bw*>QTkn92l;E@#J zFV5-`g=9}n-m(x$`)Z(z?(ukQiSC;{U0zp<(+uMth5E&bj@I~&D+3)<9V#ccy3Dks zy@itR$dRR=U$Z4W=E=Ds>W7CJRsJy>e7%Oq!JYDftBRVk5u|9-46m5`5>aJT0y0lR z=Z(hWulu6KnorBhjEdO{X;Pkt89XAKpbEU=clK!%u0b@|qbYpx1dHo4tS5V2R-m%r6PHGtRk;Z_7qb7fqfOV3>1dY2SG z3}czCF`zB^A_=pECDWe}NQ~vn_kd`cp9-d>fb*d5y9NL2kdV zcuNtS>%-C72`#+R&6@d&xnmJjsb;aV)AD;_5^BJXm3C*7Pp;8>y_I2fwPdy3atW|-lz%{)8HJFW%kVK2e;k>D z=QD_=SJwkuDS~S^?}wZ<4AXuFc~LWtB|{%|qARElJDw^*!SzXDQ@DME0Wg6ym>S`b+cg=IMjKXs*6u{>g9MX%l2$s`uWcOr{i%D>jiHWE)d?Lak(^eNIp*EoovJrUJen&?X7;@F@ zQ%o7_ndFz|%-pXr{w0YM8si(#&Hsvu<`*MMr5KyKL;r!>kU>D8jz@AymS9Ki{0dV! z9A)LIP|To(E{{M`V5$%PMc0?a)7P>!Cd|C4^vW3+t!u@Uf6FW1lxC2deyooa5h7zcG|Nony|~_ZStBpH3wC1_lZZJJpaD8jK6)S zW9!lnkB3k7DK{J(LkPMAjY7S;->IDAvT>K0U-?GLrE#~w_~_1X&8VnWk=5~j9uD-A zk=+}|1=h^e*-%Ozx~z>96qp5b4C@Nd;gRhIRr>R`GKdkzZt(Od$BWaKLxul-DzmKR zZ%OZ=RJMrb=V0XE=jT3di1c%qvN^PqAATZW7G>pGf2UB}9Py?2ts4DB)jw;P0U7)Y zW%UqxMkE9+bt!T(BBDH8^O$H`OqS|d&BK7j;Rtgan|1F+K$;aEYZ==96{!+P)? z2&aC5l;Z0Gz`^u8oa8xMk*eH-x9R~zfyAVRy4*Ll|0RU z7Sk7SwzN@I(iV&t!g(owfaU#7k;GDg;~d9%?iy_AMt@EbvblfL4J(h`U7m`8YbI>q z<&ywbiTBCE>81ifR(TRUM9=g=YY=K%)^o5G1!b|Qrxux+y(R+*m8|A4byd?B&H)8P zJ_r>WK|fZ1KBmZigR?tu7&~ZJDrjU=RuB)xDG8p7q4?Zjnp;pJ=(d9u@SRC2>=Y5J zuz96ATft+-BqjNUKiyxRJP&EYb*}`+V;#@B~z;)mwHi&j|P*>Y!2x z;*}4RPa$F@cOB1!l#}gB3wo}J9HQ60a8X5K=&buYURo^K1Evks0&5f=FW)5JxWWKojoT`>ENF= zclBhEmxn&%Pp$*MeHQ1RJpDc!n7inoTG6wN!n_$-%Fk!_H8+J6&m=Uy-F2+o;hzDK z*<78rDN<=1opUvckLq%RP_=PO;H)!B^lr01blqt0^LX*Z>zNEae)z~c8E=o%; zt&{lxX#D2eTHr(B;gXiUZT?AyC;~g|55dnv;?=PyeE^3~A+L?8NH%{v%E?=_FM{Qc zHOns@6~%^Sah?7EnP>20>I(x!aL!VLHBAmVzqq4pYn@*a*@3tpAw3A2{R2*P#`PAe z{z&k6IL!$v{x}JL*45w`BqlPlGNez}SNC5b6J5) z@ttZo;j%$^(#27V6t`7&`PePGpolt7&Oh}eEw{?3JZ)gw-6)R46k*g3%AC>`-uDb1 zwd?hy|s zxMh?Rpsg+7cebO8uj0)CZK-(@SqQh+3D_?iEW2~jo;=;yLYaP4-hynJ{^e))HWz#2 zgf!j41lXsnvDRO(%$o)nsD5aDw|amrdr3z)PP~fzZp7Vfvv;GU$&ieJwLc%&-EEyT z$-yQ3MfYJZ-*(q4sUc6qf2}RgBEme6`fG{sUZ$V&ugP(N_R^Z1FWj?F%fU{6>j{!t zfD5YqY`*MqD7Co5+A^B`Y2;yjy>r0&yNJ@e@|t5ICp5D1*k7|b(zkmA*@~?upDl)W ze)L+a_?!Nz2HN5PAdm-W2!7xw0`#10I`e9dudMYV2}OSJnuBF9A%#MCM3X#)?C)Sl zZ}_b*<{Utjwk3TXG1~4J$a$bD8$5j6=IxjpjzWFvGppHyA0%1>>9hvCF!H`4HaXF=~##`ioX3B4J;Bjkqiu zy{>;n|5-cW{9^x6+TZ45#)~gzqZ*9psiqI`ioIWSwN3PM7A!J5AremVV7`T@#m zj5&FMI(msB?M82RqJ-weL@`W4a|B9v;J(RS=4$F}kiRWPijE>k7aUp<7GHCw}tI&@#&&Zr4FsERQT>1yJOJ`9iEGw63jUal@RFh-K%{7JJaJM3fdY=vayrG(&?N{@OIhon ziK^&xTF0L*>aW=2ldLsSdOJ%r9})-sG~~`W6bEOg7JOUOjkt<24DC-&B=_bIJj9RJ zn;aLu^(M0Th^P|vEkOSJtiOnjz}4G=^sz93`yhO-RWZwm)BI$m?d#948_Qj`MYAQx zcst#7Vig0;8&DK9UD?t`>{_~Sg6y*{@koP>95Xr>xKwfj7MS{vee)`KZx?pFd5$5(N)Q|E}r$w?OuGtMs3zs-vpJw zUwtRpd2tQRATi5ne`yHIhO zxI&S_ZpeoY*({U{-Z-k|t9>UdB7DV)*aDr(ZEF7osfgcO(y>G&m6TvX2cY8$@xE*; z430`JrSg(L%I@!eR=lID$#mF4HV>tGd-cq6*M85_nDS`*?+4mLO;T9rgM~do(yHc8 zL>6WJbHG1KfB>63cfL>!UU}tC-Q_yNf`ltokeZH4fB=pi0ER^JYIqE{Iou2`&WOri z4m&UEAdDY}ryZ+*I$-1KtTbTp9En$SY;R;@pHgt1FDCa@b@5cWv9kmL!5yY^v~Q{Y z&iIIWDlRV$Q4O9?TYkcEJeOqa(9st5+jaB6`}d*7{;dr4B|a9av)Qf0vPN@YRBR{^ zUK@EDz1n>lkVVe2@A&o8cF#v0XF8#ia=lREk`dVB>9VNGVeq9dj0tI6i5YVsrXPwK z(8-M^uRD-;U`iwR9LfGkc5skAd|a;yTcEM(urd_svFY}*k7LngEK?P(esN9v8FLB_ ziPg#;QdV;!xsR?M??6Ro(l4n0I0}xav#0EYT)Cqir}|>EdQlBpC4yZOMzJe=)0n8j zBxYY2YvJNvBhM{i_-v;s#%O#o878_wZO_a1YXjyyyyh`Qt$gp7p1Kf{Gc?Zn&AR03 z;rba11WX=P%{9f*bc46D7u(_GkO3wu!%43b$|W4r&s(a9+z~(lHN@5HnNQ=*L;D#_Xm=4m8n|44}ub(M&jo)IkZdQJtKt9-`|b}jn@{KiwYA;jXbPL zRAq(h=^6Mfx};%VRt*W#$wfG;-T^x_o!GaIK}xi}~$?T`&$` z3nuC!tOr_zHKA~crDNqCc$R96m#kZKd;(i zh8k;e7F)xaS|tGUJ(p4HTX^W)=?U#Nl5IUvua)~mJj$#qP^RJUDGCSEIHH!j)hCX# z6^CI^nL*i))cup&=#L0C?hkCTKD^B~FdCXx;Fx&p$NKrQ@t|_;=nu_ zKo*2WOuX}Hs)};J(1$63SzgaB!|6UBVnm-=*AcxNszm7TX*b^V3g8l!f!gPa#4YEd z+?Rzl7iwzos_AaLlI{qW8fNT^U9fO~rFJVveNn3iRGcJ&9=-0^6 zlPf-gxzBO`lsJ757w2Y(x?lYnu)90u==6$}jia{I-~mR=LZcztN6m8Cj9#k1KG|2i zB)ijL+p=tN@R>QyUx6mJ9vq-l9f?e5xLf#K@JZB0p1;wr((1@;B2jlgklIbsi8BcF zwrv}MoB77))|-Q+JH$k>x%Oia?1I*X&G-Lc23oBA-Hg2grQn2`xxpV zHnR@vnqz9r_saa+_Tns0@Z45&-xwW#kwu1S!TYz0aF zd(r+6O8vN0Nh0~1tNc7$SWc1=MKx)e);(g Q8XS13Drzaz%h^Q#7gGG$U;qFB literal 0 HcmV?d00001 diff --git a/public/blog/blake3-hazmat-api/blake-tree-6-dark.png b/public/blog/blake3-hazmat-api/blake-tree-6-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..9aad9bc543803ae7e3ada1c5a63145c0674abde3 GIT binary patch literal 13825 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 nrwjgDrvI0H%|WH8w^W4h8no>R4