gf2 2.1.0

Working in bit-space a.k.a. GF(2)
Documentation
# The `BitSlice` Type

## Introduction

A [`BitSlice`] is a vector-like, non-owning _view_ into a non-empty range of bits.
The bits are compactly stored somewhere else in unsigned integer words.
The default word type is `usize`.

Bit-slices are typically created by borrowing a contiguous range of bits from a [`BitVector`] or a [`BitArray`] using the [`BitStore::slice`] or [`BitStore::slice_mut`] methods.

The type implements the [`BitStore`] trait, which provides a rich API for manipulating the bits in the vector.
This means that bit-slices can be used anywhere a bit-store is expected.
It also means that you can take slices of slices.

### Notes

- A `BitSlice` can only live as long as the underlying store of words exists so has a lifetime parameter.
- The bits in a bit-slice are not necessarily aligned to the word-boundaries of the underlying word store. However, the slice will _synthesize_ appropriate `Unsigned` words from the underlying store as needed.

## Methods Overview

The `BitSlice` type implements the [`BitStore`] trait and has methods for constructing bit-slices:

| Category                                  | Description                                                      |
| ----------------------------------------- | ---------------------------------------------------------------- |
| [Trait Requirements](#trait-requirements) | Methods needed to implement the [`BitStore`] trait.              |
| [Constructors](#constructors)             | Methods to create bit-slices with specific properties and fills. |

The type also inherits dozens of associated methods from the [`BitStore`] trait.
These methods fall into categories:

| Inherited Category                                    | Description                                                                         |
| ----------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [Bit Access](BitStore#bit-access)                     | Methods to access individual bit elements in a bit-slice.                           |
| [Queries](BitStore#queries)                           | Methods to query the overall state of a bit-slice.                                  |
| [Mutators](BitStore#mutators)                         | Methods to mutate the overall state of a bit-slice.                                 |
| [Copies & Fills](BitStore#copies-and-fills)           | Methods to fill a bit-slice from various sources.                                   |
| [Slices](BitStore#slices)                             | Methods to create non-owning views over a part of a bit-slice --- _bit-sub-slices_. |
| [Sub-vectors](BitStore#sub-vectors)                   | Methods to clone a piece of a bit-slice as a new bit-vector.                        |
| [Riffling](BitStore#riffling)                         | Methods to create vectors that copy a bit-slice with interleaved zeros.             |
| [Set/Unset Indices](BitStore#indices)                 | Methods to find the indices of set & unset bits in a bit-slice.                     |
| [Iterators](BitStore#iterators)                       | Methods to create various iterators over a bit-slice.                               |
| [Stringification](#stringification)                   | Methods to create string representations of a bit-slice.                            |
| [Bit Shifts](BitStore#shifts)                         | Methods to shift the bits in a bit-slice left or right.                             |
| [Bitwise Operations](BitStore#bit-wise-operations)    | Methods to combine any bit-store and a bit-slice using logical operations.          |
| [Arithmetic Operators](BitStore#arithmetic-operators) | Methods to add or subtract any bit-store and a bit-slice.                           |
| [Other Functions](BitStore#other-functions)           | Dot products, convolutions, etc. for bit-stores with bit-slices.                    |

## Trait Requirements

To implement the [`BitStore`] trait, the type defines the following seven methods:

| Method                  | Description                                                                          |
| ----------------------- | ------------------------------------------------------------------------------------ |
| [`BitSlice::len`]       | Returns the number of bits in the bit-slice.                                         |
| [`BitSlice::store`]     | Provides read-only access to the first _word_ holding bits in the bit-slice.         |
| [`BitSlice::store_mut`] | Provides read-write access to the first _word_ holding bits in the bit-slice.        |
| [`BitSlice::offset`]    | Returns the offset in bits from start of `word(0)` to the bit-slice's first element. |
| [`BitSlice::words`]     | This is always `Word::words_needed(self.len())` but cached for efficiency.           |
| [`BitSlice::word`]      | Returns a "word" from the bit-slice.                                                 |
| [`BitSlice::set_word`]  | Sets the value of a "word" in the bit-slice to a passed value.                       |

Implementing these methods for bit-slices requires some care to ensure that the correct bits are read from or written to the underlying word store, especially when the bit-slice is not aligned to word boundaries.

For a bit-slice, the return value for `store.word(i)` will often be synthesised from two contiguous "real" words `w[j]` and `w[j+1]` for some `j`.
`store.word[i]` will use some high-order bits from `w[j]` and low-order bits from `w[j+1]`.

The following diagram shows how bits in a bit-slice lie within the underlying words, which are `u8`s in this example:

<div style="border: 2px solid #ccc; border-radius: 8px; padding: 16px; margin: 16px 0; background-color: #f9f9f9; display: flex; align-items: center; justify-content: center;">

![Embedded Figure][bit-slice-example]

</div>

o satisfy the [`BitStore`] trait, a bit-slice behaves _as if_ bits from the real underlying store were copied and shuffled down so that element zero is bit 0 of word 0 in the bit-slice. However, it never actually copies anything; instead, it synthesises "words" as needed.

The same principle applies to the `store.set_word(i, value)` method.
The implementation of `set_word` for bit-vectors and bit-arrays is trivial, with the one caveat that we have to be careful not to inadvertently touch any unoccupied bits in the final underlying word, or at least be sure to leave them as zeros.

In the case of a bit-slice, calls to `set_word(i, value)` will generally copy low-order bits from `value` into the high-order bits of some real underlying word `w[j]` and copy the rest of the high-order bits from `value` into the low-order bits of `w[j+1]`. The other bits in `w[j]` and `w[j+1]` will not be touched.

## Constructors

The `BitSlice` type has a couple of constructors.
However, bit-slices are most commonly created using the [`BitStore::slice`] and [`BitStore::slice_mut`] methods on other bit-stores.

| Method Name           | Description                     |
| --------------------- | ------------------------------- |
| [`BitSlice::new`]     | Creates a read-only bit-slice.  |
| [`BitSlice::new_mut`] | Creates a read-write bit-slice. |

## Bit Access (Inherited)

The following methods provide access to individual bit elements in the bit-slice.

| Method              | Description                                                       |
| ------------------- | ----------------------------------------------------------------- |
| [`BitStore::get`]   | Returns the value of a single bit element as a read-only boolean. |
| [`BitStore::first`] | Returns the value of the first element in the bit-slice.          |
| [`BitStore::last`]  | Returns the value of the last element in the bit-slice.           |
| [`BitStore::set`]   | Sets a bit to the given boolean value.                            |
| [`BitStore::flip`]  | Flips the value of the bit element at a given index.              |
| [`BitStore::swap`]  | Swaps the values of bit elements at locations `i` and `j`.        |

## Queries (Inherited)

The following methods let you query the overall state of a bit-slice.

| Method                       | Description                                                 |
| ---------------------------- | ----------------------------------------------------------- |
| [`BitStore::is_empty`]       | Returns true if the bit-slice is empty                      |
| [`BitStore::any`]            | Returns true if _any_ bit in the bit-slice is set.          |
| [`BitStore::all`]            | Returns true if _every_ bit in the bit-slice is set.        |
| [`BitStore::none`]           | Returns true if _no_ bit in the bit-slice is set.           |
| [`BitStore::count_ones`]     | Returns the number of set bits in the bit-slice.            |
| [`BitStore::count_zeros`]    | Returns the number of unset bits in the bit-slice.          |
| [`BitStore::leading_zeros`]  | Returns the number of leading unset bits in the bit-slice.  |
| [`BitStore::trailing_zeros`] | Returns the number of trailing unset bits in the bit-slice. |

## Mutators (Inherited)

The following methods let you mutate the entire bit-slice in a single call.

| Method                 | Description                                                                         |
| ---------------------- | ----------------------------------------------------------------------------------- |
| [`BitStore::set_all`]  | Sets all the bits in the bit-slice to the passed value.                             |
| [`BitStore::flip_all`] | Flips the values of all the bits in the bit-slice.                                  |
| [`BitStore::flipped`]  | Returns a new bit-vector that is a copy of the bit-slice with all the bits flipped. |

## Copies and Fills (Inherited)

The following methods let you populate the entire bit-slice from multiple sources in a single call.

| Method                                  | Description                                                                          |
| --------------------------------------- | ------------------------------------------------------------------------------------ |
| [`BitStore::copy_unsigned`]             | Copies bit values from any unsigned value to this bit-slice.                         |
| [`BitStore::copy_store`]                | Copies bit values from any source bit-store to this bit-slice.                       |
| [`BitStore::copy_fn`]                   | Copies bit values from a function that returns a boolean for an index.               |
| [`BitStore::fill_random_biased_seeded`] | Very general method to fill the bit-slice with random 0's and 1's.                   |
| [`BitStore::fill_random_biased`]        | Fill the bit-slice with random 0's and 1's, where the RNG it itself randomly seeded. |
| [`BitStore::fill_random`]               | Fill the bit-slice with random 0's and 1's from flips of a _fair_ coin.              |

## Slices (Inherited)

The following methods let you create a [`BitSlice`], which is a non-owning view of some contiguous subset of bits in the bit-slice.

| Method                  | Description                                                                  |
| ----------------------- | ---------------------------------------------------------------------------- |
| [`BitStore::slice`]     | Returns a [`BitSlice`] encompassing the bits in a half-open range.           |
| [`BitStore::slice_mut`] | Returns a _mutable_ [`BitSlice`] encompassing the bits in a half-open range. |

## Sub-vectors (Inherited)

The following methods create or fill _independent_ bit-vectors with copies of some contiguous subset of the bits in the bit-slice.

| Method                      | Description                                                                              |
| --------------------------- | ---------------------------------------------------------------------------------------- |
| [`BitStore::sub`]           | Returns a new [`BitVector`] encompassing the bits in a half-open range.                  |
| [`BitStore::split_at_into`] | Fills two bit-vectors with the bits in the ranges `[0, at)` and `[at, len())`.           |
| [`BitStore::split_at`]      | Returns two new two bit-vectors with the bits in the ranges `[0, at)` and `[at, len())`. |

## Riffling (Inherited)

We have methods that can interleave (_riffle_) the bits in a bit-slice with zeros.

| Method                     | Description                                                                           |
| -------------------------- | ------------------------------------------------------------------------------------- |
| [`BitStore::riffled_into`] | Fills a pre-existing bit-vector with the result of riffling this bit-slice.           |
| [`BitStore::riffled`]      | Returns a new bit-vector that is this bit-slice with its bits interleaved with zeros. |

## Set and Unset Bit Indices (Inherited)

The following methods find the indices of set or unset bits in the bit-slice.

| Method                       | Description                                                                             |
| ---------------------------- | --------------------------------------------------------------------------------------- |
| [`BitStore::first_set`]      | Returns the index of the first set bit in the bit-slice.                                |
| [`BitStore::last_set`]       | Returns the index of the last set bit in the bit-slice.                                 |
| [`BitStore::next_set`]       | Returns the index of the next set bit in the bit-slice _after_ the passed index.        |
| [`BitStore::previous_set`]   | Returns the index of the previous set bit in the bit-slice _before_ the passed index.   |
| [`BitStore::first_unset`]    | Returns the index of the first unset bit in the bit-slice.                              |
| [`BitStore::last_unset`]     | Returns the index of the last unset bit in the bit-slice.                               |
| [`BitStore::next_unset`]     | Returns the index of the next unset bit in the bit-slice _after_ the passed index.      |
| [`BitStore::previous_unset`] | Returns the index of the previous unset bit in the bit-slice _before_ the passed index. |

## Iterators (Inherited)

The following methods create iterators for traversing the bits or underlying words in the bit-slice:

| Method                    | Description                                                                 |
| ------------------------- | --------------------------------------------------------------------------- |
| [`BitStore::bits`]        | Returns a [`Bits`] iterator over the bits in the bit-slice.                 |
| [`BitStore::set_bits`]    | Returns a [`SetBits`] iterator to view the indices of all the set bits.     |
| [`BitStore::unset_bits`]  | Returns a [`UnsetBits`] iterator to view the indices of all the unset bits. |
| [`BitStore::store_words`] | Returns a [`Words`] iterator to view the "words" underlying the bit-slice.  |
| [`BitStore::to_words`]    | Returns a copy of the "words" underlying the bit-slice.                     |

## Stringification (Inherited)

The following functions returns a string representation of a bit-slice.
The string can be in the obvious binary format or a more compact hex format.

| Method                                | Description                                                                                   |
| ------------------------------------- | --------------------------------------------------------------------------------------------- |
| [`BitStore::to_custom_binary_string`] | Returns a binary string representation for a bit-slice with various customisation parameters. |
| [`BitStore::to_binary_string`]        | Returns the simplest binary string representation for a bit-slice.                            |
| [`BitStore::to_pretty_string`]        | Returns a "pretty" binary string representation for a bit-slice.                              |
| [`BitStore::to_hex_string`]           | Returns a compact hex string representation for a bit-slice.                                  |
| [`std::string::ToString::to_string`]  | Delegates to [`BitStore::to_binary_string`].                                                  |
| [`BitStore::describe`]                | Returns a multi-line string describing the bit-slice in some detail.                          |

## Bit Shifts (Inherited)

We have methods to shift the bits in a bit-slice left or right.

| Methods                     | Description                                                            |
| --------------------------- | ---------------------------------------------------------------------- |
| [`BitStore::left_shift`]    | Left shifts in-place.                                                  |
| [`BitStore::right_shift`]   | Right shifts in-place.                                                 |
| [`BitStore::left_shifted`]  | Copies the bit-slice to a new bit-vector and left shifts that vector.  |
| [`BitStore::right_shifted`] | Copies the bit-slice to a new bit-vector and right shifts that vector. |

**Note:** We have also implemented the [`std::ops::ShlAssign`], [`std::ops::ShrAssign`], [`std::ops::Shl`], and [`std::ops::Shr`] foreign traits to provide operator overloads for the shift operations. Those implementations forward to the associated methods above.

## Bitwise Operations (Inherited)

We have methods that combine a bit-slice with any other bit-store using the logical operations `XOR`, `AND`, and `OR`.

| Method               | Description                                                                         |
| -------------------- | ----------------------------------------------------------------------------------- |
| [`BitStore::xor_eq`] | In-place `XOR` operation of equal-sized bit-stores: `lhs = lhs ^ rhs`.              |
| [`BitStore::and_eq`] | In-place `AND` operation of equal-sized bit-stores: `lhs = lhs & rhs`.              |
| [`BitStore::or_eq`]  | In-place `OR` operation of equal-sized bit-stores: `lhs = lhs \| rhs`.              |
| [`BitStore::xor`]    | Returns the `XOR` of this store with another equal-sized store as a new bit-vector. |
| [`BitStore::and`]    | Returns the `AND` of this store with another equal-sized store as a new bit-vector. |
| [`BitStore::or`]     | Returns the `OR` of this store with another equal-sized store as a new bit-vector.  |

**Note:** We have also implemented the [`std::ops::BitXorAssign`], [`std::ops::BitAndAssign`], [`std::ops::BitOrAssign`], [`std::ops::BitXor`], [`std::ops::BitAnd`], and [`std::ops::BitOr`] foreign traits to provide operator overloads for the bit-wise operations. Those implementations forward to the associated methods above.

## Arithmetic Operations (Inherited)

In GF(2), the arithmetic operators `+` and `-` are both the `XOR` operator.

| Method                 | Description                                                                  |
| ---------------------- | ---------------------------------------------------------------------------- |
| [`BitStore::plus_eq`]  | Adds the passed (equal-sized) `rhs` bit-store to this bit-slice.             |
| [`BitStore::minus_eq`] | Subtracts the passed (equal-sized) `rhs` bit-store from this bit-slice.      |
| [`BitStore::plus`]     | Adds two equal-sized bit-stores and returns the result as a bit-vector.      |
| [`BitStore::minus`]    | Subtracts two equal-sized bit-stores and returns the result as a bit-vector. |

**Note:** We have also implemented the [`std::ops::AddAssign`], [`std::ops::SubAssign`], [`std::ops::Add`], and [`std::ops::Sub`] foreign traits to provide operator overloads for the arithmetic operations. Those implementations forward to the associated methods above.

## Other Inherited Functions

| Method                       | Description                                                         |
| ---------------------------- | ------------------------------------------------------------------- |
| [`BitStore::dot`]            | Returns the dot product of two equal-sized bit-stores as a boolean. |
| [`BitStore::convolved_with`] | Returns the convolution of two bit-stores as a new bit-vector.      |

## Foreign Traits for Individual Bit-Arrays

We have implemented several foreign traits from the standard library for bit-vectors.

| Trait Name              | Description                                  |
| ----------------------- | -------------------------------------------- |
| [`std::ops::Index`]     | Forwarded to [`BitStore::get`].              |
| [`std::ops::Not`]       | Forwarded to [`BitStore::flipped`].          |
| [`std::fmt::Display`]   | Forwarded to [`BitStore::to_binary_string`]. |
| [`std::fmt::Binary`]    | Forwarded to [`BitStore::to_binary_string`]. |
| [`std::fmt::UpperHex`]  | Forwarded to [`BitStore::to_hex_string`].    |
| [`std::fmt::LowerHex`]  | Forwarded to [`BitStore::to_hex_string`].    |
| [`std::ops::ShlAssign`] | Forwarded to [`BitStore::left_shift`].       |
| [`std::ops::ShrAssign`] | Forwarded to [`BitStore::right_shift`].      |
| [`std::ops::Shl`]       | Forwarded to [`BitStore::left_shifted`].     |
| [`std::ops::Shr`]       | Forwarded to [`BitStore::right_shifted`].    |

The [`std::ops::Not`] trait is implemented for bit-slices by value and by reference.

## Foreign Traits for Pairwise Bit-Array Operations with Other Bit-Stores

We have implemented several foreign traits from the standard library for bit-vectors interacting with other bit-stores.

| Trait Name                 | Description                         |
| -------------------------- | ----------------------------------- |
| [`std::ops::BitXorAssign`] | Forwarded to [`BitStore::xor_eq`]   |
| [`std::ops::BitAndAssign`] | Forwarded to [`BitStore::and_eq`]   |
| [`std::ops::BitOrAssign`]  | Forwarded to [`BitStore::or_eq`]    |
| [`std::ops::AddAssign`]    | Forwarded to [`BitStore::plus_eq`]  |
| [`std::ops::SubAssign`]    | Forwarded to [`BitStore::minus_eq`] |
| [`std::ops::BitXor`]       | Forwarded to [`BitStore::xor`]      |
| [`std::ops::BitAnd`]       | Forwarded to [`BitStore::and`]      |
| [`std::ops::BitOr`]        | Forwarded to [`BitStore::or`]       |
| [`std::ops::Add`]          | Forwarded to [`BitStore::plus`]     |
| [`std::ops::Sub`]          | Forwarded to [`BitStore::minus`]    |
| [`std::ops::Mul`]          | Forwarded to [`BitStore::dot`]      |

<!-- Internal Reference Links -->

[`BitArray`]: crate::BitArray
[`BitVector`]: crate::BitVector
[`BitSlice`]: crate::BitSlice
[`Unsigned`]: crate::Unsigned
[`Bits`]: crate::Bits
[`SetBits`]: crate::SetBits
[`UnsetBits`]: crate::UnsetBits
[`Words`]: crate::Words

<!-- External Reference Links -->

[GF(2)]: https://en.wikipedia.org/wiki/Finite_field_arithmetic
[Galois-Field]: https://en.wikipedia.org/wiki/Finite_field

<!-- Base64 Encoded Image: rustdoc is extremely primitive and cannot embed images in any reasonable manner -->

[bit-slice-example]: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjQ1LjUgMzg4LjU1MiA3NjMuNSAxMzEuNTQwMiIgd2lkdGg9Ijc2My41IiBoZWlnaHQ9IjEzMS41NDAyIj4KICA8ZGVmcy8+CiAgPGcgaWQ9IkNhbnZhc18xIiBmaWxsLW9wYWNpdHk9IjEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLW9wYWNpdHk9IjEiIHN0cm9rZS1kYXNoYXJyYXk9Im5vbmUiIGZpbGw9Im5vbmUiPgogICAgPHRpdGxlPkNhbnZhcyAxPC90aXRsZT4KICAgIDxnIGlkPSJDYW52YXNfMV9MYXllcl8xIj4KICAgICAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPgogICAgICA8ZyBpZD0iR3JhcGhpY18xMDgiPgogICAgICAgIDxyZWN0IHg9IjYxNiIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0id2hpdGUiLz4KICAgICAgICA8cmVjdCB4PSI2MTYiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjEgNDY5LjkyODI2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4zNCIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlg8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xMDkiPgogICAgICAgIDxyZWN0IHg9IjYzNSIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0id2hpdGUiLz4KICAgICAgICA8cmVjdCB4PSI2MzUiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NDAgNDY5LjkyODI2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4zNCIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlg8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xMTAiPgogICAgICAgIDxyZWN0IHg9IjY1NCIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0id2hpdGUiLz4KICAgICAgICA8cmVjdCB4PSI2NTQiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NTkgNDY5LjkyODI2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4zNCIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlg8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xMTEiPgogICAgICAgIDxyZWN0IHg9IjY3MyIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0id2hpdGUiLz4KICAgICAgICA8cmVjdCB4PSI2NzMiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NzggNDY5LjkyODI2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4zNCIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlg8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18zNiI+CiAgICAgICAgPHJlY3QgeD0iMTk4IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwZmZjMCIvPgogICAgICAgIDxyZWN0IHg9IjE5OCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMDMgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MDwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzM3Ij4KICAgICAgICA8cmVjdCB4PSIyMTciIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBmZmMwIi8+CiAgICAgICAgPHJlY3QgeD0iMjE3IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMiA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4xPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfMzgiPgogICAgICAgIDxyZWN0IHg9IjIzNiIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiM4MGZmODAiLz4KICAgICAgICA8cmVjdCB4PSIyMzYiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQxIDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjI8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18zOSI+CiAgICAgICAgPHJlY3QgeD0iMjU1IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iIzgwZmY4MCIvPgogICAgICAgIDxyZWN0IHg9IjI1NSIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNjAgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MzwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzQzIj4KICAgICAgICA8cmVjdCB4PSIyNzQiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjODBmZjgwIi8+CiAgICAgICAgPHJlY3QgeD0iMjc0IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OSA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj40PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNDIiPgogICAgICAgIDxyZWN0IHg9IjI5MyIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiM4MGZmODAiLz4KICAgICAgICA8cmVjdCB4PSIyOTMiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjk4IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjU8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY180MSI+CiAgICAgICAgPHJlY3QgeD0iMzEyIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iIzgwZmY4MCIvPgogICAgICAgIDxyZWN0IHg9IjMxMiIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMTcgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NjwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzQwIj4KICAgICAgICA8cmVjdCB4PSIzMzEiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjODBmZjgwIi8+CiAgICAgICAgPHJlY3QgeD0iMzMxIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDMzNiA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj43PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNTEiPgogICAgICAgIDxyZWN0IHg9IjM1MCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiM4MGZmODAiLz4KICAgICAgICA8cmVjdCB4PSIzNTAiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU1IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjA8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY181MCI+CiAgICAgICAgPHJlY3QgeD0iMzY5IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iIzgwZmY4MCIvPgogICAgICAgIDxyZWN0IHg9IjM2OSIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNzQgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MTwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzQ5Ij4KICAgICAgICA8cmVjdCB4PSIzODgiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjODBmZjgwIi8+CiAgICAgICAgPHJlY3QgeD0iMzg4IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5MyA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4yPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNDgiPgogICAgICAgIDxyZWN0IHg9IjQwNyIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiM4MGZmODAiLz4KICAgICAgICA8cmVjdCB4PSI0MDciIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDEyIDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjM8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY180NyI+CiAgICAgICAgPHJlY3QgeD0iNDI2IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iIzgwZmY4MCIvPgogICAgICAgIDxyZWN0IHg9IjQyNiIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzEgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NDwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzQ2Ij4KICAgICAgICA8cmVjdCB4PSI0NDUiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjODBmZjgwIi8+CiAgICAgICAgPHJlY3QgeD0iNDQ1IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1MCA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj41PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNDUiPgogICAgICAgIDxyZWN0IHg9IjQ2NCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiM4MGZmODAiLz4KICAgICAgICA8cmVjdCB4PSI0NjQiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDY5IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjY8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY180NCI+CiAgICAgICAgPHJlY3QgeD0iNDgzIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iIzgwZmY4MCIvPgogICAgICAgIDxyZWN0IHg9IjQ4MyIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0ODggNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NzwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzU5Ij4KICAgICAgICA8cmVjdCB4PSI1MDIiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjODBmZjgwIi8+CiAgICAgICAgPHJlY3QgeD0iNTAyIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwNyA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4wPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNTgiPgogICAgICAgIDxyZWN0IHg9IjUyMSIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiM4MGZmODAiLz4KICAgICAgICA8cmVjdCB4PSI1MjEiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTI2IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjE8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY181NyI+CiAgICAgICAgPHJlY3QgeD0iNTQwIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iIzgwZmY4MCIvPgogICAgICAgIDxyZWN0IHg9IjU0MCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NDUgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MjwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzU2Ij4KICAgICAgICA8cmVjdCB4PSI1NTkiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjODBmZjgwIi8+CiAgICAgICAgPHJlY3QgeD0iNTU5IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDU2NCA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4zPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNTUiPgogICAgICAgIDxyZWN0IHg9IjU3OCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiM4MGZmODAiLz4KICAgICAgICA8cmVjdCB4PSI1NzgiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTgzIDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjQ8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY181NCI+CiAgICAgICAgPHJlY3QgeD0iNTk3IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iIzgwZmY4MCIvPgogICAgICAgIDxyZWN0IHg9IjU5NyIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDIgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NTwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzUzIj4KICAgICAgICA8cmVjdCB4PSI2MTYiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBmZmMwIi8+CiAgICAgICAgPHJlY3QgeD0iNjE2IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDYyMSA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj42PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNTIiPgogICAgICAgIDxyZWN0IHg9IjYzNSIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGZmYzAiLz4KICAgICAgICA8cmVjdCB4PSI2MzUiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjQwIDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjc8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY182NyI+CiAgICAgICAgPHJlY3QgeD0iNjU0IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwZmZjMCIvPgogICAgICAgIDxyZWN0IHg9IjY1NCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NTkgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MDwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzY2Ij4KICAgICAgICA8cmVjdCB4PSI2NzMiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBmZmMwIi8+CiAgICAgICAgPHJlY3QgeD0iNjczIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDY3OCA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4xPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNjUiPgogICAgICAgIDxyZWN0IHg9IjY5MiIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGZmYzAiLz4KICAgICAgICA8cmVjdCB4PSI2OTIiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjk3IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjI8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY182NCI+CiAgICAgICAgPHJlY3QgeD0iNzExIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwZmZjMCIvPgogICAgICAgIDxyZWN0IHg9IjcxMSIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MTYgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MzwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzYzIj4KICAgICAgICA8cmVjdCB4PSI3MzAiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBmZmMwIi8+CiAgICAgICAgPHJlY3QgeD0iNzMwIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDczNSA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj40PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNjIiPgogICAgICAgIDxyZWN0IHg9Ijc0OSIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGZmYzAiLz4KICAgICAgICA8cmVjdCB4PSI3NDkiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzU0IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjU8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY182MSI+CiAgICAgICAgPHJlY3QgeD0iNzY4IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwZmZjMCIvPgogICAgICAgIDxyZWN0IHg9Ijc2OCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3NzMgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NjwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzYwIj4KICAgICAgICA8cmVjdCB4PSI3ODciIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBmZmMwIi8+CiAgICAgICAgPHJlY3QgeD0iNzg3IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDc5MiA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj43PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNzUiPgogICAgICAgIDxyZWN0IHg9IjQ2IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwZmZjMCIvPgogICAgICAgIDxyZWN0IHg9IjQ2IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDUxIDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjA8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY183NCI+CiAgICAgICAgPHJlY3QgeD0iNjUiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBmZmMwIi8+CiAgICAgICAgPHJlY3QgeD0iNjUiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzAgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MTwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzczIj4KICAgICAgICA8cmVjdCB4PSI4NCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGZmYzAiLz4KICAgICAgICA8cmVjdCB4PSI4NCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4OSA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4yPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNzIiPgogICAgICAgIDxyZWN0IHg9IjEwMyIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGZmYzAiLz4KICAgICAgICA8cmVjdCB4PSIxMDMiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA4IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjM8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY183MSI+CiAgICAgICAgPHJlY3QgeD0iMTIyIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwZmZjMCIvPgogICAgICAgIDxyZWN0IHg9IjEyMiIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjcgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NDwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzcwIj4KICAgICAgICA8cmVjdCB4PSIxNDEiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBmZmMwIi8+CiAgICAgICAgPHJlY3QgeD0iMTQxIiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0NiA0MjAuMjc2KSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj41PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNjkiPgogICAgICAgIDxyZWN0IHg9IjE2MCIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGZmYzAiLz4KICAgICAgICA8cmVjdCB4PSIxNjAiIHk9IjQxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTY1IDQyMC4yNzYpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjY8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY182OCI+CiAgICAgICAgPHJlY3QgeD0iMTc5IiB5PSI0MTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwZmZjMCIvPgogICAgICAgIDxyZWN0IHg9IjE3OSIgeT0iNDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxODQgNDIwLjI3NikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NzwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzg0Ij4KICAgICAgICA8cmVjdCB4PSIyMzYiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGMwZmYiLz4KICAgICAgICA8cmVjdCB4PSIyMzYiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQxIDQ2OS45MjAyKSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4wPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfODMiPgogICAgICAgIDxyZWN0IHg9IjI1NSIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwYzBmZiIvPgogICAgICAgIDxyZWN0IHg9IjI1NSIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNjAgNDY5LjkyMDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjE8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY184MiI+CiAgICAgICAgPHJlY3QgeD0iMjc0IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBjMGZmIi8+CiAgICAgICAgPHJlY3QgeD0iMjc0IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3OSA0NjkuOTIwMikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MjwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzgxIj4KICAgICAgICA8cmVjdCB4PSIyOTMiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGMwZmYiLz4KICAgICAgICA8cmVjdCB4PSIyOTMiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjk4IDQ2OS45MjAyKSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4zPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfODAiPgogICAgICAgIDxyZWN0IHg9IjMxMiIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwYzBmZiIvPgogICAgICAgIDxyZWN0IHg9IjMxMiIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMTcgNDY5LjkyMDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjQ8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY183OSI+CiAgICAgICAgPHJlY3QgeD0iMzMxIiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBjMGZmIi8+CiAgICAgICAgPHJlY3QgeD0iMzMxIiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDMzNiA0NjkuOTIwMikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NTwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzc4Ij4KICAgICAgICA8cmVjdCB4PSIzNTAiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGMwZmYiLz4KICAgICAgICA8cmVjdCB4PSIzNTAiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU1IDQ2OS45MjAyKSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj42PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfNzciPgogICAgICAgIDxyZWN0IHg9IjM2OSIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwYzBmZiIvPgogICAgICAgIDxyZWN0IHg9IjM2OSIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNzQgNDY5LjkyMDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjc8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY185MiI+CiAgICAgICAgPHJlY3QgeD0iMzg4IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBjMGZmIi8+CiAgICAgICAgPHJlY3QgeD0iMzg4IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzkzIDQ2OS45MjAyKSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4wPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfOTEiPgogICAgICAgIDxyZWN0IHg9IjQwNyIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwYzBmZiIvPgogICAgICAgIDxyZWN0IHg9IjQwNyIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDQxMiA0NjkuOTIwMikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MTwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzkwIj4KICAgICAgICA8cmVjdCB4PSI0MjYiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGMwZmYiLz4KICAgICAgICA8cmVjdCB4PSI0MjYiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzEgNDY5LjkyMDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjI8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY184OSI+CiAgICAgICAgPHJlY3QgeD0iNDQ1IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBjMGZmIi8+CiAgICAgICAgPHJlY3QgeD0iNDQ1IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDUwIDQ2OS45MjAyKSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4zPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfODgiPgogICAgICAgIDxyZWN0IHg9IjQ2NCIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwYzBmZiIvPgogICAgICAgIDxyZWN0IHg9IjQ2NCIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ2OSA0NjkuOTIwMikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NDwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzg3Ij4KICAgICAgICA8cmVjdCB4PSI0ODMiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGMwZmYiLz4KICAgICAgICA8cmVjdCB4PSI0ODMiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0ODggNDY5LjkyMDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjU8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY184NiI+CiAgICAgICAgPHJlY3QgeD0iNTAyIiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBjMGZmIi8+CiAgICAgICAgPHJlY3QgeD0iNTAyIiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTA3IDQ2OS45MjAyKSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj42PC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfODUiPgogICAgICAgIDxyZWN0IHg9IjUyMSIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwYzBmZiIvPgogICAgICAgIDxyZWN0IHg9IjUyMSIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDUyNiA0NjkuOTIwMikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+NzwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzk3Ij4KICAgICAgICA8cmVjdCB4PSI1NDAiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGMwZmYiLz4KICAgICAgICA8cmVjdCB4PSI1NDAiIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NDUgNDY5LjkyMDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjA8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY185NiI+CiAgICAgICAgPHJlY3QgeD0iNTU5IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBmaWxsPSIjYzBjMGZmIi8+CiAgICAgICAgPHJlY3QgeD0iNTU5IiB5PSI0NjYuNjQ0MiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjI1IiBzdHJva2U9ImdyYXkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTY0IDQ2OS45MjAyKSIgZmlsbD0iYmxhY2siPgogICAgICAgICAgPHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZmlsbD0iYmxhY2siIHg9Ii4wNTIiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4xPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfOTUiPgogICAgICAgIDxyZWN0IHg9IjU3OCIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgZmlsbD0iI2MwYzBmZiIvPgogICAgICAgIDxyZWN0IHg9IjU3OCIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxOSIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJncmF5IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDU4MyA0NjkuOTIwMikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSIuMDUyIiB5PSIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+MjwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzk0Ij4KICAgICAgICA8cmVjdCB4PSI1OTciIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIGZpbGw9IiNjMGMwZmYiLz4KICAgICAgICA8cmVjdCB4PSI1OTciIHk9IjQ2Ni42NDQyIiB3aWR0aD0iMTkiIGhlaWdodD0iMjUiIHN0cm9rZT0iZ3JheSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICA8dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDIgNDY5LjkyMDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iLjA1MiIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjM8L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xMDUiPgogICAgICAgIDxyZWN0IHg9IjIzNiIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iI2IxMDAxYyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xMDYiPgogICAgICAgIDxyZWN0IHg9IjM4OCIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iI2IxMDAxYyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xMTMiPgogICAgICAgIDxyZWN0IHg9IjU0MCIgeT0iNDY2LjY0NDIiIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iI2IxMDAxYyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iTGluZV8xMjYiPgogICAgICAgIDxwYXRoIGQ9Ik0gMjM2IDQ0MiBMIDIzNiA0NDIgQyAyMzYgNDUwLjI5OTU0IDI0Mi43MjgxIDQ1Ny4wMjc2NSAyNTEuMDI3NjUgNDU3LjAyNzY1IEwgMjk3LjUxMjggNDU3LjAyNzY1IEMgMzAyLjQ1NDAzIDQ1Ny4wMjc2NSAzMDYuOTE0MzQgNDU5Ljk4ODEgMzA4LjgzMzMzIDQ2NC41NDE1IEwgMzA4LjgzMzMzIDQ2NC41NDE1IEMgMzA5LjU3MDQgNDY2LjI5MDQgMzExLjU4NTY3IDQ2Ny4xMTA2NCAzMTMuMzM0NTggNDY2LjM3MzU3IEMgMzE0LjE2MDkzIDQ2Ni4wMjUzIDMxNC44MTg0IDQ2NS4zNjc4MyAzMTUuMTY2NjcgNDY0LjU0MTUgTCAzMTUuMTY2NjcgNDY0LjU0MTUgQyAzMTcuMDg1NjYgNDU5Ljk4ODEgMzIxLjU0NTk3IDQ1Ny4wMjc2NSAzMjYuNDg3MiA0NTcuMDI3NjUgTCAzNzIuOTcyMzUgNDU3LjAyNzY1IEMgMzgxLjI3MTkgNDU3LjAyNzY1IDM4OCA0NTAuMjk5NTQgMzg4IDQ0MiBMIDM4OCA0NDIiIHN0cm9rZT0iI2E1YTVhNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iTGluZV8xMjciPgogICAgICAgIDxwYXRoIGQ9Ik0gMzg5IDQ0MiBMIDM4OSA0NDIgQyAzODkgNDUwLjI5OTU0IDM5NS43MjgxIDQ1Ny4wMjc2NSA0MDQuMDI3NjUgNDU3LjAyNzY1IEwgNDUwLjUxMjggNDU3LjAyNzY1IEMgNDU1LjQ1NDAzIDQ1Ny4wMjc2NSA0NTkuOTE0MzQgNDU5Ljk4ODEgNDYxLjgzMzMzIDQ2NC41NDE1IEwgNDYxLjgzMzMzIDQ2NC41NDE1IEMgNDYyLjU3MDQgNDY2LjI5MDQgNDY0LjU4NTcgNDY3LjExMDY0IDQ2Ni4zMzQ2IDQ2Ni4zNzM1NyBDIDQ2Ny4xNjA5IDQ2Ni4wMjUzIDQ2Ny44MTg0IDQ2NS4zNjc4MyA0NjguMTY2NjcgNDY0LjU0MTUgTCA0NjguMTY2NjcgNDY0LjU0MTUgQyA0NzAuMDg1NjYgNDU5Ljk4ODEgNDc0LjU0NTk3IDQ1Ny4wMjc2NSA0NzkuNDg3MiA0NTcuMDI3NjUgTCA1MjUuOTcyMzUgNDU3LjAyNzY1IEMgNTM0LjI3MTkgNDU3LjAyNzY1IDU0MSA0NTAuMjk5NTQgNTQxIDQ0MiBMIDU0MSA0NDIiIHN0cm9rZT0iI2E1YTVhNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iTGluZV8xMjgiPgogICAgICAgIDxwYXRoIGQ9Ik0gNTQyIDQ0Mi4wMzQyNiBMIDU0MiA0NDIuMDM0MjYgQyA1NDIgNDUwLjMzMzggNTQ4LjcyODEgNDU3LjA2MTkgNTU3LjAyNzY1IDQ1Ny4wNjE5IEwgNTY4LjI0NjMgNDU3LjA2MTkgQyA1NzIuNzExNCA0NTcuMDYxOSA1NzYuNTYwOSA0NjAuMjAxNzYgNTc3LjQ1ODMgNDY0LjU3NTc0IEwgNTc3LjQ1ODMgNDY0LjU3NTc0IEMgNTc3LjYzMyA0NjUuNDI3MiA1NzguNDY0OSA0NjUuOTc1OCA1NzkuMzE2MyA0NjUuODAxMSBDIDU3OS45MzMxIDQ2NS42NzQ1NCA1ODAuNDE1MSA0NjUuMTkyNTQgNTgwLjU0MTcgNDY0LjU3NTc0IEwgNTgwLjU0MTcgNDY0LjU3NTc0IEMgNTgxLjQzOTEgNDYwLjIwMTc2IDU4NS4yODg2IDQ1Ny4wNjE5IDU4OS43NTM3IDQ1Ny4wNjE5IEwgNjAwLjk3MjM1IDQ1Ny4wNjE5IEMgNjA5LjI3MTkgNDU3LjA2MTkgNjE2IDQ1MC4zMzM4IDYxNiA0NDIuMDM0MjYgTCA2MTYgNDQyLjAzNDI2IiBzdHJva2U9IiNhNWE1YTUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfMTMwIj4KICAgICAgICA8dGl0bGU+c3BhblswXTwvdGl0bGU+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjg2LjE0MjEgNDk2LjY0NDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iNzg4NzAyNGUtMTkiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj5zbGljZVswXTwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzEzMSI+CiAgICAgICAgPHRpdGxlPnNwYW5bMV08L3RpdGxlPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0MC4yNjQgNDk2LjY0NDIpIiBmaWxsPSJibGFjayI+CiAgICAgICAgICA8dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmaWxsPSJibGFjayIgeD0iNzg4NzAyNGUtMTkiIHk9IjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIj5zbGljZVsxXTwvdHNwYW4+CiAgICAgICAgPC90ZXh0PgogICAgICA8L2c+CiAgICAgIDxnIGlkPSJHcmFwaGljXzEzMiI+CiAgICAgICAgPHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTkxLjI2NCA0OTYuNjQ0MikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSI3ODg3MDI0ZS0xOSIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPnNsaWNlWzJdPC90c3Bhbj4KICAgICAgICA8L3RleHQ+CiAgICAgIDwvZz4KICAgICAgPGcgaWQ9IkdyYXBoaWNfMTM5Ij4KICAgICAgICA8cmVjdCB4PSI0Ny41IiB5PSI0MTciIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iIzE0NDk1ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDAiPgogICAgICAgIDxyZWN0IHg9IjE5OS41IiB5PSI0MTciIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iIzE0NDk1ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDEiPgogICAgICAgIDxyZWN0IHg9IjM1MS41IiB5PSI0MTciIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iIzE0NDk1ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDIiPgogICAgICAgIDxyZWN0IHg9IjUwMy41IiB5PSI0MTciIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iIzE0NDk1ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDMiPgogICAgICAgIDxyZWN0IHg9IjY1NS41IiB5PSI0MTciIHdpZHRoPSIxNTIiIGhlaWdodD0iMjUiIHN0cm9rZT0iIzE0NDk1ZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDQiPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDExNi44NDQgMzkzLjU1MikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSI4NTk3NTY3ZS0xOSIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPndbMF08L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDUiPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDI2Ni41MjggMzkzLjU1MikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSI4NTk3NTY3ZS0xOSIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPndbMV08L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDYiPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDQxNS41MjggMzkzLjU1MikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSI4NTk3NTY3ZS0xOSIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPndbMl08L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDciPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDU2NC41MjggMzkzLjU1MikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSI4NTk3NTY3ZS0xOSIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPndbM108L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgICA8ZyBpZD0iR3JhcGhpY18xNDgiPgogICAgICAgIDx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDcxMy41MjggMzkzLjU1MikiIGZpbGw9ImJsYWNrIj4KICAgICAgICAgIDx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9ImJsYWNrIiB4PSI4NTk3NTY3ZS0xOSIgeT0iMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPndbNF08L3RzcGFuPgogICAgICAgIDwvdGV4dD4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==